UPDATE: vertex_normal is no longer an attribute. Now you need to use normal instead. Just a quick one to get you up and running with displacement in Geometry Nodes!
@MsGe53 жыл бұрын
thanks--kinda figured...
@andrewj222 жыл бұрын
Attribute Sample Texture doesn't seem to be among the node options anymore either. Any suggestions on how to do this now?
@Erindale2 жыл бұрын
There's a section for texture nodes now. Geo Nodes is more aligned with shaders now so it's easier to work
@myndwork3 жыл бұрын
I think I enjoy watching your tutorials/videos more than trying them out myself. Always, great work 😊
@Erindale3 жыл бұрын
Thanks so much - I really appreciate that! Hopefully the knowledge is there for when you need it!
@privacytest91263 жыл бұрын
That's fantastic, many thanks. I've been using surface displacements with high density meshes for a couple of years now, and I've always wished we had more noise textures to play with. This will be great to extend the range of displacements you can achieve. My only concern is at the moment I do everything via scripts, including fairly heavy booleans with meshes, and I'm struggling to see how to connect up this sort of automation with the new node based world. I'm getting close to making the stuff in physical objects now and I don't whether to take the plunge into nodes or to keep extending my army of scripted displacements! Many thanks again. It would be great one day to invite you over to our side of the Pennines for a social!
@Erindale3 жыл бұрын
Hopefully the texture properties panel gets retired and the texture node editor gets rewritten so we can start doing more complex things more easily! I think scripting will be integrated with geo nodes but as a very last stage. They don't want to have a bunch of custom, unsupported, tools floating around the community so early on so they're just going to keep pushing the node based functionality :)
@privacytest91263 жыл бұрын
@@Erindale Don't push for it's retirement just yet, I'm still using it! For me the hardest part has not been the Blender side of things, but the CNC part which I'm still learning. I will investigate geometry nodes at some point, but first I need to prove that my current crop of surface displacements make nice things when feed to the CNC machine. But for those of us interested in algorithmic textures and growth patterns, the geometry nodes can only be a good thing. And thanks to your wonderful tutorials the future looks bright! 😉
@zetsology3 жыл бұрын
That's really lovely. It's a pity that you're not able to combine/mix multiple texture sources inside GN like you would in the shader.
@Erindale3 жыл бұрын
Oh yeah me too! I'm hoping the texture properties panel dies a death real soon. It's an artefact left over from Blender Internal which is why all the texture names are obsolete
@robinandcalebgalvan63013 жыл бұрын
@@Erindale I know what you mean, although I can see how better integration with the node editors, similar to how the material panel works with the material node editor, could be nice. It's always blown my mind that the procedural textures in the nodes and the ones in the texture panel didn't have the same options...
@LawrenceAaronLuther3 жыл бұрын
nice overview! I'm sure I'm not the only one looking forward to what Midge Sinnaeve is going to do with these kinds of possibilities.
@Erindale3 жыл бұрын
Midge always makes incredible work! Very excited for that too!
@imaddictedbeatle3 жыл бұрын
Great video Erin! Getting us up to speed with the new features. Thanks! I have a question, when using a displacement modifier we can set the coordinates to global so when we move the mesh it changes according to the texture used. Is there a way to achieve this inside geometry nodes? I know that using the attribute randomize we can use the coordinates on a object info node to drive the seed on the randomize, but this only works for points and not to displace the geometry right?
@Erindale3 жыл бұрын
Not the most elegant solution but you can take your 'position' attribute and Add (vector math) the Location from an Object Info node set to Original and with the current object selected. Use that to create a new attribute to use as your mapping attribute: i.imgur.com/mxTq4rJ.png I'm not sure what you mean by the second part? You can add a random vector to the position if you want to randomly displace the geometry
@imaddictedbeatle3 жыл бұрын
@@Erindale Thank you! That's exactly what I was trying to achieve but hadn't figured out exactly how. Sorry I wasn't able to explain the second part properly, what I meant was: When distributing objects on a plane to get a random distribution of the points when moving said plane I used to drive the seed value with the planes location: i.imgur.com/IwmPXCP.png (which probably is not the right way to do it) and that workflow doesn't work to displace the geometry so I was stuck I guess. I'm new to this type of node workflow and trying to learn more, so thanks for the huge help!
@GaryParris3 жыл бұрын
Excellent, blenders power levels up :O)
@TheDeepDiveOriginal3 жыл бұрын
Although Im into procedural noise sculpting (visual or audio) for about 15 years, Im staying away from Geometry nodes so far. Dont get me wrong, im very happy with the entire shebang, only I think its too limited for actual commercial work so far. On the other hand, looks like its slowly but steadily building functionality. Maybe its time to jump into this )
@Erindale3 жыл бұрын
It's very much in its infancy at the moment so on the one hand, not richly featured and maybe not right for your commercial work, but on the other hand, you can learn the whole platform in an afternoon which will make it easier to pick up in a few months once it's been padded out!
@bronzekoala91413 жыл бұрын
Yes - I really like that they are exploring this... but I stil kind of hope for a redesign. The current system just doesn't strike me as intuitive at all even compared to animation nodes. Maybe I will change my opinion once I get to know it better and once there are more nodes... the whole Attribute Workflow just seems kind of convoluted to me.
@Erindale3 жыл бұрын
Attribute workflow isn't staying at the main interaction. It's just the foundations for the whole system and the more visually clear system will be through the attribute processor which we can expect for 3.0 I think
@augm3nt3843 жыл бұрын
Excellent tutorial.. Thanks. How would you animate the sine wave ?
@Erindale3 жыл бұрын
Like to move it across? If you stick and attribute math node before it set to Add and have px added to a float in there, the float will let you move the waves across. To animate it, the easiest way it to put something like #frame/50 into the float value.
@augm3nt3843 жыл бұрын
@@Erindale Thank you.
@heljoshinmax94593 жыл бұрын
Awesome tutorial as always))) Thank you for sharing & explaining what you are doing, it really helps;))
@Erindale3 жыл бұрын
I'm glad thank you!
@mikefutcher Жыл бұрын
Atribute mix has gone! Can we do this still?
@Erindale Жыл бұрын
Have a look on my channel for geo nodes 101 videos. I have one on displacement. Geometry nodes was completely redesigned between 2.93 and 3.0 so you’ll just have to be careful looking at these older videos. I just leave them up as the theory is still correct
@jippee13 жыл бұрын
finally we can take our shader nodes and use them as displacement in GN
@dainjah3 жыл бұрын
this is great. Can I manipulate certain vertex groups using this method?
@Erindale3 жыл бұрын
You can! Just use an Attribute Math or Vector Math node to multiply the height map by your vertex group before you use it as the mix factor
@MsGe53 жыл бұрын
great tutorial..I have re-built/updated Blender2.93(blender-git) daily for consecutive days on my Mac and still no "vertex_normal" attribute/ any suggestions? other builds? thanks..
@Erindale3 жыл бұрын
Let me check this add get back to you. Someone else just messaged me about this missing in his build
@Erindale3 жыл бұрын
You need to the normal attribute now. Thanks for point that out!
@Charly_Chive3 жыл бұрын
Do you think this can work with image textures, With box mapping mode and blended edges, like in the shader nodes?
@Erindale3 жыл бұрын
Certainly can! The maths with attributes is just a bit ungainly at the moment. Hopefully we can get the Attribute Processor soonish This is box mapping for you though i.imgur.com/9Vo5zto.png
@Charly_Chive3 жыл бұрын
@@Erindale woah thanks!
@Charly_Chive3 жыл бұрын
@@Erindale what will the attribute processor allow us to do?
@Erindale3 жыл бұрын
@@Charly_Chive We will be able to use math and vector math etc nodes to process the data rather than needing to use attribute nodes. This will save computation as well as time. Also making nodes more readable, currently it can be really hard to follow the logic when there are 10+ attributes being used and everything's just in this one long linear line of nodes... Breaking it up is going to help a lot!
@tonzaranza78583 жыл бұрын
Thank you so much for sharing it! Is it possible to set a different color only to the displaced surfaces, so when a certain region "inflates" the color/material of it changes? :~
@Erindale3 жыл бұрын
Yes it would be if you create a vertex colour layer with the same name as the attribute you're using to set how much inflates then you can read that vertex colour layer into your shader. Only works with cycles though at the moment
@emmabryant65893 жыл бұрын
How would one go about displacing along the z-axis only? or have I done this wrong? for tiling terrain, the edges seem to angle towards center.
@Erindale3 жыл бұрын
It sounds perhaps like you're using mix instead of add?
@VMP6663 жыл бұрын
Oh boy, this is what I've been looking for! Could you maybe give me a hint how one could go about making a cloud texture-based dynamic displacement for wind in a foliage animation? Node based, of course:) thank you for your tutorials!
@Erindale3 жыл бұрын
Okay good luck following but this is my hint ;) First add a Point Distribute node set how you want for your foliage. Then add an Attribute Vector Math node set to add with A being position and B being a vector. Put your driver into the X component (eg #frame/100). Result is mapping. Attribute Sample Texture node, select your cloud texture. Mapping is mapping. Result is clouds. Attribute Colour Ramp to control falloff. clouds in, clouds out. Attribute Randomise for your scale and rotation as normal. Point Rotate set to Axis Angle, Object, Vector, Attribute. Axis vector is (0,1,0). Angle Attribute is clouds. Point Instance your foliage.
@VMP6663 жыл бұрын
@@Erindale Holy shit, I tried it finally and it seems to work! Thank you so much! That being said, is there any chance you could tackle this subject in a tutorial? I'd love to see what you can come up with mixing different variants of wind etc! Thank you so much nevertheless:D
@VMP6663 жыл бұрын
I even swapped mapping to react to empty location for better control! I'm so proud of myself LOL
@ibotpl3 жыл бұрын
Great tutorial! Thanks for your efforts! Is it possible to offset the distribution points?
@Erindale3 жыл бұрын
To displace the points from a Point Distribute node without needing to displace the whole mesh? You can do this with the exact same process but after the Point Distribute and instead of 'vertex_normal' you can just use 'normal'
@tcheadriano3 жыл бұрын
Fantastic!!!
@Erindale3 жыл бұрын
Thanks so much!
@dainjah3 жыл бұрын
Also: now when we have the vertex normal attribute, is it possible to (for example) align/rotate all the points acorrding to the vertex of the object? Lets say I want to scatter cubes on UV sphere so they're aligned perfectly to sphere's faces?
@Erindale3 жыл бұрын
You can already :) the point distribute node already generates a 'normal' attribute you can use. Or if you are instancing without the distributed node then you can now use the vertex_normal attribute to do that
@Tradigital3 жыл бұрын
Is there anyway to make separate meshes in geometry nodes connected to separate materials? So like if you combined the old mesh with the displaced, could you set them to be a separate color or material? I also particularly need it to work in eevee 🤦🏼♂️
@Erindale3 жыл бұрын
You can indeed! Just use an Attribute Fill set to integer and use the material_index attribute to pick the material slot you want to aim for. You only really need to do it for bits you don't want to aim at slot 0 (default) i.imgur.com/84upHcX.png
@Tradigital3 жыл бұрын
@@Erindale omg bro, do you realize how much this will change my work 😂😂 geometry nodes are so good!!
@Tradigital3 жыл бұрын
Is there a place where we can get all the attribute names? Like I had no idea Material Index was even one.
@Erindale3 жыл бұрын
@@Tradigital If you're using current builds of 2.93 you should get the attribute suggestions popup as you can see on mine. I have a video on Attributes which also lists the defaults. The Blender manual also has a list under the geometry nodes attributes section 👍
@Tradigital3 жыл бұрын
@@Erindale ahh that makes sense. I’ve been using 2.92 but I will definitely move up to do this
@shanquan933 жыл бұрын
thank you for your work
@Erindale3 жыл бұрын
Thanks for watching!
@DanielPartzsch3 жыл бұрын
Thanks. Is it possible to basically mirror/use the texture this way procedurally in the shader?
@Erindale3 жыл бұрын
You mean to have access to textures created in the texture panel, inside shaders? There's a better way to do it actually. The attribute you generate with the Attribute Sample Texture node, just call that with the Attribute node in the shader. Any attribute generated in Geometry Nodes is now available inside the shader that way. Currently only Cycles is supported but Eevee support is being worked on. Also just be aware that the attribute will be transferred 'per point' so the texture resolution in shader will match your mesh resolution!
@DanielPartzsch3 жыл бұрын
@@Erindale yes great that is what I meant. I was always missing the possibility to procedurally tie the displacement to the shader (for example to have different colors at different heights of the displacement). So with resolution you mean that I would then need a pretty high density mesh in order to get crisp results in the shader? Thanks again!
@Erindale3 жыл бұрын
@@DanielPartzsch Yeah exactly. Have a play with it though, it might well be good enough for what you need and you can always mix with some textures in the shader to hide any stepping. If you have displacement that's smooth enough on the mesh, the texture will probably look smooth enough too!
@DanielPartzsch3 жыл бұрын
@@Erindale yeah, good stuff!
@kifayatUllah7123 жыл бұрын
What is normal? Is it the line perpendicular to the tangent? Can u plz explain this bro? I would appreciate it!
@Erindale3 жыл бұрын
Yeah exactly, normal is just sticking perpendicular out of the surface
@kifayatUllah7123 жыл бұрын
@@Erindale Thanks for the help! It really motivates me! Take care
@palermus203 жыл бұрын
Hey, any clue as to how i could animate the first example? I was the comment on how to do it with the sign wave but i'm not sure as to where to put the math attribute in the first example, cheers
@Erindale3 жыл бұрын
If you wanted to animate the texture version then just add an attribute Vector math before the texture node and take position and add a vector, result can be mapping and use that in the texture node. Now you can use drivers or keyframe the vector to animate the texture
@palermus203 жыл бұрын
@@Erindale legend, tysm
@sidar872 жыл бұрын
Is this possible with curves? I want to apply ornaments along the geometry ( like belts ).
@Erindale2 жыл бұрын
With displacement?
@sidar872 жыл бұрын
@@Erindale yes, i wonder if we could use geometry nodes to apply a texture displacement on a curve using the extrude and bevel geometry as a base. Or let geonodes completely create the mesh
@Erindale2 жыл бұрын
You certainly can do! You can just use a set position node just the same as if it was a mesh. Geometry nodes is great for giving more continuity between working with different objects
@yousefyaghoobi2823 жыл бұрын
what is the benefit of using geo node displacement?
@ManexFX3 жыл бұрын
You clearly didn't watch the whole video
@yousefyaghoobi2823 жыл бұрын
@@ManexFX to be honest, no i didn't 🤣
@pietroalessandrini3 жыл бұрын
I need procedural noise so i can animate a random displacement in eevee, hope they'll add it in the future
@Erindale3 жыл бұрын
It's already in the alpha builds 😁
@pietroalessandrini3 жыл бұрын
@@Erindale you just made my day! (Well night actually, it's 3 a.m. right now where I live)
@pietroalessandrini3 жыл бұрын
@@Erindale unfortunately while random noise is in blender 3.0 alpha most of the attribute nodes are still missing. sigh I guess I'll have to wait a bit
@Erindale3 жыл бұрын
@@pietroalessandrini The attribute nodes won't be back! Here's an example of how to use the new fields nodes to create simple noise displacement along the normals: i.imgur.com/XwKvfz1.png
@pietroalessandrini3 жыл бұрын
@@Erindale thanks man, I feel very comfortable with shader nodes, but with geometry node I feel like a lost child
@AnsonSavage2 жыл бұрын
It looks like the new Fields System doesn't have a lot of these nodes. Any suggestion for how to get this same effect now?
@Erindale2 жыл бұрын
Check out my geo nodes 101 videos 👌
@AnsonSavage2 жыл бұрын
@@Erindale Okay, awesome!
@aquillanto75212 жыл бұрын
Blender just needs a really solid set of 4D procedural textures (ie properly animated, not just moved or scaled) and this node would be mega useful!!
@Erindale2 жыл бұрын
In Blender 3.0 we just use the texture nodes directly so 4D is available for a bunch 😁
@aquillanto75212 жыл бұрын
@@Erindale In Cinema 4D, a single deformer can displace vertices in all three axes... so just add one of their animating noise textures and you have wobbling cells etc. Can blender do this easily? Deformations appear to be on a single axis? Guess you could set three up but....
@aquillanto75212 жыл бұрын
I read that procedural textures were a priority for Blender... it's in their road map. Can't wait to see what they do!
@Erindale2 жыл бұрын
Just use RGB noise instead. You can either subtract 0.5 and then add it to the position, or if you want even fewer nodes, just a mixrgb set to linear light with the position first and RGB noise second and plug that into the position of a set position node. It's like 4 nodes total to get animated xyz displacement
@aquillanto75212 жыл бұрын
@@Erindale Very clever! Must experiment when I get started!
@joe-5D9 ай бұрын
howd u make that shader?
@Erindale9 ай бұрын
Which shader do you mean?
@joe-5D9 ай бұрын
@@Erindale referring to the toon looking shader for suzanne in thumbnail.
@Erindale9 ай бұрын
@baseballa101 that is just using the random per island socket of the geometry, input node in shaders going into a white noise node, and the outlines are done with the lineart modifier
@joe-5D9 ай бұрын
@@Erindale nice sounds dope
@9words403 жыл бұрын
look like brain
@jonathanmoore21392 жыл бұрын
This tutorial is a year old and blender has already renamed every fucking node
@Erindale2 жыл бұрын
They renamed everything last December actually! The attribute system was redesigned when they realised what an awful UX it was 😂
@xalener2 жыл бұрын
@@Erindale so how do you do this now? lmao
@Erindale2 жыл бұрын
Displacement? Noise, subtract 0.5, multiply by strength, multiply by normal, into the offset of a set position node
@xalener2 жыл бұрын
@@Erindale ah, I'm trying to figure out how to get bespoke UDIM mapped texture driven displacement in geo nodes. Though tbh I have no clue if it's more or less performant than using the modifier for this.
@Erindale2 жыл бұрын
Udims are just UV translations of 1 per step so you can just do a manual offset on the input vector