Static Mesh Rotation in Blueprint: Minimal delta value?
I'm trying to rotate a sphere (static mesh component) in a Blueprint by using the "Add Local Rotation" node. Everything works fine until I enter very low values for the rotation delta - then there is no rotation anymore.
I can enter values as low as 0.03 e.g. for the Pitch delta rotation, but not 0.02. But with a value of 0.03, the sphere is rotating too fast and I simply want a slower rotation rate.
How can I rotate a mesh really slowly? I was thinking of using a texture panner in the material, but my sphere is used as a sky sphere with 6 materials (one texture for each "side").
My assumption is that the per tick value to increase the rotation is so low that it's being ignored and I rather should use an Timeline node and not set a rotation delta every tick, but set the absolute rotation everytime. But is there really a limit for rotation deltas?
Thanks for your time.
asked Mar 09 '15 at 01:11 AM in Blueprint Scripting
Add Local Rotation seems to stall at low values, even outside of fps, I tried it with a loop powered with a 0,01 delay and when I put a value of 0.01 to my pitch, it would return a 0.0 increment.
So instead I propose this: Use a Timeline set to Loop. Add 2 Key frames to it, one set to 0, the other to 360. You can set the time as you wish. I tested it with a length(Time) of up to 3000 which seemed to give that very slow turn that you were looking for. Also, instead of a Add Local Rotation, I used the Set Actor Rotation node, powered by the Update pin of the Timeline. Here are two images to illustrate.
Inside the timeline below, I edited the image to show the values of both Key Frames. And also highlighted the Loop check mark. Aslo, I forgot something very important for you in the timeline, you must check Use Last Keyframe for it to loop properly! Oh and also, depending on your needs, to the left of Loop check box, you can set Auto Play, which will automatically play the Timeline without any event plugged into it. Hopefully this works for you. Enjoy!
One thing you can do to get a more 'correct' rotation rate is to create a rotation and scale that by delta seconds. The rotation you create then would be representative of rotation per second instead of rotation per tick. This should at least result in a much more stable rotation.
answered Mar 09 '15 at 01:37 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here