SeaPerch Underwater Animation
by Saucy Moss in Craft > Digital Graphics
199 Views, 0 Favorites, 0 Comments
SeaPerch Underwater Animation
SeaPerch is an international underwater robotics competition that I have participated in since 9th grade. I have also done VEX robotics, and every year, they have a super cool video that explains the game. SeaPerch only gets a handbook (just text and pictures), so I decided to change that. As a senior and the SeaPerch club president at my school, it is my responsibility to help all my club members achieve their full potential. This video allows people to better understand the 2025 challenge. I decided to publish my video online to help everyone in the SeaPerch community. That, along with this Instructable, will also hopefully inspire someone to make another SeaPerch video for next year, since I'll be going to college.
My 3D animation explains how the 2025 SeaPerch mission works with a simple Remotely Operated Vehicle (ROV) flying through the water and completing the challenge. In this Instructable, I'll show you what software I used and the steps I took to get my final result.
Supplies
Software:
- Microsoft Word
- Autodesk Fusion 360
- Blender
- Microsoft Clip Champ
Write the Script and Make a Storyboard
Before you do any modeling or animation, you need a plan. After studying the SeaPerch handbook to thoroughly learn this year's game, I wrote a script in Word and used the commenting feature to plan out every shot for my animation. You don't have to follow your plan exactly, but it should serve as a good starting point and show you what needs to be done next.
Create Your Assets
First, I created my ROV model Fusion 360. Every year, I design my SeaPerch ROV in CAD before my team builds it, so I already had all the assets (the pipe fittings and thrusters) I needed to digitally build this simple ROV. SeaPerch makes a model for their course that is viewable online, and after a few emails, I got my hands on the file. When all of my models were ready in Fusion 360, I saved all the parts as .obj files so that I could import them into Blender. Just make sure that you save any object that needs to move (all the game pieces, the propellers, the hatch, etc.) as different files so that you can animate them individually. Also roughly texture your files now, as the .obj file saves which faces are different colors.
Downloads
Build the Scene
At first, I wasn't sure which 3D animation software I should use. I have never touched any 3D animation software before. I considered Maya because I was already familiar with Fusion 360, so staying within the Autodesk ecosystem seemed reasonable. Plus with my Autodesk education license, I could use it for free. However, I decided to use Blender due to the vast amount of resources online and forever free license. If I thought I wanted to go into 3D animation or VFX as a career, I would've learned Maya because of how many film studios use it, but since I see this only as a fun hobby, I decided to go with Blender.
With that out of the way, I'll show you how I made by underwater scene.
- I started by importing all the models into Blender. In the first picture, you can see I've moved and rotated one of the "coral samples" into place with the transform tool, and I can change the colors in the materials tab in the bottom right.
- In the second picture, you can see how I set up the water. I added a cube, scaled it up to fill the pool, and added the nodes that you see in the bottom half of the picture. The two values in yellow (Y and W) are what change as the scene plays out. The Y value just makes the surface ripples travel in the Y direction. The W value determines the noise pattern of the ripples, so if it didn't change, the ripples wouldn't have any variation during the animation. I'll show you how to change these values as the scene plays out in my animation step. Also, the values I used may have different results based on the scale of your pool in Blender, so you may have to change them a little to suit your needs.
- Making the water caustics (the light pattern you see on the pool floor and on all the objects) was similar to the water with the nodes, with the main difference being that it's an area light instead of a cube. In the third picture, you can again see how I set it up. The fourth picture is what I put into the orange image texture node to get my effect. Again, the Y and W values change over time to make the light move with the ripples.
- Then I added the environment, which is just a simple blue sky. In the fifth picture, you can see what that looks like from under the water, plus you can see its settings in the bottom right corner in the world settings. You can find these environment (.exr) files online at sites like Poly Haven.
Animate Each Scene
First, I opened the animation timeline window. For each shot, I timed myself saying the my voice over. Then, I multiplied the seconds by 24 (animations are 24 frames per second by default) to make the scene as long as it needed to be. 3D animation, in a nutshell, is just telling the program where something is at a certain time. Blender figures out the rest for you.
To animate the water and water caustics:
- Set the frame to 0 in the timeline.
- Right click on the Y or W value in the water or water caustics node.
- Click "insert keyframe"
- Set the frame to the longest any of your scenes could be, such as 240 (for a ten second scene).
- Change the Y or W value and insert another keyframe.
- Select your keyframes, press [shift + e], and select "linear extrapolation." This just makes the animation have a constant speed.
- Play the animation to see how it looks. You need to be rendering the viewport in cycles to see the effect, which may need some optimization if you're using integrated graphics or a weak graphics card. I followed this tutorial to make things much faster on my pc.
Animating the ROV and the other objects was very similar. To do that, just follow the same steps above, except you are changing the location and rotation values. I also recommend not using linear extrapolation, as stuff looks more realistic with gradual acceleration.
My experience from driving my own ROV in past years helped me visualize how the ROV would move in the video. Sometimes the ROV's movements appear janky, but keep in mind that is just how these robots move while suspended in water.
You can also animate the camera for your scene. What I like to do is orient my viewport camera into position, and press [crtl + alt + numpad 0] to make my camera jump to where I'm looking. After I insert my keyframe, I can move up however many frames I want, look somewhere else, use the same command, and insert another keyframe.
Once you have a scene animated, watch it through the camera view, and if you are happy with it, you can render it. Check your render and output settings, and click on "render" and then "render animation" in the top left corner. For me, rendering frames out of the water took about fifteen seconds and frames in the water took about eight seconds each. I have a 4060ti and my render settings were 64 samples at 1080p. More samples at a higher resolution would look better but at the cost of time, so choose the settings that are right for you.
Edit the Video
With all my scenes done, it was time to put them together into a whole video. I used Microsoft Clip Champ because it was free and preinstalled on my computer with Windows 11. It was intuitive, simple, and worked just fine, which was all I needed. My iMovie skills transferred over quite well.
All I had to do was import the scene files, record myself saying each line, overlay the audio onto the corresponding scene, and add some text overlays.
Finally, I uploaded the video to my YouTube channel with captions and timestamps!