Next Level Triplanar Mapping: Assets, Skeletals and Dithered [UE5]

  Рет қаралды 8,311

Visual Tech Art

Visual Tech Art

Күн бұрын

Пікірлер: 62
@HowieDay82
@HowieDay82 7 ай бұрын
Awesome - to prevent the "blurriness" at the blends of a single-sample dithered triplanar uv set, make sure the sampler it's plugged into has its DDX and DDYs manually set - if you set them both to "1" you'll get a crisp, non-blurry blend. :)
@HowieDay82
@HowieDay82 7 ай бұрын
Also - to reduce the shader complexity, consider passing "0" to the "Random" input of the Temporal AA Dither - that keeps it from sampling a texture to get the dither and instead does a simple Bayer matrix instead.
@ethanwasme4307
@ethanwasme4307 7 ай бұрын
@@HowieDay82 w0w
@VisualTechArt
@VisualTechArt 7 ай бұрын
I need to try the Dither without the noise :D
@d.pereladov
@d.pereladov 7 ай бұрын
I was literally thinking about this yesterday. And today KZbin recommended this video to me. Thanks a lot! Now I can use triplanar for animated objects.
@Tempus0
@Tempus0 7 ай бұрын
Thanks for another amazing video! Your videos helped me a lot when I create my own world align material with 6 axis and 2 samplers (one sampler for world x,y,z and one sampler for a "45 degree world projection", then blend between them at the edges). It finally got rid of all the annyoing stretch artifacts I had with my existing world align materials.
@mobiusteapot
@mobiusteapot 2 ай бұрын
Incredible content. Thank you for breaking everything down and explaining why certain things work or wouldn't work, instead of just showing nodes. Wonderful content.
@3D_TUTS
@3D_TUTS 7 ай бұрын
I can't thank you enough man, hope your channel grows more, appreciate your dedication!
@Madlion
@Madlion 7 ай бұрын
Ur channel is golden!
@Fafmagic
@Fafmagic 7 ай бұрын
Amazing! Thanks for sharing, this is so useful!
@MonsterJuiced
@MonsterJuiced 7 ай бұрын
OH MY GOD IT'S HERE!
@PrinceBrosnan
@PrinceBrosnan 5 ай бұрын
I thought about how to implement this for more than two weeks, or rather there were a lot of problems, but in short, I cry when I watch this video, I can move on, thank you, lol...
@PrinceBrosnan
@PrinceBrosnan 5 ай бұрын
3:59
@JR3D
@JR3D 7 ай бұрын
Oh neat I'm in this one :)
@Darcvizer
@Darcvizer 7 ай бұрын
Amazing thank you!
@ChrisJamesRoe
@ChrisJamesRoe 17 күн бұрын
This is brilliant! Is there a way of also including a World Position Offset map in the shader? Or in the previous video shader? I'm guessing this isn't possible due to it changing the normals.
@VisualTechArt
@VisualTechArt 17 күн бұрын
WPO doesn't actually update the normal vectors, so you can offer as you want :)
@nicholass3430
@nicholass3430 5 ай бұрын
Hi, thanks for this time saving material, Ive bought it already. Aparently, to get correct normals, we are supposed to disable Tangent Space Normals in the Material graph. But then how would you blend a regular untiled normal map with the triplanar normals? Thanks again for advice!
@VisualTechArt
@VisualTechArt 5 ай бұрын
Depends on the order of blending :) If you use the triplanar one as "base" to add on top, you can use the BlendAngleCorrectedNormal function and they should come out nice and clean :D
@baudmarch3925
@baudmarch3925 4 ай бұрын
I wonder though, now that you have added the dithering to allow for smoother transitions between the projections in the "Simple Fetch" version, what additionnal advantage does the "Triple Fetch" retain ?
@VisualTechArt
@VisualTechArt 4 ай бұрын
It still has better visual quality, and depending on the texture set, transition and render size, the dithering might be noticeable or causing ghosting artefacts :)
@baudmarch3925
@baudmarch3925 4 ай бұрын
@@VisualTechArt Ok,thank you for your answer !
@nintenjo64
@nintenjo64 7 ай бұрын
Nice work as ever.. Out of interest for skinned meshes that are triplanar, what state of the model is it applying that mapping to.. Its bind pose? As this would differ greatly from its first frame of the anim.. And also might not work with Alembic geo caches as they dont really have a bind pose just a wierd array of point cloud data stored when no animation / blend shape is being applied?
@VisualTechArt
@VisualTechArt 7 ай бұрын
Since we're using the "Pre-Skin" data, we're referring to the bind pose :) About the Blend Shapes... As long they're applied on GPU this approach should still work, not sure though, I would need to test. No idea about the alembic, but since we're talking about an array of different meshes I feel like it wouldn't probably work
@Lunzium
@Lunzium 6 ай бұрын
First off, this is just brilliant! Secondly, I'm struggling to figure out how to make the Texture(T2d) input accept a texture parameter and not just a texture object. So I can change the texture in the material instance. Am I overlooking something obvious or how do I fix this?
@VisualTechArt
@VisualTechArt 6 ай бұрын
It's the TextureObjectParameter node, but you can just right click on your TextureObject one and convert it to a parameter :)
@Lunzium
@Lunzium 6 ай бұрын
@@VisualTechArt Thanks mate. Didn't even think of that after it wouldn't let me hook up a texture parameter to begin with. Just using a Texture Object and then converting is working fine :) Thanks
@roja
@roja 23 күн бұрын
Hey can we get this to work with Nanite - and also separate XY, and Z textures? (floating Island Grass on top, rock on sides etc)
@VisualTechArt
@VisualTechArt 23 күн бұрын
Are you asking me if it's possible to do (yes), or for a tutorial on how to do it? :P
@roja
@roja 23 күн бұрын
@@VisualTechArt I'd buy it from you :)
@juliocargnin
@juliocargnin 4 ай бұрын
Hello! I'm wondering about the normal maps being attached to the surface in a way taht shadows are being casted in multiple different directions. If you look the thumbnails you will notice the shadows are not consistent in relation the the source light... am I missing something or this is the intended result? I wonder If we could get the normal maps interacting in away that they auto correct the expected direction of the projected shadows regarding orientation and deformations of the models... 🤔Thank you for this master class!!
@VisualTechArt
@VisualTechArt 4 ай бұрын
Not sure I understood your comment tbh xD can you re elaborate? Sorry
@juliocargnin
@juliocargnin 4 ай бұрын
@@VisualTechArt I've made 2 images elaborating my point. I've posted here but it disapered for some reason... how can I send you so you can understand better what I mean? Thanks!!
@TheTca211
@TheTca211 3 ай бұрын
@@juliocargnin there is a link to his discord in the description.
@ViktorAdriaansens
@ViktorAdriaansens 2 ай бұрын
If anyone is running into this problem, don't forget to set the 'Tangent Space Normal' Boolean switch in material details to false. This fixed my shadows and weird lighting issues.
@yonghengshouhu
@yonghengshouhu 7 ай бұрын
Does this three plane material function not support the substrate new material system? What does the missing link mean when reporting an error
@VisualTechArt
@VisualTechArt 7 ай бұрын
This MF relates only to how you map a texture in the shader, shouldn't care about if you're using Substrate or not :)
@Virtuality
@Virtuality 6 ай бұрын
Hmm.. In my testing your method for WA textures on Skeletal Meshes still gives artifacts on the X and Z plane (only on the exact plane, when previewing on a cube). It happens both with your 'Normalize' method before the transform and with the original. What gives? You have the same?
@VisualTechArt
@VisualTechArt 6 ай бұрын
Mmm I'll have to double check... It shouldn't happen anymore as with the Derive Tangent Basis there shouldn't be a case where you get null vectors, I remember checking for that. But maybe I missed some exceptions
@PrashantVerma-c1b
@PrashantVerma-c1b 7 ай бұрын
Is this skeletal mesh triplanar optimized enough for games?
@VisualTechArt
@VisualTechArt 7 ай бұрын
If your frame renders in less than 16.6ms, yes :D
@lord-fishv7355
@lord-fishv7355 27 күн бұрын
Im kind new to this but wouldn't putting UVs, weights and derivatives in their own material function make it more performant, as you would only need to do them once for all textures instead of once for each texture.
@VisualTechArt
@VisualTechArt 26 күн бұрын
You'd still need to call the function multiple times, so no difference in terms of performance :)
@lord-fishv7355
@lord-fishv7355 26 күн бұрын
​@@VisualTechArtAh ok, well im going to see if I can draw the material to a render target instead and see if that works. Also thanks for the reply and the video ill definition be watching more of them.
@yonghengshouhu
@yonghengshouhu 7 ай бұрын
This three plane material function has been updated, and the texture can be fixed on the object. How to link nodes? The original method seems to be ineffective...
@VisualTechArt
@VisualTechArt 7 ай бұрын
What do you mean?
@yonghengshouhu
@yonghengshouhu 7 ай бұрын
@@VisualTechArt How to operate this material function and link it to the material
@VisualTechArt
@VisualTechArt 7 ай бұрын
If you download it by following the link, you get a sample project that shows it :)
@yonghengshouhu
@yonghengshouhu 7 ай бұрын
@@VisualTechArt The example project has been opened, but it is still the same as before and has not been updated.... Following the tutorial link, the first step will fail
@FishMan1nsk
@FishMan1nsk 5 ай бұрын
Have you tested this inside Packed Level Actors? Something tells me it will break. Because PLA has different local pivot position and scale and all the transformations will be broken.
@VisualTechArt
@VisualTechArt 5 ай бұрын
It shouldn't have any problems :) The packed level actor is just a container, so it doesn't overwrite the original transforms of every mesh it is referencing, it just stores what it contains and where. But let me know if you test and discover that it doesn't!
@FishMan1nsk
@FishMan1nsk 5 ай бұрын
Well I have a different version of tri planar and yeah it works differently in word and PLA. And for example when you compensate the scale of an object inside pla it will work fine but when you exit the editing mode it will have the same scaling as pla (which is equal to one) I believe this is because local transforms are now calculated for pla not for its components.
@FishMan1nsk
@FishMan1nsk 5 ай бұрын
Also pla is not a container it's a blue print that convert SM to HISM. And for unreal i believe it's the same as a single object with it's own transformations. I will take a look at your version though maybe it's just a badly done math in my version. But I tested your way of calculating local scale in a new material with debug node and inside pla it show 2 2 2 but when I exit it show 1 1 1.
@IIStaffyII
@IIStaffyII 7 ай бұрын
I feel a bit foolish for not realizing I could have used dithering to blend the UV like this. I often used dithering while working on VR titles because using translucent materials has significantly impact performance especially in VR.
@schrottiyhd6776
@schrottiyhd6776 7 ай бұрын
how many days? or weeks?
@VisualTechArt
@VisualTechArt 7 ай бұрын
For what
@RinatPetrovich
@RinatPetrovich 7 ай бұрын
Very impressive series! I am experimenting with triplanar projection for dirt layer in layered material for destructible mesh. After fracture dirt layer starts to "sliding" along pieces. It is even possible? I think it is because each piece is kind of instance of original object and engine is trying to reproject texture for every piece. Thank you!
@VisualTechArt
@VisualTechArt 7 ай бұрын
Not sure, maybe the fragments move but are still considered part of one mesh? s So even though you local map, they slide around
@MaVmAnRoS
@MaVmAnRoS 7 ай бұрын
Thanks! That probably the most complete tuto/explanations on triplanar I saw and I will definitively borrow some ideas and methods for my own shaders. An interesting thing that would have been nice to talk about is the cost in performance compared to other approaches. I will try by my self to see if it can be, in addition to be more accurate, also less instruction intensive than the shader I currently use (wish is quite demanding, especially as I use layered materials...). For example, that guy propose a way to reduce the sample count: kzbin.info/www/bejne/mnekoaatodymiMUsi=Vsmh4ioF9JTo8qOg Maybe it would be interesting to do researches and talk about triplanar shader optimization in a next video?
@VisualTechArt
@VisualTechArt 7 ай бұрын
It could be interesting to measure with RenderDoc and see if there's any measurable difference between different approaches :) The single sampling thing the guy in the link is doing is pretty much the same stuff I do with my Single Sample Mode (in which I go through in my previous video) + the Dithering I add at the end of this one :D
@MaVmAnRoS
@MaVmAnRoS 7 ай бұрын
@@VisualTechArt Ho yes, I wasn't sure anymore if it was in your previous video and indeed your dithering addition recalls me that video I put link for ;)
@nintenjo64
@nintenjo64 7 ай бұрын
@@VisualTechArt this is an interesting topic simply becuase of the unlimited ways people use Unreal these days. For example i use it simply as a renderer using MRQ and Sequencer to build scenes and render them out no real-time rendering infact there is no logic at all except on scene render. I am thereforce less concerned by performance and simply want the best visual approach (within reason) so my renders complete in a timely manner.. where as other folk who are using it for real-time purposes should be greatly concerned by performance :D
Physically Based Cel Shading
36:41
Visual Tech Art
Рет қаралды 133 М.
Your Triplanar is wrong. Here's how to make one that works. [UE5]
24:48
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 7 МЛН
Do you love Blackpink?🖤🩷
00:23
Karina
Рет қаралды 23 МЛН
How I made this battle scene in blender
11:05
FxForge
Рет қаралды 819 М.
I Remade Avatar Water VFX in 100 Hours
11:38
ErikDoesVFX
Рет қаралды 2,1 МЛН
How Not To Make An Environment
24:43
caponeart
Рет қаралды 21 М.
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,4 МЛН
Quick Gaea 2.0 to Blender Workflow
16:19
Martin Klekner
Рет қаралды 46 М.
Decal Normals are Broken, here's the fix
17:12
Visual Tech Art
Рет қаралды 8 М.
How I Built This Elden Ring Environment in Unreal Engine 5
44:24
Aziel Arts
Рет қаралды 113 М.
Outline Stylized Material - part 1 [UE5, valid for UE4]
23:02
Visual Tech Art
Рет қаралды 50 М.
Advanced HalfToning PostProcess [UE5, valid for UE4]
26:41
Visual Tech Art
Рет қаралды 15 М.
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 7 МЛН