Fields and Attributes - Geometry Nodes for Beginners

Поділитися
Вставка
  • Опубліковано 10 вер 2024

КОМЕНТАРІ • 87

  • @JoeyCarlino
    @JoeyCarlino  11 місяців тому +6

    ⚠ 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 роки тому +22

    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.

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

    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

  • @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.

  • @kenkioqqo
    @kenkioqqo 7 місяців тому +2

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

  • @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

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

    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 11 місяців тому

    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

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

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

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

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

  • @philipschroeder5427
    @philipschroeder5427 9 місяців тому

    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.

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

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

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

    Amazing video and teachings, thank you! 🙌

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

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

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

    Essential info. Thanks as always man!

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

    Super well explained. Now I understand it better. Thanks

  • @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 :)

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

    Thats some valuable stuff here

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

    you really know how to explain, great tutorial!

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

    Dude.. You're awesome

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

    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.....

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

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

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

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

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

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

  •  2 роки тому

    thanks mate! this is really clear explanations

  • @_blender_man_
    @_blender_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.

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

    thanks for explaining:)

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

    I finally understand it, thanks.

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

    Nice video! Thanks Joey!

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

    Great tutorial. Thank you.

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

    Thank you!

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

    This is exactly what I needed :D

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

    Thanks

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

    so good. Thank you.

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

    This is GOLD

  • @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

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

    Excellent video.

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

    謝謝!

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

    sos un genio muchisimas gracias

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

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

  • @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

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

    Well done!

  • @the-guy-beyond-the-socket
    @the-guy-beyond-the-socket 10 днів тому

    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.

  • @Earthtone88
    @Earthtone88 9 місяців тому

    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?

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

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

  • @gblix7521
    @gblix7521 Рік тому +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  Рік тому +1

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

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

    nice

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

    This is massive

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

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

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

    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

  • @Julia-zi9cl
    @Julia-zi9cl 10 місяців тому

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

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

    👍

  • @artscreations5
    @artscreations5 9 місяців тому

    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

    • @JoeyCarlino
      @JoeyCarlino  9 місяців тому

      Yep, check the pinned comment

    • @artscreations5
      @artscreations5 9 місяців тому

      @@JoeyCarlino thx a million mate

  • @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.

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

    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  Рік тому +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

  • @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.

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

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

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

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

  • @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

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

    🥰🥰

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

    god

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

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

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

    Joey what happened to your audio?

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

    I want introduction for every single node

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

    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

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

    hi

  • @user-nq4cf6kk8g
    @user-nq4cf6kk8g 2 роки тому

    mac

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

    This is massive