I’m trying to rotate a mesh (box) around different axises, but I’m not good in this… For now I can only rotate separately by Y or Z, but when I change angles around both axises at the same time, the mesh is getting a weird shape.
How do I need to combine these operations properly?
Use Object Position instead of Absolute World Position, this should work better.
Absolute World Position is a different position for each pixel of your mesh whereas Object Position is the position of your mesh, therefore the same for each pixel.
Hello again, I tried with Rotate about axis function but I came to nothing. An alternative is to use [rotation matrix][1].
(By the way my previous answer was completely wrong, if you want to rotate around only one axis, use Object position as pivot point and Absolute world position excluding offset as position (or an equivalent like (0,0,0) as pivot point and Local position excluding offset as position). But I found no way to combine 2 rotate about axis.)
This info was so helpful. I’m struggling with rotating the normals, now. I see there is a FixRotateAboutAxisNormals node, but that really only pairs with RotateAboutAxis. I’ve read elsewhere that you multiply the normals by the rotation matrix but I can’t seem to get that working.
Is there a way to add the objects “orientation” in the scene. So that the objects rotate individually in “Local space” istead of all of them rotating in worldspace?
Just wanted to post the easier solution. The reason Rotate about Axis wasn’t working for you is because you need to multiply the angle by time. Otherwise it won’t move.
Using the RotateAboutAxis node (Cheap is broken because it inverts the mesh normals if you use Y) you specify the rotation axes with a vector 3 with R = X G=Y B=Z and you can use multiple axes at once (example 1,1,0 will give you yellow and rotate around X and Y at the same time).
Normalize the RGB before plugging it into NormalizedRotationAxis.
Rotation Angle should be Time*Speed
Pivot Point should be the ObjectPivotPoint node
Position should use World Position XYZ