Why is particle orientation hack required?

I’m using a plane as an emitter to emit object instances with random rotation around each instance’s normal. I’m running the latest Blender 2.8 beta, but I understand it’s a long-standing issue that Blender rotates the emitted objects 90 degrees in the X axis compared to the original object. I know how to correct this by rotating the original object by 90 degrees in X in edit mode.
My question is: why is this hack required at all? Why doesn’t Blender simply use the orientation of the original object?


Screenshot_2019-05-17_10-03-29

2 Likes

Guess it’s some kind of leftover from 2D, where there’s no ‘Z’ so it’s not used as ‘top’. We have X/Y like with school function drawing, following X is changing argument whereas following Y is changing value for that argument.

That sounds plausible, but it makes me wonder why it hasn’t been fixed in all these years.

I realise there would be backward-compatibility issues if it was changed, but that happens with major version releases anyway. It just seems silly to have to work around this problem every time.

Well, you could report a bug and see a response from developers why they won’t do it. :stuck_out_tongue: Unless there already was one.

Thanks, that was a good suggestion. I did a search at developer.blender.org, and I found bug reports about this going back at least as far as version 2.67 in 2014. (https://developer.blender.org/T38063) but unfortunately with no solution.

In December 2018, a bug report comment (https://developer.blender.org/T59509#582516) stated “It is silly and impractical that you have to rotate it in Edit Mode to make objects become upright, but I think this is not a bug?”.

I’m not sure why it isn’t considered a bug, but clearly it is an issue the developers are aware of.

Hi. By checking the box “Object Rotation” under Render > Object, did it correct the problem for you?

1 Like

Would perfectly fit to “correct” it, make it natural in accordance to better the UI fluency :wink:

1 Like

I believe it isn’t considered a bug because it is the expected behaviour. Where the 3D view is Z-up, the particle system is Y-up.

I don’t recall why it was maintained this way however. Probably for ‘consistency’. It might be the particle system was adopted from another source and the original source was Y-up.

1 Like

No, that just rotates the particle around its Z axis:


Without seeing the .blend file I am not sure if it is easy to analyze.
Anyway, there are things that I do not understand. What I have done to see if someone can analyze the problem:
particles.blend (714.0 KB)

Added a cube and painted the axes on each face. I have added a plane and I have moved it up in object mode. I have added Particles System to the plane with the cube as an object. Immediately after doing that, particles would appear to be Y-up. But when saving the .blend file and opening it again it would seem to be Z-up but rotated in Z = -90º. If you move the plane particle becomes Y-up again, but only until you play animation where particles are again Z-up, but rotated -90º in Z. If I check the box “Object Rotation”, particles appear to be coincident with original Cube when play animation.
So to better analyze this be careful with those changes of initial positions that the particles sometimes have when the simulation is not baked. Better to bake the simulation first.

I have no idea what would be right here. Only mentioning what I observe with my test.

You’re right of course. I was confusing ‘problematic user experience’ with ‘problematic coding’, and bug reports are about coding. Perhaps this issue should be on a wishlist.