0
$\begingroup$

I'm using particle Boid physics to move a lot of fish-shaped objects, but all the fish are going backwards. How can I make them swim in the direction of their heads? Any advice would be greatly appreciated.

$\endgroup$
7
  • $\begingroup$ Pls provide blend file $\endgroup$
    – Chris
    Feb 14, 2022 at 8:40
  • 2
    $\begingroup$ Perhaps you've modeled the fish in the wrong direction. Switch into Edit Mode, select all with A, then rotate the mesh on the Z axis by 180° with pressing R > Z > 180 > Return. $\endgroup$ Feb 14, 2022 at 10:08
  • 1
    $\begingroup$ @gecko You're welcome. Whenever you are using particles or hair for example to distribute trees or anything and they are pointing in the wrong direction, most likely the mesh is rotated incorrect relative to the object's local axis. Or different from what the particle system "wants", that's why in many tutorials on distributing plants or other objects people often have to rotate their meshes in Edit Mode (or in Object Mode with applying the rotation afterwards). $\endgroup$ Feb 15, 2022 at 5:41
  • 1
    $\begingroup$ @gecko Well, that's quite easy: now that you got yours working you can just take a look at it ;) No, seriously: when your object's rotation is reset so that it's 0° on all axis, then (let's assume it's a fish) the head has to point in the positive Y direction, it's tail fin to negative Y. His dorsal fin should be pointing up in positive Z. So it's forward +Y, backward -Y, upward +Z, downward -Z, right +X and left -X. Just like the world coordinates are aligned. $\endgroup$ Mar 2, 2022 at 7:15
  • 1
    $\begingroup$ @gecko But beware: this is for Boids, like fishes. If you use a flat plane, its normal pointing upwards to world's +Z and instead would set the Physics to Newtonian without any randomization on rotation etc., the fishes would spawn facing their heads in +X direction, dorsal fin upwards to +Z. And if you don't use Particles but Hair without randomization, the fish heads would point upwards +Z and the dorsal fins would point in +X direction. $\endgroup$ Mar 2, 2022 at 7:26

1 Answer 1

1
$\begingroup$

I'm going to summarize what we talked about in the comments to make it an answer: to solve your problem, the fishes are going backwards because they are modeled in the wrong direction. To make them swim forwards, simply switch to Edit Mode, select the complete mesh by pressing A, then rotate it 180° on the Z axis by pressing R, then Z, type 180 and press Enter and tab back into Object Mode.

Now here's an overview about how the orientation on different particle systems work. As a premise, the plane carrying the Emitter has a reset rotation (all axes 0°) and the face normal is pointing upwards in +Z direction. The fish object also has a rotation of 0° on all axes.

To get the fish swimming in the right direction, it should be modeled aligned to the positive directions of the world's coordinate system like this:

fish model

If you now create a Particle System > Emitter on a plane with Physics Type set to Boids, the fish will start to swim forward:

fishes boids

But note that the emitted objects are aligned differently "forward" when you use other physics settings. For example, if you use the default Physics Type > Newtonian instead of Boids and make no changes to randomize the rotation etc. of the spawned particles, the fish will be spawned facing forward into the +X direction, with their dorsal fins still pointing upwards.

fishes newtonian

If you switch the Particle System to Hair, the direction is even more different. Hair is growing in the face normal's direction, which means the fish are facing now forward into the +Z direction, with their dorsal fins pointing in the +X direction:

fish hair

$\endgroup$
2
  • $\begingroup$ I think I literally started using Blender "left and right". Your wonderful and clear explanations are very informative. And thanks for sharing the comparison to hair particles! Understanding these small things is important. $\endgroup$
    – gecko
    Mar 3, 2022 at 5:07
  • 1
    $\begingroup$ @gecko Usually when someone uses hair to distribute trees, flowers etc. a uniform rotation is unwanted and so they randomize them, also if you use Newtonian particles to create something like rain, snow or falling leaves the default rotation of the objects won't matter. It's mostly boids where you realize the birds or fish etc. are moving wrongly aligned, but since the alignment is not the same for different emitter settings I thought I'll give an overview. By the way, it can be that the Newtonian are initially not oriented like shown in the picture, but this changes after baking at latest. $\endgroup$ Mar 3, 2022 at 6:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .