Material Layering Systems in Unreal; What are they? And why you should use them? | #SDC23

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right hopefully that's everyone well so many people thank you all for coming and uh oh wait wait until you see the talk uh well yeah welcome to my talk on material Learning Systems what they are and why you should be using them but first an introduction who am I uh my name is Chris pollitz I'm a principal ta that's getting interrupted come on get your acid in some seats um I've been with sumo for over six years now and in the industry for 15 or so and you might be thinking that's an unusual portfolio slide for a TA um that's because over those 15 years I've become what we could call a greedy artist uh because I've worn not just some of the art hats but all of the art hats whether it's as a environment artist character a character lead an art director a journalist and of course technical art all roads leads and Technical art the most important thing over those 15 years have led me to becoming one of the founding members of the Sumo skate nights I'm looking at Lee at the back but anyway enough about me let's let's talk Tech so at a high level what is a material layering system aside from the obvious well it is a shared library of tiling materials which are combined together in layer Stacks using unique masks to surface an asset but wait a minute isn't that just substance painter well yeah would you like that inside your game engine and would you like it to be more performant and produce higher quality results than traditional methods well all right so let's uh let's talk about the first like the Three core aspects of a material layering system we have the shared library or material layers the ml this is where you will find your leather your steel or concrete and so on then you have your layer Stacks this is where you drag and drop your MLS these will replace the specific act Masters for environment character and and so on and then you have the the fun stuff uh the material Blends and this is where the magic happens um so to illustrate this a little more before I jump in um we have some MLS which are some tiling materials here we have a uh a metal painted and some Rust and then we have the material blend between these and this is effectively a mask it controls how those layers interact so you can see here we're controlling the rust versus the metal paint you know with an edge peel and so on and then you delay the layer stack which is where you combine them both together you know and these you know are usually just empty they store the shadable and some usage Flags because everything is in that shared Library so that sounds great so what are the advantages of this over a traditional Uber Shader system because nobody likes those anymore uh so with an Uber Shader material libraries are have to be unique per Master type so you'll have one that's duplicated for environment for character for everything you know and when you have a system like that it means there's so much duplication of identical things in different folders you know and they're exactly the same and just because they're using the same metal on a car and use on a gun it's completely separate you have to change your user types it's horrible what you want is a shared library that is everything uses the same layers it's all shared across all different types on there you know reducing that duplication across it now here's the the fun thing which everyone always comes to me about like Chris I heard you've got a way to reduce uh Shader compilations because this is everyone's project at the moment um so yeah you've got far more um you know cascading recompiles with an Uber Shader system compared to material layering one where you're only compiling the stack you know you're reducing cascading recompiles and avoiding functionception if you're smart about it also continuing on that Uber shaders generally instruction heavy and having any kind of varied functionality requires switch Walling and it just bloats and so on whereas with material layers everything is lightweight because it's separated by functionality so you're keeping it simpler in a uber Shader if you want varied blending between different things that you know extraordinarily like bloats the Shader in that way whereas with the material layering blending is completely separate from the layers so you can apply any blend to any layer type and then we have Texel density so with a traditional system you limited textual density by either the specific setup you've done for that Shader or by the assets UVS and texture resolution which is bad the texture pool because it's that single acid absorbing it whereas in a material layering system the pixel density is higher per asset and every asset can be a hero asset because it's sharing that so it's better for the texture pool and it looks higher resolution um Uber shade is variation in a traditional method usually means duplicating the entire asset Set uh for every variant going back to the source and reauthoring and then adding extra memory cost to it whereas with a material layering system you get variation with no extra source authoring and no big memory cost on top of that making that far more viable for games of a large scope such as open world tiles um and then we have uh Uber shaders not so flexible if you want some new functionality you have to go and ask a TA to go and add it in there for you whereas with a partial layering system we've basically given you building blocks so an artist can make their own Shader essentially because they are pulling it all together so enough of boring text let's have a look at some pretty images shall we refresh so let's start with this very basic example traditionally for these three um fire hydrants it would require duplicating uh the unique texture sets of the Albedo the normal and whatever your RGB packed mask is for your project you know for AO and roughness metallic RM arm SRM whatever RM you are you're using that's at least nine unique single-use texture samples right there which means more draw calls bigger drain on the texture memory pool which means less textile density available per asset whereas with material layering system the fire hydrant only requires two unique textures a unique normal and then the uh the RGB mask which I'm coining a CID for this because I'm storing uh cloth and cavity your ID mask and then damage or details whatever you want but you can put in any RGB mask really because I've made it flexible enough for you to be able to apply whatever you want to in those um but on this one you can see it's uh it's what's controlling you know the blending here which is important uh you know going between the red painted metal and the rust they're the timing materials which can be used on many acids instead of a single use one which is far better of an impact on stuff you know raising the uh the resolution across the assets as a whole um however this is not what's cool here like the thing about all of these is that uh the rust and the edgeware and all the damage on it is completely scalable so I could create 10 different variants of this same fire hydrant with different gradations of wear and damage all based on that singular input um textures so I'm not having to duplicate or make different ones I'm just fiddling a slider and it's growing uh its damage amount across these so already you can see it's it's starting to get quite powerful and it's just you know the very basic setup here um so let's just quickly go into how that is set up specifically without going too granular uh we'll just talk about the layers in there so we have the the background layer which is uh I just a tiling red painted metal I've just slapped it on the um fire hydrant you can see there's no unique normals on there yet it's mainly just the smoothing groups and then I have a unique normal layer and this is the normal only layer just for blending that and then above that I have a edge fill one which for the purposes of this presentation I'm using it as a blank fill just to show a blank fill thing but for long term I would probably have that be just in a blend specifically on itself because when we have the rust on top of that I'm using the layer below to add that edge peel and you don't need a texture for that because it's like a few pixels so just use a blank fill and have it in there but like I was saying for the long term I'd probably just have that be a very cool extra blend to add that stroke effect around the paint as it is um so this is the part where I say you may have noticed the names of this stuff I don't know if you can see the names from that from that distance um based on how far you are so I've enhanced this for your viewing ease um so you might have noticed uh the names of these animals and MLBs um they're not um what you would expect when you're searching in the library so when you have your Content Library set up I would be searching for rust or you know metal paint or Moss or whatever but for this purpose I thought I'd show you what the actual parents to those uh material layers are so um for this example we've got one of the more standard bases that I've set up which is the ml underscore a or MN which covers Albedo occlusion roughness metallic and normal and it means those are the attributes available within that layer but you may not need or or want all those attributes for every layer and it would be a waste to use those because it includes those attributes but leaves those uh blank default inputs with those well the default input 3 which is important because you are the cost of your stack is based partly on the attributes you're blending across it so if we're if you don't need to use those attributes then we just strip them out and keep it lighter weight which is why I have a normal only layer and and so on so it's instead of um like with an Uber Shader system where you'd have a switch wall and then you're like I'm gonna disable uh you know normals or whatever you know and that just adds more blow and more instructions and that and more recompiles whereas this it just has variants instead of that so you're interchanging um it for complexity so like I mentioned if you want a layer that is just Albedo only or normal only then you know that's just what you you search for you use a underscore a or underscore n like I have here same with the uh the peel Edge as a fill layer it has no texture samples only vector and scalar inputs uh same as that precious samples that we can reuse for other layers so aside from optimizing this to be more performant we're also optimizing it to give you more flexibility long term so you've got more to play with and one of the reasons that I've named this specifically based on the attributes is um and not just like a random like standard thing or something like that it's so uh ux Wise It's a little easier to search for so it's more prominent for the Blends because ultimately you'll be searching for rust but the Blends will still all be uh specifically what you want so for the normal for example I wanted it to be a normal blend and I wanted to well normal only I wanted it to Overlay uh down onto it I didn't need a mask that's why I searched full and then I put it in and that's what I got up so it's tailored around ease of access for an artist like rather than having to manually go to the fold and find it you're just typing it and applying it as it appears um but yeah it's this separation of attributes and uh functionality which keeps a material layering system lightweight and Incredibly flexible as functionality and blending method is completely interchangeable apply anything to anything else whereas with an Uber Shader this will just bloat and scale terribly and your instruction count got the wall and so on if you were to replicate this uh you know one uh one to one um and uh yeah stop from going off tangent there um and let's talk a bit more about the material Blends themselves so I'm going to cover the most basic uh blend I've set up here but there's still so much power that you can get just within this very basic blend type so what is actually happening in here controlling between these two layers so what we have here is a a blend of Minimax which allows you to level the mask so imagine in Photoshop if you're using levels you're effectively growing or shrinking uh you know the mass that you've got there and uh if you want to utilize this effectively it has to be a gradient mask if you stick a black and white mask in there there's nothing to ramp so make sure you're radiating those input masks then we have the um the RGB mask itself which I've exposed the channels for flexibility and it's not just so you can put in any format in there it's more about how you combine those channels because if you're putting different masks in each of those channels you can create Dynamic masks by a way of combining them together to create virtual masks in that sense allowing you much more flexibility in that so for example I'm ramping up the red channel for the uh the wear you're increasing the spread and I'm utilizing the radiation within my mask but at the same time I'm also adjusting the fall off of that gradient so instead of just seeing a feathered Edge we're seeing a clamped Edge at the at the high end of that value so you're able to spread it but still keep it very accurate around the edges so you have that control over and it's not just you the default kind of Feathering you see with a lot of Blends but keep in mind with this basic blend type the leveling effects all the channels so if you want to have levels affect individual channels then just use a different blend that has that in there and then lastly I've included a UV Channel selector so you can have multiple UVS and if you want to have some layers applied to one set or the layers pattern on the set then you have that flexibility as well so now you're familiar with leveling somewhat let's discuss those Channel interactions I was just mentioning and uh the value clamping so here I have some Gordy uh fire hydrants tinted using the ID mask that I have in the green Channel and this one here um but I've also got other channels affecting that same ID mask without having to re-edit or author that mask and now hopefully you're familiar with value clamping on your projects but if you're not it's a way to turn a single mask into any number of masks within that 255 pixel range per Channel which is what I use for ID masking so by default I clamp the green channel into quarters so when you see the the gray going from well the black going from dark gray to light gray to White what's happening there is I'm clamping at 0 to 0.25 0.25 0.5 0.575 75 and one and so on so if you do this with all your channels I mean I'm only doing it with one here we did it with all you go from instead of just having four you'd have four per Channel and then that's 16 masks overall but I've actually exposed these value ranges for a lot of the MLB types so you can actually specify the number you want say you want eight masks per Channel giving you like 32 masks overall like crazy you can do that if you want to but the reason is it lets you get far more mileage out of that single input texture because you can have that same input texture interacted in different ways across each of those layers without having to edit or change that same texture um just keep in mind if you are value clamping uh you are reducing the number of pixel available basically so uh that fall off is going to get sharper and sharper if you're doing radiations within this also you can only overlap per Channel because you only have the different colors overlapping but you can't overlap gray stickle colors so keeping that in mind um so yeah let's go through what's actually happening in all these uh Jamaican fire hydrants so we have [Music] um the first one which is just the ID mask alone with various tints um now just a note on the the blend here by default you're probably used to just using a multiply blend over here but the powerful thing about the Blends here is that we have any variety of it so we can have them be additive replace multiply overlay color Dodge and so on basically anything that you have in Photoshop for your layer Blends we can stick in here as a blend when you're tinting and tints don't need to be block color you can have a color variation noise added into it by default nothing's perfectly one block color in real life um but anyway the next one and this is where it starts to get interesting so I have the ID mask in the green Channel but then I have another mask in the red channel that I'm subtracting from this so if we look at the actual Channel inputs it's set to one for green and it's set to minus one for red so I'm subtracting and making a virtual texture together and that's where like some of the power comes from with just these very simple examples and blend types here so continuing I have the same one again but the blue Channel subtracted and then lastly I have a combination of the both were both red and blue I'll set the minus one but you know these don't need to be full numbers they can be like a 0.3 or even a two you know I can do the same uh where spread that I had for the rust in each of these channels so it can be very uh varied in there so hopefully by now you can see just already by using the most basic layer and blend types you know you have a potential to have a huge amount of variety and assets with very little um authoring costs and almost no Source authoring costs and no additional texture resource costs which save us both time and memory and also bonus notes it is possible to randomize the intensity of the wear um per actor instance within like a range so if I'm in a level and I'm like cloning these fire hydrants around just like alt click and dragging you know the next one could be 0.5 where the next one point three the next like six or or whatever so I've instantly created like 20 variants of that same fire hydrant and I've never touched the texture I've never touched a new material instance I've just cloned out and it's just automatically giving me tons of variation just because I've set up with this system so it's it's not bad foreign so going away from the simple stuff and into some of the more complex and fun ones um it is far more varied and powerful than just this basic stuff alone and its strength comes through that that versatility that it has and the combining of the same layers in different ways to create new effects and because it is so componentized we're essentially giving artists the ability to to make an author their own materials without needing to know anything and because of how we've set up with building blocks um hopefully you won't mess it up so unlike a traditional Shader processes you know where you'd have to go and ask for somebody to add more functionality in it you can just drag and drop what you want into it and make it your own so these are some examples um of some directional Blends that include a textual four off so on the left we can see a water level uh one with like a world height mask then we have a North facing Moss one with some wood you can see already the uh The Edge mask is already uh doing some highlights on the wood thing without tweaking it then we have some top down snow and we have some upshot uh Bernie Embers now um three actually all use the same material blend it's just a directional input and I'm saying this direction or that direction so going into this a bit more because um the layer functionality is separated um from the blending we can apply Dynamic blends to anything and it's hugely like greatly empowers level dressing so as well as being able to set it to world and local space so here we have an example of the water line being in World space you know imagine you're addressing a scene you don't need to re-author the asset because it's you know to make it be submerged or you don't need to go and paint on in the editor or the uh you know algae and and so on in there you're just dragging it around if it's within that zone then you know it gets applied to it so you know you can use the same asset numerous times around the scene and it automatically update doesn't matter what orientation it is or the placement you know it just works with it so I've got a rust and algae here Blended by that that world space uh mask Drive set whatever that water line height is um same idea with the snow so um I'm using the same 500 base you can move around rotate it whatever yeah position or orientation you want and the snow will remain consistently uh top down because it's got that directional blend in there so it's just grabbing at the polys facing up so you probably noticed like on that point the difference between these two one is uh grabbing everything below a certain height whereas the other is only grabbing um polys matching with that direction in there um and you might also notice that there are some options for these for textual Fall Offs so it's not just that feathered gradient again I hate feather gradients so um here we have you can probably see a bit clearer on the snow how patchy it is along uh that borderline there and you can see we've got another mask in there which is breaking that up and making it look a lot more organic there and if you want to get real fancy you can use a well positioned offset to uh if you've got the topology in there to actually push the verts up in that snow area so it makes it look like snow Hauser builds up on there if you want to get real fancy you can link that with some geometry scripting but to talk for another day so because these are Dynamic masks they can also be updated by gameplay so imagine the implications it has for projects with biomes and weather or stuff where you're sharing assets between different regions and they have different cultural Styles applied to them or even just like different amounts of wear so clean versus war and that and all you're doing is just putting that same asset in a different place you know and you're it's just it's so powerful in that regard alone so let's talk about painting so because we can have separate blending from any layer that means we can make anything vertex paintable and I'll touch on but explain specifically uh after this so um one thing that I've set up to improve the flexibility of this with anything that's you know paintable is to have the normal map Blue Channel include the height information because we often throw away the blue Channel anyway so there's no extra separated height needed extra it's just automatically there if you're using the normal map and uh if we also changing the compression type to do xt1 instead of bc5 and then rearranging in the Shader because dxd1 is zero to one whereas a normal map is negative one to one uh we're actually saving a ton of space because actually half the cost of the texture which means more room in the texture pool and while you're at it oh but you're compressioning it differently is like I did a blind um sort of taste test with artists when we first started doing this on a saba and they could not tell the difference between a rearranged normal and a classic normal the only time you will see any difference is perhaps if you have a mirror-like service where it's you know completely flat and smooth you might see some artifacts so you know tradition for glass but for everything else you can really squeeze it out to get more space in that precious texture pool and um uh once we got here oh yeah oh let's go back so uh what I'm just about to mention so uh I don't know Christians in here but he'll probably say does it work with that night um so obviously uh you can't vote explain on instanced uh Nanette meshes which is why we've made a nanite mesh painting Tool uh utilizing the debuffer so look out for that in our head as well but it works with utilizing the same um Forex paint system in unreal so ask me about that later so because uh layering like this is dynamic we can have it be updated by gameplay systems so for example damage systems um in fact fiber had actually started implementing this before it was killed um so with a custom layer blend we can take input from decongations or from the D buffer directly and the height information that we're using to blend the layers can also let us offset mesh words themselves get actual cavities on there so like a flat decal I'm not saying this should replace like chaos or fracturing or anything I'm just saying this is improving your base level of of information that you're having when you're breaking up stuff so it's it's going instead of being flat you get that extra bit more and then of course you can still do all the fancy chaos uh fracturing that afterwards um yes let's also talk about trim sheet usage with this because it's another very powerful aspect of this so if you combine a trim sheet with detail UVS you've essentially got an in-material decal system I'm not saying it will replace actual system but it's another tool that you have so here you can see I've applied some stickers bolt hasn't stripped this fire hydrant but only the specific places on the acid so have I done this well UVS are more versatile than just X Y or triplanar UVS don't need to be infinite they can be clamped per row and column which is basically what is going on here so I can tile this bolt four times in the x-axis and then two times in the y-axis if you combine this with you know offset and rotation you can place it anywhere um just remember if you are setting up a blend yourself for rotation and that stuff always fix your normals but I've done that for you so with this his little GIF of me um showing it moving around on just like a very mt1 just to show that um I'm I'm scaling it in arbitrary numbers but you it you can clamp it to specific intervals if you want it to set and keep its ratio intact um also because we're doing this in the Shader we're controlling whether the texture is wrapped or not in there instead of the texture settings because it's so old school if you go into a texture setting and set it to be not wrapped or or you know or so on and then you're duplicating stuff and I hate duplication anyway it's it's good so continuing along that line of thought uh detail you control allows you to isolate a section of that trim sheet and then tile only that section so you aren't limited to having to do this manually like the old-fashioned way where you'd have to do it in Maxima and make sure it was all set up correctly and then check it in unreal and that so you're not limited uh to the acid you can do it on any mesh basically you use a trim sheet with anything it just gives you a lot a lot more flexibility and versatility with that and because you're already uh you know choosing what the clamp and tile you can add even more variation in there sorry uh yeah okay so nice so what's the benefit of this over decal act as well there are pros and cons with everything like I said um the obvious immediate difference would be level bass versus object-based you won't need to stick it in a blueprint or anything draw call difference depending on how you've got it set up you might be saving from either lots of the characters or mesh actors or however you've set it up in there but one of the biggest benefits is if you're using with a character system because obviously you're sticking decals on a character means pre-skinned UVS and that's far more expensive than this so it's great for character customization systems such as you know markings tattoos damage and all that stuff however the big caveats whenever you're doing UV manipulation the more complex it is the more expensive it becomes so this is not a replacement for decals obviously it's just an extra option you have in your tool bag for situations where decal actors and mesh decals might be problematic such as with characters so you know it's another powerful aspect of material layers um and finally the the page that I always go off on a rant on and lose my my time tracking um so for those non-believers who will demand that you will never reach the same uh quality as a detailed Source sculpt and actually just increase the texture resolution indefinitely uh well let me first dispel something about 8K textures you'll never see them in game there's uh it and that's not because a handsome and modest ta has optimized your stuff no it's because a um even in an FPS if you're Point Blank at a wall you're probably not even going to see over 2K and why is that because MIP mapping and texture pool limits so it doesn't matter how many AK textures you throw in there it's just gonna get blurry and eat up all your memory so it's just not sustainable for production so how do uh leading AAA developers push the visual standards of the industry yet keep incredibly High detailed content in their game well I'll give you one guess it's material layering systems so here's a example from seven years ago and I'm not pointing fingers at the character guys it's just that characters are a really good example of incredibly High detailed Source content and then you know and a good example of how you match that with a layering system so this is an example from seven years ago um the size of Nathan Drake's uh like the texture on his beautiful mug is actually 1024 yeah it looks far higher resolution than an 8K texture does so are they doing that well they're doing it with uh detail layers and that's where the Fidelity is in that same with the rest of his body uh even utilizing those layers dynamically to add dirt wear increases based on gameplay context and they're doing that in a very modular system instead of like duplicating the hotel texture and painting it on and something crazy like that so if they were doing this in 2016 then why are we doing it now um so here's some other notable um Mutual layering system users oh look at them all these big names it's almost as if this is the industry standard now um so you might also notice that the games I've listed here are games with a massive scope and that's because at that size you just can't Brute Force stuff with artist numbers and you just have to work smarter not harder and that is my catchphrase which I say all the time work smarter not harder because you just can't brute force it the amount of um competitive analysis that I've done where they've like compared the numbers between if they were to try and Brute Force something it would take years versus a more procedural approach where you know it's you know it's a fraction of the time so it really is the only way to sustainably go forwards uh for it so there's still more to show but uh this was just a brief Taste of some of the wonderful functionality available in the material Learning System but let's say you're sold and you're like but Chris I don't have time to make my own system for my project what do you do well you use mine because I've stuck it in the arrowhead um plug-in so if you have access to your Arrowhead initiative then you've got access to uh the first version of many of our plugins for it and I've also included a chill Library a test bed which has examples of everything I've shown here and more explaining how you set them up uh you know with little text things and you can open the assets and have a look in there as well and while you're at it grab some of the other Foundation plugins we've made and why is it called foundation not because I'm a huge fan of Asimov but because this is a collection that I wanted to create to be able to give your project everything it needs from a foundational level for art to hit the ground running which is great if you're a project starting from scratch because this saves you months of work as well as it creating a unified base across projects which gives you much more accessibility for artists who are transferring over to a new project they have to learn a new system because they're already familiar with it because it's more unified and um these are also all set up with generic inputs so they can be tailored for your project um you know for whatever packing situation you have on there for your textures whether it's stylized or realistic we've done it in a way that's flexible for it um and just to show a little quick snippet of the material Library plugin um and some of the examples we have there you can recognize those ugly fire hydrants uh tinting there but it's all with a explanations on that and use cases and so on and we will be also updating it to 5.2 at the moment and be adding the current wealth of stuff that we've been making uh as part of diamond um but yeah so in closing uh get some water before and do this so in summary it is the only sustainable way to have detailed escalation unlike uh just upping the texture resolution which just isn't sustainable for texture pool or for authoring time this gives us a viable way to have incredibly High detail assets that is demanded of modern games Texel density equality so rather than a single use asset eating up all your memory having a shared Library means every asset can be a hero asset and it's way friendlier for the texture pool it just raises the overall quality of all the assets uh together more variation flexibility and less authoring costs so there's no need to go back to the source for every variation it also allows you to maintain details at scale so that Designer who took your asset and scaled it up like 20 times beyond what you ever offered it for it still works because you set it to be tiling in local space but scaling world so it still works then we have assets are more versatile for level dressing so Dynamic masking allows placement to affect visuals so it's not just you know weather effects but also randomization per instance like I've mentioned you know for the Blair uh the Len sorry the layer blend it's been too long intensity meaning that one asset can look like 20 and all you did was copy and paste it around the level it empowers artists so artists can essentially make their own shaders using these building blocks without needing to know anything about tech art it is suited for gameplay systems like damage biomes weather and so on it's lightweight because it's separated by a functionality you're avoiding cascading recompiles you only recompile what you want to um it is perfect for large scope projects such as open world games uh where this sheer amount of content is just impossible to Brute Force so this is what everyone else does work smarter not harder and this is an old version it's out of order um so it's uh also it's ready made with a arrowhead so it's all ready for you to go and grab and if you were to take if you were to just ignore all of this and take one thing away from this entire talk it's that it's the industry standard now and we should be doing it um so yes it's over it's finally over thank you all so thank you for listening for my ranting and we actually have time for questions I didn't take forever and go off topic so let's see you've got a question I don't think that works just shout out me real loud foreign primitive data you've got that way of doing stuff or if you're doing dmis and that but I mean it's it's so much based on how how you implemented it really uh to give like a specific answer to that who's next hey I found that one drawback on using the material layers like the ones that come with unreal is that I think it gives too much freedom for artists to make a lot of like random weird yes so I wanted that's why I made mine yeah so you did solve that problem in your okay all right that was a question yeah so I basically say don't don't use the default unreal ones is what I said because we do a lot more optimization per attributes to keep it more lightweight um also like a lot of stuff you get from epic is a tech though not something you use in a game but um but yeah so we've we've optimized it and tailored it so I'd recommend using uh the ones we Supply uh instead also it means I know what's going on in there instead of like whatever that epic is made uh so anyone else who's next are we good can I run away oh no no thanks for the great dog uh with all these like dialing materials or tying textures used on this I know fire hydranted and stuff how do so the like UV Sims issues the assets because there will be some and there will will be kind of visible like I mean it's not based on how long you've authored the the tiling thing I mean there are lots of ways that you can break up tiling uh using more procedural like UV stuff to you know scatter things around um it's really based on uh the uh the layer type because we've got a bunch of different uh complexities of UV stuff in there like I've mentioned for detail uh ones versus just you know default kind of inputs in there but I mean it's kind of based on what you're putting into those tiling ones so hopefully your texture artist has made something that doesn't repeat too much but we've got plenty of ways that we can help mitigate the repetition of stuff I I like didn't mean the like visible tiling but more the UV seams because there will be this like sharp edge where where the where the UV Sims are oh right you mean the UV seams on the asset I get you now so that also depends on how your uh tailoring the asset in there what your masks are because uh you know you can always mask those seams uh you know depending on you doing trip planner or you know extra version of that or other stuff in there but um I mean there's plenty of ways that we can you know Implement to affect that kind of stuff so it's based on you know what the setup is and what uh material layering you're doing uh in there really but yeah there's definitely there's ways to solve that thank you I mean because it's not too different from uh in painter because you're that's what I like in this too substance painter in the editor and you're basically doing tiling stuff and then obviously you're painting over seams in the end but anyway I digress is there um anyone else okay what oh this is uh this is Hugo he's uh he's at Doggy Daycare today you're having a you know a whale of a time playing with all these other dogs uh cheers for the talk um just in terms of optimization do you still like we use the material as with material layering system quite a lot but you still see a place for Unique textures per assets so if you've got a fire hydrant and you've got yeah I mean three textures that are 2K and that's what you want to get out of it versus two materials and a mask that's like seven textures well I mean it's it's based only how you set it up really I mean with um you you're kind of exchanging where you're putting your unique stuff so I've exchanged um having duplication of stuff for having a unique mask in there um whereas you can still it's not like I'm Banning you from using unique textures uh it's just here's a way to uh make it more friendly and sharing the text density across stuff so obviously you know you're still using unique textures here and there it's just you've got more flexibility to have instead of it being all baked down you can have you know anything that you're sharing materials between Subways what about sharing this types really so if you are sharing gears metal across different things won't them just be the same metal instead of having that baked down and duplicate and then you're subtracting your overall memory allowance from that so there is definitely still a place for Unique Textures in there um it's just being smarter about how you're utilizing that really one panel that's something that noise the examples that you've shown I think most of them were two layers uh yeah well at least probably like three or four okay so uh the limitation obviously you're still limited to uh 16 samples uh just you know because it's more platform based but we've done a lot to sort of mitigate that because you can also um have you know shared samples between stuff so you're not limited to that in terms of texture inputs in there and because we're subtracting you know the attributes between stuff we're basically formatting it so that you get the most availability and most room to put in as many layers as you can within that obviously there's always limitations to stuff but we're trying to author it in a way that gives you far more room to add stuff in there but of course you're still limited by your target platform so if that's 16 samples and so on but uh but yeah so that's that all right well I guess that's time thank you all I'm free
Info
Channel: Sumo Digital
Views: 16,950
Rating: undefined out of 5
Keywords:
Id: SAr7oPKsgLE
Channel Id: undefined
Length: 42min 57sec (2577 seconds)
Published: Mon Jul 17 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.