First step find reference of animals underwater
Never underestimate the power of reference, here is some I used...
Here is some video reference of a tiger underwater.....
.....I also looked at Ink in water.
After watching the reference many times, I decided to break up the "underwater effect" into five different areas....
- Force of movement from the object
- Wave motion through hair when the object moves
- Water movement and direction
- Other objects making the water move for example the paw of the tiger
- Over all Puff
In my little demo scene for this blog post I'm going to touch on some of the ways I got around these problems. Obviously it includes tons of things I learned from tutorials and other resources. I'm not going to go into to much detail. Honestly I don't know if this is the best way to make under water fur effects, lets just say it worked for me :D Here's a Capture of the demo scene....
Break down of Scene
There is an over all modulate by null in this scene - Box null - , so that it looks like the sphere is entering the water, and leaving it again. Also all the effects are in the modeling stack in ICE. None of the effects are in the "Simulation stack".
Step One: "Force of movement" made with the following ICE Trees
Create an none simulated ICE tree in the modeling stack. Then get the point velocity from the emitter using the get closest location node, then apply that point velocity value to all the points in the strand. This way we get a strand velocity value for each point on the strand.
Then I apply the Velocity as a "force", and vary it with the mass of the strands.
Step two: I made the following ICE trees for the wake.
The wake was just added to the "force" of the velocity.
The wake is a simple sin function that takes the global position into account. I added a random around value to the amplitude to get it to be less repetitive.
Step three: The following ICE Trees are for water direction and movement.
To start off, watch this tutorial by Paul Smith
So now that you have a feel for vector flow, I used the vector flow of a bunch of curves the represented the "waters" flow direction. This is all still in the modeling stack.
Here are the curves I made for this scene.... to create variation of motion in the water I just animated the curves to rotate around their local orientation.
Step Four: Other objects making the water moveHere I have the strands push away from a Null object. I modified the modulate by null to take into account the strand position of the strands.
Step Five: Puff
The puff is just a simple push along the Y axis of the strands to add the illusion of weightlessness.
Nice thing about doing the "under water effect" in the modelling stack is... I could step through my scene without having to wait for a simulation bar to calculate. And because of the curves I could change the way the water effected the fur on frame 60 but have frame 5 be uneffected. Which is really nice and flexible and feels more like animating then simulating. :D