Fixing Runtime Virtual Texture stretching (Tri-planar RVT!?)

  Рет қаралды 4,198

Alex

Alex

Күн бұрын

Пікірлер: 49
@dragondev2617
@dragondev2617 7 ай бұрын
I discovered this channel today, it's so useful, keep going Hero.
@sierrafoxtrot1331
@sierrafoxtrot1331 Жыл бұрын
Thanks for sharing. I am planning on returning to Landscapes soon, looking forward to getting this in there!
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks! It's a subtle tweak in many cases, but it makes the blending a lot more flexible than a simple XY projection. Some meshes won't really need it - but I experimented with a lot of offset techniques and this was by far the best. RVTs are pretty expensive to sample too, so it makes my single-sampler method a great fit.
@CalmBurger
@CalmBurger 3 ай бұрын
What a brilliant human!
@TechArtAlex
@TechArtAlex 3 ай бұрын
Thanks!
@graemepalmer2306
@graemepalmer2306 11 ай бұрын
Great tutorials, thanks for sharing all these ideas!
@TechArtAlex
@TechArtAlex 11 ай бұрын
Thanks!
@akabanekurodo7714
@akabanekurodo7714 6 ай бұрын
Nice technique, but for me the major issue is more the terrible stretching for down normals when the DZ injected value progressively compensates the XY around -45°. I had to slightly change the graph to do a DZ inversion in the injected value after reaching a certain pitch angle between 0 and -45° with another dither blending at the junction to fix that. this basically does a reflection after that limit which is already present anyway with the down plane.
@TechArtAlex
@TechArtAlex 6 ай бұрын
Thanks! That's a great addition.
@Aerandier09
@Aerandier09 5 ай бұрын
This is awesome and even a bit simpler than what i came up with. One big problem though, is the limit of UE5s World Height RVT texture format of 16 bit. When the RVT Volume gets to tall, there are visible steps in the RVT Heightmap, which ruins the effect :(
@TechArtAlex
@TechArtAlex 5 ай бұрын
Thanks! Perhaps there's a way to split the heightmap into two textures to mitigate that.
@joeladley792
@joeladley792 4 ай бұрын
Great work! I was able to follow all the nodes and hook it up. Although I'm not sure how to implement this technique using megascan surface materials, I was wondering can this be made into a material function that can be used?
@TechArtAlex
@TechArtAlex 4 ай бұрын
Thanks! I'm not sure that you can use an RVT sample node inside of a material function (although I've never tried), so it might not be possible to wrap the whole thing into a single function. If not, it could probably be wrapped into two functions with the RVT sampler in between.
@sonicgiblets3413
@sonicgiblets3413 5 ай бұрын
Great technique! I'm curious, have you had issues using this on nanite meshes? When I attempt to use it on nanite meshes, its extremely blurry, but works fine on regular meshes - bit of a head scratcher, have tried a bunch of things like using pre-skinned normals/position etc, but the results are the same
@sonicgiblets3413
@sonicgiblets3413 5 ай бұрын
Just in case anyone runs into this - simple fix, make sure you actually change the RVT sample to use mip level and manually calculate the mips as shown in the video
@TechArtAlex
@TechArtAlex 5 ай бұрын
Thanks! Glad it's working for you. I did have some blurring issues - and not just with nanite. Sometimes it's just RVTs being finicky but other times it's the mipmap as you found.
@monsterinsane2228
@monsterinsane2228 Жыл бұрын
this is awesome! thank you again!
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks for watching!
@AAgomezAA
@AAgomezAA 22 күн бұрын
Does this work in the vertical as well? For example adding a rock mesh to a vertical plane on my landscape (cliff). Using a different techniqe and while the blending works on horizontal planes, i get the streched texture issue on vertical planes
@TechArtAlex
@TechArtAlex 21 күн бұрын
It should work for slopes, but not verticals, since RVT is only top down. How are you texturing the cliff?
@jamesbrady1930
@jamesbrady1930 3 ай бұрын
is this available as a start to finish tutorial? that would be great as I am trying to do this with my own project to make the cliff faces more seamless.
@TechArtAlex
@TechArtAlex 3 ай бұрын
I don't have a start to finish tutorial version. If you haven't already, you'll probably want to watch my single sample triplanar mapping video, which has more details on that part. This video is just a slight modification of the world coordinates used for the triplanar mapping. If you are comfortable with creating a triplanar mapping material from scratch, this will be a lot more approachable.
@jamesbrady1930
@jamesbrady1930 3 ай бұрын
@@TechArtAlex link? also im wondering since I am doing a TD game if it would be overkill anwyway. so kind of mulling over its use currently. lol. like should i, shouldn't i, what will it add to the scene blah blah. either way great video regardless, and definitely something I want to investigate and learn.
@TechArtAlex
@TechArtAlex 3 ай бұрын
@@jamesbrady1930 Thanks! Yeah, might be kind of hard to notice this effect on a TD game. But it's always good to have another tool in the belt I guess.
@jamesbrady1930
@jamesbrady1930 3 ай бұрын
@@TechArtAlex im doing a ruins project, going to revisit that kind of Skyrim feel, made my own rock and cliff faces. 1.5-2km wide terrain I made, road, along with a ruin cathedral. if you can link me that video and see if I can incorporate it into that one maybe.
@TechArtAlex
@TechArtAlex 3 ай бұрын
@@jamesbrady1930 Nice! Here's that link kzbin.info/www/bejne/mnekoaatodymiMUsi=Wa1t0esNwNq74F_-
@XeroXXL
@XeroXXL Жыл бұрын
Amazing Tutorials, thanks alot!
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks!
@jasonartcraft9148
@jasonartcraft9148 9 ай бұрын
Great tutorial! I'm trying to make this shader work in my project, but I'm stuck at figuring out "xCoord" "zCoord" nodes that you use. I've never seen these nodes before, are they custom made?
@TechArtAlex
@TechArtAlex 9 ай бұрын
They are Named Re-route Nodes. They allow you to organize your material, as well as name values for recalling later like a variable.
@jasonartcraft9148
@jasonartcraft9148 9 ай бұрын
Thank you very much! that's a really handy tool@@TechArtAlex
@MadSketchVids
@MadSketchVids 4 ай бұрын
Awesome work
@TechArtAlex
@TechArtAlex 4 ай бұрын
Thanks!
@simonb1009
@simonb1009 2 ай бұрын
How do you create YCoord, ZCoord and XCoord Nodes?
@TechArtAlex
@TechArtAlex 2 ай бұрын
Those are "Named Reroute Nodes", a very useful tool for making the material tidier.
@simonb1009
@simonb1009 2 ай бұрын
@@TechArtAlex Thanks!
@SBBBurney
@SBBBurney 7 ай бұрын
Great solution. Thank you, learned from you!
@TechArtAlex
@TechArtAlex 7 ай бұрын
Thanks for watching!
@YodaMaster-p3k
@YodaMaster-p3k 2 ай бұрын
the performance· is much better than tri-planar node?
@TechArtAlex
@TechArtAlex 2 ай бұрын
This isn't really a substitute for triplanar mapping, but rather how to achieve a sort of tri-planar mapping effect with landscape RVTs. The dithering technique used will be far more efficient than sampling a landscape RVT multiple times as normal triplanar mapping would, however.
@YodaMaster-p3k
@YodaMaster-p3k 2 ай бұрын
@@TechArtAlex we want to use rvt method, but tri-planar has performance problem, so we want to find a good method to solve the strectching problem..
@TechArtAlex
@TechArtAlex 2 ай бұрын
@@YodaMaster-p3k Sampling virtual textures actually requires two samples. So when you use a triplanar mapped RVT you get 6 samples per texture instead of 3. This could be part of the poor performance. The dithering technique (which I go into more detail about in my single sample triplanar mapping video) allows you to get a good projection with one one texture sampler (two in the case of RVTs instead of 6). So it can dramatically reduce the number of samples needed for RVT.
@Hotrood999
@Hotrood999 Жыл бұрын
Very useful, thanks!
@TechArtAlex
@TechArtAlex Жыл бұрын
Thanks!
@marcusjohnston3138
@marcusjohnston3138 10 ай бұрын
Another super handy trick! For some reason I was having trouble with one of the axes, I swapped your X and Z Coord nodes in the lerp and that fixed it for me. At timestamp kzbin.info/www/bejne/m3-6lHiqirSfeZo Keep up the good work ❤
@TechArtAlex
@TechArtAlex 10 ай бұрын
Thanks!
@iOzz
@iOzz 7 ай бұрын
you can generally remove the Z coordinate and use only X, in essence this is duplicating only the axes in space 🙃
@陈越-m7c
@陈越-m7c Жыл бұрын
牛逼!
@TechArtAlex
@TechArtAlex Жыл бұрын
谢谢!
Nanite Mesh Painting Tutorial (UE 5.5)
7:36
Alex
Рет қаралды 2,7 М.
Intro to PCG Compute Shaders (UE 5.5)
17:21
Alex
Рет қаралды 2,1 М.
I was just passing by
00:10
Artem Ivashin
Рет қаралды 17 МЛН
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 7 МЛН
Next Level Triplanar Mapping: Assets, Skeletals and Dithered [UE5]
9:50
Single Sample Seamless Tri-Planar Mapping (UE5)
22:15
Alex
Рет қаралды 15 М.
Unreal PCG Painter release !
4:39
cgtoolbox
Рет қаралды 370
Your Triplanar is wrong. Here's how to make one that works. [UE5]
24:48
Unreal Engine 5 - Parallax Occlusion Mapping Tutorial
16:38
renderBucket
Рет қаралды 56 М.
D-Buffer Decals changed my life! [UE5]
24:12
PrismaticaDev
Рет қаралды 20 М.
Customizing Material Decal Response (UE5)
13:26
Alex
Рет қаралды 6 М.
Rotating Normal Maps in Unreal Engine
19:13
Alex
Рет қаралды 6 М.
I was just passing by
00:10
Artem Ivashin
Рет қаралды 17 МЛН