Fish Motion! My #1 graphical request.
moultano
Creator of ns_shiva. Join Date: 2002-12-14 Member: 10806Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Gold, NS2 Community Developer, Pistachionauts
The subnautica creatures all look great, until they move! The ones swimming in a straight line look decent enough, but nothing breaks my immersion more than seeing a fish pivot in place around it's model axis.
From what I can tell, when a real fish is turning, they lead with their "torso" and pectoral fins, with the tail limp until it's in position, then they thrust to power themselves. Subnautica's fish need some way for their parts to alternately drift and be powered.
I looked for some papers, and haven't found anything super interesting. The videos in part 4 of this are really nice http://courses.cs.washington.edu/courses/cse557/04wi/projects/final-project/artifacts/noah_masa/ but they don't work for turning. I'll see what I can find!
From what I can tell, when a real fish is turning, they lead with their "torso" and pectoral fins, with the tail limp until it's in position, then they thrust to power themselves. Subnautica's fish need some way for their parts to alternately drift and be powered.
I looked for some papers, and haven't found anything super interesting. The videos in part 4 of this are really nice http://courses.cs.washington.edu/courses/cse557/04wi/projects/final-project/artifacts/noah_masa/ but they don't work for turning. I'll see what I can find!
Comments
a problem is though, there seems to be a conflict between code and some of the set up pose parameters (some models think -1.0 is left, others think -1.0 is right). that has to be resolved first.
second issue is (which im fixing now atm) is the basic swim script (its literally called SwimRandom.cs) does not have some "target direction". it applies every x seconds (0.4 by default) an impulse, in a random direction, which explains why many fishes swim very unrealistic (velocity vectors just cancel each other by chance, which let the fishes appear to rotate at the same place sometimes). this is not difficult to fix, and i will do some experimenting for the build today or either tomorrow.
The way fish move is so important to their beauty, and making it really smooth and coordinated is a big part of it I think.