Concatenate Rotation Transformations of a Material


I want to know if there is a way to apply a continuous sequenze of Transformations, f.e. Rotations with different Angles and Rotation Centers to a Material?

Imagine the Centers and Angles beeing Parameter, received continously from the User Interaction. I figured out how to apply a sequence of two Rotations by using two Custom Rotator and Customized UV (see img below). Anyhow, for an infinite sequence of Transformations that would demand an amount of infinite Rotators.

What I actually need is to somehow store the current State of the Material Transformation (the rotated coordinates) and load it to additionally apply the new Rotation with a new Center and Angle. The overall Rotation should result from the new Rotation applied on the old Rotation (State).

Can anyone help me with this issue?

BP for two Rotations:

I think it would be better to use actual transforms instead, and specify the vectors that way. Then you can just use BP to rotate those vectors around specified axes.

Is there a particular reason you want to chain rotators together?

In the past I did this more easily by making a custom struct “VectorTransform” that has X, Y and Z vectors. Then I made some functions to rotate the VectorTransform around specified axis and it would rotate all 3 axes individually and spit them out. That was the only way for me to overcome some weird gimble lock issues in the past where specifying rotators was breaking.