Fields and Attributes - Geometry Nodes for Beginners

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ • 93

  • @JoeyCarlino
    @JoeyCarlino  Рік тому +8

    ⚠ The transfer attribute node no longer exists! Use the sample index and sample nearest instead. Watch this to learn more: ua-cam.com/video/K-L2eIHu7ic/v-deo.html

  • @scale...3d
    @scale...3d 2 роки тому +21

    Okay, so I have been trying to understand this concept for so long and I have watched so many UA-cam videos for this where they literally just over-complicate things and I am eternally happy to have found a video showing me how to actually use it in a real world situation!! Thanks a lot for making this awesome video! I will experiment with them myself and use what I understood to come up with something nice.

  • @kenkioqqo
    @kenkioqqo Рік тому +3

    Joey, you're gradually making me fall in love with Geometry Nodes.

  • @appdeveloper3895
    @appdeveloper3895 Рік тому +2

    you are perfectly and smoothly explaining certain concepts that I was struggling to understand for months. Tutorials all over the internet are just a waste of time. they are all about how, not WHY. Thank you, very much appreciated. Anyway wants to learn GN must be directed to your channel first before going anywhere to save his life and time from burning.

  • @mikeevans9897
    @mikeevans9897 Рік тому

    Truly great video. There are many tutorials for beginners that try to explain how geometry nodes work and they just casually use the position, normal, index, and all the other Fields nodes without any explanations. As if they think we are automatically supposed to know everything that you've discussed during this nine-minute video.
    Thank you very much, very helpful

  • @woodbook7514
    @woodbook7514 2 роки тому +50

    the blender 3.4 version has delete the transfer attribute node, replaced it with the sample nearest and sample index nodes, so if you are using the new version, you can adjust a little bit, and the mix rgb node is also replaced by mix node, but you can change the pulldown list and select the color to use the node in the old way. i spend half any hour to figure out the change in new version, hope to have some help

    • @hugochan4309
      @hugochan4309 Рік тому +1

      How do you make it work? I tried to connect the cube with Sample Nearest then Sample index, but it doesn't show anything

    • @woodbook7514
      @woodbook7514 Рік тому +1

      @@hugochan4309 cube node's mesh connect to sample nearest node's geometry and the sample index's geometry at the same time.

    • @hugochan4309
      @hugochan4309 Рік тому +3

      @@woodbook7514 Still doesn't work :(,
      1. I connected the cube to both Sample Nearest and Sample Index geometry,
      2. I connected the position to the SamplePposition,
      3. then the index output from "Sample Nearnest" connected to the "Sample index",
      4. then I connect the "Sample Index's" Value to Mix node(which I changed to color),
      5. then connect the "Result"(From Mix Node) to Position on "Set Position".
      When I change the Factor from the "Mix Node", the Suzanne just goes small. It seems like the node from Cube doesn't pass through "Sample Index."

    • @hugochan4309
      @hugochan4309 Рік тому +2

      @@woodbook7514 I figured it out, I also connected the "Position" to "Sample Index's Value" and it shows. Thank you for the help!!

    • @iplai
      @iplai Рік тому +1

      Here is the code of the `geonodes` module:
      import geonodes as gn
      from geonodes import nodes
      with gn.Tree("Geometry Nodes") as tree:
      factor = gn.Float.Input(0, "Factor", 0, 1)
      cube = nodes.Cube()
      p = nodes.Position()
      geo = gn.Geometry(tree.ig)
      attr = geo.capture_attribute(p.position)
      # This is the key line
      value = cube.mesh.sample_index(p.position, index=cube.mesh.sample_nearest())
      geo.set_position(position=gn.vector_mix(factor, attr, value))
      tree.og = geo

  • @stevendobbelaere4557
    @stevendobbelaere4557 2 роки тому +5

    The best tutorial I've watched about fields! Very well explained!

  • @WhalenPeng
    @WhalenPeng 2 роки тому

    謝謝!

  • @fadhil4008
    @fadhil4008 2 роки тому +6

    Bro that morphing tool is so underrated! You may need to make a new video with its own title do that people can find it. Really tho, I've always wanted to know how to morph 2 objects

  • @Vilde321
    @Vilde321 2 роки тому

    every time I search for anything Blender related your videos about it come up .. XD nice

  • @ahmaddvfx
    @ahmaddvfx Місяць тому

    Thanks so much for the clear and detailed demonstration ❤️❤️

  • @Gredran
    @Gredran 2 роки тому +2

    Essential info. Thanks as always man!

  • @ianmcc2420
    @ianmcc2420 Рік тому

    I often use some of these nodes but never quite understood why. Thanks for the explanations!

  • @manmadeartists
    @manmadeartists 2 роки тому +1

    These node explanation videos are gold! Thank you so much!

  • @Nyubug
    @Nyubug 2 роки тому +1

    Thank you so much! Hope we get more in-depth videos like this :)

  • @Orangesauce420
    @Orangesauce420 2 роки тому

    I have been trying to figure out how exactly these all work for months now, thank you so much :3

  • @Savigo.
    @Savigo. Рік тому +8

    Keep in mind, blending between 2 shapes will only work if both objects have the same topology type. For example you cannot mix susane with the donut, because donut has a hole.

  • @tiagogiraovideos
    @tiagogiraovideos 2 роки тому

    Super well explained. Now I understand it better. Thanks

  • @marcosdavifernandes1273
    @marcosdavifernandes1273 8 місяців тому

    Amazing video and teachings, thank you! 🙌

  • @Ruebler1
    @Ruebler1 2 роки тому +1

    Thats some valuable stuff here

  • @joseterran
    @joseterran Рік тому

    you really know how to explain, great tutorial!

  • @BlenderBob
    @BlenderBob 2 роки тому

    Nice video! Thanks Joey!

  •  2 роки тому

    thanks mate! this is really clear explanations

  • @shiro141
    @shiro141 2 роки тому

    Well done Sir, an excellent example well executed. Thank you.

  • @man_art_man
    @man_art_man 2 роки тому

    Best explanation about fields! Thanks!

  • @jenovaizquierdo
    @jenovaizquierdo 2 роки тому

    Dude really awesome and helpful video man 🤩, thank you for this. The more I learn Geon node the more I love 🥰 what I can do.

  • @DanilaBou
    @DanilaBou Рік тому

    What does blender do in case there are a different number of vertices between meshes like in your example with the ico sphere and the cube? (8:00)
    Does it move the sphere's vertices to the closest vertex on the cube?
    and one other question, in 5:55 , if the offset is supposed to move the cube's vertices, how does it deform the edges and the faces as well?
    I guess I don't understand what the position attribute holds, because according to the examples its not just the vertices

  • @aydaryakup4540
    @aydaryakup4540 2 роки тому

    THANK YOU, your videos are the best! I MEAN IT!!!

  • @lightningthebeast
    @lightningthebeast 2 роки тому

    This is exactly what I needed :D

  • @philipschroeder5427
    @philipschroeder5427 Рік тому

    Actually a function is a cross product relation between preimage space and image space with only one preimage for every image. But I liked the very descriptive explanation. Good job.

  • @daniellee6912
    @daniellee6912 Рік тому

    I finally understand it, thanks.

  • @Levendo
    @Levendo 2 роки тому

    I did not know you could morph with mixRGB node. Thanks!

  • @leonciocastillo6433
    @leonciocastillo6433 2 роки тому

    Great tutorial. Thank you.

  • @abdallahraafat432
    @abdallahraafat432 Рік тому

    Dude.. You're awesome

  • @ahmedammar3338
    @ahmedammar3338 2 роки тому

    This is GOLD

  • @ratulloch1
    @ratulloch1 2 роки тому

    Excellent video.

  • @youtuberrick2065
    @youtuberrick2065 2 роки тому +1

    i have been experimenting wit this and apparently when I wanna morph something into a torus its just deletes some faces. Idk why that's happening and plz let me know if there's a solution

  • @kenanapex3076
    @kenanapex3076 Рік тому

    thanks for explaining:)

  • @Earthtone88
    @Earthtone88 Рік тому

    How do you grab the desired attribute if you have say both position and color attributes on the geometry. which one does the node pick since both are vectors?

  • @bagoquarks
    @bagoquarks 3 місяці тому

    Currently (in Blender 4.2, October 2024) I am finding most, if not all, Field Nodes in the 'Read' sections of the 'Geometry', 'Curve', and 'Mesh' categories on the 'Add' menu dropdown in the Geometry Nodes Editor. Most of these 'Read' nodes have no inputs.
    The Geometry Node (GN) inputting the Field Node (FN) output ALREADY CONTAINS the data. It arrived as a geometry object through a DIFFERENT INPUT socket. The FN is simply telling the GN what data to use off of that geometry object.
    For those with a background in computer languages, I see a FN as an ITERATOR generating a stream of data into the GN's input socket, using some of the properties of the geometry object that arrived at the other input socket. If that is confusing, ignore this paragraph.

  • @pile333
    @pile333 2 роки тому

    Well done!

  • @the-guy-beyond-the-socket
    @the-guy-beyond-the-socket 5 місяців тому

    hey man! thanks for the video, i now get a lot more than before lol. do you by any chance know how can sample nearest and sample index nodes be replaced? im trying to replicate a geometry node tree from a video making renders into paintings where sample nearest and index is used but im on 3.3 and cant upgrade so i have to figure something to replace them.

  • @jbjjbjjbj
    @jbjjbjjbj 2 роки тому

    so good. Thank you.

  • @wentaofeng5548
    @wentaofeng5548 8 місяців тому

    Great Tutorial! It actually took me a lot of time to understand why field nodes like position node have no input. I use Grasshopper a lot for parametric design, but when I started trying Geo Nodes in Blender, nodes like position really bothers me because I dont understand which geometry's position data it is gathering. I initially thought it gather the position data from whichever geometry the Geo Nodes modifier is assigned to....but then I realized another problem, how to get the position data of another object? Because blender does not seem to have a position node with geometry input.....

    • @designproductwithbing
      @designproductwithbing 4 місяці тому

      yes,I use grasshopper too. I'm not sure if blender has a data structure

  • @kleioscope
    @kleioscope 2 роки тому

    wow ! as usual, your tuts are insanely 'teachfull' !
    My only problem is to think like blender devs do :P

  • @majorbangz
    @majorbangz 2 роки тому

    This is massive

  • @PiononoMatic
    @PiononoMatic 2 роки тому

    sos un genio muchisimas gracias

  • @MaxSonicUA
    @MaxSonicUA Рік тому

    Thank you!

  • @adavewiley
    @adavewiley 2 роки тому

    Thank you so much for melting my brain. ;-)

  • @onionjedi
    @onionjedi 2 місяці тому

    Hey! How to do this in 4.2? They removed the Transfer attribute and we're left with only "Sample index".

    • @JoeyCarlino
      @JoeyCarlino  2 місяці тому

      check the description and pinned comment

  • @artscreations5
    @artscreations5 Рік тому

    Hey ! Thx for the video , so u know why in bender 4.0 their is no transfer attribute ? Cuz I can not find it , thx

  • @eternalguy6023
    @eternalguy6023 2 роки тому

    Can you do a video on attribute static please
    There is no video about this node and it's use cases

  • @Jjohn5378
    @Jjohn5378 8 місяців тому

    Thanks

  • @3487528
    @3487528 2 роки тому

    Thank for the clear explanation of these complex nodes. But i wonder that, how the tranfer works when the vertex number is different? I mean that, for example, the cube has only 8 vertex, but the sphere has more than that. How does blender calculate the vertex to be merged or??

    • @JoeyCarlino
      @JoeyCarlino  2 роки тому +2

      There are options for that in the node. By default, it will look for the closest face and use that position

  • @davidffortesmeireles5328
    @davidffortesmeireles5328 2 місяці тому

    thx you

  • @pile333
    @pile333 2 роки тому

    So it won't work with other mix nodes rather than mix color?

  • @galiafvelikiy4615
    @galiafvelikiy4615 2 роки тому

    fire!!!!!!!!!!!!!!!!!! thanks!!!!!!!!!!!!!

  • @proto2149
    @proto2149 2 роки тому

    Your videos are pretty awesome, you heard it all I bet. I haven't watched all of them, but I'm going through them as I type, but felt like leaving a comment just because I can't seem to find any guidance for what I would like to do with geonodes, that is to pick a specific vert, edge or face and just move it around. I feel silly just typing it as the way I put it seems so simple/basic, have you covered this in any of you videos? Thanks

    • @JoeyCarlino
      @JoeyCarlino  2 роки тому +1

      You can use a set position to move stuff around and you can select a specific part by using the index node with a compare node. There are lots of ways to handle selections

  • @storyzcreator
    @storyzcreator 11 місяців тому

    The shape morphing setup seems to actually not work on complex object like character and cube.... wonder if there can be a global setup that works on any shape regardless

  • @joeg7096
    @joeg7096 2 роки тому

    Great vid thanks Joey rare to find people that break down geometry nodes so well. Any idea on how to make the morph work on more complex objects? Im trying to morph a head into another head but it gets all messed up when i try to morph it using this technique

    • @JoeyCarlino
      @JoeyCarlino  2 роки тому

      You can try adding more points to the first mesh. Like a subdivision node.

  • @alexsender4986
    @alexsender4986 Рік тому

    nice

  • @Julia-zi9cl
    @Julia-zi9cl Рік тому

    Noob here 😅 How to achieve that coloring on faces ? Each time you add objects faces colored randomly how is that possible?

  • @gblix7521
    @gblix7521 2 роки тому +5

    The second part about attributes is already outdated as of November 2022, in 3.4 beta. Transfer Attribute has been split into multiple Sample nodes and the morph example cannot be reproduced that easy.

    • @JoeyCarlino
      @JoeyCarlino  2 роки тому +1

      You're right, I'll make a note about it

  • @Lluc3D
    @Lluc3D 2 роки тому +1

    Thanks! i feel like nodes trees for shaders and geometry work so different that they should have a different graphic design. For me those are not that intuitive, way harder to work with and very different functionality.

  • @rhoharane
    @rhoharane 2 роки тому

    Joey what happened to your audio?

  • @thecodingmaniac
    @thecodingmaniac Рік тому

    👍

  • @cezhou9140
    @cezhou9140 2 роки тому

    Not sure the underlying consideration of such design instead of explicitly having a geometry input at the left.

  • @ChaskoraAnimator
    @ChaskoraAnimator 2 роки тому

    🥰🥰

  • @starlord627
    @starlord627 2 роки тому

    I want introduction for every single node

  • @ScorgeRudess
    @ScorgeRudess 2 роки тому

    god

  • @jeffg4686
    @jeffg4686 2 роки тому

    I think the terminology around fields just makes it confusing.
    They way I read it is, "A field is an operation that is applied to each vertex with some data being unique to that vertex".
    Or from a code perspective, "this is a portion of the workflow where a vertex shader is being used to build up the next geometry".
    It may be late at this point, but I think naming it "field" and calling it a "function" is very confusing to most.
    Not harping. It's just one of those "tough to define" things, and unfortunately, confuses most for a while.
    Something like "Vertex Mod" would make more sense than "fields" I think.
    You're using some field data, but the entire thing is a modification (an operation to a vertex)
    Or even call it a shader ... That segment that plugs into a diamond is a shader (vertex shader) - or at least a portion of one.
    EVERYONE gets confused on fields. That's exactly why I watched this video. I get it now, but it's really hard to visualize at first because I think the term is being overloaded a bit to mean both the data being provided (attributes of the point/vertex of current geometry) as well as meaning the operation as a whole. I think it likely started down the path of naming it to mean the actual per-vertex data, then took on a different meaning. I'm still coming up slowly. switching back and forth with other training. But, fields is one that got me. I'm past it now thanks to this video.
    Case in point (or case in vertex, I mean) - @4:25 - that's not really a function - it's a per-vertex value (technically there *could* be function involved, but doesn't need to be). It's just that the term 'field' got re-used to mean both the operation as a whole (shader) and the per-vertex data. So, and this isn't a stab, but I think it kinda got you, the trainer, as well. It's confusing ... If you "encapsulated the Position node AND the Add node And the Set Position node" together, that would be the vertex shader function, but the position alone is not a function.
    One last note, is that you could simply describe each green node as a "vertex shader node". All the data and ops plugged into it are simply "part of that shader" with the exception of the geometry of course which is what the shader is applied to.
    It's basically waht they call "the strategy pattern" in programming. All the input sockets are "your strategy" for how you want the bigger operation (set position for instance) to work. So we pick a shader that encapsulates the overall thing we're doing (SetPosition), then we customize that behavior with our strategies.

    • @DanilaBou
      @DanilaBou Рік тому +1

      in programming, getters are also functions so example in 4:25 it is also a function. if you think about it, you bring it a mesh as a parameter and it extracts the position from it. thats why you can connect more than 1 mesh to it and it brings you the appropriate position form it

  • @justamonster48
    @justamonster48 2 роки тому

    hi

  • @露大元
    @露大元 2 роки тому

    mac

  • @majorbangz
    @majorbangz 2 роки тому

    This is massive