+2 votes

enter image description here

I did this manually to show the concept.

The thing is to dynamically calculate approximate normal of the area under the decal and use it to project a decal plane onto the surface, prefarably duplicating parts of the original geometry and mapping the decal texture onto that. I don't really know how this works, but it's done in many game engines and I think we'd need this kind of thing too.

in Engine by (187 points)

BTW, I'm not sure if other game engines don't just use a decal texture instead of projecting a plane. Projecting and subdiving a plane, has the disadvantage that if the Z-buffer rounding goes wrong, it would be partially shown and partially hidden, which would be a really awful effect.

There has to be a Z-offset applied to the projected plane to avoid the surfaces fighting each other.

This feature is planned for Godot 3.0, with the 3D renderer rewrite.

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.

Categories