Introduction to Instamat Live Stream
- Hosted by Manfred (CEO) and Jeremy, discussing the new plug-in SDK for Instamat.
- SDK enables community-driven integrations with tools like Maya, Max, Houdini, Nvidia Remix, and GDO.
- Focus on asset texturing and baking workflows.
Baking Workflow Essentials
- Baking transfers high-poly details (sculpts, bevels) onto low-poly meshes.
- Instamat supports CPU and GPU bakers with different strengths:
- CPU baker: robust, handles large meshes, better for broken/non-manifold geometry.
- GPU baker: faster, better for high sample counts but limited by VRAM.
- Baking resolution should match intended export resolution to avoid artifacts.
- Super sampling (2x minimum) recommended to reduce artifacts.
- Important baking settings:
- Use "by mesh name" to avoid baking artifacts between separate mesh parts.
- Average normals option smooths shading for flat-shaded low-poly meshes.
- Ray length adjustments help fix baking overlaps or missing details.
Texturing Workflow in Instamat
- Start with a base metal layer to simulate underlying material.
- Add multi-channel layers for paint with control over height, roughness, metalness, and normals.
- Use mesh masks and volume masks to selectively apply materials and effects.
- Decals can be added via fill layers with mesh-projected masks or brush strokes.
- Generators add micro details like noise for roughness and color variation.
- Filters and effects can be applied to layers or groups for color correction, sharpening, or stylization.
- Layer groups support filters for design reviews and quick color variations.
Advanced Masking and Weathering Techniques
- Mesh edgeware masks create realistic scratches concentrated on edges.
- Multiple scratch layers with varied noise seeds add realism.
- Painting masks allow manual control to add or remove details.
- Mesh projected masks combined with grunge textures simulate dirt, rust, and wear.
- Layer ambient occlusion uses material height data for micro-detail dirt accumulation.
Decal and Brush Features
- Procedural decals include screws, bolts, splats, and stains.
- Brush templates can be saved and reused for consistent detailing.
- Symmetry and stroke spacing enhance decal placement efficiency.
Custom Filter Creation with Atom and Element Graphs
- Atom graph allows pixel-level image processing (e.g., pixelation effect).
- Pixelation implemented by quantizing UV coordinates with floor and division operations.
- Parameters exposed as sliders for user control.
- Element graph wraps atom nodes to add mesh awareness and layering compatibility.
- Solidify node extends UV shells to prevent seam artifacts during filtering.
- Grayscale compatibility requires adjusting input/output types and connections.
- Custom filters integrate seamlessly into Instamat's layering system.
Additional Insights and Community Engagement
- Instamat supports procedural 2D painting with dynamic brush controls.
- Files and presets from the stream will be made available for community use.
- Encouragement to explore Polyverse for asset storage and AR visualization.
- Discussion on social topics emphasizing tolerance and positive engagement.
- Preview of RSX engine vehicle system showcasing easy vehicle creation and physics.
- Highlights of game trailers and tech demos emphasizing immersive experiences.
Conclusion
- The live stream covered extensive practical workflows for baking, texturing, decals, and custom shader/filter creation.
- Instamat offers a powerful, integrated environment for procedural material authoring and real-time feedback.
- Future streams will continue to provide educational content and community interaction.
- Viewers encouraged to provide feedback and request topics for upcoming sessions.
For more detailed techniques on texturing, check out Creating Stunning Text Effects: A Step-by-Step Guide.
If you're interested in mastering the baking process, consider reading Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images for additional insights.
To learn about creating seamless textures, visit How to Create Seamless Textures with Stable Diffusion Forge.
For advanced techniques in out painting, see Mastering Out Painting with Stable Diffusion Forge UI.
Lastly, if you're looking to save your configurations effectively, check out How to Save Configuration Presets in Stable Diffusion Forge UI.
Good evening everybody. You are watching the Abstract live stream and my name is Manfred. I'm the CEO of Abstract and we
have a great totally unscripted show for you today. And as always, I'm not alone and I think with me is once again um
Jeremy maybe we can switch to Jeremy so Jeremy can say hello to everybody. Fantastic. Jeremy, how you doing?
Uh not too bad actually. a bit colder in New York City. You know, leaves are starting to fall, seasons are changing.
Um, but you know, as things often do in New York City, things just keep moving on. You keep pressing on.
Yeah, same here. It's actually a beautiful Wednesday here in Germany, the 1st October. We have a lot of things to
talk about. I think it's going to be a very interesting show for you guys. Um, one of the things that we're introducing
today is the plug-in SDK. So we got a lot of requests from the community to allow them to be able to build um
integrations into other tools that we don't build like Maya or Max. So I think that's going to be really interesting to
see how the community is going to build tools and what kind of tools they're building.
I think the apps the the SDK for inat is going to be going live today. At least that was our initial plan. But one of
the issues that we're seeing is that a lot of our team is sick currently. Even this production, we're just winging this
one. It's not the usual team, but we're trying to do our best. But we expect the announcement on our website to go live
and the binaries to be available and then everybody can just go ahead and build integrations. That's pretty
exciting, right Jeremy? Absolutely. So, I guess what what makes this uh this SDK this plug-in SDK a
little bit different than something like Instamat Pipeline where you're running something in the command line?
Um, yeah, I mean this SDK is designed for integrations to allow people to integrate into tools and there's going
to be some some rules and regulations into the things you can do and the things you should not do. For instance,
you should not try to build something like instamat pipeline or build a command line application. That would be
absolutely against the terms and I I think we're going to enforce those because we do have to make some some
money after all. But it will allow the community to integrate into tools like Houdini or into some Nvidia remix um
pipeline tools to directly bring the content from Instamat into whatever application you're using. I also look
forward to seeing an Instamat inte integration into tools like GDO for instance. I think that could be really
interesting or even seeing Instamat integrated into into competing tools. That would also be funny to see.
Yeah, absolutely. I mean that's one of the things I'm really noticing is that the the community for insting to grow
and so be by being able to give these tools to people who are really invested into uh you know integrating Instamat
into their workflows with other tools other engines other dcc applications I'm really excited to see how they use the
SDK for that. Absolutely. I think it's going to be super interesting. But let's just um as
you so this we don't have a new release planned today besides the plug-in SDK guys. We're still working on it and what
we're trying to do with this show is just to give you guys a direct access to to me as the CEO, but also to the team
and the news. We will be doing more regular updates for Instam Madden and Installot and all of our tools. But this
show today, it's going to be more of a hangout. We want to we do know that we have to produce more um educational
material to show you how our tools work. And there's a lot of ideas we have for for this abstract live stream today um
and also for the future. And I think we're going to start by just trying to do some texturing and see how we can
build a um um project for in in asset texturing where we just show you guys. Okay, that's how it works. That's how
you texture an asset or at least that's how I I would texture an asset. There's many many different ways. There's
different ways to do things as always, but this is how I would do it. So maybe let's directly jump over to the um
screen share. Mr. Producer, thank you so much. All right. So, you should be able to see this beautiful splash of the
Instamat September 2025 release, which I hope you guys have installed. And what I want to do here is I'm going to go to an
asset texturing project. And I'm I'm not going to use a custom mesh. I'm just going to start off with the create
tutorial that I'm sure you guys are familiar with. But we're not going to use just the
stock tutorial. We're going to delete all of the layers and start from scratch. I want to show you guys how to
bake and what you have to to look for because I think we're getting a lot of questions around baking, right Jeremy?
Yeah, absolutely. You know, I've seen on our uh community channels and Discord the baking workflow is is a lot of, you
know, a lot of times what people focus on at the beginning because often times it is the first step, right? It's how we
take our um you know high poly models that we've you know done subdivision surface modeling or we have some sculpts
from something like ZBrush or Blender and we want to be able to bake and transfer those details onto a low poly
that we've generated. So yeah, I think it's a great place to start today. Yeah, and I think baking is it's
something that's difficult to get into, but once you know how it works and you know the ins and outs, it's not as
difficult. It's a mysterious topic because it's not as approachable as modeling something in Blender, but once
you get it, it's it's very easy and you don't have to to stress yourself that you have to bake something. Especially
in Instamat, we try to make everything as automatic as possible. So, here's the crate and I removed all of the baked um
data. And as you guys know, in the lower left corner, you typically have all of your baked data here. So, as you can
see, I removed all of the the bake information. And what we have in the viewport is just the naked crate. And
what you can see is that the lighting on the crate doesn't look so great. And that's something that when when when we
used to build games, we tried to make our meshes as efficient as possible. And this typically includes not having a lot
of normal splits because if you do a normal split, you have to split the UV so the lighting looks correct. So one of
the ways that we did it is to try and have a smooth surface where possible. So this is why a lot of our assets look
pretty funny if you would look at them naked like this crate. So normally you would expect the shading not to distort
around these areas but as you can see it's it looks pretty funny but once we bake the mesh you'll see that it looks
pretty good. So to bake the mesh if you would start clean and you load your mesh instamat would automatically show you
the baking dialogue. We don't have this here but you can always bring up the baking window by just clicking bake
mesh. So I'm doing this and as you can see here is your our bake window and you could bake without a high poly mesh.
That's another question we get quite often. But you do want to have a high poly mesh to bake a notch a much nicer
curvature map to bake a much nicer normal map. You really need to have that high poly mesh available. And even if
you just start you you you start off with a low poly and you didn't your your colleagues or you didn't model a high
poly mesh, it's still worth to apply a subdivision um modifier to just to have the surface smoother and have nicer
curvature on the mesh because that detail will be transferred to your normal map. But I do have a source mesh
here. So I'm clicking on a button to pick a local file. Actually here that's the first question like what is the
difference between this pick package resource and pick local file right? So package resource basically means if you
have a file stored in in your package you can just pick it from here or you can pick something even from the system
library but typically it doesn't make a lot of sense to bake down the cloth ball. So in this case we're going to
pick a local file and I have my crate right here. So that's the the high poly mesh. can even
I can show you guys how this would look like. So, I'll open Insta Lot Studio and I'll just bring in the same crate
that I just brought into Instamat. All right, guys. So, here you can see our high poly mesh and it's essentially
the same crate, but as you can see, it has much nicer details on the much nicer curvature. That shouldn't be done.
Um, much nicer curvature, more details, much nicer bevels. I mean, these days you could just bake your low poly and
then bake the bevels using a bevel sampler. But if you have a high poly, if you can create it, I would still go go
that route. Let me actually reduce the size of the dog. Right. We got a question or or actually a
comment here just about baking. Uh, someone mentions, you know, it would be nice if we in the future add the ability
to have like a a visible cage for baking. Is that something we're looking into or or you know you know one of the
things I find about instamat is often times just to quote to quote the phrase that it kind of just works most of the
time and a lot of the times it has to do with like the preparation of you know making sure the UVs are good to go and
you know I have some experience making you know knowing what works and what doesn't um but you know yeah what what
are we looking at here in terms of uh how best to prepare a mesh for good baking and you know what what are we
looking forward to in the future? Yeah, I mean we do want to add visualization for the baking. So you can see the
baking cage, you can see how the race would be, you know, produced and all of those details. But that's something that
other tools added really really late in the game. We're talking about a 10-year development cycle when the feature got
added. But it's something that we want to add really soon also to be able to to paint normals and to have a bit more
artistic control over the baking cage. But by default, Instamat's baking cage is really good, and you should be able
to just um load in your source mesh, hit bake, and you're good to go. Just make sure that the overlap between the low
and the high poly is as close as it's as it's possible. And you can achieve this typically if you follow the subdivision
surface modeling workflow. So instead of creating a separate low poly and a separate high poly, you would just model
using the subdiff workflow. And then you export it once using a lot of subdivisions as high poly mesh. and you
would export it again without any subdivisions for the low poly mesh and then later you could remove all the
edges that you don't need. But we found at our studio that this was the best workflow for for hard surface assets to
just use subdivision surface modeling. Nice. And I also find that I used install to generate a low poly for me
often using something like the remesher or the polygon optimizer. So, if you're looking for a really quick way to take a
high poly model that you've done with subdivision work already or or high poly sculpt, you could easily just toss it
into Install or even do a remesh voxalization in Instamat to automatically generate a low poly as
well as an option. Absolutely. But that's not something we're going to look into today. That's
something for for another stream. this it's a beautiful workflow to go from some random super dense mesh using
insulot to a low poly that has all the baked data and then directly loading that into instamat that's a beautiful
workflow I love it but today I just want to focus on the baking and the texturing about how we would do that so going back
to the screen share and our baking window here um we have a two different bake engines you can use it CPU and GPU
and the CPU baker is super fast a lot of people just use the CPU baker but the GPU baker has some benefits especially
when it comes to baking a lot of um samples for your AO or curvature map. But it also has limitations. So the CPU
CPU baker scales beautifully over gigantic meshes and it's more robust when it comes to um non-manifold and
broken meshes versus the GPU baker. You're VRAMm limited and you're limited to how big the buffer can be that's
processed by the baker. And what you also have to consider is that the CPU baker and the GPU baker are two very
different bakers. they don't really share any code and that makes it difficult for us to have feature parity
and do it exactly in the same way. We're trying to but there's always some things that you can do in the CPU baker that
the GPU baker cannot do but it's typically more advanced stuff so I don't think you you easily run into those but
but do you recommend that if like a bake isn't working out in one of them to try and swap over the other just to test it
out? I mean, most likely it probably will work pretty well, but you know, maybe it's a good idea to try something.
You know, you might be running out of VRAM, for example, with the GPU and just switching over the CPU would be better.
Yeah, if you have a two or three gig uh VRAMm GPU, then or even a a shared memory card, it might be better to start
with the CPU baker. But if you run into issues, what I would recommend first is to reach out to us and let us know about
these issues because we want to fix them as soon as possible to make sure it's ultra hardened. So, I would I would use
the GPU baker here to to start with. And then the next big um question that always comes up is what is the best
baking resolution. And the best baking resolution is not just 4K or 8K. The best baking resolution is the resolution
that you intend to export your mesh in. Because if you if you bake at 4K and you down sample it to 2K, there might be
some artifacts that happen from that down sample because you don't have that perfect pixel pixel mapping. So, keep
that in mind. It's good to bake at 4K or 2K and then export at whatever resolution. It's a very small
difference, but you shouldn't have it. The the difference between the bake resolution and then the the the export
resolution shouldn't be too big. But the beauty is you can always just rebake and things are going to work out just fine.
So, I'll just use a 2K bake resolution here. And super sampling, just always keep it at two 2x minimum. If you don't
use super resolution, there might be some artifacts that you see more easily. That's normal. That happens to every
baker. That's why the industry introduced super sampling. So just keep it at 2x. It's typically perfect.
So I keep it at 2x here. Um and then when I'm when I'm iterating over my bake, I don't want to create all of the
baking targets. So on the right side, I can disable all of the targets that I don't need to make sure that my bake
looks good. So I'll just bake the normal tangent space here. It gets a bit more advanced what you should change here
with the tangent space settings like by normal per fragment or um normalize per fragment. Um, if you texture an
Instamat, just keep it on OpenGL if you intend to do that because you can always export as DirectX when you when you use
the export window. Um, but when you texture, the input normal map should remain OpenGL. That's what Instam Mat
likes the most. And the binormal and normalized settings really depend on your render. So, if you want to get
ultra accurate rendering, you would want to enable and disable those features depending on your rendering engine. But
keeping them off, the the the issues you'll get from it are fairly minor. But if you go for that ultimative per uh you
know accuracy, you'll need to figure out how your shader renders that normal map in the end and then you know set it up
exactly as the shader in your rendering engine um would use the normal map. So let's just keep it like this. And down
here you you can control how the bake actually works. And by default the if you have good overlap in your meshes
that means all of the meshes are overlapping. You know you have like a handle on the high poly here and you
have a handle on the same location on the low poly. Those ray length are really good. But if you have a more, you
know, obscure workflow where you position things far apart, you would have to increase the ray length. Or if
the the differential between the the high and the low poly mesh for some curvature is very big because you want
to bake some inner part, you would have to increase for instance the inwards ray length here.
A lot of times I find that if I am getting any anything baking on top of each other or some some shadowy
artifacts or anything appearing you know unexpectedly around separate pieces or surfaces lowering or raising the ray
length is the first thing I jump to first. Yeah, that that's actually that's a good
approach. I I do agree to this. This is this is a good thing to iterate on. And then we have um ignore back faces. That
basically means if a ray would hit a polygon and it's facing this direction, the ray comes from here that we would
then ignore that face and the ray would go through it because it would want to find a face that would match what we're
baking to. So by default, you should just keep that on. There might be some cases where you don't want this, but for
the most part, you should keep it on. An average normals normals is basically um what you what bakers need when they
don't respect the geometry uh the vertx normal set on the geometry. Instamat does that. So you can do some skewing on
the vertex normals and instamat would use those. But if you have a flat shaded mesh where all of the normals are just
flat shaded, that's that low poly look, you would want to enable average normals. Otherwise, you won't get like a
nice curvature over the mesh. So that's similar to how we were seeing our our low poly crate from earlier,
right? Those those normals are more average, therefore giving you the the rounded look. Yeah.
Yeah, exactly. That's that's average normals that you can see right here. And that's the look you would expect.
Great. Yeah. And then targeting mode is one of the more important settings. So let's
see what happens if I keep it on all source meshes. The other option would be to bake by mesh name. But if I just bake
this like um this I'll hit go. Yep. Let's go. So it's doing the bake. It's already done. And let's see what we have
here in the viewport. So this looks good on a first glance. Let me close this. But I do see some artifacts. For
instance, the handle got baked on the body. I don't know if you can see this, but there's the handle right here. And
then we have some part of the high poly handle baked on the body. And that's something that you don't want. Like this
kind of artifact is terrible because you get the that fake lighting that shouldn't happen that got baked down
from the high poly mesh. And to avoid this, what you would want to do is you go to your um bake window again and you
just enable um by mesh name and then re-ake. So let's do this.
Right. So before it was taking the entire mesh into account, kind of baking it all at once. But now that we're using
by net my mesh name, it's looking at the mesh suffixes, right? The underscore low underscore high for example to make sure
that certain meshes are only baking onto each other and not onto other surfaces. Exactly. And that's what I did and it's
clean now. But if we look at the crate again in um Installot Studio, I can show you exactly how this this looks like. So
this our high poly mesh and as you guys can see if we select the handle here it has that suffix underscore high. So
basically what happens if you bake by mesh name that on the low poly we expect to have a a mesh in the scene that would
have the name underscore low and this would find the corresponding mesh with the name underscore high and then bake
it down. There's also something that most people are not aware is that you can actually
bake multiple things down. If if Instamat finds a mesh that matches the low poly name and has additional, you
know, suffixes on the high poly side, all of those would be baked down. So you can use that to bake four high poly
meshes down to a single low poly mesh. It's a bit difficult to wrap your head around, but it's pretty good when it
comes to the authoring workflow. So, if I had multiple objects that have the same name uh with the suffix
underscore high or underscore low, then it would bake it down onto that that one surface that matches that name.
Exactly. Awesome. All right. So, this is looking pretty
good. So, I can now go on and just bake all of my um bake data here. So, what do we need?
We need ambient occlusion. We do want to have the curvature sampler here, the world space normals, a mesh ID map,
position map, a thickness map. I think those are all that we need.
Yeah. And then you might ask, why do we even need a position map? A position map is great and that's really important if
you want to do things like gradients over your mesh or if you use the mesh volume mask. This is where we we would
use the position map. And the position map is not just the low poly positions. It's actually the high poly positions
which allows you to do a mask that is that is controlled and influenced by those details on the high poly map. You
you don't need the position map if you don't have it. Instamat would use the geometry data as is, but then you can
only do the mask on the low poly geometry, which means you would lose some detail. So it's always good to bake
it. And so so you can actually use that high poly detail for your masks on the low poly.
It's also worth mentioning one of the maps that we're not including here, which is a mesh ID map.
Didn't know we do include it here. Oh, I didn't see it so far in the corner. I was saying in this in this
case, usually uh we don't necessarily need a mesh ID map for the various uh masks that we use. Right.
Right. Indeed, if if we mask by polygons or by sub meshes, we don't need it. But if you have details that you only have
in the high pulley that you don't have on the low pulley that you want to mask, you would still need a mesh ID map. So
you can per pixel select those details. The curvature map is also a pretty important map and it shares the settings
with the bevels baker. So you can find the settings up here in the curvature settings. And if I would enable the um
the bevel normals, you'll see it's now called curvature and bevel normal settings. But I don't need the bevel
normal. So I'll disable it. And we added this new mode for disk sampling and normal gradient. And the the main
difference is that the disk sampling works similar to a um ambient occlusion sampler or a thickness sampler where we
don't just cast one rate to get the information from the high poly mesh. We would actually cast a number of rays to
to gather a bigger curvature. Whereas the normal gradient would calculate the curvature map based on the normals that
we're baking on the normal gradient. So you would get a much smaller gradient. If you want to get the nicest and
biggest curvature that's possible, you would want to use the the disk sampling mode. And you can increase the sample
count. And again, it's one of the reasons why the GPU baker is nice because you can use a lot of samples and
it's going to look very nice. So that's the curvature sample AO. I don't think we have to say much about AO
sampling. It just it's the contact shadows that make the mesh pop and look very nice. And in real time engines, you
can use those for very dynamic and beautiful lighting. And the thickness baker allows you to do effects based on
thickness. Like if you have rust and you want to apply your rust mask only on thin metal sheets, you could use the
thickness sampler to to build a mask that would then only apply to those thin parts on your mesh. So you would
basically create a mask that uses metalness and also the thickness sampler and then you can dial in where you want
to have that rust. Right. I always use the thickness map for things like um subsurface scattering
and other other renderers as well. Yeah, fair point. That's a really really good way to create a subsurface
scattering mask as well. That's true. Maybe less so for hard surface, but if you're doing something with plastic
where lights shining through, you could do some really cool stuff with the thickness map.
Absolutely. So, here's our our crate. I baked the details. You can you can see them now here on the left side.
And um if you want this is also a question like how can we look at the bake information
that we have in our uh viewport and we added a note for this. Let me see where it is. Um I think it's here in mesh
layering you have that select baked data note which is very interesting. You can use it for mask as well. But if I just
drop it here and then it looks weird of course because our default projection is trip planer. But once I switch it to UV,
you can actually see all of your bake outputs and you can select what you want to visualize in the viewport. For
instance, we could choose to um visualize the normal tangent, the world space normals, the position map, the
curvature map. So that's a good and nice way to quickly just go through all of your different um bake results. If you
go to the thickness map, you see what the what the baker did here is that it recognizes that the the box is very
thick, but the handle is very thin. So the the thick parts are black and the the thin parts are black and the thick
parts are white. And you can see that in areas where it's like somewhat thin, you'll get that gradient here because
the ray casts through the mesh. All right. So to start texturing this assets I this asset I would always start
with the base layer and then work my way upwards in a rough outline and then refine. So to start I would go to the
material library here and search for some kind of a metal. Let's see if we find an iron here. Dirt iron. Greasy
iron. Um yeah, let's just take that dirty iron here and just drop it here. So that's
our base. And the reason that I do this is to have a layer that shines through once we peel
back um the paint or we add some scratches so that metal that base metal shines through. So that looks pretty
good. And then I'm going to create another layer here. So let's just add a multi- channelannel layer here. And we
want to um influence the height here. Set maybe a height in the middle. That's that's for the paint. So we can always
subtract and add a bit more information. a roughness, metalness, and a normal layer. And the reason we need the normal
layer here is because you can see that the lower uh layer from the paint from the from from the metal is shining
through. So by if we don't want this, we can just enable normal and then fill it with the default normal, that blue
color, which just means it's a blank normal that's pointing outwards of the surface.
Yeah. Sorry to interrupt there, man. It sounds like we're having a little bit of some
uh technical issues where the stream is starting to lag a little bit for everyone. So uh just want to make sure
that we see your comments and uh if there's anyone uh who's in the office making sure that we have a strong
connection just want to give a little uh PSA there just to make sure that we have a clean connection for while we are uh
doing our stream. Yeah. And tell your colleagues in the office to maybe not use the upstream.
Stop stop sharing your files. Yeah. Yeah. Maybe maybe maybe chat can tell us
when the upstream is good so we know if we have to do some intervention here at the office.
But absolutely. Yeah, keep us keep us posted. I'm just looking at the chat as
you go along. Uh I didn't want to interrupt your flow there, but I want to make sure people can see uh all the
educational goodness that's going on here. Um so hopefully yeah hopefully the stream will will clear up a little bit
and uh I'll keep you posted. Maybe we can just continue otherwise. Perfect. Right, let's go back then.
Awesome. Yeah. So, we were just talking about how you're enabling channels, right? And
this is a little bit of a different behavior than what we had from uh you know, early access with Instamat, right?
Where now when you create uh new channels inside of layering projects, most of those channels are disabled by
default for performance. So, now that we're adding more things like the the normal channel, the roughness
individually, that gives us a little more control uh to tell in what specifically we need for each layer,
right? It's not just performance. It's also to to avoid injecting data into the composition that you don't really need
and then you have to figure out why does it look wrong now and you have to dial it back or disable the blend. So, it's
much easier to be able to control exactly if you want to, you know, add the base color or not. The this power
button is really helpful. But another frequent question is like how do you get the AO to render on the mesh? Right now,
you would have to add a new channel here. So, you can click add channel and simply add your AO channel and you can
see the AO information is coming in. But what we can also see is that um there's a contribution from the lower material
here. So to avoid this, we just add another fill layer here on our base. And you can see that this controls AO now.
But and then as usual, you can disable and enable AO in the viewport by clicking on the AO button. But even if
you don't do this, you can enable the rate tracing and and get a really beautiful render of your mesh as you as
you work. All right. So that's our paint layer. Let's pick a um color for this one.
Maybe like this. Let's um disable rate tracing again and just AO. Um
actually, let me desaturate this a bit more. Yeah, let's just use this. So, this is
our base paint. Then if you would have some some um mask on it, you would see the lower layer shine through. For
instance, if I would add a mask to this, that's a paint mask, a mesh mask painting. I could now, if I set this to
um subtract, I can now, you know, remove the details here. And you can see that we can see that lower material shining
through. And we get a nice um gradient where we can see that there's some thickness to the paint And you can
control the thickness now by modifying the height level of your paint base layer. So that controls the base
thickness of your of your paint. So is it very thick paint or is it more a thin layer of paint? I'll leave it like this
and remove my mask here. So um yeah. So let's add another layer here to mask off some of our parts here. So
that should be a metal layer. So I'll create a fill layer. And um because it's metal, I use just white for the most
part. And I'll add a metalness and roughness layer to this. And I'll increase the metalness to 100. So it's
metal. And what I want to do then is I want to mask off the parts that are actually metal. And the easiest way to
mask so we can pick the parts that we where we want to have our effect. And something again people ask often like
how can you control multiple? How how can you disable all of these at once? Do I have to click through? You actually
don't have to do that. You can just right click on the meshes here and then deselect all mesh meshes. But you could
also do something like just mask the ones that you want and then hit invert current selection. And you see it
inverts it perfectly. But you can also pick in the viewport. So these are the metal parts that we want to mask off
here. That looks pretty nice already. And um you always want to have some pattern, some theme going on on your
asset that should be consistent across all of the assets in your game world. What I want to do here is maybe add um
another color to separate those attachment points better. So I'll create another multi- channelannel layer. It's
going to be maybe let's take this bright yellow maybe a bit bit darker more saturation
like this. And again we're using the mesh mask. Deselect all. And for convenience I'll
hit the pick button. And then to pick more, I think I can hit shift and then I can just pick multiple times. And I
click in the onto the background to stop my picking. And you see it did a really nice job at picking our areas where we
do want to have this attachment color. So that looks pretty good. But then we would want to, you know, have that that
secondary color more visible on the mesh. And to to do this, I want to use a um volume mask to mask off some parts of
the mesh to just make it look a bit more interesting. So, I click them the add mask button here and I'll choose the
volume mask and it's set to multiply which means it combines with the lower with the lower mask. So, if I move my
volume uh away, let's move it a bit more up. You see that it only masks where you have this overlap between um the
previous mask, this one, and our volume. And we can control, you see there's a fall-off here, which is pretty good by
default. Having a bit of softness is always good to avoid aliasing. If your mask is too hard, it doesn't look as
nice. But we'll just dial this down to zero. And then we can control where we want our mask to be. But we don't want
it to multiply. We wanted to add to our mesh. And then I can hit R to scale down. And then move it down and maybe
mask off the the lower portion. Uh like this. And this is one of those masks that uses
the position uh bake data. Right. Exactly. If it's available. If it's not available, it's still going to work just
fine. But I would recommend you to have the position data available. And then I'll duplicate the mask here and just
move it to the top. And I'll mask off the top. Yeah, that already looks pretty cool.
And to make it just look a bit more custom, not so boring, I'll take the lower mask, hit E to enter the rotation
mode, and I'll rotate it a little bit and move it up just just slightly so it looks a bit more interesting.
And I think what's also nice is if you have a bit more separation when it comes to the roughness on your material. So
right now we have the same uh roughness all over the asset. And what I want to do here is maybe select that layer, fill
the roughness and have it a bit lower so it looks more like some glossy paint layer here. And you can see that already
looks interesting. And what you can do as well is add a bit of height information to to further separate um
the different layers. And you can see that this adds this very nice portion where the light reflects and adds us
very small very nice highlight. Nice. Actually, you see we we did have we have
one issue here and we masked the part here that we don't want to mask the metal part. And to fix this, we could
now create another mask and then so one way would be I'll just show it. I'll create a mask here again. Um, and we're
going to set it to subtract. And then I'll deselect. And then I pick my part here again. And it works. So, we
basically remove that metal part from our mask. But it it's much easier if you just have the right order in your
layering stack. So, in this case, I'll just move the metal part to the top and it's it's correct again. Actually, we
could make this a bit nicer if we add a a small volume mask. If you look here, we don't just have the the yellow paint
on on the top part. It's also on this um part behind this attachment point which I think would look a bit nicer if it
would actually be um green. So yeah, I was going to say you could use a
volume mask or you can even use one of our polygon selection masks as well to get more specific into that, you know,
inset area. That's a good point. I do like the volume mask. So I'll just use here and
then I'll set this one not to add. I'll set it to subtract. And you can see how our mask is now modifying the mesh. So,
I'll just move it over like this and then move it down a little bit to mask off that portion. And you see it
extends way too long. So, I'll just move it a bit forward. Hit F to focus. Again, F to focus. And
we masked out that portion. And um if we select it again, we could actually control the softness here if you want to
have a softer falloff here. Or we just perfectly, you know, shrink it down just a little bit so the the
bevel is nicely masked and then add a bit of softness to it. Yep. Like this.
Great. Nice. By the way, guys, if you have any questions, uh we're the stream seems to
be doing a bit better now with the with the buffering, so that's great to hear. If you guys have any questions at all
while we're uh doing any asset texturing or anything that Manfred's currently showing off, please feel free to ask.
It's always great to know what you guys are interested in. There's a lot of really cool techniques in here that
we're that we're looking at, especially being able to use the volume mask to cut out more complex shapes. A lot of times
people ask, you know, is it possible to create a custom volume to be able to texture assets? And a lot of times what
you could do is actually combine a lot of the primitives in the scene that we offer such as like the the cylinders or
the spheres uh the cubes to be able to cut out uh you know very distinct shapes using the volume mask that way.
Absolutely. So what should we do next here Jeremy? Well, it's looking pretty clean right
now. I'm wondering if we can roughen this up a little bit. Yeah, we could do that. But maybe
shouldn't we add a bit more details to it? I think we could add a decal for instance.
Yeah. I mean, we just added a whole bunch of decals into Instamat's library. Anywhere from sci-fi decals to kind of
liquid stains, stuff like that. Right. Right. Yeah. There's different ways. So,
let's show maybe one or two ways to do this. Um, I'll start off with the the way that I like most to be honest to add
a a bit of decaling to the mesh when it comes to just one or two big hero decals. If it's a lot, I would use the
the brush um and then just add um them by placing brush strokes all over the mesh. So, let's add another fill layer
here. And here's our fill layer. And how do we turn this into a decal if it's just a fill layer? Well, you could
change the projection type to be a decal. And then you can just project on your your decal this way. But I feel
like a better way is to just keep it on the default settings. And then instead what we're going to do, we keep the the
fill layer as is, but we add a mask and we're going to use the mesh projected mask, which is a really great mask for
many different reasons. And here you can see that now we have a a um a mask that is doing a triplaner projection. But
what we could do instead is switch that to decal. And then we can position and place our decal um using a mask. And the
benefit here to doing it this way is that you can still control your fill layer properties individually and and
mix it up as you would like to mix it up. Exactly. So this separates the content from the visibility on the on
the model. So you can always add more or less masks to this layer, but then you can choose, you know, what's the color,
what's the height or the the patterns and things like that, and then choose and then use the the decal as a mask
instead to separate that out and give you a little more control. Also allows you to go back and change
things, too. Yeah. And and what I want to do here is maybe do some embossing with this decal.
So to do this, I'll not just use the base color, I'll add my height. And as you see, if I increase it, you you get a
beautiful um outwards um shape here. But what I want to do is have that embossed in. So I'll just set it to subtract. And
you can see how that adds my um decal. And I can perfectly control how that um decal is then being applied.
So maybe like this. And maybe also change the roughness. Make it a bit more rough here. Um that looks pretty nice.
And then maybe just blend the base color in a little bit so it look it has more of an embossed look just like this. But
as Jeremy mentioned, there's more you could do here now. For instance, you could um add a filter to your mask and
then warp it. That's something with you can do with the new build. For instance, I could use a um
a uh what do we want to use here? Maybe a slow blur. Yeah, we can roughen up the edges there
from the inset. Yeah. So you can see here's our slope blur doing its magic. We can use a
different um noise if that is not doing what we want. So it's a bit too low. The frequency of the noise is a bit too low.
We want to have a very fine noise. So I'm going to um pick a noise that does what I want to do. Maybe take um I think
a clouds noise could work here. Maybe clouds. Clouds heavy.
The turbulent one or the clouds heavy. Yeah, that's one too. And that's way too intense. So we can we
can blur the noise a little bit. And the intensity would have to be very very low. So I'll just set it to something
like maybe 2%. And you can see how that now makes our embossing a bit more interesting. And you can control how
that um works. The maximum or the minimum blend to um create a effect where the the outside part is being
blurred into the emboss part or where you just break up the edges by doing a maximum blend because now it just only
goes outward. So that looks more plausible. Like this part here for instance looks a bit like you have a
wornoff edge now where something rubbed off against it. And again you can even make that finer by um lowering the blur.
So this is a very powerful tool to create a very beautiful um looking decal. So if you look at this now
compared to what we had without the slow blur. So this is super clean but it already looks a bit worn off. And then
you can control exactly how intense, how that should be using the the blur on the input noise, which is a very nice
feature to better dial that in perfectly just like this. Yeah. And then if you wanted to change
the color or how much the the uh logo subtracts in from the surface because we separated that masking out from the
actual layer itself, you can always go back and nondestructively change that information.
Absolutely. And that's a great feature. I I love when things are non-destructive. So you see I can change
the blend mode and I can modify the height here and everything would just work based on the masks we created.
Something also worth mentioning is uh you're subtracting height information from the surface of the of the mesh. And
so a lot of times people ask you know how can I have negative uh depth in this case? How do I dive into the surface of
a mesh? Uh maybe you can talk a little bit about how that works in instat. I mean like we did it here right? You
just set it to subtract and then you can just dial it in the way that you won't want. And even the because because we
set the height to use 16 bit FR which means full range which means it's you're not limited to set up your effect
between zero and one. You can actually go negative very far negative or very far into the positive. And then there's
a more advanced feature we added for some of the more advanced um users is that you can actually if you right click
here on the height you can actually enter a value that's not just between zero and one. You can set it to 10. And
you can see the effect is now much stronger. So you get you basically subtract 50
units into the mesh here. Very cool. And so Instant behind the scenes is uh
not only generating a height map, but it's using the height map information to generate the normal data. Right.
Exactly. That that's the beauty of the this height workflow that um you can easily author beautiful normal details,
but you don't have to struggle with the complexity of vectors and and this kind of authoring and and your decals and
alphas don't have to be normals. You can just use a regular height map and then drive your normals that way. And again,
we can we can still move this around, right? It's it's non-destructive. We can still move this, rotate it, and scale
it, and do whatever we want with this layer here. Yeah, we got a a question or a
suggestion uh just from the chat. Uh they're really interested in looking at uh you know, how we were adding layer
references to uh with the latest release. You know, how we're able to reference information. We're kind of
going into that a little bit with our effects with masks, but I figured I'd bring it up in case you were planning on
showing that a little bit later. But there's people interested in looking at how we're using uh you know ref layer
references and also adding you know grunges to layers and things like that. Actually the second part there adding
grunges to layers. Uh one thing we don't show that often is using something like a generator uh and how generators work.
Maybe we can talk a little about how those work. Yeah. Yeah. Actually I forgot this.
That's a really important part. When you build a surface even a plastic is not as perfect as this. So your your plastic
ones needs to have some micro variation micro detail. And that's where the generator comes in. For instance, if we
go to the to the paint layer, I can use a generator here to add a bit of detail. So, I'll spawn a generator by clicking
this button. And then I use a noise um that works well for me. And in this case, I want to have something like a
pearlin noise, just a lot of dots and smooth frequencies. Uh it's right here. And you see this now affects any of the
channels that we enable here. Right now, it was affecting the ambient occlusion channel because we had it enabled up
here. So up here you can select the default influence and in other tools you wouldn't always need to switch between
the different channels to modify the blend mode. But in instamat you typically just have this on base color
and you're you're good to go because you have that beautiful um layer stack where you can control whatever you you know
what data you generate or composite here. Plus you can always have access to all of the different blend modes. So you
don't need it that often. But in this case, it it controls what your default influence for the generator is. And what
we want to do here is add some micro detail. So I'm going to go to that generator and increase the scale of my
of my noise here. Um, actually that should be way denser. So we can control that. We're not
limited to going to the range we see here. We can hit the edit button and maybe go for a scale like 120 or we
could even go to 140. And um we can control the gamma maybe like this. And then we can choose
what we do with our generator. If we go back to the to the blend settings here and
um let's see what we do here. Maybe soft light. And then just you want to have very very tiny influences here. Actually
maybe let's use a different noise. I think what might be better here is maybe the dense noise. And again, let's
let's crank that up so we can actually see it. And increase the scale of our noise function way higher.
We need more. We need way more. Maybe like this. And again, we go back and just decrease
the blend very, very low. So, I don't know if you guys can see this on the stream, but we have very, very light,
very small details here on our paint. I don't know if you guys can see that if I zoom in like this, but there's some
shading differences here. But that that's what makes your asset look much better when you look at the whole the
total of the asset. And also what you can use it for is to maybe add just a tiny bit of influence to um the
roughness map. And here what might be interesting to use is add subtract. So what add subtract does is it blends two
things together and some part will be added and some part will be subtracted. And basically the values that are below
the midpoint of 0.5 will be subtracted and the values that are above will be added. That's interesting to not just
add variation in one direction to your roughness map, but both in the positive and in the negative. So let's use add
subtract here. And then if we crank this all the way up, you can see what I'm saying here that some parts will get
more glossy while other parts will get more rough. So if we look at the roughness map in detail, you can see
exactly how that works. So if I would only have add here, everything would get brighter. If I have only subtract here,
everything would only get darker. But add subtract allows you to go into both directions. So, it's a very nice feature
to perfectly dial in just some some imperfections here on the surface. And so, generators are uh really really
really cool. I mean, I don't think they get as much love as they deserve. You know, um being able to add information
to a layer and being able to composite it into the different channels in this kind of layer stack manner is is a
really cool way of working, especially for that micro detail that you're talking about. So, if you have a grunge
or some kind of element that's supplying image information, and then you kind of want it to uh push out the height a
little bit or or adjust the color a little bit, you want you want to kind of inject that that image information, a
texture into the layer that you're working on somehow and blending it with a specific blending mode, you can do so
uh very quickly just by using a generator. You don't need to kind of add multiple layers to the layer stack to
get that done. It's a It's a nice way to be able to just bring in some additional information into that one layer and and
you can have it in that effect stack from that one layer in the stack. Absolutely. I I love it for these these
micro details like to add some roughness um variation to add some color variation. It's perfect for this. And
keep in mind you have other blend modes. You don't have to use the soft um soft light. You can even use something like U
or um luminance to modify um exactly how you're doing the blend, how you want to add that um um variation to your mesh.
All right, so we have some variation here with the generator. I hope that helped the chat to understand how it
works and you guys can carry that knowledge forward for me. That would be fantastic.
Absolutely. I think we also have a YouTube video on generators as well. Even in uh use for something like
material layering when you're authoring your own materials using the layering system. Generators are a great way to
add micro detail that way. Yeah. And what you should do as well is just make sure your layer stack looks
nice and clean. So make sure to just double click it and then name your layers. Otherwise you add if you have a
big project it will be difficult to find what you're doing. So this is our our metal
uh attachments and handles. And what do we have here? Um, this is our uh mat embossing. It's this guy right here. Um,
right. And then we should probably group this. And then just hit um command or control
G to create a nice group. And all of our um layers are now here. And I'll call that the paint layer. So if I hide this,
everything is gone. And what another more important thing that people often forget is you want to
have some some weathering on the asset if it's an outdoor asset. And in this case, what I often used to do for my
asset assets is to add some kind of a sun bleaching to the asset to make it look a bit more worn out. And that's
also very easy to do in Instamat. So I'll add a layer here. Um, and we just want to control um the base color. And
what I'm doing here is adding a mask next. And to to fake that radiation on the surface, which is like sun hitting
the top of it, I'll add a um mask that's called the mesh direction mask. So I'll search for direction and I'll find it
here, the mesh direction mask. Double click it. And you can see you can now control exactly where how your mask
works. So if I'll just solo that mask, right click and solo. Um, you can see it influenc It creates a really nice mask
that hits it from the top or you can hit the the asset a bit from the front so it looks like you're burning you're you're
burning in that that light here. And you can if you just want to have the top or maybe the front a little bit. You can
control how that is being integrated as a mask by using the gamma to control the falloff to create a more plausible
fall-off for your for your asset. And then I unsolo unsolo this one. And again, I'll use the soft light
to blend it in a little bit. And I don't know if you guys can see that, but it just illuminates it a little bit.
Maybe we should change those fine details, right? Yeah, exactly.
It's like it's just the things that you kind of feel, you know, not necessar necessarily see. And uh there was
actually since you were showing that for like the light direction and the sun direction, we just added a light uh
baked light mask into uh this mask as well. I think is another great use case for adding that kind of bakedin
sunlight. Absolutely. For for sunlight or if you do a stylized asset where do you want to
have a specific light direction baked in. It's a perfect use for this. Right. Right. So we have
we actually have a question by the way. Um since uh since we were talking recently about generators uh someone's
asking you know how do filters and generators function with layer groups and so how can we uh utilize the power
of groups to be able to uh take advantage of filters and generators in a very procedural way.
Yeah, that's one of the great features of Instamat is that you can actually put a filter on a group that something other
tools can't do. And I love it for doing design reviews. So you can create a filter and for instance the HSL or I
prefer actually the HCL. Um you can just apply that to your whole group and then you can look at your asset in different
color variations and do a design review or maybe just explore how would it look like if I just actually I like this for
instance if you just shift the U a little bit to the right. The green looks a bit more interesting.
Modify the chroma desaturate it a bit or add more saturation to it. So this is one of the great features of Instamat to
be able to put a filter on a whole group. And you can create multiple versions of
these HDL or HSL filters and just switch between them to see which variation you like.
Exactly. So, um, let's rotate this one a little bit. And then I'll duplicate this guy. And then I'll move it back. Um,
maybe do an HDL like this. And you see now we have, if you look at our layer stack, we have this duplicated one
that's enabled and the low one is disabled. You see that it's grayed out a little bit. And it also has that that um
box here, that empty box which shows that it's disabled. And if I select both of those and I hit H, you actually
toggle between them. You see now it shifts the the box up and down as I hit H to hide um the layer. So this is a
great way to AB test your filter to see which one you actually like better. Nice. And just another question from
another uh another person in the chat. uh kind of a generalized the question. So he's asking how do these workflows um
affect other project types like uden based uh you know projects or maybe you know uh multimaterial unified you know
so we he's specifically asking you know how do we add decals to surfaces in the UDM workflow but you know in terms of
everything else that we're talking about uh you know I think it all applies you know how does this uh change using those
different type of you know mesh configurations absolutely that's the beauty of instamat
and that's the beauty of this multimaterial uni unified workflow And also the UDM workflow is that everything
what you see here will just work natively and you'll be able to apply a decal that goes over many different UDM
tiles or many different materials if you use the multimaterial unified mode. Right? So so when you're in a unified
workflow with Instamat it should just honestly it should just work. You can add a decal, you can add a projection
mask and then you should be able to apply it on the the surface just like we're doing here.
Absolutely. Yeah. I mean there's a lot of great things you can do here, right? You can
use filters to invert your colors or you can use filters to um to apply curves or color match some specific layer to apply
a levels. And the great thing is the filter you can always target a specific channel. For instance, you can target
base color here or you can target your um roughness map and then maybe tweak how your roughness map actually looks
like if you feel like oh you you overdid it a bit and you need to dial it down a bit. So you can dial down all of the
roughness maps that are inside of that layer group using just a single filter on your group. A very beautiful feature.
I think that that also brings up a great question, you know, uh what distinguishes a filter from a generator
from an effect, right? And so I think that was one of the main uh different uh uh aspects there was a filter is
designed to control one specific channel in a layer group, right? whereas an effect is able to generate and
manipulate multiple channels at the same time of a single layer. Absolutely. A good example for this is
for instance if we um let's bring in a or maybe just disable this guy right here. So go back to our base layer and
if I would apply a filter here like a um swirl. Let's see. Do we have the swirl or what can we do here? Um the shape
mapper sharpen um what's the most visible I guess? H
actually maybe just use emboss highlight. So if you would apply a filter like this, it doesn't make a lot
of sense. Let's use color match here. Yeah. So if you applied a color match, it would just target one channel. But if
you want to do something that modifies multiple channels at once, like a swirl, you could use a um a effect. So if I
apply a blur or um what do we want to apply here? A mesh blur, for instance. Um, we could then control all of the
channels at once. So now we don't just blur the base color. If we look at the roughness here, we will blur the
roughness. We will blur the metalness and all of our channels. So that's what an effect is doing if you want to modify
all of your channels. But I think actually, shouldn't we have the swirl here?
I think that Yeah. Isn't that one of the ones that you that I come up?
Yeah. Great. Yeah. So you see the swirl is now swirling all of our material at once. So
you don't have to swirl each channel differently or actually not differently but independently. And then also make
sure your settings always apply. So this this is a very nice way to to do it. And we also work on adding more specific uh
effects like for instance the the material not this one. Let me see.
Yeah, this is the one. Right. So, for instance, this effect applies a paint layer to your um existing material and
now you can control how the paint looks, how much paint you have on it. So, these effects are actually very powerful and
we're going to add way more effects to to the library. Right now, we have a few of them. I think the the the paint
effect is a really great one if you have a base surface like a wood for instance. If I let's just add a wood material. I
think that that looks a bit more interesting. If we take a a um nice wood like this one and we apply it to our
mesh. And by the way, you can drag and drop those filters and effect. So I can just
drag and drop my effect onto this. And you see it works. Now I have a a material that's normally very difficult
to do, which is a um wood material that has some paint on top of it. And we can change the the color here of our paint.
And we can control the the the thickness of our material, the chipping, the aging of the the paint and have you we have a
lot of control over the all of the peeling effects here. So more peeling. You see now it peels more. You can
control the roughness of your paint layer, make it more glossy like thick paint. If we add a lot of the peeling,
it looks like thick paint. And if we have very little of the peeling, it looks more like a thinner layer of
paint. Chipping and cracks. there's a lot of control you have over that particular um
effect. So you see now we have all of these cracks. So it looks like very very old paint. It's a beautiful filter.
And there's more we're going to add here. It's actually funny. Someone was just
asking, you know, they're mainly looking to ask about reference layers, but they were just asking how we could create a
peeling effect, and we just so happened to do that right away. So that's pretty cool. Of course, you can do a few
peeling effects with uh layer references and very specific things like that, but you can also just easily drag on a paint
effect like that uh as Manford just mentioned. And uh we do have a question regarding uh how these uh effects work.
Uh so one person's asking, you know, how are we able to choose our own noises or use our own custom nodes and use those
as effects and layering? We'll look at this later if we still have time. I think we're already one
hour in. I I wanted to show so many things. Let's see if we can get to it and then I'll show you guys how we could
build um our custom node using the atom graph and then use it as a filter in the in the layering workflow. That's
something that I wanted to do actually. But let's see how far we get. And if if we don't do it today, then guys, tune in
next week. We're going to do another live stream if if it checks out, if nobody gets sick, and then we can
continue here. But let's just continue here with some wear and tear, I would say. So, let's um maybe add some
scratches to this and make it look a bit more interesting because right now it's way too clean for my taste.
So, we have our paint layer group here. And what we want to do to reveal the lower metal layer is to add some mask to
our paint layer group. So, it reveals the underlying underlying layer. And if if you want to create scratches, we have
a really nice mask for this, which is the mesh edgeware mask. So by just applying this, you see you already get
some really nice effect work going on on your crate and we can perfectly dial in our effect. So let's see how we can do
that. Okay, so we want to apply the the scratches mostly on the edges. And down
here we can control what scratches we're using. So by default it's using scratches three, but we can we can
actually change this if you want to have different kinds of scratches applied like those structured scratches that are
more uh longer. But I do want to use scratches three here. By the way, you could also use one of our new grunches
that we added here. Um, what's the name of the scratched one? Do you know it, Jeremy? We have We added a new grunch
that is super scratched. Oh man, it's on the tip of my tongue. We always seem to add so many with each
release. Um, yeah. What is it? It wasn't the stylized one. That was the
paint. I'm looking for the scratched one. It's not swiped out.
Oh, yeah. Is it scratched? It might be.
It might be scratched. Let's see. Yeah, let's just proceed with the
scratches number three. That's a good one to to just illustrate how that works. All right. So, here's our our
scratches. And what's pretty nice about this note is you have a lot of control over how
you want to apply those scratches. For instance, I can choose to have them on the on the large curvature here. Large
opacity. So, if you want to have scratches only on the small um areas, the small curvature, we could just use
the medium, fine, and sharp. And then, if you want to have it on the larger ones, we can have it. We just dial up
the the large intensity. If we want to um break up our scratch mask a bit more, we can use grunch variance. If we want
to add more grunch in general, we could just increase the grunch opacity. So, we'll just dial that in a bit. And
then maybe add more scratches. As you guys can see, we have a lot of scratches here already.
Yeah, maybe maybe like this. Start with a lot of those bigger scratches,
some bumps. Bumps is also very nice because you can add this those not just scratches, but bumps on your on your
mesh that make it look a bit more realistic as well. I actually think our paint layer is a bit too thick. Let's
decrease it because otherwise you see if it's too thick the scratches. You'll see that it looks wrong because now the
scratches look like they are carving out huge pieces which is an indication that you need to lower the height of your
paint layer. So it looks more natural. You see if I if I lower it, the scratches start looking way more
realistic than if it's like this. Here it looks almost like we're scratching through butter or something like this.
So we're lowering the the height here to have the scratches look more realistic. go back to our um scratch mask. Maybe
lower the grunch opacity. We only want to have the scratches visible here. And then um can control how many of
those we want. I think that actually looks pretty good. And then I think what would make sense
is to add more of those. So you typically want to have several different um layers of scratches. It's like if you
want to render the ocean, if you just use one noise function, it's not going to look nice. you're going to have to
use two or three or four different noise functions so your ocean starts looking realistic. So I'll just duplicate this
um this note here. And you see if I duplicate it, it looks exactly the same because the seat didn't change on
duplicate. So I'll have to change my seat here. So the note looks a bit different. And I also have to change my
seat down here. And then you'll see you'll get very different scratches. But for for the fine scratches, I want to
have a a higher scale on the scratches. And again, not so much on the the grunch opacity.
And with the grunch mask, you see you can you can control the breakup. If I lower the grunch mask, you'll have a lot
of scratches. And if I increase the grunch mask, we'll have a much nicer breakup.
Yeah, that starts looking really cool here with those multiple um layers of scratches
and can also control how intense our scratches look if we control the
brightness. So, if I control the brightness and I crank it all the way up, you'll see it. You'll basically see
the masked area which is way too high. So, don't go too far. You see, not visible. And if I go up,
you can see it much better. And then you maybe want to have a bit more break up in the mask.
It's one of my favorite parts about texturing is just finessing these details.
Yeah, you can you can really get lost in those. But typically, you just have to modify
brightness, balance, and maybe contrast to get your your mask to to be looking a bit more interesting. But I do think
that looks that looks pretty nice. And then we can actually add maybe another layer of scratches
and this time maybe less dense. Um you know what actually you know what we
have here is this looks pretty interesting but it's mostly around the curvature. What we need is scratches
that are actually also on the front of the crate and other parts. Otherwise it looks a bit weird if we have all of the
curvature scratched up but the front is perfect. So to do this, I'm just going to add a projected mask again. And as
input, we're going to use um again one of our scratches here. Um let's see what we have here with the grunges.
Actually, we could use this the structured here. And then what we're going to do is um subtract. So you see
we have the scratches. It's actually too structured. Let's let's change it again and use scratches
three. And that starts looking more interesting. We want to have more of those. And maybe
we can control the orientation. So now it's all over the place. But I think typically the the crate would get
scratched more horizontally because people would walk by and then scratch it or or it's got moved along a wall. So it
should be more horizontal. So we to do that we can just control the rotation. And I'll set the variance to zero. And
you see now we get all of these long horizontal scratches. And I'll make them a bit smaller. And it starts looking
really reasonable. And um we can control how many we want by using the tile multiplier here. Um
like this. You see that starts looking really plausible. Like we have those scratches that then go into the
curvature. I really like how that looks. While you're on the scratches, we've got a question about like how would we mask
out a portion of those scratches in the corner? you know how to remove scratches in a particular place in a kind of like
with painting for example. Yeah, exactly. You could for instance now if you want to do that you could
just add a mask and now you use the painting mask and you set that to add. So again by default our ma it's a it's a
white mask and we basically subtract the scratches from our mask and to um now remove some scratches we can use add to
add back that information. For instance here that scratch should probably end because this is a bit more inside. So,
it's less plausible that we would have some scratches here inside the um the crate. So, you can refine your asset if
if you feel like that's really needed or here behind the handle. Maybe actually that I'll undo that. I like that
because when the handle hits the crate all the time, it should look a bit messed up, right?
But maybe here on the attachment, I can I can lower the flow a little bit to not remove so many details, but just have a
bit the scratches be a bit more light here on the handle. And the same here, just have the scratches be a bit more
light on the handle. But by and large, while you're painting, uh, we have a
comment that, uh, one of the things that someone's having difficulty with is being able to change brush properties,
uh, on the fly. So, we actually have some keyboard shortcuts to do things like changing the radius of the brush.
Um, do we have some other shortcuts as well? Yeah, I mean, the radius, that's
command, control, and then click, and then, you know, um, drag the mouse. And then you can also change the flow easily
if you do the same but with the right mouse button. So if I go up and down, I can easily control the flow of my um of
my brush right here. Great. And we also added some recently some uh some neat widgets to the
viewport when painting like being able to pick colors and uh change values as well, but we're getting off track. So I
just want to make sure that uh we do address a few of those questions. Fantastic.
Yeah. Yeah. So, we can we can just paint and add in details where we want to have um scratches or no scratches. So, I can
paint them all out here. And if I want to bring them back, I can just hit um the eraser button right here uh and then
just paint and bring them back. So, you can you can perfectly control how you can how your asset looks like when you
author it. And the nice thing is here that the paint you do that's basically um that's not depending on the seat or
the randomization because if I would change the seat all the scratches would change but the the areas where I masked
it out they would remain. So you can make sure that if you have an area like here that that embossed part where you
don't want to have any scratches or maybe here um we can just cancel those scratches out
and then if we change the seat the area would remain clean. Yeah. So, this looks pretty pretty nice already, I believe.
Yeah, it's looking great. I really like the detail around the edges. I think the additional scratches around with the
hands was a nice touch as well. Actually, what we should do is also bring that we we only did the the
generator base variation on that green part. We can actually just um duplicate that um generator and then drag it onto
our accent color as well. So, we have the same kind of color variation on our um more glossy part. We can even make
that more pronounced. Or actually, we don't want to make it more glossy. We just want to make it less glossy. So,
I'll just switch to add and then just add it in a little bit. Like this, right? Very nice.
Yeah. So, I think this asset already looks pretty plausible. And again, that's why we did the base
irony layer here, right? If I remove this, then you'll see it's just black. And if you would just, of course, you
could just create a multi- channelannel layer. And then what you could do is you could set that to white. And then you
basically make it metal and add some roughness to it. Um, you see, you can see the scratches, but
they're all just pure metal, which might be good in some cases. But if you, by the way, I can do the same thing that I
did for the filter. I select the disabled layer and the enabled layer. And if I hit H, it toggles between
those. So I can AB test this. So, if I use the actual material, you'll see that automatically we get this rust and the
more the nicer variation that shows below our paint here for free, which I really like. That's why I always start
with like a really plausible base material and then I add my layers on top.
You can almost think about it like you're building the object yourself, right? How would I construct the crate
initially? It would probably be made with some kind of metal first and then you can build the paint on top of it and
then if you had stickers or decals you could build on top of it that way. So it's very kind of a physical way of of
texturing something. Absolutely. What we forgot actually is we wanted to show how we can do decals
with a with a brush. So maybe let's take a look at how we can add some screws and details to our crate using the brush. So
I'll create a brush layer, a multi- channelannel brush. And what I want to do is add some scratches to not
scratches but screws to my layer here. And to make that very very easy, I can just set up my base fill properties as I
want them. So I know I want to have metal screws. So again I remove the saturation here. I'll add some height
because I want them to stick out a little bit. And then I want to set my metalness to 100 as well. So if I would
paint, you see now you get these. It already looks actually like screws here. But this looks way too basic. And I'll
undo it. And what I want to do actually here is use one of our decals. So with this release, we added tons of decals to
decals to instat and they're all procedural. So you can do some really interesting things. So if you change
your brush, you don't have to just use a brush mask. You can go to the decals category and then pick one of those 200
decals that do exactly what you want. From screw heads to bolts to to buttons to cracks to add more detail to your um
to your mesh. Let's see what we want here. a bolt
screw. What do we want here? Maybe just this regular bolt here. So, I I picked it. And if I now click that
onto my layer, you'll see that I automatically get this very very nice looking bolt together with the with the
washer below it. So, let's just make that very small. And then we can add some bolts here to our crate. Um maybe
here and then here as well. And you can see how you can, you know, bolt your things together
with one too much. What's really cool about using these built-in decals is that they're all
procedurally generated as well. They all give you controls to be able to design and craft not just the one bolt that you
chose in the browser, but really kind of any type of bolt that you want. So, always know that when you're picking a a
decal or and you're looking at something in the browser and it's like, "All right, that kind of looks like what I'm
looking for, but maybe, you know, the the turn part of the screw could be a little bit smaller." you you can most
likely be able to adjust it and finesse the decount to get them one. Absolutely. And with the linear stroke,
you can also just click here and then hold shift and then set a series of bolts across your mesh or stitching or
any other type of effect. And we're working on curves, by the way. So curves will be available soon. So you could
draw a curve on your mesh and then it would place all the decals, all the screws, but you could still modify the
curve, drag the points around and everything would just work. So that's going to be a really nice feature as
well. So, we can just add a few of those bolts here. Maybe they're maybe while you're adding some details.
I'm going to give you a question that's a little more out of left field, but we can we can always go and continue
detailing while you answer it. Someone's asking uh you know, what about LUTs? Are there plans to add LUTs uh or uh you
know, color maps, things like that to uh inat? I'm not entirely entirely sure if the question is based on something like
lighting in the viewport or uh specific type of filters. But if you're looking for a way to be able to visualize your
your scene in a particular style or look, you can absolutely do so by bringing in your own environment image
and uh you know background if you need to or be able to customize the viewport with different tone maps which I think
it looks like mentor you're kind of pulling up there. Yeah, exactly. And you can also always
write your own viewport shader to do whatever tone mapping you would want to do. Um, but we're we're going to add um
OCIO, I think it's called, to Instamat. So, you can load in all of the um color lookup tables that you would want into
Instamat, but we added two new tool map operators to Instamat is PBR neutral and AGX. Uh, I like PBR neutral. It's a bit
dark by default, but if you brighten up the viewport, the colors pop really nicely.
Nice. Already looks really nice. Yeah. So, we have some bolts here. I
actually also use the bolts to, you know, add some detailing here onto that attachment point. And we could do the
same here as well. I just make my screw smaller and then just tap it two times onto my handle to to make it look a bit
nicer here. I was actually going to say you could use symmetry in that case, right? To
make it a little Yeah, I could use the symmetry plane to do that here to mirror my stroke across.
It's actually a really good point. We could just place a decal here and then also here. And you see how it nicely
mirrors our our bolt. Just some small details, right? And let's say, for example,
someone wants to use the height information that we're uh painting on with our decals to add some rust around
those roofs. How could they uh go about doing that? Yeah, that's where you could use
references to use the the mask that you've generated um to influence another layer. Basically, for instance, just if
I would just quickly do that, I would um add a um reference point here to my layer. And then I could create a new
mask or a new fill layer. And let's say this would be red. And we we can create a mask for this. Um and the mask is not
a regular mask. We use the reference generator here um to um generate a mask that's based on one of our um previously
generated references. And I can also rename this to to bolds. So now we renamed the reference that I generated
here to bolds. And if I go to the reference generator here, I can find it by selecting the bolds and then choose
which channel I want to map. And I want to map base color. But I actually don't want to map just the base color. What I
want to map is the alpha channel of the base color, which and that would be basically exactly the area where you
painted. And you can see it now selects those areas precisely. Um, and we could do an effect on this with the new
ability to add mask effect. So in this case we could for instance add um what do we want to add here? Um
a filter a slope blur is pretty good here. But again we would need to have a super
super low intensity. We we might need to refine this for layering because typically the intensities are good if
you build a material but for layering you would need to have like 10x 100x lower intensities for the most parts
because the UV space is just so small that you need to have much smaller intensities. But in any case, let's
let's find a good um good noise function here. So what what could be a good one for us here? Maybe again the clouds.
Clouds is so um versatile. It always works well. So let's use cloud smooth here.
Turbulent also is a good one. So maybe like this. And then we set it to maximum because we
want to bleed out the area. Maybe blur it a little bit or keep it like this. It's also fine actually. So we can bleed
out the details a little bit. But you can see we overlap the the screw which we actually don't want to do. And the
reference when you use a reference in the layer stack it always has to be above the point where you generate the
reference. So if I would move this layer down because it should be below the screws. You see now you get this red
exclamation mark here. And it tells you hey this is an invalid this is an invalid reference because it has to be
above the bolt. So let's move it back up. So instamat is happy. Now instamat is happy again. So how can we fix this
right? How can we now have the the red part? Let's actually make that a bit more visible. Let's add some roughness
here. And we also don't want this to be metal. So, no, actually, let's give it a bit more of a rusty like color.
Something between red and brown, I guess. So, how can we avoid this from being
visible on the screws? And the way to do this is actually a pretty neat hack or not hack but workflow. Like it's it's
like building materials or in in Instamat it's very easy. All you have to know is how to do it. And learning
Instamat or learning how to build procedural materials is not so much about learning some specific technical
quirks. It's just knowing which workflow you need, which notes you need to play somewhere to make it work. And what we
want to do here is actually we want to create another mask and we want to again add a reference generator here and use
the same reference here from base color alpha. But this time we don't want to multiply, we want to subtract. And you
can see how that works, right? The we now have our part behind. Let's actually make that more visible. Let's just use
some some funky blue color. So you see we basically just before we had our reference and we smeared it around with
the reference generator and the slope blur. And what we now do with the new reference generator that uses the same
input but set to subtract is we mask out that part again. So our screw remains unaffected basically. And we can also if
I if I want to make that more visible here behind the screw my mask I could go to the reference generator here. And a
pretty neat feature is that you can actually control the intensity of the of the mask you generate. So you see if you
want to have that that that rust or whatever we we're doing here more visible you can just move down your
levels to make it more visible or control the midpoint to control the falloff. So now we could make that um
some other color again maybe like this. And the neat part is that this would now apply to all of our
screws that we have. Right? If I disable this layer you can see that it adds a really nice darkening effect around our
screws. And there's a lot you can do with here. You could modify the height map to you can um create some bulging
around the screws so it looks indented. Actually, let's just see what happens if we do add some height information here.
So, you can see now it bulges here around the screws. I don't know if you guys can see that, but could also sub
Yeah, that's great. We can also subtract this. So, it bulges. Yeah, that actually looks
pretty interesting, right? So, now it looks like the bolts actually bent the metal a little bit inside.
So you see here, right? Because you have to imagine if they're tightening it, right, it's going
to pull in some of that met that a little bit. Yeah. Yeah. And in some in some parts it
was a bit too sloppy. So you you didn't drill right. It's pretty nice effect. I actually like this. So I'll keep it. And
then instead I'm going to just lower the blend effect of my base colors to have the effect a bit more neatly integrated.
Actually very nice. Yeah, that that that makes me want to add another effect to this crate. It's already so so bumped
up. Let's add add some more more wear and tear to to this crate. So, I'm going to add another multi- channelannel brush
layer to it. And what I want to do it is add some dents and you know like really big distortions on the crate. And I
don't want to do this using the base color layer. So, I'll disable it. But I do want to add um some information to my
height channel. So, let's see if I would just paint that here. You can see what we have this bump here. But it looks
really weird. But what we can do instead is maybe go to our decals and we might have some some shapes here that actually
look good. So you see we have those dent shapes here. Dent dent folds dent circular. Let's just use that circular
dent. Um and let's see what we can do here. We can warp the dent around. Can blur it a bit. Maybe that might be good
actually. And now if I if I paint that on it, you can see we get a much more interesting shape here.
So, um, and to make that easy, I can go to my dynamic. So, I don't want to have
each each dent be in the same orientation, the same size. So, what we want to do here first is to add some
spacing to our our brush stroke. So, when I paint over it, it looks a bit more um
dynamic and spaced out. And then we add some rotation to it. And also, we want to have different
intensities for our dents and maybe also some size variation. and just jitter the position a little bit. And now I can
basically paint over my asset. And you see we we dent it in. But I think we can actually make that brush much bigger
than it is right now to have those really big dents in the crate. Yeah. That actually starts looking more
reasonable with the dents. Can you see this? I don't know if you can see it on on the stream, but it dents it up
nicely. Slightly. Yeah. Yeah. It's subtle, but that's exactly what I want on my crate. So I can just paint over my
crate here, and it's going to do exactly what I want to do. And all I have to do is just paint loosely over it to achieve
exactly the effect that I want to achieve. Here, one question that came up while you were
talking about reusing these effects over and over again uh is that we can I guess I guess a point is if you want to save
an effect that you've created using these uh reference layers, you can do that, right? There's a way where you can
save a few layers and create smart materials so that you can easily uh instance them back in or reuse them in
other scenes, right? Absolutely. For for a brush, you could um there's two ways. You can just save
your layer as a smart material, but for brushes, you can just add the whole brush configuration as a brush template
and then it's going to show up. So, if I want to save this, I can just add to library as brush template. And I'll call
it my dent brush. And I'll hit okay. And then if I go to my library, I'll be able to find that here on the paintbrush.
I'll have my dent brush right here. And if I use I I can just double click that. So if I create a new layer, new multi-
channelannel brush, I can just you see now it's a regular brush again. But if I double tap this guy, it updates my
brush, all my settings, my decal, and loads all of those settings back in. So you can create a nice big library of
different brushes. Right. I think what could also work is a
regular fold here. Yeah, I think that's enough here for when it comes to the dent.
Looks actually pretty interesting. All right. And we can also actually I think that would also be nice to show
the the splats. I really like the the splats that we have those splat decals. So let's add some color splats to our
crate. So I can go to the decals again. And if you search for the splats, you have a lot of really interesting ones.
We call them blood drop leak here. But it's not just blood. You could imagine somebody is using like a a paint gun and
just splat some color onto it. So, let's just increase our um brush here. Um, and this is um some paint. So, we're going
to lower our roughness. And then we can splat our color onto the crate. For instance, if I
click here, you can see that we have a very nice splash here. Um, we can control the dryness of our
splash. We can control how many splashes we have. So this decal gives you a lot of control
over the splash, the spread, the length of the the leagues. And the great thing is you have a lot of
variation here. So each one of the different splashes you apply to your crate can look entirely different. So
you can create something that looks really really fun um really interesting very easily by just you know applying
applying a a splash changing the seed um tapping it onto your crate. Um that looks pretty interesting. Let's
maybe add some more splashes to it. One of the things that's really cool about this is as you're painting and
using these decals is uh you got to remember that with Instamat everything is still being you know procedurally
driven behind the scenes. So if you wanted to uh you know export this at a different resolution. You can very
easily just change the resolution on the fly and your paint brushes and paint strokes will appear uh even higher
resolution than when you originally painted them which is pretty cool. Absolutely. And now it's very clean. If
we want those those splats to look a bit more worn up again, we could just use a mesh projected mask. And then we could
use one of our um really nice looking grunches for instance. Um I think swipes could work well if somebody tried to
wash them off or um clean it up. You see, we just apply that swipe dot and looks really really nice. We can control
the density of our swipes to swipe them all away or just a little bit and just have the effect look very nice. Again,
the the contrast is also a really interesting um way to control how it looks like. Is it freshly swiped off or
is it a more more harsh, you know, did the paint stick harder to the surface? Um and then we can also always control
the blend of the overall layer if you want those splats to be fully visible or just slightly visible. And actually
going back to the scratches, something you should always do when you do scratches or in general for your asset,
always apply a bit of sharpening to it. So I that's what I'm going to do next. So, I'm going to go to my paint layer
with the scratches on the group. So, these are our scratches. If I want to apply a filter to make the the scratches
pop a little bit more, I can just go to the filter button with a mask selected and then choose um the sharpen filter
right here. And you can see they they pop a lot already, but we just want to add a very very very very subtle slight
sharpening on our scratches. You see how they pop a bit more? Yeah, that's nice. It's a nice way to
kind of like solidify the object together to make it a little more not necessarily realistic, but like
something that you expect to see in a game or something where where you know it just draws the eye a little more than
than if it were just kind of plain. Yeah, we always think about how when you texture an asset, you're trying
to make something that looks uh like realistic like in the real world, but really what we're trying to do is create
things that are um idolized in the sense that, you know, everything that we make, you know, from characters to props, you
know, it's always a little bit past reality and adding that little uh sharpening effect, little tweak to it
gives it that extra pop that you would expect from an asset like this. I agree. I don't I typically don't just
do it on the masks. I would do it on my base color as well. And that's again a really amazing feature of Instamat and
the ability to add um not just filters on on masks and layers but also on groups. So again we have this sharpening
filter and again I don't know if you guys can see that on the stream but if I toggle that on and off they just pop a
bit more and it just looks a bit more interesting. But the same will apply to our whole object. When if I would add a
um sharpen filter here on my group and we just do that very very very subtle just a very small sharpening of
our um base color here. This brings up a really cool point uh we were talking a little bit about ago
where uh the way that groups work in the the layering engine and how it passes data through from groups into
information below it. you know, let's say I wanted to apply a filter or an effect uh across everything that was
below the layer in the stack. You know, how would we do that? Because, you know, we're adding a
sharpening filter. Yeah, we can look at that later if we get to the the graph example. I would
love to show this. So, maybe we should just accelerate and keep it keep it moving. So, I'll I'll keep that
sharpening here going or actually, you know what? I'll Yeah, I'll keep it here for the moment and I'll later show how
to apply to all of our um effect work because what we need really what we really need here is some weathering and
that's still missing. So, there's two ways to do that. One way would be to go to the layer materials and layer
materials are different from regular materials. Layer materials are like prefab materials or templates. you drag
them onto your layering stack and they would unfold and all of the different components would be editable in the in
the layering stack. So I would just take that dirt rainy and then just bring it into my layering stack and drop it here.
And you see immediately your asset is almost fully completed. And you see it didn't just bring that layer, it brought
in with it all of those different um layers to to create the effect. Like you have the global dirt and then you have a
bit more dirt at the bottom here. this bottom fade and then also the the water leaks. But I think it would be
interesting to show you guys how to build this. So I'm going to add a multi- channelannel layer here. And I'm going
to take this very dark, super dark, almost black brown color here. And I'll add a
roughness of 100%. But what I want to do here is to then mask it off so it actually looks like um dirt. And you can
do that using mesh projected mask and just applying it over and over again. But this is the point where the mesh
mask builder comes in super handy handily. So I'm going to use the mesh mask builder to add a grunch here and
set it to one. And I'll pick um probably one of our spots. Let's take spots maybe seven. And I'll apply it to the crate
like this. And let's see how spot six would look here. Yeah, I think seven is a bit more
balanced. Yeah, let's take spot seven here. So, you see we have the dirt all over our
asset and we can control the balance of our um mask and control the contrasting to make it look a bit more interesting.
So, you see by controlling the opacity of grunch one, I can control how that blends in. But what's pretty nice is
that you also have grunch two. So, I could add another grunch to this mask here. And let's take um spots um six
here, which is a bit harder. And you see now the we can comp within the mask builder. We can create this kind of
layering of two different noises. What's interesting is you can't just go from zero to one. You can actually go to
negative. So you can the one grunch grunch one produces information and grunch two takes it away again and you
can create a more interesting looking effect this way by not having it all over the place but you know thinning it
out a little bit. And then I can also use a axial gradient. And again, if I just add that in, you see it adds it at
the it makes it stronger at the bottom. But what we can do as well is we could invert the y-axis to have it stronger at
the top. But instead, we can actually just, you know, take it away from from the from the top by going minus as well.
So you see if I go to minus one, you'll see the top is perfectly clean and we have some dirt here at the bottom. And
this way we can, you know, fake that um effect of having more dirt at the bottom of the of the material.
This is something I do almost with every single asset that I use using the mesh mask builder. Taking one grunge, even if
it's like putting some edgeware around the curvature, right? I'll enable the curvature for example, and then I'll
subtract away from the curvature with the with another grunge using that negative option. Uh sliding it to the
left there. Absolutely. And then we can we can add more um layers here to our dirt. So I
can add another one. I just duplicate the mask. And keep in mind again your seeds, they will repeat. seat. So, you
would want to shuffle the the seats around a little bit because this is duplicated. Um, and this time we don't
want to have the um actual gradient. So, I'll remove the gradient here and the masks are to
multiply. What we want to do here is to add our masks in. Um, but this time you see our grunches are all over. What I
want to do is create a bit of dirt in the in the in the occluded areas because that's where typically more weathering
accumulates, right? in the in the cavities. So to do this I can do use the layer ambient occlusion and I'll
increase that to one and I'll also increase the brightness and maybe the blur. And if we disable the grunches
again um we should be able to see how that looks like if we change the balance. You see now you see all the
areas that are um occluded are driven by our ambient occlusion map that we baked. But it's way too way too consistent. So,
what we can do next is to use the negative feature again to break up these parts a little bit. So, I'm using the
grunge the spot seven. Um, and I'll set it to negative. You see, if I set it to zero, it the ambient occlusion is
perfect, but once I sub set it to minus one, it subtracts those parts. And I think here it could be interesting to
also increase the contrast a little bit so it looks a bit more um contrasty, a bit more interesting in those areas. And
you can also control the overall visibility of your mask with the global setting. So if I want to have the dirt
way way more intense, I can use the the the brightness global on the mask builder or the global balance to control
exactly how the dirt looks like. All right. And then next what we would want to do is most likely add another um
mask builder or we could use the mesh projected mask. Let's use mesh projected mask. And then here we can use a
different type of grunge. Let's see what we have here. the moisture leaks and we subtract out the moisture leaks. So it
looks like the the weathering is more, you know, washed out from from the rain. And I can scale my projection here to
have the leaks be more, you know, smaller or bigger. And we can also control the influence. Maybe not let's
not wash everything away, but just a little bit of it. Got a question about the uh the mesh
mask builder. Uh, in Meshmaps Builder, curvature and edges works with both respecting the baked normal map and
height map plus the previous layer data. I guess they're kind of wondering how how the what influences the mesh mask
builder. Yeah, the the curvature just um here is using the baked mesh data. So, if I have
local details, it won't be captured. But it but as you can see, we have a lot of because we had the screws in the high
poly, they they are part of the curvature map. So you can use it to actually add a bit more dirt around the
edges or around the cavities which actually a good idea to not just use AO here but also use the the
curvature together with our AO. And we can also use the layer ambient occlusion if you want to have dirt accumulated
around the height parts that are just based on the composition. So layer ambient occlusion is basically just
this. You see it even it even you know collects the dirt now here in the scratches because it's actually
understanding now that we're embossing here the instamat and we have the scratches on the material. So this
allows you to to drive those effects. So once again if we remove the layer ambient occlusion or we bring it in. You
can see even how our screws start accumulating the dirt around the screws and those details. You can control the
brightness, the intensity, the radius, how big it is and the bias. So if you want ambid
occlusion. Yeah, go ahead. If you want to have a lot of small
details, you would want to set the bias very slow. If you very low, if you want to capture just very big um height
differences, you want to increase the bias. So that's the value of the bias. Nice.
So here we want to scratches. So very low bias. For those of you that are wondering what
what the difference between that ambient occlusion and layering ambient occlusion is, it's it's Manfred mentioned it's
it's instead of using the baked ambient occlusion from the mesh, you know, generating from the geometry, we're
using the height data from the materials and the textures that we're adding into the layer stack. So, you know, when you
have a material that has height information that didn't, you know, the height information isn't coming from,
uh, you know, the actual crate geometry that we're looking at here, but actual, you know, height data that we're
generating with materials, then we can actually create this usually often called micro uh micro detail, micro
height, micro normal, stuff like that. Uh, that's what that layer ambient occlusion slider is referencing.
Absolutely. And you can see because we use trip planer for our projection here, some of the details repeat. But that
that could be easily fixed if you um for instance um add a mask for the brush um with the mesh um
paint mesh mask painting. Here you go. And then we set it again to subtract and we should use probably a a brush that's
more grungy. So um what do we want to use here? Maybe just one of our grunge maps.
Um, let's say we use the correct one. Yes. And instead of just painting it on like this, we can use the projector. And
then we can project paint our our details over over our mask. I'm not sure why this isn't working
correctly. This should be in this case. I think it references the
map at the bottom of the mask instead of the brush mask itself. Um, so at the very bottom there,
the output here to I believe that's the one that it references for the projector instead of
the actual brush stencil itself. That's a Thank you. That's a really good point. So we can we can then instead of
doing it this way, we can just in use a graph and plug it into um our brush output here. Correct.
Perfectly. It's good to have you here, Jeremy. Thank you for Thank you for saving my ass, man.
You're so welcome. Yeah. All right. But also combining those two, right? You
know, doing both a brush that has details in it and also the projected content itself having details in it is a
great way to kind of have double duty, right? Where you can project neat information and and detail there, but
also have the brush have some, you know, uh, different details in the actual mask itself is really helpful.
Absolutely. So, you could just paint that over here and then have it look a bit more different. But there's actually
another way that's that's that's that we could do and I think that touches on something that's um rarely used and um
in this case we can do a um what could we do to break this up? Does it work with I think it does work. So
let's let's use the mesh projected mask again because we have some noise functions that don't just they are not
projected onto the mesh but they're actually using the mesh information itself. So let's do that. Let's add a
mesh projected mask. And you see it projects the back here again. But what we could do instead is use a a specific
noise function that's specific to meshes. So if you go to mesh noise, we have a lot of noise functions here like
the simplex noise and the wavelength. Um, so let's use the simplex noise. And then we because it's a mesh noise, we
have to set it to use the UV transformation. But what you can see here is it now breaks up our mesh um
very nicely and it doesn't repeat because now it doesn't look at the front and the side projection. It actually
looks at each position in the 3D volume of the mesh to create the noise. And we can increase our scaling. And you can
see how that now blends in with our mesh like this. And then we can maybe increase the gamma here. And
so you could think of this as 3D noises in a way. It's kind of meshes that are that are not just uh using uh you know x
and y coordinates, but also the the noise goes in threedimensional space according to the mesh itself.
That's exactly what it's doing. Yeah. And you could um you can even duplicate this and have another one. Change the
seed and just mix it up a little bit to add even more variation. Have a smaller scale to break it up a little bit
better. And you can see that breaks up that that repetition fairly nicely. Again,
if we would want to level up our um um noise a bit more visible, our dirt, we can add a brightness and contrast filter
and then control the brightness of our noise to to bring back all of that information. And I think maybe want to
decrease the You see, that's why having names is a good thing because now I don't know what mask is doing what, but
you can just double click and also call this leaks. Now I know it's the leaks or this guy right here. I don't know what
this was. This was some of the overall dirt and we can reduce our leaks and maybe
subtract them a little bit less from our mask. I believe it's possible to solo the mask
or the of the mesh noise, right? Someone's asking how can I view that uh that me that 3D uh noise on the mask or
sorry on the mesh itself. Yeah, exactly. Yeah, you can just solo it.
Right click on a mask and solo. The tricky part is it still uses your blend information currently. Actually, that's
also something we want to work on. So, keep that in mind. You would have to make sure that your blend mode um
matches um what you want to see in the viewport. So, if you would just want to see the
noise, you would need to set it to default and then you can um look at your layer independently, which is important
sometimes because you want to understand how it actually looks when it's comp combining composing with a white mask
below. Mhm. Right. Someone said uh best pro tip there was
uh naming your layers. I agree. Yeah. And maybe add some grease to it. I think that's also very important. So
grease is just a bit of the spotty spotty details on the on the mesh so we can solo that layer.
Maybe we'll be able to see it. Yeah. So here you can see the leaks grease. So that that adds a bit of interesting
roughness information. So add that to your mesh as well. I think what would be nice is also a dust layer. Just cover
your mesh in in some very, you know, very fine spotty spotty details. You can do that using a multi- channelannel
layer and then um blending that in with a generator, etc., etc. But I think we can just keep the crate as this. I think
this is a good example about how you could end to end texture um an asset. And I've been working pretty slow on
this asset. Normally I would do it much faster. So if I would start this from scratch, I would probably arrive here in
maybe 10 15 minutes and the asset would be fully textured. And then you could save that as a smart
uh prefab material and you could get uh reuse this in multiple projects and make it done even faster.
Absolutely. But there's one thing we wanted to show, right? It's like how can we create a
pass through layer and one way to do this is you just create a a layer group. So now we have an empty group
and then you can apply an effect to this if you just add an empty layer to it like this. And now whatever you do on
the group will affect everything below it. So for instance if you now do an um HSL you can modify all of the data all
of your project because now the empty layer together with the group will turn this into a pass through layer and you
can modify everything which would then in this case I would probably go for a um a sharpen. So let me type sharpen
here. search everywhere and take the sharpen and just very faintly use it. By the way, the grid you see here, that's
the UV. Keep in mind that some of those filters work in image space. So, you have to be mindful not to increasing the
range of your filter too too much or you're going to see um the UV shells. We're going to add a a sharpening that
works on the mesh very soon. Um but keep that in mind while it's still an image space effect that you might have those
things to look out for. So this pass through layer that we just made, you can kind of think of it like
an adjustment layer if you're editing video or a photo, right? Everything below this uh you know group with the
empty layer in it, everything underneath it is going to be affected completely and then you can build on top of that if
you want to and go higher in the layer stack if you want. Exactly.
Yeah, I think it looks pretty nice. Yeah. So, and then if you want to use this in
in our renderer or our game engine, we could just I actually didn't save this project at all. So, I probably should
hit command or control S to save my project and then save it on my uh live stream demo on my desktop.
Yeah, it's also worth noting that we have autosave as well.
Yeah, that's nice. A pretty good feature to have. Yeah. So,
and then if you want to use this in our rendering tool, we can just click the export button and then choose a
template. For instance, choose to export it for RSX engine and then choose where to export it and hit export and it
exports all of our textures as flat images and we can use it and drag it and drop it into Unity Unreal Engine RSX
Engine and just use it. All right. Yeah. So, I don't know how long have you been
doing this, Jeremy? It's been, let's see, I think it says about well 106 minutes YouTube says
we've been streaming for. So that's pretty long. Over an hour there.
Yeah. I guess let's just do this one longer and we'll learn how to, you know, be a bit more efficient when it comes to
to the time. I don't know how chat feels. Do we even still have viewers, Jeremy?
Oh, absolutely. I think people are capitated here. We've got questions coming in. Uh people are really enjoying
the stream so far. Uh yeah, they're really appreciating it. All right guys, then let's maybe quickly
take a look at the atom graph. I think there's a lot of questions around how would you use the atom graph? How would
you build something? So to and that's what I love about Instamat is you don't have to exit this program and now switch
to another program if you want to do something nodebased. I can just hit controlN create a new project and choose
an atom graph and we could start from scratch. But starting with the default project is pretty good because then
you're basically um already have an output available um and you know what to do here or you at least
have a starting point and it's not just the entry and return node. And what this does the start this this um startup
project it basically just um creates a blue output. And if I if I make this red and this zero, you'll see this is the
result on our cube. So you can visualize what you do in the atom graph on the cube. But if you want to see it in the
image viewer, you can actually do that as well. But it only works on output. So if I right click here and I choose view
output in my image viewer, you'll see it down here. And then if I update the color, it updates in in real time as
well. And uh something that I think you recommended to show Jeremy is to to do a small effect that was shown on or asked
for on Discord is how to do a pixeliz effect. And I think that's a very nice way of demoing um the atom graph. And so
basically what we want to do is um take an input image. So I'll add an input image here and I'll call that image. And
then we want to whatever that image is, we want to pixelate it. So I'll call my project pixelate.
And the category is image. And I can double tap here to type a description. Pixelates the input image.
All right. So, we'll just use that. And now we have the input image here, but you can see on our cube, it's still it's
still black because we're not using it. So, to use it, we just drag in our image like in the element graph. And here it
is. And in order to do something with it, and keep in mind the atom graph works on a per pixel basis. So, every
every every time it's doing something, it's processing a pixel on your input image. So it's one pixel in one pixel
out. So to read from the image, we can't just read from the whole image like you would do in the element graph. What you
would do here is to read from it, you would drag a connection and then type read. So you read one pixel and then
here you get your pixel. But unlike in the atom graph, you don't just have the the colorful pins which are the
parameters. You also have the white pins at the top which we're calling the control flow graph which basically
controls how the thing executes. So right now you see it goes from entry to right pixel to set output. And if I
would just plug in if I remove this and I plug in my read pixel output into right pixel it actually complains. And
if we look here it says that um the the the connections actually it violates the execution because it's not connected in
the execution graph. So it goes from entry to write pixel and then it uses read pixel but read pixel is not
connected which means it's never executing. So to fix this, we actually have to drag a line from here to read
pixel. And now the execution goes from the entry point to read pixel. It reads the pixel and then for that for that
pixel or tixel and then writes it to the output image and it's still black. But that's because we didn't assign an image
here. So if we assign an image like the inseam gradient here um and we
do something with it. Let's break that. I'm not sure what I'm doing wrong, but
this should actually just Wait, why did it reset? Did I undo? Did I not commit the image? Who knows?
It's possible. It's live. We can We can't We can't rewind. At least we cannot do it. I
think the viewers can but you once you assign an image then there's actually something here before it was just black
but the thing is even if there's no image assigned you could like in the element
graph you could actually control what the default color is that's being used if you don't um have an image assigned
but we use the inmat gradient image right here and you can see it supports alpha so where you where you can see the
checkerboard image is basically where the image is transparent and if you would assign a grayscale image it would
automatically okay that's not a grayscale image This one is grayscale. It would still work because Instamat
would do the heavy lifting for you to make sure that it becomes a color image and can be used as is. Right. So here's
our input image and you can see here we see it actually but on the cube because it doesn't render alpha blended you
actually don't see the alpha channel. So let's use the gradient like this.
All right. So here's our image and as I said it's processing pixel by pixel. Let me save this graph and maybe I can
illustrate this and I could actually use maybe I can create a material layering project to to illustrate we can use it
as a 2D painting tool. So that's what we're going to do here to illustrate how this works. So um in our
in our let me increase the saturation maybe add a black fill layer at the bottom.
So when when atom graph processes an image, it processes all of these pixels here, pixel by pixel by pixel by pixel
by pixel by pixel and then it basically reads one pixel from here and then if we assume that um red is my output image,
it reads the pixel, writes the pixel, reads the pixel, writes the pixel. So basically that's that's what it is that
that that that it's doing right now. But what we actually want to do is we we want to pixelate. And to pixelate, we
want to take a group of pixels. Like for instance, we want to take um all of those pixels right here and then write
those pixels to a single um output pixel. But basically, we want to not just write.
So with the group, there's one part missing actually is we want to for for all of those pixels in the output group,
we would just want to select one pixel on when we read from it, right? So for for all of the red dots, we just want to
take that pixel and then write that pixel to all of those pixels, right? So that's what it is that we actually want
to do here in order to pixelate. And if you would repeat that process over and over, it would pixelate our our image.
So how would we do that? And this this is actually not so difficult once you understand it. So when we read from a a
tixel when we get a tixel coordinate that instamat gives us here that we read from the image it's a value between zero
and one that's that's the the image space basically. And what we want to do is we basically want to say that a
specific range between 0 and 0.01 for instance all becomes zero. And then from 0.1 it all becomes 0.1 all the way until
we're at 0.2. And to do that very easily, we can take the tixel coordinate. And this gets a bit more
technical, but maybe maybe that's beneficial for some of you guys. I'm going to take the tixel coordinate and
then I'm going to multiply it by a value. I'm going to multiply it by 100. So now we had we we have our tixels not
just between 0 and one. They go from zero to 100. But it's not a a fixed increment. 0 1 2. There's all these
small pixels between that now have um zero 0.1.2 two then one 1.1 1.2 etc until we're at 100 right now because we
multiply and now we can remove those fractional increments and then say that everything between one and two becomes
one and we can do this using what's called a floor operation. So if we type um floor here, floor is basically as the
description says right here, it computes the nearest integer less than or equal to a, right? So if we plug that in, it
will take those values between one and two or two and three or whatever and then just remove everything that's
behind the decimal comma and it will all become two and then it will all become three. So then we're basically um
clipping those numbers like this. But what happens if we plug this in? It's garbage. But that's to be expected,
right? Because we're we're still in that big numerical range between zero and right now 100, which doesn't make sense
because the image space is between zero and one. So Jeremy, what do you think? What do we have to do here?
Oh, we have to remap it back to the 0 to one, right? So, how would you do that?
That's a good question. Maybe we would divide. We would divide it. I That's perfect. You see, you're an
absolute senior here. So what we're going to do is we're searching for divide by float. So it's actually pretty
obvious to what we have to do. We multiply 100 and then we we we clip our numbers and then we divide again by 100
and then we're back in the image space. And you can see we pixelate already. So that's how easy it is to create an
effect like this. But um right now it's a bit tedious, right? Because this node is pretty stupid. It can only do um
pixelation at um at a 100 pixel increment. But what if the user would want to control how many pixels you have
or fake pixels you have in the output image? To do that, we can just drag B and similar to the atom graph, we can
just type um pixel count and then expose pixel count as an input variable and then plug it into this one and also plug
it into this guy. And as with the atom graph, the element graph, you can just make your connections a bit neater by,
you know, dragging those points, doubletapping the connection and then just dragging the dot around. So it you
can create a very beautiful looking graph. And now we can control our pixel count. So I could even say 16 pixels.
And now you see you have an effect that looks like you have 16 pixels in the in the input image. Pretty nice. And you
don't need to, you know, blit it into a low res texture and then resample at a high- res texture to to achieve this
effect. So 64 pixels, but I still feel like we could do better, right? This like
entering a number here is pretty tedious. The user would want to have a slider here. At least I would want to
have a slider here. And we can change that very easily. We can just go to the variable editor up here. And then we can
control exactly how this parameter is displayed in the UI. So we can change the control to um slider here. And then
we can say the minimum is maybe um 16 pixels. And the maximum is maybe 250 pixels or let's say 256. And if we go
back to our graph, you see magically it becomes a slider. And we can now drag it around and we can perfectly see our
pixels coming to life. What do you say, Jeremy? That's great. I now have to go and uh
create one for myself. So, now that we have now that we've made this, so by the way, if if people are coming into
Instamat new and fresh from just uh you know, from the asset texturing and painting side of things with layers, you
know, we also have the nodebased and graph-based side of things as well. And the graph that we're looking at here is
the atom graph. We have two, three, well, four actually different graph types here in Instamat. uh the the the
fourth one being the function graph. Uh and I guess I can see in your expression there. And um you know what we normally
use is the the element graph to be able to combine different things together like grunges and noises, create
materials and meshes and things like that. And the the graph that we're currently using in this example is the
atom graph. And this is where you can create your own image processing nodes. Right. And so uh why are you laughing?
I'm sorry. I was laughing because I made the expression actually not because of what you said because I I was looking at
the at the producer screen and I realized the screen is actually looking yellowish and the reason is that it's so
late here in Germany that my computer is enabling this like sundown mode you know where it tints the screen more yellow to
make to make it a bit nicer on the eyes and I was like why is this so yellow and I realized it's actually it's actually
doing the the tinting of the screen which is quite funny. So, I disabled that actually. So, the screen chat
probably didn't notice because it's like slowly minute by minute the screen becomes more yellow. That's hilarious.
That's funny. Well, yeah. So, you know, we're burning the midnight oil as we're working, you
know, streaming with these long streams, which is great to show this off. But just to to finish off my point here,
what we're looking at in the Atom graph is the ability to create these custom shaders, these custom image processing
nodes and these filters that that Manfred is making here for this pixelate effect. So, I was just going to say, you
know, once we have this pixelate effect, you know, what can we what can we do with it once we create this atom?
[Music] Yeah. So, I created a comment. Comments help to make things more readable. I'm
sorry, Jeremy. What did you say? I was so I was so locked into the thing, man. I I didn't hear what you were saying.
It's all good. No, I was just saying, you know, now that we've created this atom, we've created this this kind of
program as it were, this this function, you know, what can we do with it now that we've built it using the atom
graph? Yeah. I mean, once you build it, you can put it into your user library and it it
becomes a node like any node in instamat. You can use it for your materials. You can you can bring it into
the atom graph and you see now you have the pixelate node here and you can do all the amazing things with it. You can
you can bring in a material and pixelate it. For instance, I can bring in um this uh I love the this lava material, this
one. And you can connect the base color to your pixelate node. And there you go. You have pixelated your your material.
And you can actually repeat this, right? I could even do that for my emissive. And I could do that for my normal map.
And I can also do it for my uh roughness map. But you see what happened here.
Actually, a lot of our nodes are grayscale convertible, right? like the blend node, you can switch between
grayscale and color. And that's pretty that's pretty magical that this works that your note, whatever you plug in, it
just works. For instance, if I bring my in my blend node and I connect the roughness to it, you see it switches to
be a grayscale node automatically. I delete this and I connect my base color and it's a color node. And that's a
pretty awesome feature. And we made this available to our users as well. And it's so incredibly convenient and easy to
use. All you have to do is you go to pixelate to your custom atom. You go to metadata and then you can go to
grayscale permutable and you can enable this switch and then it's going to be like magic. Everything will just work.
So going back to the element graph, here's my pixelate node and if I duplicate it, I can plug in um actually
we need I deleted it normal. So let's bring that back. If I plug in my my roughness, you see it switches
automatically to grayscale. It works now like one of our stock instammat library nodes. And it also has a seat, but the
seat doesn't make a lot of sense for this node because we don't use any of the randomization features. So, I can
also disable the seat if I choose expose seat. And now it's a really good citizen. It doesn't have a seat. So, the
user knows it has no randomization. Um, but you have the pixel count here. And it's grayscale convertible. So, let me
bring in um the metalness as well and the AO and also the height. So, we have all of
those nodes. And then we can actually create a material make node and bring all of those guys back. And you
could also now take your um take your node and then basically wrap it in an element graph to create like a
material pixelate that does all of that stuff for you automatically. Exactly. I was just going to bring that
up. So uh we've we've moved into two different graph types here. One of them the original one that we were using was
the atom graph. This is now the element graph. And so you can kind of think it like chemistry where the element graph
you can combine multiple atoms together to create you know more complex effects using this type of compositing and uh
manipulation workflow. That's awesome. Yeah. And we get a lot of questions from from the community. How can we use it
for like retro games? How can we make stylized textures? That's why I like this demo here because you can see how
you use you you build a tiny node and all of the material library is now usable for your retro style boomer
shooter and you can create a really really compelling looking thing. And again, we can control how many pixels we
have here in the image, but 64 and 32 if you target like that quick one level generation is actually a good match. I
think this was around the texture size that these games used. Nice.
So there's I think there's more that that people want to do with this, right? So what if we want to use that filter
now in our layering texture? Say we want to pixelate our crate. Can we do that? Um so if I save this um package here, I
go to the crate. So I assume I can just now use it as a filter, right? So I go back here. Create actually looks pretty
cool. I didn't see it for a while. So if I go to the filter menu here and I pick from library, I choose my package, but
the the the node isn't here. And the reason is you need to tell instamat that this node is actually a usable filter
that it works good as a filter. And that's on you to tell us. So if you go back to the pixelate, there's a um in
the metadata section, there's actually a field called uh layering compatibility. So if you choose this field and you open
the drop down, you can see there's filter. So if you use filter and you save and if everything works out well, I
should be able to go to my crate back and then basically apply that filter here, pick from library. And here it is.
You see that's my system, my Instamat library. And here's my package. And I can just use my filter like this. And
you can see I can pixelate my my crate like this. But you can see there's something happening, right? It's and
it's similar to the sharpen filter, right? Because what happens here is the UV shells, right? It's now pixelating
some stuff from the from from that's outside of the the mesh um boundaries, the UV shell boundaries, and that's
being dragged back into our mesh. So, we would want to fix this. So, this this effect is good for materials, but it's
not yet good enough to be used as a a filter. So, when you do a filter that's convoluting data and you see if I
increase this, let's let's increase this all the way to 1,00 the seam will become less and less visible because it's
pulling less and less um data in. But what if we want to do like a big big um pixelization effect on our crate um but
not have the issue issue with the seams. And that's actually very very easy to do as well. Again, it's like what I said
earlier, it seems complex, but we make that stuff very easy for you to do once you know how to do it. But that's why
we're doing the stream so you guys can actually know how to do it. So let's fix that together. And then I think that's
the last thing that we actually show here in Instamat today. So to fix that, we need a more complex node. The P the
atom graph in and by itself will not be able to do it because it needs geometry information because it needs to do
things outside of the local pixel processing that it's doing. So to fix it and again that's only something you can
do in Instamat and no other tool. We're going to create another element graph. Um and we don't use any template for
this. And we know we want to pixelate. So we can bring in our pixelate node that we created here. And I know I want
to do a pixelate for the layering um project. So I call it pixelate mesh. And I'll put it into my mesh um image or
maybe mesh filter category. And our starting point is our pixelate node of course. But what we have to do
is we have to give it the extra information of the data outside of the UV shell. So what we're going to do here
um is um I have to think about in what order this goes. So what what we need is
actually we need the mesh from the layering stack, right? That's that's something that we know. We need to have
a mesh somewhere here in the graph. So I'm going to add an input here and the input is an element mesh and I'll change
the input parameter name to mesh and that's really important. So the layering graph is all about semantics and
automatic automatically move data along the pipeline using semantics. So one of those semantics would be calling this
this input parameter of your mesh actually mesh so the layering stack can understand it. And then we're going to
pick a default mesh and I'm using the um unit cube that's non-tiling here. So it's more like a probably UV unwrapped
mesh and then I'll bring it into my graph. And if we look at this what the difference is. If I plot the UVs here,
you can see that we have the all the six cube face sides um UV unwrapped and we can even render the cube so we can
understand what it is that we're dealing with here. So I'll use the mesh render depth and we can see okay that's a cube.
That's pretty neat. It's a beautiful way to work by the way. You can always visualize exactly what you're working
with by just bringing in a couple of nodes and in the graph because Instamat again that's something you can't do in
other tools. You can work with images and build a material like you can do with the with the big corp tool um
called substance I think but you can also work with meshes um and do stuff like this and bring the workflow
together. So let's go back to our unit cube here, right? That's our unit cube.
Um, and what we want to do here basically is we want to take the UV shells as you guys see it, but expand
the information from the UV shells. Um, so when we pixelate, we have enough information away available for the
pixelate to do a good job. Um, so we can we know the process at least most people should know that this process is called
dilation or solidification. So we know we want to do a solidification um on our data and we also know besides
the mesh that we're going to have an input image that our filter is going to process right a filter has an input an
image like our pixelate node here and an output so let's mimic this so I'll take the output from my pixelate drag a line
and just expose it and here we have our output and we also need an input so I can just drag the pixelate input and
then choose expo expose image as graph input so we have this uh set up like this and we know we want to solidify the
image. So, and then use the output of the solidify to do the pixelization like this.
But uh like this, the solidify node doesn't really know what it should solidify, right? It needs a mask to know
which areas should be solidified extended. So, the pixel pixelized node has enough information to do its job.
So, to do that, we can actually use um the mesh mask node. So the mesh mask basically creates a a mask that
represents all of our UV shells and then as the input we can plug in our our input image here. But we choose on the
solidify node use a mask and then we plug in our our mesh mask and then we can increase the solidification and you
can see how it extends that how it extends from our UV shells. Actually if you would just to show you guys how this
works and I can just bring in the mesh UV and then plug in my mesh and then plug this in. you'll see exactly what it
does. You see, it extends the UV boundaries and it grows. So once we run this through our pixelate node, it'll
have more information available to do a good job, right? So again, we plug in our input
image and we we can actually use a different image so it's a bit more clear. Let's just use this noise
gradient here. And there's one more thing you should do in layering. So layering is very complex
and it's dealing a lot with um different meshes that are being processed, different UDM tiles. And if you want
your mesh to work well or your filter to work well in these scenarios, you should expose a couple of parameters like the
mesh render mode and the sub mesh filter. So right click here and just expose these guys. And you
don't have to worry about these too much. Just make sure that you expose them from your mesh mask and then you're
you're good to go. Okay. So we we take the mesh, we create the mask, we expose the needed parameters, we do a
solidification on our input image that the layering engine is going to give us for free. We do and then we run it
through our pixelate and finally we have our output. And what we should should do as well is allow the user when it's in
layering to modify the amount of pixelization that we're doing here. Right? So that is so awesome that that
how fast Instamat is, right? When it comes to the processing like I drag the slider, everything is absolutely
instant. So right click here on the parameter expose as input. And the beauty is now I don't have to set this
up as a slider again. It knows it was a slider. So you'll be exposed as a slider. And we can also drag this a bit
up so it's more convenient in the layer stack. And again if I save this here and I go back to my layering stack. I hope
you guys remember that this is not going to work. Right? So let's remove this guy right or let's just hide this guy right
here. And we pick another filter. This is not going to work. Right, Jeremy? Why is this not going to work?
Because we didn't tell that this is used as an effect on YouTube and tell what's available so you don't just see a whole
bunch of things that you can't use. Exactly. Similar to the atom graph and again I love instamat for its
consistency. It works the same. you can go to layering compatibility in your metadata when you so if you select
something here in the graph you see it's not available but if you just click on the graph um you modify the properties
the attributes of your element graph itself and then we can choose the layering compatibility here and then
also set that to filter and we also don't want to expose the seed and if we move that to the left and save
it and we can go back to our layering project and again if everything works We can now pick from the library. And
there's our beautiful pixelate mesh. And you see it understood it's for the mesh. It's it understood it's for layering. So
the preview looks very different. Let's double tap it here. And lo and behold, it works. We don't break up our seams.
It looks absolutely cool. It pixelates beautifully. And we can roll with this. It looks wonderful.
So that's great. So just to I was going to quickly if you want to do like a quick
rundown of everything that we did, I was just going to kind of overview everything that we just did here to
create the filter. So, so yeah, so we basically started with an atom, right? And we started by
creating the process itself uh by manipulating the pixels using the atom graph, right? And then what we did was
we've uh we were able to use that atom directly within uh you know the the layer stack and we wanted to use that
effect as is. Uh but in this case what we're doing is we're expanding upon that that atom graph by bringing it into an
element graph and wrapping it within these additional features that you get such as being able to you know utilize
the filter in uh you know based projects multiple material sections and things like that by exposing the proper
parameters but also adding additional functionality like the node to be able to remove those from the UVs that we're
getting. Exactly. And as you see it works on the base color. We might want to do the same
on our normal map for instance uh and other channels. And here's where where it gets interesting, right? This is a
color node. And if I apply this now to roughness, it's not going to work. It's going to tell us that this is not this
is not compatible. So no matter what I do, it's not going to work. If I want to pixelate my my height map, it's not
going to do anything. And you see that in your layering stack, it's red. It's like I don't want to do this because I'm
going to break your data and I'm not going to do that by itself. So what we would have to do here is to um go to our
pixelate mesh node and make that grayscale compatible. But this is not going to work as
automatic as it does with all of the magic and heavy lifting that the atom atom graph does for us. So what we have
to do instead is we have to save this project as a copy here. So I can just clone my project and then save it as a
copy. And you see it's going to create the pixel mesh duplicate. And I'm just going to call that grayscale. And
there's also a way to make that graph flippable, but I'm not going to show this in this live stream today. It's
more advanced. But you can have an element graph behave like an atom graph that has a switch and it go can go from
color to grayscale. But right now, let's just turn it into a grayscale note by um going to our output and its color.
Right? So we right click here, change variable type to gray, and it's now gray. Perfect. But the connection is
red. It doesn't like it. I find that to be pretty offensive, but it's okay for now. Let's flip our input
image as well. We change the variable type to gray. Now it doesn't like this here. But luckily, those are flippable.
So I can just go in here and in here and everybody's at peace. The connections are not fighting anymore. And we can
save that as our grayscale version of our filter. I can go back to my Instamat crate. And now I can swip I can and swap
my pixelate mesh to pixelate mesh grayscale. And you can see we can now pixelate our scratches which looks
really funny. Those pixelated scratches actually it's the height information. It's the it's a dents that are now
pixelated. And you can see how that looks. That's actually funny. Maybe not so smart to pixelate the height map. But
let's pixelate the the roughness map and um let's pixelate the metaless map
and maybe pixelate the ambient occlusion map. That looks interesting. We pixelate ambient occlusion and you see this is a
pass through, right? So, it's automatically modifying everything that's below it and it's just working
super well. So cool what we can do with Instamat, guys. I absolutely love this. I hope you guys love this, too. This is
insane. I told you it's going to be a great show. I think we fulfilled our promise here. This is insane that we can
do this so easily um within Instamat. So, what what didn't we do here? Um I think we can Did we do the normal
channel here? Yeah, we did the normal and the base color roughness metalness. Yeah, I mean the the height channel
doesn't work that well. Or maybe if we go really high with the pixelization. Let's see what happens if we pixelate
here at 512. Yeah, actually now you get the bumps and that looks interesting. I mean that's a completely new aesthetic.
I've never seen it in a game where you get like the height gradient is pixelated.
That's so interesting. What an effect. Nice.
Yeah, pretty awesome how we can completely change the art direction of our crate, right? From like photo
realistic, super cool to pixelated and retro. That's so awesome. Yeah.
Yeah, that's great. All right, guys. Do you have any questions for this? Otherwise, I would
wrap up this um demo today. Should we chat? Should we make these files available to you? Is there any do is
there is there value in us putting those files together and distributing them to you guys?
There's probably some delay here, but I'll just I'll just I was going to say meanwhile, there's a
note to our producer behind the scenes. It looks like whenever I'm appearing on screen in that overlay that I'm getting
two of me an output, so we might have an extra audio output in there that might have been toggled in that one overlay.
Just so you're aware, uh maybe something to look at while we transition through the scenes. But also, by the way, if you
guys are uh hearing an echo or anything, just feel free to let us know in the chat, you know, for side by side. We can
fix that up as we go. But yeah, let's any any questions, guys? Do you guys want to have these files available so
that you can, you know, check them out and figure out how they work? You know, definitely let us know either in the
comments of this video or in the live chat and see if you're lucky here to be alive.
I'm so lucky. I feel very lucky. 2025.
Yeah. But yeah, also crazy, right, that I could use this producer. Could you switch to my desktop again? Also pretty
awesome like that. I used Instamat as a 2D painting program. I wonder if we should actually allow people to use all
of that powerful procedural stuff for 2D image painting. Let us know if that's something you guys want to see, but I
mean I use I didn't have a tool, so I just use this and it actually worked really well. And I just realized we
could even do we could even use our filter on the brush layer, right? We could pixelate my drawing here and it's
procedural. So this is insane. You can't do that stuff in any other painting tool to my knowledge. It's it's so 2D
painting with all of the dynamics and brush dynamics and everything is modifiable and configurable. I think
that's pretty that's pretty awesome and it's something entirely new. I have never seen that.
Yeah, you very easily do spray painting and text painting right here in the the material layering.
Absolutely. Absolutely abusing material layering but it's it's giving us a plane and I have a brush so I'm happy.
That's great. That's great. Coming in every stream they would love to have the files made available. Great. Um yeah,
they're doing an awesome job and and giving some fantastic information and teaching. So
awesome. Thanks everyone. Yeah, we're going to put it up on I I would say we uploaded the the whole
thing to Polyverse, the whole package, right? And people can guys, if you don't use Polyverse, you're missing out. It's
really awesome. Sign up for it. Store your files there. Find some cool stuff. There's so much awesome things on
Polyverse that you'll you'll get for free from us. So, let me just go here to Polyverse. From assets you can use for
your games to materials you can find and it's just really phenomenal. All your Instamat packages you can store and
directly use um on Polyverse. It's really phenomenal. It's you can use it for free and upload as much as you want
into public libraries. You only ever have to pay if you want to use private libraries, but even the free
subscription the like instrumentat allows you to create private content private libraries. I really recommend
you guys to to try it and use it. It's really phenomenal what you can do with um Polyverse. Fantastic tool. I also
love the AR features. Uploading a mesh, uploading a material, and seeing it in AR is a pretty pretty incredible thing.
Yeah, the fact that it computes the light automatically for you see the material in a realistic environment
where the reflections are accurate. Pretty cool. did that really quickly by using your phone.
Couldn't agree more. Okay. Yeah, I think I think I think uh producer that it's that one particular
scene where I'm in the corner there with the uh uh the screen capture. I think there's there's some some audio uh
routing twice in there. It's probably something for us to look at later on. But I think this particular scene looks
good. Ah, see I don't have the special glasses like you man. Those are great. Yeah. So, I'll I'll be I needed to wear
those to finish the this part of the live stream, guys. So, I'll be saving my package here. I'll make sure that Jeremy
and and the team is going to make these files available to you. And keep the comments coming. Tell us what you guys
need, what you want to hear more of this live stream. I hope the future ones are not going to be so long because this is
a lot of, you know, time in my schedule that's really difficult to carve out. But I hope you guys like the energy to
hang out with us to discuss these these things to look at the workflow some more sophisticated stuff that you normally
don't find um other cos doing with you guys. So I'm really happy to do this with you. But there's actually um some
more things we want to show. Let me quit and save here. Um and that is going through some of the um comments that you
guys made and some of the things we found. Um maybe you can give do a screen share again Mr. Producer.
Yeah, one of the things I don't know if you guys will hear my desktop audio, but maybe you can confirm this. And I want
to give a shout out to to the team from Game from Scratch. It's an awesome channel. I I used to look at a lot of
those um videos these guys produce. Always very interesting to stay up to date. I recommend you guys to subscribe
to these to these folks. They always push new content. They always surface some of the new stuff so you don't have
to look around. And they also did that for Instamat. I didn't know about this. I just this was floated by me before the
live stream and I absolutely love it. The guys mention um Instamat as one of the most exciting tools here. Absolutely
lovable. I love you guys. So, let's hit play. I don't know if you guys can hear the audio. Maybe somebody
We have Instamat. Now, Instamat is kind of the Do you hear the audio, Jeremy?
It's just on steroids. This is checking the live stream tool. Uh and again, if you need to create textures, it is kind
of amazing what Instamat is actually. I think we're hearing through the microphone though.
I highly recommend you do so now especially thanks guys very much for the shout out mixer. Uh so um part of the
whole quickle quick mixer thing seems to be kind of dying or being integrated into Unreal Engine directly. So there's
not that many alternatives out there to substance but I think if you check this guy out you will be pretty amazed at
what Instamat can already do and it keeps expanding at a pretty staggering rate. So Instamat is
keep it coming. Just keep it coming. I hope this segment goes 10 minutes. That's great.
Oh, let's stop here. We don't we don't need to continue here. So, that's great. Thank you so much,
Game from Scratch. This is phenomenal. We love you guys. Yeah. And there's actually somebody who's just cranking
out Instamat content. So, also a shout out to Aozen Studios. I don't know how to pronounce this. Aosen.
Aozen. Ao. Maybe it's Aozen. ambient occlusion zen. Let us know how to pronounce this. But he he's doing
he's doing the lord's work. He's cranking out a lot of great tutorials for you guys. Really high quality going
in depth and being consistent and frequent about it. So we wanted to push this for you and if you keep doing more
great tutorials will keep promoting you. So keep doing this. Also guys if you want to create content we will promote
you. We will put you on blast and on rotating and make sure your content is amplified through all of our subscribers
where we can. So as we grow, you will grow as well. Yeah. So the next thing is
those videos are great. Yeah. Fantastic. Right. I I mean it's high quality production. I also love the
way that uh he presents. It's a very, you know, concise to the point style. No time is being wasted. Zip zap. That's
it. Done. Next video, next material. I love this. I love this. Yeah, there was also one um comment here from you guys
on our last um video that I have to take off the glass. I actually guys, I don't see a lot by
the way. I basically I'm blind. I'm legally blind when I'm wearing these glasses. Yeah, somebody was, you know,
being critical about us being on X and I the the team found this. Obviously, it's a valuable opinion, but it's also
exactly what I was talking about in my last stream that you have to relax, man. You have to sh you have to have some
love for everybody. Even if the opinion is different. It doesn't matter. We're both humans and it's it's not so bad. We
can still be friends even if you vote for somebody else. If you if you're on if you're on Blue Sky, I can still be
your friend because I'm on X. It doesn't matter to me. And I feel like that's the spirit that we have to know put out more
into the world. I remember you know in the in the 2000s and and you know 2010s it was more about world peace. I haven't
heard about world peace as a concept for so long and if I feel it's so sad if we think about back to the 90s and 2000s
it's like everybody was hopeful and was going for world peace and we should have way more about this. So in any case so
let's go over this content. So X is owned by someone who made a Hitler salute in front of the world. Like I
mean I understand the the thing that he was doing, but to the same degree if I would touch my heart and reach out to
the world, you could say I'm doing a Hitler salute. And I think you can see what you want to see in those things.
And you don't always have to see the worst in people. You'll have a much better life if you always see the best
in people. You won't feel like everybody's betraying you or everybody's mean to you or everybody's an enemy. And
I don't think Elon Musk, I mean, if I if just take a photo of any of his staff member team, and you'll see he's hiring
a lot of Asians, a lot of uh Africans, a lot of Eastern Europeans, I don't think that Elon Musk is a is a Nazi, but I I
just can't doesn't the facts don't say that. I mean, if there would if if if there would be an actual Nazi running a
company, the person would certainly only hire blue-eyed blonde people. I just don't see that in Elon Musk. And you
most certainly wouldn't be able to build a company like X or SpaceX or Tesla or any of these companies. If you don't go
by merit, you're not going to be able to build. And I think he's building. He's cooking. And I can't I don't think
that's a Nazi cannot do that. You have a very limited talent pool. If you filter by by those traits by some superficial,
you know, we're hire you're gonna be our our CTO because you have blonde hair and blue eyes. I just don't see that. Was it
smart? Obviously not. But do you expect from somebody who's as talented as Elon Musk as when it comes to specific topics
like building a company against all odds like when Elon Musk was building Tesla, everybody said it's impossible to build
an automotive company. Just stop it. You're it's not possible. You you needed to do this 100 years ago. It's
impossible now. Like if you still do that against all odds and you believe in yourself and you still pull it off,
don't expect that guy to be, you know, humble or expect him to be the most, you know,
reasonable person, right? I mean, you people want Elon Musk with a character like some kind of a bureaucrat or
somebody who's, you know, a philosopher, but that's not him. He's he doesn't think too much. He's getting done.
And some sometimes you mess up. Like I mess up all the time. I probably messed up this live stream already by even
talking about these things. But I I do think you know don't don't put too many labels on people. In any case, let's
continue. Not once, but twice. Yeah. But I don't see I mean I don't I don't think that it's necessarily the
Nazi salute. I mean he But the optics are not great. I can't The optics aren't great. I can't
deny it. Like I agree, but I mean how often is Elon Musk on some kind of political stage and everybody's cheering
on him and if he feels the moment and wants to show it, there's not too many gestures you can make besides throwing
your hearts at people and then if your hand is this way, that way, your arm has that angle and you you apply those
metrics. I I feel it's funny. I don't think that's that's right. Is actively pushing Nazi propaganda on the platform.
I don't know if he's doing that. I I haven't seen it. I don't think I'm I'm not sure if I'm following him, but I
haven't seen him pushing Nazi propaganda. You can say he's pushing right-wing propaganda and if if you put
a label of everybody who's right-wing is a Nazi then I understand the take but I don't think he's really pushing Nazi
propaganda. I haven't seen that and those actively helping hate and dehumanizing to spread whether you want
to see it or not. I mean, he has his opinions and he has he has his takes, but I haven't seen him really spread
hate. But again, hate is a difficult, especially on on like social networks, hate is a very difficult difficult label
to put on things because there's no clear measurement of when something is hate. That's why I don't really like the
concept of hate speech because often times hate speech is the speech that people don't like. The things you
shouldn't say, you know, and I think that's the danger here and it's easy to be more tolerant.
Acting as if being on X was no big deal, as if it's all just about different opinion feels strange in today's climate
and decline of social structure and humanistic values. Yeah, but I think you know we can we can counter this better
if we're being more tolerant and we are helping actively to lower the temperature by not putting labels on
people. Look, if you put a label on somebody, you'll only see the label you put on. And once you mentally apply a
label to somebody, it's difficult to remove that label from the person. Think about it. Once you consider somebody
stupid or unfriendly, unkind, it's very difficult for you to ever perceive the person as something else. You know, it's
why children go through, you know, through the world full of amazement because they walk down the street and
they see so many things and they don't look at a tree and say, "Oh, this is just a tree. It doesn't matter." No,
they're like, "Wow, this is so big. This is so phenomenal." And once you start putting labels on this is a tree, this
is a dog, this is that, you don't really look at each individual thing anymore because you start putting those labels
on categories of people categories of things and the world just, you know, your perception of the world is is at a
loss here. And then especially for Ger company from Germany, I would have hoped for a
clearer stance at least admitting that you're primarily on there out of necess necessity, which I think everybody would
understand, not because you're indifferent to it. I'm not indifferent to it. Again, I'm I'm being very
specific about it that I don't believe it makes sense to always go from one camp to the other camp, put labels on
people, and cause more separation, co cause more, you know, um distance between people. I feel like we should be
more united. I we should be more peaceful. We should have more more time to listen to. And when we listen to
people, it makes sense. You know, when you're in an argument, you know, before you respond, try to repeat to the person
what the person said. that again lowers the temperature, lowers the velocity instead of instead of just engaging from
the emotional level or just responding fast and and based on the usual takes. But it's also weird, you know, if you
say that, hey, because you're a German company, you do have to do that. I'm from Germany. Yeah, of course I am. But
why would I be guilty or have any responsibility what for what other people did? My family most likely also
suffered from the war, the you know, the German part of my family. And why should why should we always carry that guilt
forward? We don't have to. There's a clean slate. Germany rebuild. We're doing better. We're a very tolerant
society. And I don't think there's a specific stance that a German company should take. We're all on level playing
field. And at some point, something that has been 100 years in the past. It doesn't need to be kicked forward and
forward again only to force people to act a specific way. I think we're we're trying to I'm trying to run a good
company here and we're hiring and we're doing the right things. you know, we're not getting too
um we're not political at all and we're trying to do the right thing is all I can say. But like I said a few minutes
earlier, I'm I'm messing up and you'll see me, you know, stumble and fail. And probably at some point if we get big
enough, you'll have people say put labels on me and call me this and that. Maybe even because of this stream that
we're doing today. Maybe in a few years they'll come back and say, "Hey, look what you said here. Look the joke you
made." Or whatever's not what you can't say anymore. But I do appreciate the the the comment. I do like to
engage with you guys. Um, anyways, I hope Manford is doing well. He looks a little bit sad, tired, and sad. That's
ins I'm not I'm Guys, if I do a live stream like Guys, guys, if I do a Guys, if I do a live stream like this, guys,
come on. Like, look at me. Like, do do I really look sad and tired? No, I'm not. I'm full of energy. I'm I
have so much energy. You would be like, please, when is that when is that guy ever going to get tired? How is that
possible? Yeah, but I I do appreciate the comment, Harry. You are great part of our
community. That's really fantastic. Thank you so much. I hope I could clear it up in a way that, you know, you don't
feel like I'm putting you on the spot. That was not my opinion. That was not my intention. Um I just I feel like maybe
that helps you to change your perspective a little bit. But um what's next? Yeah, I mean, we published this I
think it was yesterday or so where we where we show a pretty cool feature that we have in RSX. And I think that's
something that other engines don't have where it's so easy to build complex vehicles and complex, you know, cars,
motorbikes, or even um tanks. You can do a lot of really amazing things here. And what you see here is a specific, you
know, window where you can easily build a vehicle. And you can also just hit the play button in that window and drive
your car around and see how it behaves. modify the friction curves, add add a few more wheels, change the wheel size,
change the the the horsepower of the car, and just drive it around. I I I think this phenomenal, and it just once
again shows that we're approaching things differently um than other engines. And I'm sure you guys are going
to love RSX engine. Like, Instamat is phenomenal. And imagine a game engine that's or 3D engine built with the same
drive to do something new, to do something different and change the game. It's really phenomenal. You see here you
have these these curves the the the friction curve and you can click on it and then you have a curve editor and you
can modify the curve and it's so easy to understand and normally dealing with vehicles is such a tiresome complex
approach. Do we have some comments on my on my everyone is everyone is uh
definitely really appreciating what you're saying. They're definitely supportive of the things that you're
saying as well. Uh they said you're saying this is the the personal growth part of the stream which I agree. you
know, we went from everywhere from uh, you know, talking about labels and different opinions to the art of
conversation and being able to respond to people by uh, you know, deescalating, you know, intense discussions and things
like that, too. You know, I think it's a great it's a great thing to be able to bring that kind of stuff up, too. You
know, as we said, the stream is kind of uh, unscripted, all over the place, but I think it's really great to be able to,
you know, talk about these kinds of things as well and not be downplaying. If we spend so
much time on a stream, right, we might as well just, you know, do it longer and be a bit more personal and, you know,
not just on, okay, we do Instant, it's business, business, business, and let's move on. Good night, guys. And we can we
can hang out. I mean, that's that's really the intention to to build a stream that that's not just, you know,
interesting to watch from the technical side, but maybe even fun because, you know, we're being stupid and goofy.
Maybe you find that interesting to spend some time with us, you know, on on the human level and see how that I don't
know. No, I don't I don't think any CEO ever did this to this level, but let's just see how it goes. I'm I'm always I'm
a risk taker. I don't think you can win if you don't risk anything. So, let's see how it goes.
100%. I completely agree. And and not to not to downplay what you just showed with RSX with the uh the vehicle system.
It looks absolutely awesome. I can't wait for that. You know, can't wait to start building my first, you know,
racing game using RSX engine. Uh and the fact that we can easily just start building something like that is really
power. Absolutely. Guys, if you haven't already, sign up for the early access.
You can do so for free. And then you can use RSX during early access for free. It's phenomenal. Imagine just building
building a world together, building a game together in the same environment. And you see the other person, you see
the other camera, you can chat, and you can do all of these these fun things that make working so much more
interesting. It's powerful. It's really, really big and beautiful. Insanely ambitious. Super competent. Well, well
put together. Great team. The whole team loves it. Everybody's passionate. I love it as well. It's really a fantastic
project, guys. Check it out. Make sure to go to our website, sign up for RSX on the waiting list. Get early. Absolute
game changer. There's also some notes here about games that h that are being released. Let's see what we have. Can I
go to YouTube? I haven't seen it actually. Ghost of Yotai. What do you think about
that? What is that? Why is that so loot here? It's just a clean no account incognito tab. What are they doing with
the youth? That I don't think that's right. I mean, that shouldn't be like this, right? It should be a bit more
clean. Ghost of Yai. Let's take take a look at the trailer. This looks absolutely fantastic and
beautiful. Did you get a chance to play uh the first one? I didn't. Oh, we maybe was it also
called Ghost of Yotai. It was the ghost of Toshima. No, I didn't actually.
Yeah, I didn't. Let's take a look. It's absolutely stunning. Yeah. At least we have no ads. I'm surprised
we don't have any ads. Wait, is this is this going to is this going to kill our stream? It's not going to be
copyrighted, right? Uh, you know, I would I would maybe not with the audio.
I would probably, you know, I know it's not it's not necessarily the best thing to do, but in this case, we might get a
strike due to the audio from it. So, let's let's keep the audio off then. I'm a risk taker, but but we don't want
channel strikes already. Yeah. So, it's like a slasher game, I guess.
Looks beautiful. It's it's a samurai combat system. I think it's pretty unique in the sense
that it's it kind of u gauged towards, you know, that kind of quick reaction kind of movements and very, you know,
specific kind of movements that you do with sword play. Again, I didn't play the original either. Uh but from other
reviews and things I've seen, it's really unique. And and there's one of the things I really like about it
actually is that you can go into this special game mode where you can convert it into kind of like the old samurai
movies that you used to see, you know, in black and white and stuff like that. And it does more than just changing the
color, but it adds, you know, more wind and more dramatic dust in the air and stuff like that, you know, just to kind
of mirror that that feel that you got from so you really feel like you're in a samurai movie like that.
I actually love this this shot here. These these snow effects, they always look so impressive. There's there's one
of these effects that are not so difficult to do, but they just look really phenomenal. It's basically some
some displacement that you do on on the data, but it just looks phenomenal. I feel like this is the kind of thing that
that's missing in games is more of, you know, the environment being super dynamic. You walk through the mud and
it's like displacing everything. You walk through the snow and it's like you you get more dirty as you walk through
the snow. It's it's a little bit is there in some games, but like GTA is doing that well, but I think that's
something that should be more prominent in in most games. just makes it look so or like the the leaves flying around as
you swing your sword, right? Stuff like this that makes the world feel much more alive than just okay, that's a texture.
No, no, it should be more, right? Yeah. It's it's this level of immersion that's just been really
unparalleled, especially in these uh these types of games. I mean, the Sony studios are banging.
They are always doing a fantastic job on the the art direction, the presentation like where just random random, you know,
camera views look cinematic or they look like they're painted and it's fantastic. I love that. Yeah, that looks great.
Yeah, I think Battlefield 6 also releases soon, man. I love Battlefield. I'm I'm
been hardcore Battlefield player um for three and four. Actually, Bad Companies when I really got into it and
we we put hours into it and three was just incredible. That's Do they have like a launch? What's the latest launch
live action? No, we don't want to see live action. Is it released or is it going to be
released? Feel like I just saw the trailer for it. I don't think it's out yet.
Sign in. Oh, we can't do that. Reveal. I think it was a reveal. I just don't
know the exact release date. Oh, that you're going to have some ads. Thank
you, producer. Yeah. So, we'll see. We just talk over the ads while they're running in the
background. Yeah. I I used to love Battlefield um three bad company for the the graphics and I feel like the first
team that really pulled off super dynamic um animation systems in combat was Battlefield. Like if you I remember
seeing this before the launch. They they put out this tech demo trailer and I feel like more game studios should do
that. get people hyped up on like the engineering part and and the love you put into these small details. Nowadays,
they just put out the most mainstream normie kind of thing possible. Some launch trailer, liveaction trailer, but
there's I feel like just show more of, you know, old school, you know, marketing content, tech demos, devlogs,
and all of that stuff is really missing. But we can go back to the um trailer, Mr. Producer.
We are already. There we go. I mean, it looks phenomenal, but I feel like the last Battlefield also looked phenomenal.
I got it and I was a bit disappointed in the gameplay. It just didn't feel just didn't feel like Battlefield in old old
days. And I really hope that they're bringing this back. But it does look like they're going more for like that
Battlefield 3 and four energy. I think even the sound, you know, those hardcore cinties. I feel like they're
bringing they're trying to, you know, summon up the old ghosts and and bring back this energy. Even the
post-processing, that blue and heavy post-processing, lens flares, it really looks like Battlefield 3 again.
It's very a great map. Looks kind of like dynamic objects in the scene, right? Like
Yeah. I mean, they always did destruction well, right? I mean, that's something
that Battlefield did. I think especially I think it was Bad Company that really made everything destructible. when you
play the game like one hour on a map and at the end of the one hour the whole map is like basically flattened. Everybody
draw used tanks to drive through it or you know rockets. It was really phenomenal.
Yeah. I mean it does look great. I remember what impressed me a lot in Battlefield 3
was this scene on the um jet mission. Yeah, exactly. You see type Battlefield 3 and that's what you see. There's this
um this scene where you basically start um on like um what what are those big ships called? cruisers. Oh,
the aircraft carrier. Aircraft carrier. Yeah, exactly. And and when when I played this, you know that
and imagine they pulled this off in the Xbox 360 generation. These things had like
Wow. 30 megabytes of VRAMm or something like this. Like they're really really short
and thin legs to stand on, but they pulled off this incredible visual quality. But you played this and you
know, you sit at home, the the room is dark and you have your sound system, big screen, and you know, we didn't have
flat screens and big screens before the 360 generation. You have to keep that in mind, right? That's the first time you
got really immersed as a console gamer. I used to be a PC gamer, but nowadays I just love to kick back on the sofa and
take it a bit. I guess I'm older now. I want to have a bit more of a, you know, more comfy position to play. But you're
on this in on this on this aircraft carrier and you you don't know what the mission is about and you walk out and
all of a sudden you see those waves rolling by the ship and it's raining heavily and and you basically enter the
airplane and then you know, let me fast forward this otherwise way too long. So beautiful. Look at this beautiful art
direction. And it's not so so it's not like they have millions of terra flops and gigaflops to render this
stuff. They just they just pulled it off with really clever use of billboard sprites and
skyboxes and effects and it looks phenomenal. And then you basically enter the the airplane, you do some checks to
to get off the ground and then you basic basically fly. And this back then was so so radically
ambitious and they pulled it off and it just looks really fantastic. Like look at this. The whole art direction, the
the post-processing, everything is on point here. It's so phenomenal.
Yeah, that's a fantastic presentation. You know, if if you're going to be playing and you're going to be fighting
in a scene, you know, something that can really ground you into the scenario, I think that's a nice way to do it. Start
somewhere you have no idea where you are. you think you do and then all of a sudden the landscape completely changes
and you're now you feel like you're this pilot that's in this this this kind of like exact scenario where you don't know
what's going to happen. You didn't even know where you were, you know, 2 minutes ago and now you have to go and do this.
It's a way to immerse the player and it's really not just a visual presentation like the sound kicks in,
the music kicks in. You really feel amazing. You you felt amazing playing this. You've never seen something like
this. It's like seeing, you know, Terminator 2 in the in the movie the first time or imagine going to Star
Wars. I I'm too young for this, but I'm imagine people going to the cinema to watch Star Wars and they go out and
they're just completely mind blown by what they've seen. And I feel like we have too little of this these days,
right? Where you play something, you watch and you're like, "What the hell did I just experience?" Because a lot of
what we have is like repeated slop and the same concepts and it's done in like meeting rooms and boardrooms and that's
the game you're going to do. And you know, it's not so much driven by sheer ambition and wanting to do a completely
new and better experience than before. And I feel like they nailed this with Battlefield 3. This was fantastic.
And then you fly with the jet and like this the scene is so dark, right, if you look at it. But then a few seconds later
as you fly, you fly through the clouds and then what what happens is then all of a sudden you're flying in like blue
skies and it's it's clearing up and it's just beautiful. It's really really incredible how how they pulled this off.
Amazing job, guys. Like, this is this is one of the the goats for me. This is this is an
technical achievement on hardware that's like a fraction of what your phone can do
these days, right? Yeah.
Great. It's 8:00 here in Germany, guys. This was a threehour live stream. I I'm not
sure if we can clip anything here, but this was really, really long. I hope you guys had a good time. Jeremy, I think we
have to wrap this one up. Yeah. No, it's been it's been a fantastic pleasure being back here again
with another live stream. I mean, we've covered honestly so much in here and I'm pretty sure there's a lot of stuff we
can also uh definitely clip and put in our YouTube channel to make people uh you understand how to use things like
the atom graph and and being able to texture and baking. Um, you know, it's been a it's been a really fantastic
evening, I guess now are for you. So, yeah, thanks very much, Manfred, for all the time today and for everyone watching
today. Thank you so much for being here. You know, it's been it's been really great.
All right. Thank you, Jeremy. All right, guys. That's it for the stream today. As I mentioned in the beginning, um you can
expect us to do these more regularly. Maybe not at this length. Maybe I I guess the the first few that we're going
to do might be too long because we have to, you know, build a muscle around, you know,
understanding how much time something takes. But we'll we'll try to do these more frequently as my schedule allows. I
hope you had a nice time with us, guys. I hope you have a nice evening. Um, I hope you had a fun time with us. So,
I'll see you around. Take care. Take care, everyone. Bye, Jeremy.
Heads up!
This summary and transcript were automatically generated using AI with the Free YouTube Transcript Summary Tool by LunaNotes.
Generate a summary for freeRelated Summaries

Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.

A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.

Mastering Out Painting with Stable Diffusion Forge UI
Learn how to expand images using out painting techniques in Stable Diffusion Forge UI, enhancing your digital art.

Creating Images with Transparency Using Stable Diffusion Forge UI
Learn how to generate stunning images with transparency using the Stable Diffusion Forge UI.

How to Create Seamless Textures with Stable Diffusion Forge
Learn to create seamless textures for games using Stable Diffusion Forge UI.
Most Viewed Summaries

Kolonyalismo at Imperyalismo: Ang Kasaysayan ng Pagsakop sa Pilipinas
Tuklasin ang kasaysayan ng kolonyalismo at imperyalismo sa Pilipinas sa pamamagitan ni Ferdinand Magellan.

A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.

Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.

Pamamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakaran ng mga Espanyol sa Pilipinas, at ang epekto nito sa mga Pilipino.

Pamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakarang kolonyal ng mga Espanyol sa Pilipinas at ang mga epekto nito sa mga Pilipino.