Gaming
Индустрия· Latest Game Industry News | 80 Level· Amber Rutherford

Check Out This Physics-Based Fish Animation

This Fish Moves Using Simple Physics & Math

Shirzad Bahrami has published the tutorial along with a 3ds Max script.

Shirzad Bahrami, a Technical Artist at EA, recently shared an animation that quickly caught attention, with some assuming it was AI-generated or vibe-coded. But as Bahrami clarified, it's neither: "It's built using simple physics and math calculations to simulate undulation, with applications in both real-time and offline animation."

Physics-based animation is basically about simulating real-world physical laws and applying them to animated objects. If you want to see how the fish animation above was made, check out the tutorial, it also includes a 3ds Max script that helps break down the process. This setup uses undulation: the wave-like movement you see in fish tails, ropes, and hair. Instead of animating every bone by hand, you can animate just the root and let the rest of the chain follow along naturally.

"In this example, every bone tip behaves like a small point mass attached to a spring. The spring pulls the tip toward where the bone would normally be if it followed its parent rigidly. The tip is then constrained back to the bone length, and the bone is rotated to point toward it.

The whole system only needs a few things:

  • The chain's rest pose
  • A simulated tip position and velocity for each bone
  • A spring-damper
  • A length constraint
  • A rotation that aims each bone toward its simulated tip.

The result is delayed motion, overshoot, and settling without needing a full physics solver."

This creature animation is another nice example of how math can drive motion. You can learn more about how Vitaliy Kaurov created it in this article.

If you're a Blender user, you might also want to check out Goo Physics for stylized simulations or take a look at the new Hurricane physics engine:

Recently, Erin Catto's Box3D, a new 3D physics engine for games, has been gaining a lot of attention. There's also already an Unreal Engine integration available.

Открыть оригинал