Recording Camera Animations for UE4 with a Phone
Here's the final result in UE4, captured by me crawling around on the floor with my iPhone 8.A camera sequence from one of my unannounced projects
I used the app VirtuCamera for iOS, which connects via WiFi to Blender or Maya and transmits the camera movements live for recording onto an animation track. It will also broadcast the viewport back to your device, meaning you can see your 3D environment on the phone's screen whilst recording the animation.
Here's the workflow I used with Blender:
- Export the Level Geometry
- Import into Blender and Create a Camera
- Record the Camera Animation
- Export the Camera Animation from Blender
- Import into Sequencer in Unreal Engine 4
Export the Level Geometry
To allow me to record the animation with context in Blender, I exported my level geometry as an FBX from Unreal Engine 4.
This step is optional but it's extremely difficult to record the camera animations if you don't have the context of the level you're recording for.
Import into Blender and Create a Camera
Import your level geometry FBX into Blender, then navigate to where you want your scene to be and create a camera. Create it roughly at the height that you'll be standing with your phone at, you can adjust it later. The important thing is to get the camera in the right place in the level since it's harder to sort this out later.
Record the Camera Animation
It's really easy to connect the app to Blender, and once that's done it's just a case of starting to record. You may need to adjust the camera position in Blender to calibrate it to where your phone is in relation to the floor/walls etc to prevent clipping, and to get the right height.
Export the Camera Animation from Blender
The next step is to export the recording as an FBX. To do that, select the camera and export the FBX as normal with "selected objects" checked, so you just get the camera + animation and not the rest of the scene.
Import into Sequencer in Unreal Engine 4
The exported FBX can be imported directly into sequencer in UE4, where it can be tidied up and added to other camera shots. I used this particular clip as an intro sequence to a level, so used a fade-in and varied the focus of the camera at certain points.
Here are the raw tracks created from my original animation in sequencer as Blender exported them in the FBX:
This could be a really interesting workflow to use to capture animation for other things, such as flying robots, or movements of a pen. You can transfer the keyframes from the camera actor in sequencer over to any other actor, so it doesn't need to be a camera actor that has the animation applied to it.