Тёмный

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

Visual Tech Art
Подписаться 13 тыс.
Просмотров 5 тыс.
50% 1

This video is the continuation of my previous one, in which we go through a correct implementation of the triplanar projection mapping technique for locally map textures in our shaders.
Previous Video: • Your Triplanar is wron...
Download: jumpeter.gumroad.com/l/tri-pe...
Discord: / discord
Patreon: / visualtechart

Опубликовано:

 

30 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 43   
@HowieDay82
@HowieDay82 2 месяца назад
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 2 месяца назад
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 2 месяца назад
@@HowieDay82 w0w
@VisualTechArt
@VisualTechArt 2 месяца назад
I need to try the Dither without the noise :D
@PrinceBrosnan
@PrinceBrosnan 11 дней назад
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 11 дней назад
3:59
@3D_TUTS
@3D_TUTS 2 месяца назад
I can't thank you enough man, hope your channel grows more, appreciate your dedication!
@Tempus0
@Tempus0 2 месяца назад
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.
@d.pereladov
@d.pereladov 2 месяца назад
I was literally thinking about this yesterday. And today RU-vid recommended this video to me. Thanks a lot! Now I can use triplanar for animated objects.
@Fafmagic
@Fafmagic 2 месяца назад
Amazing! Thanks for sharing, this is so useful!
@Madlion
@Madlion 2 месяца назад
Ur channel is golden!
@Darcvizer
@Darcvizer 2 месяца назад
Amazing thank you!
@MonsterJuiced
@MonsterJuiced 2 месяца назад
OH MY GOD IT'S HERE!
@JR3D
@JR3D 2 месяца назад
Oh neat I'm in this one :)
@IIStaffyII
@IIStaffyII 2 месяца назад
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.
@nintenjo64
@nintenjo64 2 месяца назад
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 2 месяца назад
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 Месяц назад
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 Месяц назад
It's the TextureObjectParameter node, but you can just right click on your TextureObject one and convert it to a parameter :)
@Lunzium
@Lunzium Месяц назад
@@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
@Virtuality
@Virtuality Месяц назад
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 Месяц назад
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
@user-ev4ud5xs2j
@user-ev4ud5xs2j 2 месяца назад
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 2 месяца назад
This MF relates only to how you map a texture in the shader, shouldn't care about if you're using Substrate or not :)
@user-pe6cw4xq3o
@user-pe6cw4xq3o 2 месяца назад
Is this skeletal mesh triplanar optimized enough for games?
@VisualTechArt
@VisualTechArt 2 месяца назад
If your frame renders in less than 16.6ms, yes :D
@FishMan1nsk
@FishMan1nsk 25 дней назад
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 25 дней назад
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 25 дней назад
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 25 дней назад
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.
@user-ev4ud5xs2j
@user-ev4ud5xs2j 2 месяца назад
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 2 месяца назад
What do you mean?
@user-ev4ud5xs2j
@user-ev4ud5xs2j 2 месяца назад
@@VisualTechArt How to operate this material function and link it to the material
@VisualTechArt
@VisualTechArt 2 месяца назад
If you download it by following the link, you get a sample project that shows it :)
@user-ev4ud5xs2j
@user-ev4ud5xs2j 2 месяца назад
@@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
@user-dt7vf2yw9w
@user-dt7vf2yw9w 2 месяца назад
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 2 месяца назад
Not sure, maybe the fragments move but are still considered part of one mesh? s So even though you local map, they slide around
@schrottiyhd6776
@schrottiyhd6776 2 месяца назад
how many days? or weeks?
@VisualTechArt
@VisualTechArt 2 месяца назад
For what
@MaVmAnRoS
@MaVmAnRoS 2 месяца назад
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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-dFApswlwsRc.htmlsi=Vsmh4ioF9JTo8qOg Maybe it would be interesting to do researches and talk about triplanar shader optimization in a next video?
@VisualTechArt
@VisualTechArt 2 месяца назад
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 2 месяца назад
@@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 2 месяца назад
@@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
Далее
The ONLY texture a game NEEDS [UE4, valid for UE5]
18:56
OVOZ
01:00
Просмотров 956 тыс.
Фэйворит жвачка А? (2024)
01:00
Просмотров 156 тыс.
My first step in Strand-based Foliage Simulation
36:40
Nanite for Artists | GDC 2024
22:09
Просмотров 91 тыс.
Developing a Pick-and-Place Robotic Arm
6:35
Просмотров 7 тыс.
4K textures are USELESS!
5:31
Просмотров 14 тыс.
The Game That Hacks Your Brain
24:43
Просмотров 493 тыс.
How to fake 8K texture quality [UE5/UE4]
7:35
Просмотров 6 тыс.
Godot 4 Post Processing: 3D Pixel Art Shader
9:48
Просмотров 52 тыс.
Photogrammetry / NeRF / Gaussian Splatting comparison
23:30
OVOZ
01:00
Просмотров 956 тыс.