Customizing Material Decal Response (UE5)

  Рет қаралды 6,454

Alex

Alex

Күн бұрын

Пікірлер: 74
@LookItsCollin
@LookItsCollin Жыл бұрын
Alex you are one of the best content creators for Unreal thank you for all your work.
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks so much!
@nicocluckers2467
@nicocluckers2467 10 ай бұрын
I've been trying to figure this out for a while. Thanks for explaining it so well!
@TechArtAlex
@TechArtAlex 10 ай бұрын
Glad it helped, thanks for watching!
@SkemeKOS
@SkemeKOS Жыл бұрын
Thank you!
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks for watching!
@teratronwrx1
@teratronwrx1 7 ай бұрын
Awesome!
@TechArtAlex
@TechArtAlex 7 ай бұрын
Thanks!
@AlexQuick-s4m
@AlexQuick-s4m 5 ай бұрын
Very helpful video! Thank you I have been trying to use the DBuffer Color information as an opacity mask, but it doesn't seem to work. Do you know why this might be? Is it simply impossible to use that data for opacity? I had assumed it was just a set of color channels so it could be used as a generic "mask" but that doesn't seem to be the case.
@TechArtAlex
@TechArtAlex 5 ай бұрын
The dbuffer unfortunately cannot be used in any way that would alter the depth of a pixel or world position of a vertex, including changing opacity. It has to do with the order in which things are drawn. The decal is mapped into the mesh using world coordinates of a given pixel, but changing the opacity would reveal a different pixel with a different position. Basically it would be a circular dependency if it was allowed.
@AlexQuick-s4m
@AlexQuick-s4m 5 ай бұрын
@@TechArtAlex unfortunate, but makes sense!
@vaillecgart1854
@vaillecgart1854 11 ай бұрын
I have a question regarding the custom response. Is there a way to have this a custom material response, but only answering to specific type of decal ? As for now , the custom material response in the recieving material will treat any decal I project the way I set it up. But is there a way where a material could hanlde both , "regular" decal response, and, a custom decal response, depending if the decal type I use is set to be recognized as such ? I got something kind of working by storing an information like "If specular from projected decal is 0.51 instead of 0,5, use custom material response". This way on a surface, I can have two decals, behaving differently, but the limitations is that I cannot overlap these two without having values mixed up and artifact. I guess there is no way around, but I'm curious if you would know something that could help achieve this ? I hope the way I explained it is not too bad, anyway, thanks again for these amazing video ! :D
@TechArtAlex
@TechArtAlex 11 ай бұрын
Right, you would need to use one of the values (like specular) as an index to control which decal logic to apply. Overlapping gets tricky. There is only one dbuffer, so they are both writing their values to the same pixel. Either the top sorted decal wins entirely - or when using opacity, a resulting blend between the two (causing your encoded values to both be wrong). There are other ways of projecting "decals" you could use instead in some cases. For example, using the "StaticMeshDecal_Function" can imitate a decal projection using a translucent mesh. This doesn't use the dbuffer at all, allowing for a second layer. Translucent materials have their own limitations though. You may also be able to achieve something with dithering.
@vaillecgart1854
@vaillecgart1854 11 ай бұрын
​@@TechArtAlex I forgot about this one ! Going to experiment it aswell. For now, I'm currently trying a "solution" via the metallic, with an IF any value above 0, then its special decal type "treatment". It seems to work, but it mean I cannot project any regular decal with metallic on the material recieiver, otherwise causing artifact like previously. But this way, I can overlap the "Special Decal" and regular decal, without issue. Anyway, thanks for your answer, Its really nice to share with you ! :D
@TechArtAlex
@TechArtAlex 11 ай бұрын
@@vaillecgart1854 Sure thing, thanks for watching!
@qwetry-j2u
@qwetry-j2u Жыл бұрын
Great feature! I was missing that in UE4. One question: does it work the same way with mesh decals too?
@TechArtAlex
@TechArtAlex Жыл бұрын
I haven't tested it, but I doubt it. This is because I think they don't update the dbuffer until after opaque geometry is drawn, so it would be too late for the mesh to sample it. But I guess it couldn't hurt to give it a shot.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
The receiver can decide whether or not to display the receiver's normal in decal, but only if decal's Normal slot can't connect anything or it won't work, but why
@GatyhInteractive
@GatyhInteractive 6 ай бұрын
do you know if you can use normalWorldSpace with a dot product (0.0.1) to get the slope angle on a decal ? Cause i can't find a way to make it work !
@TechArtAlex
@TechArtAlex 6 ай бұрын
Yes, the decal will only output its general facing direction if you try to sample its normal. The decal can also sample the world position, which allows normals of the underlying surface to be calculated - however they will not be smooth. What in particular isn't working when you try?
@Pullow
@Pullow 7 ай бұрын
Hi Alex. I've been trying to create a blood system that intereacts with surfaces - How can I make the decals control the surface blend of every material ? instead of going to every single surface material to apply this setup. Can't I control all of those effects in my Decal Material ?
@TechArtAlex
@TechArtAlex 7 ай бұрын
Your options will be very limited, since the decal material is not able to sample everything within the material it would need (such as a heightmap). This new workflow was designed to allow for that type of interaction, but with the downside of needing to be told how to interact on a per material basis. The best way to approach this is to use a master material / material instance workflow that contains the logic for how a particular decal should interact with something. This way each material instance can interact with it automatically, but with its own unique variables and textures.
@Pullow
@Pullow 7 ай бұрын
@@TechArtAlex That's sad... Even the normals from the surface ? It seems I can't blend my decal normal with surface normals to achieve the "absorption" effect.
@TechArtAlex
@TechArtAlex 7 ай бұрын
@@Pullow Unfortunately. Last I checked, the decal materials can currently only sample the world position derived vertex normals, not the pixel normal. This can be used to mask the decal from appearing on surfaces that aren't properly aligned with it, which can prevent stretching artifacts - but probably not for detailed special effects.
@Pullow
@Pullow 7 ай бұрын
@@TechArtAlex Alright then. Thank you, Alex
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
In UE, decal's three-plane projection of normals, other than what you do in your video, WorldAlignedNormal doesn't seem to work with patches that turn black
@TechArtAlex
@TechArtAlex Жыл бұрын
You can get a reasonably correct tri-plane decal normals if you calculate them in world space. But what I show is probably the only way to get perfectly accurate tangent space normals.
@AdnanSky-sm2xk
@AdnanSky-sm2xk 7 ай бұрын
great content. is there any way to use decal normal but still get the underlying mesh normal effect on the decal? i am trying to make a blood pool effect like the ones from last of us 2.
@TechArtAlex
@TechArtAlex 7 ай бұрын
Thanks! Yes, you can blend the dbuffer sample normal output and the base material normal and/or heightmap using any math you'd like using this technique.
@DevilDaggersFan
@DevilDaggersFan 8 ай бұрын
For some reason my decal's roughness parametr only works decal's perimeter, not entire decal. Why? LERP, where: A - Scalar parameter (decal's roughness) B - ORM Green Channel Alpha - DBuffer Alpha
@DevilDaggersFan
@DevilDaggersFan 8 ай бұрын
Normal Flatten works OK (using Dbuffer Colour)
@TechArtAlex
@TechArtAlex 8 ай бұрын
You'd have to unplug each channel and test combinations individually to see which is causing the roughness not to work.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
I want to keep both, with decal's normals working at the same time as the receiver's normals, equivalent to mixing the normals of both
@TechArtAlex
@TechArtAlex Жыл бұрын
Use the node "blend angle corrected normals" with the base normal going into input 1 and the decal buffer normal going into input 2.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
@@TechArtAlex I tried it and it didn't work. If the normal in decal is used, then the receiver can't get the dbuffer.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
@@TechArtAlexDecal's normal must remain disconnected to get buffer's normal.
@TechArtAlex
@TechArtAlex Жыл бұрын
It works fine for me. Did you remember to disable the Normal in the Dbuffer response in the root node? It must be set to "None", or another option that omits normals (such as "Color, Rougness") otherwise the decal's normal will override the receiver's normals.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
@@TechArtAlex Thank you so much. When I set None, it worked
@indiependentgames9750
@indiependentgames9750 9 ай бұрын
my triplanar projection does not work, I have rechecked it a lot of times but it does not work for me, it shows me the correct image only on upper side, other sides gets stretched, any help/suggestions?...can I send an email I have also a couple of other questions...thanks if possible
@TechArtAlex
@TechArtAlex 9 ай бұрын
Sure, techartalex.yt@gmail.com
@indiependentgames9750
@indiependentgames9750 9 ай бұрын
thank you, I will write you soon with some screenshots to show you what happens, thanks!@@TechArtAlex
@7WeirdSeeds
@7WeirdSeeds 8 ай бұрын
why isn't everyone screaming about this?!
@TechArtAlex
@TechArtAlex 8 ай бұрын
It definitely slipped under the radar for most, despite having some really interesting applications. Thanks for watching!
@LawsOnJoystick
@LawsOnJoystick 9 ай бұрын
nice video, hey im applying a rain fx pack that works with decals to make splashes on surfaces etc, but it makes my models look low poly..instead of smooth, any ideas?Thanks
@TechArtAlex
@TechArtAlex 9 ай бұрын
Perhaps don't remove 100% of the normal map details when wet, but allow a blend with some variation in smoothness.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
WorldAIignedNormal and WorIdAIignedTexture are not valid in decal, right?
@TechArtAlex
@TechArtAlex Жыл бұрын
Right - those nodes rely on mesh vertex normals to control the projection blend, which the decal does not have access to. So you would need to create your own tri-planar functions that obtain normals in another way, like the scene sampler.
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
@@TechArtAlex I have watched your other videos on normal and decal, which are all problems that I have encountered but have not been able to solve. There is a problem of normal rotation, that is, when the Angle is 0.25, the direction of the normal line is wrong, which is no problem in other times, but I saw that in your test, there is no problem in rotation all the time. What is the reason?
@JieDu-yj2vd
@JieDu-yj2vd Жыл бұрын
@@TechArtAlex The texture used is the texture of the brick wall inside the bridge
@TechArtAlex
@TechArtAlex Жыл бұрын
@@JieDu-yj2vd I couldn't say without being able to see how the material is set up. It can be helpful to go the the buffer visualization mode and select world normal so that you can observe how the vectors are changing to more easily detect flaws.
@BEN3DVFX
@BEN3DVFX 4 ай бұрын
It still has problem in UE5.2, 5.3 & 5.4 If anyone finds a way, let me know, thanks
@TechArtAlex
@TechArtAlex 4 ай бұрын
What is the problem?
@BEN3DVFX
@BEN3DVFX 4 ай бұрын
@@TechArtAlex studio.kzbin.info4aDBgiX9qgQ/edit
@BEN3DVFX
@BEN3DVFX 4 ай бұрын
@@TechArtAlex kzbin.info/www/bejne/apKnc5qfjZ6knbM
@BEN3DVFX
@BEN3DVFX 4 ай бұрын
@@TechArtAlex kzbin.info/www/bejne/apKnc5qfjZ6knbM
@BEN3DVFX
@BEN3DVFX 4 ай бұрын
kzbin.info/www/bejne/apKnc5qfjZ6knbM
@andy80sdrums
@andy80sdrums Жыл бұрын
Your vocal frying makes following impossible. Sorry!
@LudvikKoutnyArt
@LudvikKoutnyArt 6 ай бұрын
I do not understand this. It makes no sense. If the decal response is defined on the material which receives the decal, not the decal material itself, then how do I make a surface which receives some blend decals and some modulate decals? For example, let's say I have a wooden table board, and I want to create oil stain decal, which multiplies oily color on top of the wood base color, but also paint stain decal, which doesn't multiply but blend the base color. With this new UE5 system, I can either have a material which receives blend decals, or one which receives modulate decals, but I can't have both. So I can't put multiple different decal types onto the single wooden desk board. 🫤
@TechArtAlex
@TechArtAlex 6 ай бұрын
You can, you just have to have the decal pass a value in an unused channel to inform the underlying material about what it is, so that it can alter its response accordingly. For example, for most decals you could just have it sample and blend the dbuffer without altering anything, but when a decal with special handling is applied it can be detected by a value encoded on the dbuffer and would follow the custom decal path.
@TechArtAlex
@TechArtAlex 6 ай бұрын
Take a look at my POM decal video, where I use dbuffer channels to pass general purpose data into the dbuffer, so that the base material can interpret it and decide how it wants to use it.
@adamc3607
@adamc3607 Жыл бұрын
How do you get DBuffer working in 5.2/5.3 only seems to work in 5.1? Never mind this was only a problem with material attributes not invididual inputs
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks for watching, glad to hear you got it worked out.
Yay😃 Let's make a Cute Handbag for me 👜 #diycrafts #shorts
00:33
LearnToon - Learn & Play
Рет қаралды 117 МЛН
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 12 МЛН
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 6 МЛН
10 Unreal Engine 5 PLUGINS I can't live without!
9:37
Cinecom.net
Рет қаралды 590 М.
Custom Decal Response Types Basics | Unreal Engine 5
4:24
Procedural Minds
Рет қаралды 6 М.
UE5 Layered Materials
27:28
Nexttut
Рет қаралды 28 М.
Your Triplanar is wrong. Here's how to make one that works. [UE5]
24:48
Parallax Occlusion Mapping | 5-Minute Materials [UE5]
15:21
PrismaticaDev
Рет қаралды 13 М.
Why do Studios Ignore Blender?
8:52
Film Stop
Рет қаралды 199 М.
Setting Up Mesh Decals
14:59
The DiNusty Empire
Рет қаралды 60 М.
The REAL Reason Unreal Engine VFX Looks FAKE
6:58
Joshua M Kerr
Рет қаралды 519 М.
Yay😃 Let's make a Cute Handbag for me 👜 #diycrafts #shorts
00:33
LearnToon - Learn & Play
Рет қаралды 117 МЛН