Betta Fish Bone Animation

A betta fish rigged with 50+ XPBD bone joints in three.js: drag the head and the whole body and tail follow. Copy the prompt to build your own.

Loading preview...
Start with this prompt

Generate a draggable betta fish physics animation

Jellyfish Swap

Swap the betta for a translucent rigged jellyfish.

Try Kimi Build
Use three.js together with XPBD (Extended Position Based Dynamics) constraints to create silky-smooth physics-driven motion for a betta fish. Rig the fish with at least 50 skeletal nodes so its body deforms continuously from head to tail. The scene is set underwater. The user can grab the fish's head with the mouse and drag it, and the constraint solver must pull the entire body along behind the head while the tail keeps swinging flexibly and naturally. First paint the skinning weights properly on the fish mesh, then build the HTML interaction layer on top of the finished rig and physics. Replace the star with a translucent jellyfish: distribute bone joints along the bell rim and tentacles so dragging the bell makes the tentacles trail behind through the XPBD constraints. Switch the material to a subsurface-scattering translucent look and tint the scene lighting deep blue. 
School and Feeding

Add a small fish school and click-to-feed interaction.

Try Kimi Build
Use three.js together with XPBD (Extended Position Based Dynamics) constraints to create silky-smooth physics-driven motion for a betta fish. Rig the fish with at least 50 skeletal nodes so its body deforms continuously from head to tail. The scene is set underwater. The user can grab the fish's head with the mouse and drag it, and the constraint solver must pull the entire body along behind the head while the tail keeps swinging flexibly and naturally. First paint the skinning weights properly on the fish mesh, then build the HTML interaction layer on top of the finished rig and physics. Add a school of 8 small fish around the main betta, using a simplified flocking algorithm so they cruise the water and avoid the betta. Clicking anywhere on the water surface drops food that the betta and the school swim toward. 
Biology Class Mode

Label the bone joints for classroom demos.

Try Kimi Build
Use three.js together with XPBD (Extended Position Based Dynamics) constraints to create silky-smooth physics-driven motion for a betta fish. Rig the fish with at least 50 skeletal nodes so its body deforms continuously from head to tail. The scene is set underwater. The user can grab the fish's head with the mouse and drag it, and the constraint solver must pull the entire body along behind the head while the tail keeps swinging flexibly and naturally. First paint the skinning weights properly on the fish mesh, then build the HTML interaction layer on top of the finished rig and physics. Add a teaching annotation mode: when toggled on, the betta's main bone joints (spine, caudal peduncle, fin rays) are labeled with names and connector lines, and clicking a joint opens a one-sentence functional note written in Chinese, ready for classroom projection.