I'm a doctor, not a mechanic
Unreal Movie Studio Pawns
by Hugh Macdonald
This tutorial aims to give the UMS user the information needed to put pawns, both human models, and inanimate objects, into their scene.
Adding a pawn and setting its mesh
- The first thing to do is lo load up your level, and load up UMS.u
- Once you have done that, locate MoviePawn in the class browser (Pawn >> MoviePawn), and add it to some point in your level. By default, it will look like a Nali (If you haven't played Unreal 1, you won't know what a Nali is – it is a strange 4 armed alien)
- The next thing to do is to find the right mesh that you want to use on your actor. It doesn't have to be a person - it can be a vehicle, or other object. Do UnrealEd Main Menu -> Window -> Mesh Viewer to open up the Mesh Viewer, and find the mesh that you want to use. In the window of the mesh viewer, you can rotate the mesh around, by clicking in the window and holding the Right Mouse Button, and you cn zoom with the Left Mouse Button. In this example, I have chosen the Commando. The skin doesn't look right at all - that is because it uses multi-skins - I will cover those in a bit. The human meshes that come with Unreal Tournament are Commando, Soldier, FCommando, and SGirl (Don't ask why they didn't do FSoldier - I haven't got a clue!)
- Once you have found the mesh that you wish to use, you have to set this to the MoviePawn that you have added to the level. With the Mesh Viewer still open, Open up the MoviePawn properties, and expand Display. Find Mesh and click on Use. This will convert the Nali into whatever mesh you selected.
- While you are still in the MoviePawn properties, there are a couple of other things that you can do. The first one is to give it a name. I find it most useful to give it the name of the character. the other thing is to change the collision cylinder's radius and height. That way there will be no problem if someone gets slightly too close to a wall, or another person. This is located in Collision -> CollisionHeight and Collision -> CollisionRadius
- If you now go back to the 2D views, and have a look at the side on view of where the pawn is, you will see that it's feet are probably under the ground. Move it up until it's feet are just touching the ground.
Giving a pawn its skin
- This only applies to pawns which use MultiSkins (generally those whose skin in the Mesh Viewer is a strange black and blue). This first thing to do is to load up the texture file with the skins in. This will be the name of the mesh (Commando, Soldier, etc) followed by Skins (This is only true for the ones that came with UT - if you have made a mesh and skins yourself, then they will be wherever you put them).
- To load up a texture file, change to the Texure Browser and, at the bottom of the screen, click on Load. Find the texture package you want, and click on Open. Then, find the texture package (in the list box underneath where you select what you are browsing).
- If you now go back to the MoviePawn properties, and go to Display -> MultiSkins, you will see there is a list of places where you can put different texture files. If you then look at the skins in the texture file, you will see that they start with four letters (in CommandoSkins, they are cmdo, daco, and goth) followed by a number. This number does NOT correspond to the slot in the MoviePawn properties. The number means 'first skin', 'second skin' etc. The first slot in the MultiSkins is, however, 0. So, cmdo1 would go into slot 0. Do check the numbers. In FCommandoSkins, they are 1, 2, and 4 (which would go into MultiSkin slots 0, 1, and 3).
- Once you have your skin on, your pawn should be looking a lot better, and you are ready to go on and give it some movement.
Moving and rotating the pawn
- Movement and rotation with pawns is very similar to Dollying and Panning with cameras. In fact, apart from the names, they are identical. With pawns, you have to start the command off with Pawn, followed by the name of the pawn (I will call it Pawn1).
- So, to make the pawn move to a SimplePoint called PawnPoint1, you would put Pawn Pawn1 Move To PawnPoint1. Similarly, to make the pawn rotate to face PawnPoint1, you would put Pawn Pawn1 Rotate To PawnPoint1.
- As with cameras, the ScriptVals has the time you want the pawn to take doing the action in.
Animating a pawn
- So far, what you have done with moving and rotating pawns will only have moved the static mesh. There will be no animation at all - it will look like it is floating. So, we have to tell it to animate as well.
- The first thing to do is to find the animation that we want the pawn to do. To do this, first load up the Mesh Viewer. Find the mesh that you are using, and click on Play >>. This will play through all the animations that are available for that mesh. Have a look through all the animations in Animation Sequence until you find the one you want. (A good running sequence is RunSm and a walking one is Walk).
- When you have found the animation that you want, write down the name, and write down how many frames it is (When it is playing, it will say Playing X frames). The reason you need to write down how many frames it is, is because you will later have to tell it how long you want it to take to complete one animation cycle. I normally go by 15 frames per second. So, 10 frames will be 0.666 seconds, 7 frames will be 0.5, etc.
- Now that you have this information, go back to your Director. The command that you have to put in is as follows: Pawn Pawn1 PlayAnim This will play a single animation, and then stop. If, however, the animation that you want to use is a looping one (running, walking, etc) then you need to put Pawn Pawn1 PlayAnim Loop
- This will not tell it what animation to play, though. To do this, go to ScriptNames and add the animation name in there. This is where PlayAnim looks for it's animation.
- ScriptVals is where you should put the time you want the animation to take. NOTE: If you want something to go in slow motion, set the animation time at normal rate, and change the speed with SetSpeed (covered in more detail in the Advanced Tutorial)
- There is also the TweenTime that has to be put in. This is the time it takes 'morphing' from one animation to another. This should go in one of the ScriptVectors. I generally like to use 0.5 seconds for this.
Stopping an animation
- There are two ways of stopping an animation. You can either do it by letting the animation cycle run to the end, and stopping it there, or doing a hard stop, and skipping straight to the end.
- To do a 'soft' stop, the command is Pawn Pawn1 StopAnim. If you want it to be a hard stop, you just add Hard onto the end to give Pawn Pawn1 StopAnim Hard. That is all there is to stopping an animation.
Giving a pawn a weapon
- The first thing to note is that this will only work with a mesh that has been designed to have a weapon. All the pawns that the game can be played using have this ability, but if you are importing a model yourself, you will have to make sure you can do this.
- The first thing to do is to find the weapon that you want to use. In the Classes Browser, go to Inventory -> Weapon -> TournamentWeapon. Then click on the weapon that you want to use, and look at what appears near the bottom of the Classes Browser. This will be something along the lines of botpack.something
- Now, back in the Director, we need to give the command to set the weapon. This is done using this command: Pawn Pawn1 SetWeapon botpack.something, where botpack.something is what was at the bottom of the Classes Browser. From this point on in the movie, that pawn will be carrying around that weapon.
Making a pawn fire it's weapon
- This will only work if the pawn has a weapon. If not, nothing will happen. You have to make sure you have the point that the weapon is going to fire at (if this is another pawn, don't forget that it won't die by itself - you have to do that animation as well)
- The command for firing a weapon is: Pawn Pawn1 Fire FirePoint1, where FirePoint1 is the point that it is going to fire at. Remember that it only fires towards the point. If it hits anything on the way, then it will stop.
- The other thing that you need to set is the offset from the pawn that it is going to fire from. If the pawn's collision radius and height are 0, and you don't see it start (ie either the camera isn't on the pawn firing, or it is a weapon that you don't see it start, like the sniper rifle), then you don't need to make sure the offset is accurate. If, however, you want to see the rocket, or whatever it is that is fired, appear in the right place, then you have to (a) make the pawn do the right animation, and (b) work out (by trial and error) what the offset should be.
Other pawn options
- There are two other things that a pawn can do. These wouldn't really be used with human pawns. These are Circling and Tracking (well, Track could be used to make one pawn watch another).
- The commands for these are: Pawn Pawn1 Circle CirclePoint where CirclePoint is the point that you want Pawn1 to circle and Pawn Pawn1 Track Pawn2 where Pawn2 is the object (or pawn) that you want Pawn1 to track.
- All other details of these commands are in the Cameras tutorial
That is about it for pawns. In the next tutorial I will cover advanced features of the director, like sound effects, spawning items, changing levels, and more.