My current project needed a method for capturing in-game events for later use. Since the data was there I thought importing it to modo to reconstruct the scene should be straightforward. I made an importer, made a little map, captured my performance and rendered it in modo.
The movement of the camera and the physics driven objects were sampled at 20 Hz.
To keep the data output in check, triggers were used on the map to control which actors are captured, silencing irrelevant ones.
The final animation is three different sessions merged together. (The blending between them is quite visible, I will need to come up with a better solution.)
During import similar consecutive keyframes were dropped to further decrease the processed data. Still, after around 500 imported, processed and created key, modo’s memory consumption went through the roof (2.7+ Gb) so I wasn’t able to import the data all at once. I changed the script so it could continue from where it left off and I saved the scene and restarted modo between passes. (I did this 80 times with each import taking about 8 minutes.)
One of the key features of the importer is the capability to reconstruct the scene using the same .FBX asset files which were imported to Unreal. The directory structure for those files mirrored the package structure created in Unreal. (Which is a good idea regardless.)
Each visible object is an instance of an imported reference, so changes in content automatically update the scene. (The parent references are left at the origin but scaled down to infinitely small, so they don’t interfere with the scene.)
Bone transformations can also be captured so the next version of the importer will probably support some kind of a virtual motion capture for the player character and other skeletal meshes.