Particle Instance Modifier - custom per-instance orientation along hair strand

Hi everyone,

I experimented with using Particle Instance Modifier for generating hair sheets on game characters and couldn’t find a good way for orienting the sheets the correct way. So I made a small update to the modifier code which essentially allows me to use hair strand direction to define per-instance orientation.

Here’s also a short video https://youtu.be/kTNMdkprdCE

So I have two questions about this:

  1. Since I implemented this directly in the modifier code, is there a better approach considering maybe easier integration into the release, or to better align with future features? I’d be happy to share a patch.

  2. I’d also like to have an option to freeze orientation at a certain (per-particle) angle but I wasn’t able to handle the float array storage correctly. It should probably be stored (and serialized) together with the modifier but I just lack the insight how this is handled inside Blender. Can someone point me in the right direction with some docs or code examples?

Any thoughts or suggestions are welcome. Thank you

In 2.4x, rotation was handled by a weight group.
This way to control rotation was kept in following series until its removal.

So, a per particle control of rotation would be welcomed.
Of course, it is more pertinent to use a tool in particle edit mode than in weight paint mode for that.

Current system that is common for hair and emitter particles will be split in future releases.


A new Hair object will be developed and it should handle modifiers.
So, particle instance modifier behavior could be reversed. Instead of being supported by mesh to instance and picking a particle emitter as target, we could have a modifier present on hair object picking mesh to instance as target.

@brecht did not start work on this new object type. He has just put in place first milestone for new Volume object type.
I don’t know if somebody else will work on Hair object type.