Why decal is visible on double side?

Hi~ I’m trying add some decals on my model.
I found a issue:
If the model has enough thickness, decals just show front side.
20220801144052

But when model is thin,decals show both side.
20220801144136

My code:
20220801145014

How can I set decal just show at one side(when model is thin)? Thank you!

I believe this happens since the decal projector goes through the mesh and thus detects front and back side as the decal’s geometry. You can try to mitigate the issue by changing the size property of DecalGeometry.

1 Like

Thank you so much! It resovled!

Set the scaleZ to 0.1, works fine.

size.set( scale, scale, 0.1 );
const m = new THREE.Mesh( new DecalGeometry( mesh, pos, orientation, size ), material );