 Hi everyone, welcome back to Gamedev Academy and today I'm going to show you how I used one of these which is my mobile phone or cell phone from America to animate this. So today's video is going to be a little bit different to what we've been doing recently because we're going to be taking a look at Radical Motion which is an app and online service used to get motion capture using only a mobile phone which I think is really cool. So recently they reached out to me to ask about the possibility of making a sponsored video looking at their service and being interested in motion capture myself I obviously said yes otherwise you wouldn't be watching this video and I thought it would be really interesting to share this with you guys as well. So I have got a little bit of history with trying to create my own motion capture so I used the PlayStation Move cameras a little bit and they also used Breckle Connect using the Microsoft Connect a few years ago and I'll pop some footage of that on screen now and as you can see it looks bloody awful. Don't know what I was thinking but there you go some ugly motion capture for you. But the service we'll be using today I think is a lot better. You get a really nice skeleton to work with that's really well named you can just download an FBX file and start transferring the animation onto whatever characters you want and you can also have a look within the app at how the animation is going to look. So there's a lot of cool things within this to take a look at. So strap in let's take a look. So the first thing you'll need to do is find their website. So if you search for radical motion like so the website is getrad.co So we'll have a look at that. And then the first thing you'll need to do is just start a free account which is as easy as it sounds. So you do get like seven days free to use the service to check it out and I do recommend you do that before needing to either pay for it or there is a free service available which you can have a bit of fun with as well. But what I need to do is just log in because I've been here before. Once you've made an account online the next thing you'll need to do is install the app. It's available on Android and iOS and it's as simple as searching in the app store or the play store for radical motion. Then all you need to do is download the app install it and log in. You'll then be able to turn on the camera for recording. So to get the best results out of the app you need to make sure that you're against as plain a background as you can get really and that you contrast with the background as much as possible. So I'm going up against a brick wall because I tried against my fence and I just kind of blended into it and in the space I've got the walls kind of the blankest and background that most contrasted with me. So that's what I'm using although you can see it's not really perfect and ideally I'd have gone against a white or even a green screen background if I had that available to me on the day. You also need to wear fairly tight fitting clothes because it's using the camera so it's looking at the shape of your body. So if your clothes are all over the place and don't reflect your body shape then that can interfere with the capture. The final thing that you need to do to get a good capture is begin the recording by standing in a t-pose taking one step to the side and then releasing the t-pose and then you can start recording. So you can see in my capture I did just that, the armature follows that and then I can go about doing some wacky movements. So you can see here the capture's gone pretty well. You can see that the armature's following my movements, the arms are doing the same, the legs are doing the same. There is the odd little glitch which is something that could either be cleaned up later or I could just record again using a better background but generally I'm pretty happy with this. I think I could probably take the weird little dance move with a bit of dead dancing and probably create a loop out of that, create a little emoto or something in game. So I'm pretty happy with that capture overall. When the recording is complete, the video will upload to Radical who will then begin doing their processing and I have found that the processing is generally complete in around about five minutes. I don't know if that's ever any faster or slower depending on busy or less busy times but for me that's been about as long as it takes. And then you can go to the dashboard. So here's my dashboard and here's the video that I recorded today. Having a beautiful time. Hey, look at that cute little guy. So this is what it looks like in here and you can see that it's been mapped onto this armature here, this character and that's now ready to be downloaded from Radical to then be transferred onto a character of our choosing which is what we will do next. So the first thing I'll do is click on the name of the upload which is called scan for and then this takes you to the page that kind of gives you all the information about this particular upload. Then you can choose to download which allows you to download the FBX which is just the skeleton with the animation on and it's just that easy. And we're going to open that up in Maya first of all. Okay then, so here we are in Maya. I've got a blank scene open and the first thing I want to do is to import the FBX that I've just downloaded to take a look at what the motion capture data looks like in here. So I'm going to do that now by just going to file and import. I've dropped the download in this little mocap folder I've created. So there it is, Android uploads scan-004 and then we can click on import and very quickly you can see that it imports this little skeleton that has the animation on it. Now the first thing I want to show you is this frame zero and it's really useful because this frame zero just gives you a reference T-pose which is really good for defining your character which I'll show you very shortly. But then after that frame zero, if I just move on a little bit it kind of jumps off the origin and goes on to do its cool animation-y stuff. So let's take a look at that and so let's just we'll start on frame one for now. We don't actually need frame zero so this is the animation and we'll just have a look at how this has come out. So let's press play. So this is looking pretty nice. It's the same motion that I did and it's also the same motion that we saw in the preview on the Radical Motion website. Here comes the groovy dance. Oh yeah, I've got some moves. So I think that's the bit I'm going to work with but that is working exactly how I expected it to. I've got just under 1600 frames worth of animation there for very little effort so that's great. What I want to do now then is get this animation onto a character and I'll try it with a couple of characters. I'm going to do it with the Unreal Engine 4 mannequin. It's going to have been doing a lot of working on Unreal Engine at the moment and I'll also drop it onto a simple character that I made and we'll see how it looks on that one as well. So first of all, we've got to set up a definition on this character and that's why that frame zero is really important. So let's go back to frame zero. This T pose is going to be very useful to us. So I'll switch over to my rigging tool set and go to skeleton and we're going to open the human IK tool. Here it is. And the first thing I want to do is create a character definition and we're going to create a definition of this. So I'll click on that button. Here is our character and nothing's been defined as yet but you can see you get this little preview with lots of different bones and we just need to tell Maya using this preview which bones are which. First of all though, I'm going to give this character a name. So I'm just going to call this mocap data. Oh, Maya got mad at me because I put a space in. So it's changed it to an underscore. Thank you, Maya. And now we're going to set this up. So the first one we need to do is find our root joint or our hips joint which is usually about here. And we can see hips is what it's called. This naming on this rig is really good actually. Now is a good time to talk about just how helpful the naming on the radical motion rig really makes this because we can work out everything is left arm is you can see left arm is that there. We've also got let's do that one there. That's called left leg. And if we mouse over that you can see left leg. So everything matches up really nicely which is super helpful. And word on the grapevine is that gen three is going to be even easier to work with. And I've had a look at some of the motion capture skeletons that have come out of that and I really do prefer them. So there are some cool things coming up. Anyways, enough getting off on our little tangenty sidetrack. Let's sort this definition out. So let's get the hips joint. And what we need to do is right click on the hips over here and just assign the selected bone. It goes green. That's the human IK tool saying, yeah, I'm happy with that, thanks. So then we'll do the other one. So there's spine. So we'll assign that bone. And then there are actually more than one spine joint. So you've got spine too. So what we need to do now is drop into here and we can add the other spine joints here. I might have missed a spine joint. Oh, I did. So let's assign that one there. Yes. And then that one is the next spine joint. There we go. And then we'll get the neck, which is just here. There you're going to see neck is the name. So we're going to drop into here and just assign it to neck. And then these two little weird things up here are the head. So we'll assign that. So we've got all going down the center of our character. Now here's another way that the naming really helps us out. We'll do this extra bit here. So the left shoulder, you've got your shoulder controls here. So I'll open that up and there are two, but we've only got one on this rig. So we'll just use this first one, assign select to bone. But then when we go out, you can see it's done both sides. And it's going to be the same with this upper arm here. So if I just assign the select to bone, because it's named really well with the left and a right in it, Maya picks up on that and does both sides of the rig at once. Wonderful. Okay, so let's just finish this off. So let's do the forearm. And we just need the hand. And then we'll get the upper leg and the lower part of the leg. And finally, we just need to get the foot. There we go. At this stage, we're going to happy little green tick up here. And that means that this definition is now ready to go. So if we now go to another character that has the same human IK definition on it, we can transfer the animation in just one click, which is what we're going to do. So now I'm going to bring in a character. So file, import. And I'm going to use the Unreal Engine for default third person mannequin. So let's import that beautifulness. Here it is. Look at that chap. So what we're going to do with this guy is put a definition on him in the same way that I've just done with the Radical Motion Skeleton. And then we can get this animation mapped from one to the other. So just a little bit of setup for this first. I'm going to go into the Outliner. And that master one there is the Radical Motion Skeleton. So I'm going to hide that with Ctrl and H. That leaves just the UE4 mannequin visible. And I'm also just going to turn off polygons for now so I can just see these joints. Now the naming on this one isn't as consistent, but it will still work. So I'm going to go to this plus here because I want a new character definition. I'm going to give it a name. I'll call it Manny because he's the mannequin. Brilliant. OK, so Manny now needs to be defined. So let's get this one first of all. And what I'll do at this stage is I'll just fast forward the video so you can see me doing this quicker because it's just the same process. And there we go. So that's that skeleton defined. You will notice that we've got a little caution here and that's because the UE4 skeleton is coming in more of an A pose and the human eye k-tool isn't as big a fan of that particular pose. It will still work absolutely fine. It's just giving me a warning that it might have some issues. OK, so let's look at mapping this animation over from one to the other. So I'm just going to now show the polygons and I'll turn off the joints just so that they're not getting in the way. So this is our character, beautiful Manny that he is. Can just close that for now. And what we need to do is format and we're going to change the source to the mocap data. And what that will do is tell it. So if we just go on to frame four, you can see that that's now trying to follow the motion capture. So if I just press play, it's not going to look great yet. It's going to be a little bit derpy. There you go. His arms are all inside him. And that's because we just need to fine tune the human eye k-tool a little bit, which we will, of course, do. So let's sort the arms out first. So we just click on one of the arms in here and this eye k blend T. If we just turn that up, that'll kind of put the arm in the right place. You might not want it all the way. You see that's just kind of overextended the elbow a little bit. So I might just bring it down to about 0.95 and I'll do the same for the other arm. And now the arm should look much better. Yeah, that's not bad. The next thing I want to do is sort this left foot out. Now this seems to just be a little bit of a glitch with the way that the Gen 2 skeleton works. This has happened on all of my catchers so far. And I've also seen it happen on someone else's as well. But there is a little fix for it. And I've seen some much cleaner data coming out of Gen 3. So I don't see there being an issue there. But I'll show you the way that I'm currently fixing this. So if we go to... We'll turn the joints back on. I just need to get the foot joints selected. So let's just make sure I only get the foot. There we go. And I'm going to go to frame one. My frame two should do it. And on this frame you can see we've got yellow marks here that show that this is being driven by something else. And that's what's putting the weird rotation on the ankle. I've got the ankle right, which is about there. And then when it is right on the rotation, I'm just going to break those connections. And that will mean that we do lose the finer movement on the foot. But it'll also look less derpy, which is pretty important. So I'll have a little look at this now. Yeah, so that's getting there. I especially like the dance. But I'll just do a little bit more cleaning up just to get this as tidy as I can. And then we'll have a look at this on another character. Okay, so I've just finished. I've spent about five minutes messing about with the various values on different joints. Some are like more than others. This is one of my favorite kind of configurations. There is still the odd little glitch around here. The legs overextend at certain points. And I'd maybe if I was doing this for a project, spend maybe another half an hour to an hour, just making tweaks with that. But for now, I'm really happy with this. I've also cut off the beginning end just to get the bits I want. So let's just turn off the joints and I'll show you what we've got. So let's just get him front and center, this handsome mofo. Right, go on, dance. Yeah, dance for me. Oh, he's got some moves. Yeah. And then throw your hands down by his side. Oh, he just oozes cool. Oh my goodness, it almost loops pretty well as well. Okay, so there we go. We have our animation on this character here. So what I'll show you now is this on a simple character that I created using exactly the same process of defining a character using human IK. So here's a simple character that I created at some point last year based on a sketch I did while I was bored. But I decided I would rig it and because I had this rigged, I thought wouldn't it be fun to put some motion catch data onto it and see what happens. So this little chap I call Hench. He is loosely based on someone I work with. And let's see what he looks like with that same motion capture data applied to him. So off we go. So I've had to tweak this one in a slightly different way but I think the movement comes out pretty well. Again, there is a little bit of room for refinement but for an animation that took me all of 10 minutes to create, I'm more than happy with this. I think this looks really, really good. The last thing I want to show you in Maya then is how we can go about exporting this animation that we captured on our phone from Maya onto the UE4 mannequin and we'll get that into UE4 onto the default character. So if we wanted to add an emote such as a weird funky dead dance then we could do it in this way. Okay, so what I need to do then is make sure that I can see everything and I'm also gonna select everything. So there you can see I've got the skeleton and that really should be all I need. So what I will do is go to File, Export Selection and it's very important that I only export selection because I've also got the other skeleton in here and I want to make sure that I get the appropriate number of frames off. So I'm just gonna give it a fine name so let's call it Manny Mocap which is a damn fine name I think. And then we need to make sure that we are including the animation and that we bake the animation and we need to get the start and end frame spot on. So I know that I wanted 876, 2, 13, 7, 8. And that's just what I decided down here was a good section of the animation to have that dance going on. So then what I will do is export selection. You can see that it's exporting down here and now that's something that we can import onto the character in UE4. So let's take a look at how we do that. Alrighty, so now that we've exported that animation out of Maya, we can come into a mail engine. So here's just a default third-person level and I'm in the Mannequin Animations folder and I'm gonna import a new one into this folder and that's the one that we've just created. So in order to do that, I will click on Import. Here's the folder that we saved it to. So we called it Manimocap. So let's open that up and then it's really easy because there's no mesh, it just knows that it's a skeleton and we've got to tell it which skeleton that we want to import it on top of. So the other one that's in this project is the UE4 Mannequin Skeleton. So I'll choose that. The animation length is just gonna be the exported time because I chose that in Maya, so that's fine. And that's really all we need to change. So I'll click on Import and then down here, that animation will appear, there it is, Manimocap. So let's open that up and have a look. So the first thing I'm forced to notice is it looks like he's dancing in some gray water or something and that's just because I didn't make sure he was standing on zero when I exported him. And it's easy enough to fix in Unreal Engine. So what I'll do is just go to the skeleton tree, get the root, make sure my move tool is turned on and then I can just move him up out of the floor. There he goes. So this is now that animation and I could use this to do pretty much anything that I wanted to. Hopefully it'll agree with me that that's quite an easy thing to do, but it does lead me on to showing you one more thing. Radical have been sending me bits and bobs to look over and one of the things they've sent me is a plugin that they're developing that will work with their Gen3 service. And what that does is makes importing your animation from the web service into Unreal Engine dead simple. It takes about three clicks and it's incredibly quick. There's no need to take it into a Maya to retarget the animation or anything like that. You can just do it in just a couple of clicks and I will share that with you now. So what we have here is the plugin that was sent to me that works with Unreal Engine that makes importing the animation from the web service when you downloaded it pretty much as drag and drop as I've ever seen it. And I'm gonna show you how that works now. So you can see we've got two copies of the mannequin in here. This is the mannequin with the Epic Skeleton and this mannequin here has the Radical Skeleton. And what we do is in a few clicks we import our animation onto the Radical Skeleton that's already set up perfectly and then we just retarget that onto the Epic Skeleton. And in a few clicks we can bring in a new animation that we've captured on our mobile film. So I'll show you the process of doing that. Here is an animation. Now this one was sent to me by Radical. It's not one that I captured myself because it has to work with the Gen 3 Skeleton and that's not yet available for me to try. So this is a Gen 3 Skeleton that they've sent me. So I'll drag and drop that in here. I'll put it straight onto the Radical Skeleton. Everything should be set up exactly as I like it. So let's import that. And then when I double click on it you can see that we have a very sexy looking ninja roll. Beautiful. Okay, then what we want to do is retarget that onto the Epic Skeleton so that we can use it in the same way that I was just going to do with the funny dance. So to do that we'll right click, go to retarget anim assets and we'll duplicate and retarget. It gives you a list of any skeletons you can choose to retarget it onto. The only option is the Epic Games Mannequin because there are no other ones in here. And if you want to you can change the name or you can choose somewhere different to save it. I don't need to do that. I'm just going to retarget it and that's it. It's done. Now we have that same animation retargeted onto the Epic Skeleton. There is a small difference in that it's no longer on the spot but that's not really a big deal. I still think that looks pretty damn fine. So just a sneak peek there of what's coming with Gen 3. Something pretty cool in addition to some of the core features as well. Okay so that about wraps up this look at and tutorial video on radical motion. Keep in mind that this is the public beta of the Gen 2 service, the second generation of the service which means that now would be a really good time to get on board. If you are an earlier doctor you will get grandfathered in to Gen 3 when that comes out. And that will also mean that you get some additional months at a discounted rate. So it's not a bad time to jump on board. Gen 3 also does look really exciting with some really cool features coming in including the fact that it will run in real time when you're on premises. So my understanding is that when you're using it linked to a computer you'll be able to do the motion capture in real time which will be incredible I think. That is of course in addition to the AI getting smarter and more accurate and also the skeleton being a little easier to work with. You'll also get access to that plugin with Gen 3. So there's also a lot to look forward to with this as a service. Before we finish though I do want to show you one other cool feature of the app on your phone. So if you want some immediate kind of visual feedback on what you've got you can go into the app open up your recording once it's processed in the cloud and you can have a look at your animation on some pre-built characters. So I'll just throw up on screen me playing with that a little bit. I capture this on my phone so you can see that different characters give you just an idea of how this is gonna look before you even get it onto computer. Again, another cool feature. So I'd like to take this opportunity to thank Radical for reaching out and sponsoring this video. It's been a really cool experience and I really like the service so thanks for that. I'd like to thank my patrons who continue to support my work and the channel as a whole. It's very much appreciated. Please keep it up. I'll drop the link down below as always if anybody wants to join with that and I think that'll do it. So thank you so much for watching and I'll see you in the next one. I believe that quality education should be available to everybody and for that reason all of the classes at Game Dev Academy are completely free and we're supported by our very generous school governors over at Patreon. If you'd like to become a Game Dev Academy governor and support our work as well as helping us to steer the channel in the right direction then use the link in the description to be taken to the Patreon page.