How can I make Decals that are for Level effects - ignore the Player mesh - without disabling ALL decals for Player? (Because I want to later use different “blood” decals that do shine on the player.)
I looked and found no answers. Is there a way in UE4.27? Idk what tech/subject “Decals” are considered…
“I have done a lot of searching and cannot find a way for an actor to block one decal but not others. It’s all or nothing.”
Details: Im testing someone’s demo level (that I bought with an asset). They have a Decal actor with moss, that ‘shines’ on the walls. (It appears to be a Decal Volume?)
But it also shines on my Player (do not want, looks weird).
The walls are a Spline mesh cave, and whatever tech they use (Blue mesh, not Teal), I cannot VertexPaint the Material/Blue mesh. Thus I must use Decals to add moss/grime.
The walls curve, thus the Decal Volume (rectangle) sticks out into the Player’s path.
Perhaps I need to make the Volume smaller, and add another piece - rotate away from the Player’s path? But isnt there an easier way.
Because [I did that now] but will have close Player paths in my own level (meaning the Volumes need to be big enough to cover walls/floors but still not hit Player).
Thank you.
Also forum bug: I chose Rendering topic, but then I cant type in Tags of Materials or Decals - when Decals are a Rendering tech. This should be fixed.
Thanks for the pics to see where to go. But Im stuck.
Let’s call the “DBuffer Decal” Material as Moss (which I only want on the Terrain meshes - but not Player - thus it needs to be set to DBuffer, correct?).
And call the “Translucent” Decal Material as Blood (since it would splatter on the Terrain AND player - thus Im not editing to change anything about that Decal).
So I opened the Moss Decal Material > go to Decal Blend Mode = I set to “DBuffer Translucent Color” - because it has no Normal or Rough pins. Is this correct so far? Or it doesnt matter and should be “Dbuffer Trans Color,Normal,Rough…”?
Then I opened the Material of the walls (that shall receive the Moss Decal). How do I “enable Response Channels”? Like R G B channels?
4b. I only see Decal Response (DBuffer) > and I set it to “Color” (since the Moss Decal was also set to Color);
And “Color” [channel?] is different than the default of: “Color Normal Rough…” channel, correct?
If you don’t want to receive DBuffer Decals by the Player, make sure his DBuffer material set to Response None.
“Generic” decals will still affect player.
Response tells which of the channels to read. Color means only Base Color will be read (IIRC)
There are Only 3 channels that could be read now - Normal Roughness and Color.
Recap:
There are:
Generic Decal Group
DBuffer Decal Group
Generic Decals Affect Evetything
DBuffer Decal Affect Only Selected Materials
Pick decals that need to be filtered and set them to be DBuffer ones.
Pick Materials that need to receive DBuffer Decals and set them to proper Response channel (Color Normal Roughness).
.
But now I have to edit 100 Player materials. Isn’t there a better way?
All my Player materials have DBuffer on by default. So I tried the opposite, and set the Decal Material to no DBuffer (none), and set my Terrain Mat to no DBuffer. (And Player Mat has Dbuffer on.) Yet the non DBuffer decal shows on everything: Player and Terrain.
Or is there a way for better named “Channels” like checkboxs in the “Decal” Property section (of all Actors): R = terrain Materials group will use this channel of decal data, G = Player Materials use this, B = both use this?
I read old comments and this is what people asked for years ago. Yet I only see 2 modes: none or DBuffer, yet this involves changing a Pulldown list (of all or none), instead of an easy checkbox to select matching channels.
But now I have to edit 100 Player materials. Isn’t there a better way?
I’m not aware of such. Even this method is a “hack”.
Plus this method will only works in UE4. In UE5 you will need to rework the materials again (and it’s not yet settled if the decals will work the way they did before).
Non DBuffer decals will always be rendered on every mesh that is set to accept decals. You only can exclude mesh from receiving the decals completely. But that will remove DBuffer decals from it as well.