How to fade in/out nodes of a subtree in 3D?

Godot Version

Godot 4.2.2

Question

I would like to directly fade in/out of nodes of a subtree in 3D

All I can think of is adjust the transparency, or materials of the meshes in the subtree one by one.

But it would be very tedious as I may add many objects inside a subtree.

So is there any good/proper way to do it?

Thanks.

This is a difficult problem to solve due to transparency sorting problems.

Even if you manage to set GeometryInstance3D Transparency on all nodes in a subtree, you’ll likely encounter situations where some materials appear to be in front of other materials, even though this should logically not be the case given the camera’s position.

Many games get around this issue by using alpha scissor/hash transparency during the fading process (which looks noisier, but avoids sorting issues). Some don’t even use transparent materials in the first place, and reduce the scale of 3D objects over time as a way to “fade” them.

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.