Getting shape instance to rotate around local axis.


#1

First of all hello :wink:

I’m pretty inexperienced in pflow and just use it from time to time when I need basic scattering etc. so I usually shy away from more complex stuff but I thought what I was planning for an animation shouldn’t be too hard. Sadly I’m stumped.

In my first event I spawn a set of instanced planes on every vertex point on a cylinder + aligning them to the closest point normal via data operator. They get send to the next event after a collision test. In the next event I need them to gradually rotate away from the cylinder along their local Y axis before flying off the cylinder in the third event. Without worrying about the “gradually rotation” I’m already halted by even getting them to rotate correctly. It seems I can rotate them in every direction except the one I need.
If someone could give me a pointer that would be fantastic :slight_smile:


#2

You can try moving or animating the Base object pivot point.

Post a simple scene of your setup.


#3

what i understand, another solution is you can use spin (particle space) to let particles rotate in y direction of thier local y-space.


#4

Thanks for the responses! :slight_smile:

Now I feel extremely stupid because the “spin” did exactly what I needed. I have no idea why I didn’t even try to use that one. Probably because I thought well if the rotation operator doesnt have the “particle space” option why would the spin.

Maybe its just better to never assume things :confused:


#5

They are a bit confusing. It can also be problematic to use both Rotation and Spin in the same event, the operator placement is important as well as Coordinate Space. You can use an initial Rotation and a Go To Rotation with ease control. Maybe this is helpful, see attached:


#6

wow Johnny, such a nice expalanation. thumbs up!!


#7

Thanks Johnny. Much appreciated!!

I have another question not really related to the problem of my original post but I don’t want to create a new thread so I hope you don’t mind.

The setup is used to have alot of TV-screens doing stuff. The objects I use is a “glass box” and a plane (working as the tv screen). Since I have hundreds of those I’d like to randominze the images on the plane which works great using the dynamic mapping and randomizing the material id + vrays multitexture. My problem starts when I put both objects in a group and randomize the material ids, because the glass box object is affected as well, which I don’t want. So I’m looking for a way to randomize the IDs just for the plane.
When I try to have two birth events feeding into the same system (one for the box and one for the plane) at first everything looks correct but as soon as things like forces come into play both objects move indipendent from each other whichs ruins the effect.


#8

Try using the one as a proxy system to grab positions for the other system.

Something like this: https://vimeo.com/64527024


#9

Sorry for not answering sooner but I wasn’t near PC for a few days.
First of all big thanks for your video. The idea of using the other system as a proxy system is genius and works for the most part. Inside the viewport everything looks like it should but oddly enough when I try to render it seems like the position isn’t updated correctly. For example some particles are where they were 50 frames prior and some are further ahead or not moving at all. Do you might have an idea what is going on?

edit Inside the Data Operator I started like you did using the PF Source as input and I feed that into a Position Vector and Rotation Quaternion and outputting those as new rotation and positon.