It's not fish science - Subnautica

SystemSystem Join Date: 2013-01-29 Member: 182599Members, Super Administrators, Reinforced - Diamond

imageIt's not fish science - Subnautica

Making creatures swim like fish is suprisingly difficult. It leads right into the territory of non-holonomic locomotion. Equations with lots of funny greek symbols. The reason behind all this is...

Read the full story here


Comments

  • HughHugh Cameraman San Francisco, CA Join Date: 2010-04-18 Member: 71444NS2 Developer, NS2 Playtester, Reinforced - Silver, Reinforced - Onos, WC 2013 - Shadow, Subnautica Developer, Pistachionauts
    Bumping for @lumpn to open comment thread
  • SquiddapultSquiddapult Canada Join Date: 2014-10-25 Member: 199111Members
    Solution: All fish have wheels on this planet, and water is air.

    Subnautica renamed to Subnascar
  • moultanomoultano 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
    Strawman proposal. You know you finally want smooth movement, so define their trajectory in terms of splines. Each fish places their next spline control point somewhere within their view frustrum. Define a spine along the central axis of the fish that slides along the spline, and parameterize the animation relative to the local spline normals.
  • 2cough2cough Rocky Mountain High Join Date: 2013-03-14 Member: 183952Members, Reinforced - Shadow, WC 2013 - Supporter
    moultano wrote: »
    Strawman proposal. You know you finally want smooth movement, so define their trajectory in terms of splines. Each fish places their next spline control point somewhere within their view frustrum. Define a spine along the central axis of the fish that slides along the spline, and parameterize the animation relative to the local spline normals.

    Was just about to say that.
  • HughHugh Cameraman San Francisco, CA Join Date: 2010-04-18 Member: 71444NS2 Developer, NS2 Playtester, Reinforced - Silver, Reinforced - Onos, WC 2013 - Shadow, Subnautica Developer, Pistachionauts
    moultano wrote: »
    Strawman proposal. You know you finally want smooth movement, so define their trajectory in terms of splines. Each fish places their next spline control point somewhere within their view frustrum. Define a spine along the central axis of the fish that slides along the spline, and parameterize the animation relative to the local spline normals.

    SPEAK ENGLISH MAN

  • moultanomoultano 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
    edited November 2014
    Hugh wrote: »
    moultano wrote: »
    Strawman proposal. You know you finally want smooth movement, so define their trajectory in terms of splines. Each fish places their next spline control point somewhere within their view frustrum. Define a spine along the central axis of the fish that slides along the spline, and parameterize the animation relative to the local spline normals.

    SPEAK ENGLISH MAN
    :)
    First plot a smooth rollercoaster track through space. Slide the spine of the fish along that track as if each vertebra were a car in the rollercoaster.
  • LumpNLumpN Join Date: 2002-10-30 Member: 1725Members, Subnautica Developer
    edited November 2014
    moultano wrote: »
    First plot a smooth rollercoaster track through space. Slide the spine of the fish along that track as if each vertebra were a car in the rollercoaster.

    That is what I did in the second screen shot. Works like charm in a sandbox but not so much in the real virtual world. Turns out that rollercoasters don't handle dynamic obstacles and currents very gracefully. They can be quite stiff about it.

    The other suggestion of putting wheels on the fish and make the water like air didn't go too far either. Apparently wheels are kind of useless in air. Might need some more investigation though.

    I'll probably use the spline approach to drive the fins and have underwater aerodynamics handle the rest.
  • trinity.nstrinity.ns Join Date: 2008-12-07 Member: 65688Members, Reinforced - Shadow
    edited November 2014
    How about just considering current point in time and making changes to fish momentum based on that? I.e. overall goal (direction) and checking for collisions (predicting location of objects nearby)?
  • CarNagE1CarNagE1 Poland Join Date: 2003-05-14 Member: 16298Members, NS2 Playtester, Reinforced - Shadow, WC 2013 - Supporter, Subnautica Playtester
    edited November 2014
Sign In or Register to comment.