Niagara Initial Mesh Orientation with Random Vector Input

I’m putting this up here mostly because I want to know what’s going on under the hood. When I use inital mesh orientation (IMO) in a niagara emitter I’m usually looking to get the meshes to spawn turned in a random direction. However, when I use the Random Vector input in the Rotation attribute of IMO with a scale of 1 (the default), it doesn’t seem to randomize the rotation.

However, when I set the scale to 0.5 it seems to work fine.

Looking at the description for Rotation it mentions quaternions, which I’m not very familiar with. Can anyone explain to me why my expectation turns out to be wrong? Should I be using the orientation attribute instead? It seems to work correctly with random vector of scale 1. What is the difference between these 2 properties?

1 Like

Answering for posterity: The rotation values here are in odd units. A value of 1 represents one complete rotation around that axis. So setting a value of 1 is the same as setting 0. Setting 0.5 will rotate it 180 degrees.
image

1 Like

Yeah and my suspicion was that because the random vector input returns a unit vector which always has a magnitude of 1, it would always make one complete rotation and therefore would look exactly the same, unless scaled by a non-integer value.