Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > Announcements and Showcase
My Pine Trees in Copperlicht

csp-games
Guest
Quote
2022-01-09 15:20:44

As you may know, I again try to port some of my games to copperlicht, and so I am currently testing all the options.
Here you can see a pine tree that I made procedurally in Blitz3D and saved as B3D, then imported in coppercube, so I can use the saved ccbz file as asset pack in copperlicht. It loads one tree, the others are clones. There's no filter, just realtime lighting and ambient light.
🔎︎



VP
Guest
Quote
2022-01-09 17:15:20

Wow - they look really awesome!

What kind of filesizes are they for a single tree?
Nice work, very realistic.


csp-games
Guest
Quote
2022-01-09 17:24:05

Thank you! Filesize idk, coppercube jams it into the ccbz file, but polycount is a bit decadent, about 1k Tris each tree. I may have to use some kind of LOD system.

The tree is free to use, get it from https://jfkeo1010etc.itch.io/procedural-pine-tree-creation.
Donations however are welcome :-)


Robo
Guest
Quote
2022-01-09 17:24:34

Looks good actually - what about a demo exe to run around in and have a better look ?

Do the trees sway in the wind ?


csp-games
Guest
Quote
2022-01-09 20:29:47

Hi Robo, this is a copperlicht project, the scene in coppercube has only one tree, My html file that uses the copperlicht.js directly just loads the ccbz file of coppercube as an asset package. I then find the tree node and multiply it by cloning. Right now you can walk around and drop trees, but the idea is to have them distributed randomly, with a ground check.
I plan to publish a test version in WebGL on itch.io, but I's too early. There's a ton of things I need to fix first, esp. how do I get Linepicks on cloned nodes, and animated meshes?

If I have to go trough a workaround like: do not use the CCBZ file at all, but load all meshes with a selfmade mesh loader and then use bloody 3D math and parse all triangles with a Ray-intersect-triangle algorithm (like the one by Moller), then I basically have to re-invent the wheel, not so motivating.

It seems CL is a book with seven seals and each developer who actually hacked it for thousands of hours until he had it all working, has now locked his knowledge into a treasure vault, so that no competitor will ever catch up - which harms the growth of copperlicht enormously I think.

The lack of beginner-friendly docs for EVERY feature makes the learning curve quite a pain. But I don't want to rant ^^ it's just it is what it is.


just_in_case
Moderator
Quote
2022-01-10 05:46:12

This is awesome, I like it, how well you are doing with Copperlicht engine. I am not into webGL that much but your results looks amazing, The ability to load 3D model dynamically and clone it during runtime is awesome, It will load the game much faster and will increase a lot of performance in webGL, it will make it possible to create large 3D environments too without sacrificing the FPS.

Great job Mate


csp-games
Guest
Quote
2022-01-10 18:39:38

Thank you very much! Niko should get funding and then hire somebody to make a complete Documentation. Like Godot, they get 100s of thousands each year, just from companies

For example. I know copperlicht can do linepicks on animated meshes, cause coppercube can do it in WebGL. I just can't see how.

There's a certain set of features you just need to produce any game, and I'm kind of in the middle of having them all working.

I hope I don't bother you guys when I'm gonna ask these things again and again.


just_in_case
Moderator
Quote
2022-01-11 16:13:37

Documentation, is really necessary. Maybe a wiki would be great for Coppercube and Copperlicht.


csp-games
Guest
Quote
2022-01-11 21:17:51

Indeed. I'd be happy even with a Api Doc search option, so when I see let's say getMesh(), I can quickly find the classes it works with. Maybe google has it indexed...


csp-games
Guest
Quote
2022-01-11 21:24:08

There you go: on duckduckgo.com, search for eg:

getMesh() site:https://www.ambiera.com/copperlicht/documentation

Seems useful. You can also search the forum that way.

getMesh() site:https://www.ambiera.com/forum.php


coppernoob
Registered User
Quote
2022-01-12 00:57:46

Looking good csp , 1k per tree really isn't bad anymore. Does the engine index / instance?
But yeah lod is always good, webgl would surely benefit.


Sam


csp-games
Guest
Quote
2022-01-14 00:39:12

Hi Sam,

thanks. Yeah, 1k is almost nothing, but then again, many trees quickly add up. So I am using about 50 of these trees closeup, and the whole rest of it (like 950 in directX) as an ultra low poly LOD version. I was testing various methods for the low poly tree,.one was to render the tree from 144 angles and put them on a 2kx2k texture, then use billboards for trees and alter texturecoords for each billboard so it displays the one render that has the right angle.

The other method uses X-cross meshes, 4 tris crossing, and texture each plane with a render from the correct angle, but rendered with narrow camera range so it will render only the plane that's facing the camera.

However, I struggle with both methods when it comes to the smooth fading between the versions, that's when alpha transparency reaches 1.0 the suddently z-sorting kicks in on the high poly tree, causing a pop in artefact. There seems to be no way around this problem, not in directX and not in webGL. So I try to work around the problem.

A bit of a downer was when I had 400 (4-tris) tree clones in Copperlicht, the framerate dropped significantly. In directX I have the same trees, running with 3500 trees and 2x 127k tris terrain meshes at 30fps


csp-games
Guest
Quote
2022-01-14 00:46:16

🔎︎

vast terrain scene in Blitz3D under directX


csp-games
Guest
Quote
2022-01-14 00:55:46

Just in the mood for posting screenies...

🔎︎


Using Vertex Color to taint the terrain, like that greenish color on the lake ground. As it fades in smoothly, it looks like volumetric water algae growth or something.


Monks
Guest
Quote
2023-02-26 17:21:08

Csp games, how do I get the grass on my terrain after generating the terrain with your terrain generator


Create reply:


Posted by: (you are not logged in)


Enter the missing letter in: "Interna?ional" (you are not logged in)


Text:

 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


   






Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact