I would like to make this happen with geometry nodes. The blue polygon should go all the way around the donut and loop.
-
$\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$– Gordon BrinkmannSep 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$– Manu JärvinenSep 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$– Gordon BrinkmannSep 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$– Manu JärvinenSep 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$– Gordon BrinkmannSep 7, 2022 at 7:35
4 Answers
...And here is another one...
This solution is based purely on Geometry Nodes and uses only a Bezier curve as a profile:
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.
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:
-
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
-
you can use this node setup:
to get this:
and by adding this to vector rotate, you can let rotate it forever:
result:
-
$\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$– ChrisSep 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$– ChrisSep 7, 2022 at 7:52
You can solve this as follows (although I wouldn't actually recommend it)...
First, keep all the geometry of the outer torus shape. We will need it here later:
Then cut off the piece of it you don't need. This object, together with the inner shape should look like this:
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:
Then you use the following node tree:
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.