How ought I lock particles' rotation so that they always face their velocity vector? I have a particle system that manages a bunch of very small spaceships coming from a mothership, and I'm wondering if there's an efficient way to make each of those particles face its own velocity vector. 

Each particle is independently affected by a set of force fields I have set up to give them a natural path. They are emitted from a single vertex with a random velocity between zero and one,and I have managed to get them to face their original velocities by enabling Rotation and setting Initial Orientation to Velocity/Hair. 

I have tried various combinations of Angular Velocity and Dynamic rotation settings in hopes of achieving the desired effect, but no dice so far. Any ideas?





Top left field attracts, middle field repels, bottom right is wind, and the top right field is magnetic.

Please save my sad, directionless spaceships!
This can be done using the Animation Nodes addon. I've made a node graph that makes particles orient to their velocity. It's kind of a hack, but basically the idea is to create an instance of the ship for every particle in the scene, and then rotate the instance according to the particle's velocity. So essentially, you're replacing Blender's particles with your own. Also, you should make the original particles invisible by going to Particle System tab -> Render and selecting "None".

Here's the node graph:


And here's a proof of concept using this node graph: