This is, by far, the best tutorial I've seen on solving repetition, because there're no multiple samplers for a single texture map. About the mip problem at the end, you can compute the correct mip to be used by calculating the difference of texel distance for close-by pixels on the screen and use that to decide what resolution mip you need. It sounds complex, but there're two nodes that can do that for you: DDX and DDY. They compute, for whatever you connect into them, the difference in value from the current pixel to the next one, in X and Y, respectively. If you input U and V values with the tiling from your material, they'll give you that difference (without the atlas offsets, because you just want to know how much UV was traveled from a pixel to the next if the coordinates were standard). Then, you can set the texture sampler to use manual Mip mode and input the DDX and DDY values. UE will then know which mip it should use for the current distance in the screen. Forcing a higher res mip to be displayed could be bad for performance on a material that uses that technique for several textures at once.
@ZooDinghy4 жыл бұрын
Jesus Christ! I am just 3 minutes in and this is already incredible! The way this is taught is just wonderful!
@robertpaulig73594 жыл бұрын
This is a terrific lesson. Thanks. Detailed illustrations and explanations. Excellent work.
@stateofartacademy4 жыл бұрын
Thank you Robert! I'm happy you enjoyed it!
@marcusmuller90144 жыл бұрын
For lowering the MipMapping issue you can also set the MipMap settings to Derivative, create DDX & DDY node and put the output of the created DDX and DDY nodes (input for both these nodes are the UVs before the ADD at the end - so the original UVs) into the DDX and DDY inputs of the texture. The UV input of the texture stays the same of course. Maybe not as good as the other technique, but sufficient in many cases and as far as I understand it prevents oversampling like in the other technique.
@mv47704 жыл бұрын
Been following tuts for weeks now, and this is by far the best one I've dealt with. By far. Thank you!
@MrPangahas5 жыл бұрын
I have to say the production value in this is top notch.Presentation and content are very very good.
@stateofartacademy5 жыл бұрын
Thanks mate, your comment made my day.
@luislazaro96274 жыл бұрын
"Pure Gold" Info, thanks.
@markbay92753 жыл бұрын
Masterful command of materials. Great tutorial, friend.
@AtTheEast185 жыл бұрын
The holy grail of texturing. Thank you so much SOA. When will part 2 come out?
@stateofartacademy5 жыл бұрын
After Easter Holidays. Thanks for your comment, really. See ya soon!
@ConnorW84 жыл бұрын
wow a tutorial that actually worked and that a beginner could follow along to. much appreciated :)
@stateofartacademy4 жыл бұрын
Thank you for the comment! Much appreciated too!
@alaayhya28482 жыл бұрын
you are the best man keep it up
@BasilHyperbole5 жыл бұрын
This is an excellent tutorial. I'm just following along, but you're a genius to think of how to do this.
@stateofartacademy5 жыл бұрын
Thanks mate :D Not a genius, probably just really motivated to find a solution on this :|
@ahmedsaif813 жыл бұрын
Hands Down man u are a Legend
@stateofartacademy3 жыл бұрын
AHAH thanks mate
@ВладимирНемов-ы9е5 жыл бұрын
The God of Random texture!
@interista-19085 жыл бұрын
Thank you sir for this awesome tutorial! Keep 'em coming.
@TacoTimePablo3 жыл бұрын
Amazing tutorial! As a beginner I could easily follow along on this one! But I also have a question / small request and maybe a challenge: How would you make this work with an AbsoluteWorldPosition or a WorldAlignedTexture node? Is there a way?
@runasveta2 жыл бұрын
Hi! Did you manage to get it to work with world position? If yes, please tell me how?
@Jjauuza5 жыл бұрын
A thing of beauty. :)
@sculptingtools3395 жыл бұрын
Dude, this is fantastic!
@stateofartacademy5 жыл бұрын
Thanks!
@ZeldaRokz4 жыл бұрын
Great tutorial. Quick question though. I'm trying to apply what I learned from this video on a texture with rectangular tiles. So 4 rows and 6 columns. While yes, I could rely on the technique from the second video I have a dozen of materials I want to do this with which makes the added expense of essentially quadrupling the texture (have 4 variations packed together into one texture) required for the method in the second part feel very wasteful in terms of resources. It makes sense if there are no other options like in the case of a complicated hexagonal tile or the desert texture from the second video, but this feels like the kind of thing where a solution to my problem should exist. I have already spent well over hour bashing my head against this problem so Any help would be greatly appreciated ;).
@tgo18264 жыл бұрын
Thanks for the great tutorial. By the way, when the textur is applied, the texture is completely lost and only the color is applied. What should i do?
@SomeKindOfMattias4 жыл бұрын
The programmer in me gasped when you put a & in a parameter name :D. But just stellar work, amazing
@stateofartacademy4 жыл бұрын
haha mate you made my day, I'll stop using &!
@0x_Anakin4 жыл бұрын
Great Video
@3darchstuffs5 жыл бұрын
Very nice tut. Keep it up.
@soaacademy5 жыл бұрын
Thanks mate.
@LyubomirIko2 жыл бұрын
The MipMapping issue makes this method mostly unusable...Is there an actual fix?
@sandervereecken81285 жыл бұрын
Hi, great vid, old technique that i think to little people know about! If you want you can even random rotate all squares in the same way you offset them and use ciel to either rotate them 90 deg or fully have them random. Also if you have a flat generic texture you can use the random ofset without the ceil and just add the edges in with a mask this creates a even more random look. And ofcourse you can scale stuff a tiny bit. Just my 2 cents. Thanks again for the great vid and hopefully we will get fully seeded textures in the future
@stateofartacademy5 жыл бұрын
Hi Sander! In this particular setup you don't want to rotate them or offset them by a random value. The reason is that endless textures work only if you keep them all the same direction so the edges are still tileable together!
@sandervereecken81285 жыл бұрын
@@stateofartacademy hi, i get that, thats why i said mask the edges so only those stay the same and all other things will be fully random, and if the edges are thin you dont get that tiling feel from it.
@sandervereecken81285 жыл бұрын
@@stateofartacademy i agrea it does not work with the setup that you mention but if you simply take a mesh that does not have the tile info and is just generic, then use a different one to add the normal of a tile in. Thanks for the replay
@stateofartacademy5 жыл бұрын
@@sandervereecken8128 Yes you can do that, but then you need to load even more textures in Unreal, and that's precisely what I tried not to do.
@sandervereecken81285 жыл бұрын
@@stateofartacademy ah, well it works, there is a node called texture bombing that does it aswell a bit but not for tiles, just so you know. Have a nice one
@BharathidasanNatarajan5 жыл бұрын
good one! looks like substance designer workflow! thanks.
@stateofartacademy5 жыл бұрын
Thanks! Yes, it resemble the substance trick in some way :D
@FatalisArx4 жыл бұрын
Hi, how we can make same material for a Parquet texture to get and fillet pattern of it ?! thx
@YuuJer5 жыл бұрын
cool! at 18:30 would a saturate work the same as a 0-1 clamp?
@stateofartacademy5 жыл бұрын
Mmh I don't know, we should try. I'm kind of sure that clamp is a cheaper node than desaturation anyway.
@musiczen73592 жыл бұрын
Noob question, why does DDX and DDY not work with normal maps?
@peter4865 жыл бұрын
can this be done with different texture sets?. i can see how this would be useful. Kind of like Atlas in a way from Substance do you have to write a script for the viewing distance? or does it always take the lowest depending on what distance.
@stateofartacademy5 жыл бұрын
You will be able to do this with different kind of texture with the next tutorial I'll release. What you mean about "do you have to write a script for the viewing distance" ?
@peter4865 жыл бұрын
@@stateofartacademy as in "camera distance" Up close with tessellation and far no tessellation just a 4 sided plane . and its all scaled dynamically based of the viewing distance basically.
@soaacademy5 жыл бұрын
@@peter486 Correct me if I'm wrong. You're asking if it's possible to achieve with this method something like a landscape material with more textures? Sorry mate but I didn't get the first question.
@LowFiTitan5 жыл бұрын
Could you use this same method fo doing random skin detail on a human face?
@kinggore29695 жыл бұрын
good stuff.
@stateofartacademy5 жыл бұрын
Thanks King!
@BlenderIndonesia3 жыл бұрын
cool
@stateofartacademy5 жыл бұрын
SECOND PART HERE! ---> kzbin.info/www/bejne/rZKsqYSMa953nac