Ghost & the Treehouse (perhaps a bit too ambitious...!)

https://playcanvas.com/project/1160828/overview/ghost-and-the-treehouse

The plan here is to create a story-based exploration game with full day/night cycles (done) and time travel elements wherein the Player (as a ghost) can experience the environment across decades (and all different seasons), unlocking the story elements located in each timeframe.

In the meantime, a quick question: during the night cycle, when the stars come out, if the Player looks down slightly, the stardome element disappears. I assume it is clipping or culling out, but too soon, as the edges of the entity are still visible on-camera. Any fix for this?

5 Likes

Nice work, I really like the day/night cycles. The animated textures on the river flowing look great, too!

Looks good! Love the tree :slight_smile: Gives me “Escape From Tarkov” vibes.
I think the river is missing a stone at one spot :wink:

Edit:
Regarding your question, you can disable culling on the mesh instance:

Edit2:
I just peeked into the project. It looks like the tree is actually skinned, rather than using vertex shaders to simulate the wind. How many bones is that? Might be too expensive on lower end devices.

Vertex shaders! I will look into that!

As for culling, I tried turning off frustrum culling on the camera just as a test, and the starsphere still vanishes if Player looks down slightly. Hmm!

OK, so after some experimenting, the issue with the stars vanishing when the Player looks down does NOT seem to do with clipping/culling.

When I turn off frustrum culling, the issue persists.

BUT, when I remove the opacity map from the material, the issue is fixed-- the star dome remains visible the whole time (although it doesn’t look right, since the effect relies on the transparency settings).

Any idea how to address this? It’s not a dealbreaker, but a nuisance that there is surely a fix for, right?

It sounds like perhaps you have two or more transparent surfaces over that area, and depending on the camera position, they get sorted and rendered in different order, one covering the other.

If that’s the case, try to hide some of those to see if that is the problem.

That is indeed the case. There are a few nested transparent-mapped entities up there managing the day/night cycle, clouds, sun and moon, etc. I suppose that means the sorting issue is unavoidable. Not a dealbreaker (and worth it, for the overall look). But I am glad to have isolated the cause. Thanks!

You could maybe create a new layer for those, set its transparent sorting mode to SORTMODE_MANUAL and use MeshInstance.drawOrder to sort them from back to front (outside to inside if you’re inside some sphere/hemisphere)

2 Likes

Very Impressing! As you didn’t make the project private, I inspected your environment model to learn from it.
As far as I can tell you started out with a sculpt for the plane and than added a few details with seperate materials and covered the spots with seperate objects, which have a blend material.
Can you share a vew insights on your process & tricks to get such a nice result?