Part II: Adding Stuff Underwater
For this part of the module, I took some ideas from Ghislain Girardot's video that Nick showed us, and tried to add some underwater elements and give them a little life.
Fish
For the fish, I found a really helpful tutorial on Youtube about how to get a static mesh to follow along a spline. It uses a Timeline to make a float track, and uses that to map the length of the spline from 0 to 1, and update the location and rotation of the fish along the spline.
I also wanted the fish to move up/down/side to side, but I wasn't sure how to get that to happen while still having the fish follow the spline, since their location is updated every tick to be on the spline. Instead, I used the World Position offset channel in the fish material to give the appearance of movement. It uses Time, a Sine node, and a vector parameter, which is then multiplied by either red, green, or blue to assign it to the x, y, or z axis respectively.
RotateAboutWorldAxis_cheap node to make the fins flap a little, masking the front of the fish's body and leaving the back half to be rotated along the z-axis.
Seaweed
The seaweed also uses its material to simulate movement. It uses two nodes, a RadialGradientExponential node and a SimpleGrassWind node. The RadialGradientExponential node is used to mask the very bottom of the blades of seaweed so that it's not moving at its root. The SimpleGrassWind node actually moves the seaweed.
The meshes for the fish and the seaweed aren't mine, and came from Sketchfab.
Edge Foam
I updated the edge foam to also try to mimic what Ghislain did, but I'm not sure I like it better than the old edge foam.
Instead of using a Noise node, it uses a tileable texture map, and uses the DistanceFieldGradient node and the DistanceToNearestSurface node like the old set-up did, but in this case it uses it to pan the texture.
I think I might revert it to the old edge foam set-up, but I'm not sure.
No comments:
Post a Comment