iPi Desktop Motion Capture: Indies Got Moves
May 6, 2013 11:27 pm
Some time ago I reviewed iPi Desktop Motion Capture, a very affordable motion capture solution from iPi Soft. This time I am coming back to this software, but from a different perspective.
As some may know, I left the “media production” side of things over 2 years ago, and I am now what you could call an “indie game developer.” We’ve been working on a horror game titled Enola for about a year, and we recently began working on the characters for the game. While there aren’t many characters in Enola, we want them to be as compelling as possible, even if they are not photorealistic and aren’t nearly as nice looking as those in your average AAA game (Halo 4, Bioshock, and such). This is important, because Enola is very story-driven, and characters play a big role in delivering the story.
Character animation for Enola is done in two separate areas: facial animation and body animation. For facial animation, I use Softimage Face Robot, and the body animation (our subject of interest this time) is made using a combination of iPi Desktop Motion Capture and Maya.
I am using iPi DMC version 2 for this, and while the software has gone through quite a few changes, the workflow is the same. Basically, you setup an array of cameras around your subject to create a “motion capture volume.” You can use either Playstation Eye cameras, or depth sensors (like Microsoft Kinect). When the array is ready, you just record your performance using the iPi Recorder, and then send that video data to iPi Desktop Motion Capture. The software then analyzes the performer’s motion, recognizing your actor’s body and clothing color, and solves that motion onto a digital avatar. Finally, you can export that motion to any software package and use that software’s native animation tools to apply the motion to your own virtual characters.
A big part of indie game development is managing to do games “on the cheap,” because you don’t have deep pockets. Indie games usually have budgets of a few thousand, while AAA games have budgets that easily go over more than a few million dollars. For a game like Enola, where characters play such an important role, we had the option to either spend many months keyframe-animating all the characters, or using motion capture. However, the problem with most motion capture systems is price, and this is where an application like iPi Desktop Motion Capture fits the indie way perfectly.
The setup I am using is based on 4 Playstation Eye cameras (although in this specific case I only used 3). It is recommended that the performer wears something that provides good contrast with the background, so image recognition is easier. This is why I wore my nicest red pants and a blue long-sleeve shirt. If you check the pricing on the iPi Soft website (http://ipisoft.com/store/) you notice that 4 camera support is included in the Basic edition, which is $595. Add 4 Playstation Eye cameras (they are available for around $23 on Amazon) and the entire setup will cost a little below $700 (well, 4 tripods can raise the total cost to around $800). That is a lot less than your average motion capture studio (if I am not mistaken, a single optical camera can cost twice as much). You can also estimate how much using the Standard edition would cost, based on your needs.
In some cases, using 3 cameras can be enough, but you need to pay extra attention to “body part occlusion” (this means that you may occlude a body part, like your hand, with another part of your body, like your chest or head), so using 4 cameras would be a lot better. You can also use 2 Kinect depth sensors with the Basic edition, but I can’t really say if this works better than the 4 camera array, because I have never used a Kinect with iPi DMC.
The better your setup (illumination, computer speed, USB ports speed and number of enhanced USB 2.0 controllers), the better your final results will be. Unfortunately, even my desktop computer has only one USB 2.0 controller, so I can’t record using the highest available resolution and frame rate. After testing a few times, I found the optimal resolution and frame rate combinations. That doesn’t mean the software didn’t have problems tracking some movements, as I would sometimes find myself pausing and readjusting bones during the motion tracking stage. Improving the motion capture setup can avoid a lot of problems on the tracking stage, though. The next video shows the iPi DMC output based on my setup (tracking problems included) and then a final animation after some minor tweaking in Maya.
Since I would export the animations as .FBX files (what you export is an animated skeleton), I can import then in Maya easily, because it includes native .FBX support. The resulting skeleton can be bound to an existing character, but that doesn’t help if your character has different proportions, or if you have already skinned your character (which is my case). Maya includes the HumanIK module, which basically serves two purposes: it allows to animate characters using Full Body Inverse Kinematics (the animation system built in MotionBuilder), and it also allows to retarget animation between two characters, even if they have different proportions. Retargeting animation using HumanIK also allows you to edit the animations, and pretty much modify them in any way. For example, if my character delivers a blow, I can make it more dynamic, faster, and add little details that will sell the motion better. Even if you edit the animations, mocap saves you a lot of work because editing and retiming animations is a lot faster than animating from scratch.
The next video shows an in-game sequence where some of the captured animations are used:
I don’t really have experience animating characters in other software applications, so I don’t know how easy it would be to transfer the motion captured using iPi DMC to a game character using, for example, Max or Blender (on a side note, using Blender as your 3d application for game making would really help keep costs to a minimum, because it’s free). However, I’m sure any modern 3d app must have a native retargeting solution that allows you to deal with this.
If you’re an indie game developer who’s working on a game using any 3d engine (UDK, Unity, CryEngine, and such), but you’ve been avoiding characters because animating them would be very time consuming, you should take iPi Desktop Motion Capture into consideration. For just under $800 you can get a pretty nice motion capture setup that can save you a lot of work and can yield good results. As a matter of fact, after using this application I even wanted to add more characters into Enola, because the final animations were extremely good, and produced in a very short time.
If you are into horror games (that don't include combat, zombies or cutting monsters in half using chainsaws) and want to know a little more about Enola, you can follow this link.
Sergio Aris Rosa [nemirc], is Sr. Staff Writer for the Renderosity Front Page News. Sergio discusses on computer graphics software, animation techniques, and technology. He also hosts interviews with professionals in the animation and cinematography fields. You can follow him on Twitter, and if you want to see what he's up to you can visit his blog.
May 6, 2013
Please note: If you find the color of the text hard to read, please click on "Printer-friendly" and black text will appear on a white background.
Please take a moment to join Renderosity's Newsletter List to receive news and information from Renderosity!