6
$\begingroup$

I would like to make this happen with geometry nodes. The blue polygon should go all the way around the donut and loop.

enter image description here

$\endgroup$
5
  • $\begingroup$ I guess this depends on where you get the mesh with the blue polygon from. Is this some mesh that you put in Geometry Nodes with an Object Info node or is it something like a curve that's half a circle and a profile curve that wraps around the donut? $\endgroup$ Sep 7, 2022 at 6:37
  • $\begingroup$ @GordonBrinkmann Very good question, my aim is to make a hole in the ground, in where the green/blue mesh slides towards. So the hole should be deep and the sliding surface should be flat and wide, like a thick metal washer: m.media-amazon.com/images/I/61kybbaTD0L._SL1446_.jpg - That would be ideal $\endgroup$ Sep 7, 2022 at 7:02
  • $\begingroup$ It seems to me that what you really want to do is quite different from what in your question looks like a mesh rotating around a "especially donut-shape mesh". It's always better to explain what you actually need instead of trying to simplify or generalize the problem which might lead to completely different solutions. As I commented under the answer from @Chris I was going to do more or less the same. But this won't work for your project... $\endgroup$ Sep 7, 2022 at 7:15
  • $\begingroup$ @GordonBrinkmann True, true - but to my defense, I did say "How to slide mesh across other mesh", if we are specific, then that's the real question... - Oh, and the answer is very good for this question, not just for me for my specific project. $\endgroup$ Sep 7, 2022 at 7:26
  • 1
    $\begingroup$ If I always answered questions for single words people put in the title in need of a good and short description for their problem, then I would have often got it completely wrong ;) No need to defend yourself and it's great that the answer is good, I would have answered the same... but sorry that it's not helping your project. $\endgroup$ Sep 7, 2022 at 7:35

4 Answers 4

3
$\begingroup$

...And here is another one...

This solution is based purely on Geometry Nodes and uses only a Bezier curve as a profile:

enter image description here enter image description here

After converting the profile curve with Resample Curve into a poly curve with a certain number of points, I simply switch the positions of the points by one at a time.

The math node Wrap helps to find the right index and thus to create a time-controlled loop.


(Blender 3.1+)

$\endgroup$
4
$\begingroup$

Even though this is not Geometry Nodes, I managed to produce decent version of what I'm after with Shrinkwrap modifier and Curve modifier. The rotation comes just from rotating the shrinkwrapped object:

enter image description here

enter image description here

$\endgroup$
2
  • 3
    $\begingroup$ Presumably you're animating the tilt of the bevelled curve / rotating the object before deformation? If so, you should include that detail to make your answer meaningful to others :) $\endgroup$
    – Robin Betts
    Sep 7, 2022 at 8:00
  • $\begingroup$ @RobinBetts Alright, done! $\endgroup$ Sep 8, 2022 at 11:25
3
$\begingroup$

you can use this node setup:

enter image description here

to get this:

enter image description here

and by adding this to vector rotate, you can let rotate it forever:

enter image description here

result:

enter image description here

$\endgroup$
6
  • $\begingroup$ That's the solution I was working on, but why such a complicated setup with Capture Attribute and Position etc. just for rotating the profile curve? I simply used a Rotate Euler where I can animate the Z rotation to transform it before plugging into the Curve to Mesh: rotate_profile_curve.jpg. Or is there something that I'm missing? $\endgroup$ Sep 7, 2022 at 6:49
  • $\begingroup$ just provide a better solution - i have no problem with that. Honestly - i just tried it out until it worked. I even couldn't really explain it - because i didn't think much about it 💁🏻‍♂️ and as far as i i know you - your solution will work and is an easier setup ;) $\endgroup$
    – Chris
    Sep 7, 2022 at 7:01
  • 1
    $\begingroup$ It's no better solution, it's mostly the same so I'm too lazy to make my own :D Just an idea for improvement on your node setup. $\endgroup$ Sep 7, 2022 at 7:04
  • 1
    $\begingroup$ Thank you very much for the answer! Yes, Gordon has a good point. My aim is actually to not have exactly donut shaped mesh, so this would need some sort of shrinkwrap modifier or perhaps a very elegant Geometry Nodes setup to make it to suit my needs. Thank you anyway, a lot :) $\endgroup$ Sep 7, 2022 at 7:04
  • 1
    $\begingroup$ in general you can of course use any shape you want with my setup. It doesn't have to be circles.... $\endgroup$
    – Chris
    Sep 7, 2022 at 7:52
3
$\begingroup$

You can solve this as follows (although I wouldn't actually recommend it)...

enter image description here

First, keep all the geometry of the outer torus shape. We will need it here later:

enter image description here

Then cut off the piece of it you don't need. This object, together with the inner shape should look like this:

enter image description here

Now add the Geometry Nodes modifier to the outer shape. There you create a circle that has exactly the same radius as your shape and runs exactly in the center:

enter image description here

Then you use the following node tree:

enter image description here

The principle behind this is:

  • First, you capture the nearest point of the inside circle for each point of the outside shape as a reference.
  • Then you rotate the outer points. As center you use the position of the nearest point of the circle, and as axis the tangent of this point. The result is the new position of the points of the outer shape.
  • Then you use your previously created reference shape as raycast target. As center for this raycast we use again the centrally positioned circle. The Hit Position is again the new position for the points of the outer shape.
  • Finally you only have to animate the angle according to your wishes.

The whole thing is technically correct, but the quality of the result depends very much on the topology of the mesh.


(Blender 3.1+)

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .