Hi zac, from my experience with game engines, there are a few things that
you need to bare in mind when doing character animation.
The first thing is to make sure that your walk/swim animation loops. A
seamless loop is necessary to remove the jumping. So make sure your first
and last keyframe is the same. You can select the whole team on the
beginning of the frame, set key and hold shift and drag it to the end
duplicate it.
As for the how the mesh will be projected, there is no real right answer for
that. It really depends on the character.
For a human it's fairly simple. I used a UDK animtree to setup my characther
walking node. And it works pretty well, but some logic will be needed, for
example if the characther seems to slide then we will have to match the
speed or the play rate of the animation.
For fish, just make a swimming loop animation. For the behaviour of the
direction and movement, that needs to be done with ai scripting, there is no
other way around it (as far as I know).
But for procedural animation of course you don't need scripting but it wont
be dynamic.
If you need the fish to be animated by using the WASD control then animation
blending is really important. It can get really complex, as far as I know
sport games have the most complex animation. But as for fish, they don't
starfe (not sure if I spell it correctly) to the left or right, They just
move forward. So just make a looping swimming animation about 30 - 50
frames, really depend on ur animation but 40 does the job for me.
Again, I don't work with unity but I think it should do a little bit of
justice since I have a walking animation work for my self and I'm a little
familiar with tech artist problem since I have it everyday.
Just like unreal, unity has it's own community. If you still have problem, I
think you should just post your problem there, someone should be able to
help you.