UDN
Search public documentation:
SampleMatineeTips
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
Sample Matinee Tips
Document Summary: Several Matinee examples demonstrating various Matinee effects can be found here. Document Changelog: Last updated by Michiel Hendriks, for minor changes. Previous update by Tom Lin (DemiurgeStudios?), for build 2107. Original author was Tom Lin (DemiurgeStudios?).Introduction
The majority of this project deals with standard matinee tropes. The usual restrictions, setup, and pitfalls apply. There are, however, some special new classes and code. Primarily, this allows an actor to rotate, and to have particles attached to it. These files are attached at the bottom of this document. The screens provided are from simple examples that are also attached to this document. Without any further ado, let's dive in.Goals
My goal for this project was to create a relatively simple string of animations & effects, in conjunction with shots of 4-5 logos created for this purpose. I attempted to cover a fairly wide range of actions/effects, given the short total running time of the matinee sequence. In no particular order, some of the points I wanted to cover are as follows:- Force matinee to launch without starting the player in the game.
- create a pawn in the world and make it move from point to point.
- make a pawn do actions, such as shoot/talk.
- rotate the logos, or various parts of them.
- make a pawn die and go into karma physics
- make a dead pawn with karma physics collide into the logos.
- make particle systems appropriate to the logos, and place them appropriately.
- attach the particle systems to the logos, which will be spinning.
Launch Matinee into Movie Mode
The first thing to do (or the last, depending on your point of view) is to make your matinee movie launch immediately when you play the map. If you don't, then the game will assume you want to run the movie as a deathmatch, and will drop you into the level. This can be useful, since from this viewpoint you can inspect the bits of your level at your leisure; you may want to have the original mode on for debugging, then switch to Movie Mode at the very end.

Make a Pawn, Make Him Move
Adding the Pawn
To add a pawn to the level, you really want to add your game's pawn subclass. In UT2004, the subclass is called xPawn. To add this, follow these steps.- Open the Actor Classes browser. You can use the menu (View > Show Actor Class Browser) or just click on the icon to open it.
- Open the tree in Actor Classes following this path: Actor > Pawn > UnrealPawn > xPawn
- Click on xPawn to highlight it.
- Go to one of your 2D windows and right-click. Select the option Add xPawn here.

Adding the Scripted Sequence
If you see your pawn in the level, congratulations. Don't get too cocky yet, though - the pawn is only half of the equation. We still need a ScriptedSequence to make the pawn do things, such as walk and talk. The ScriptedSequence is also in the Actor Classes browser, in the tree path: Actor > Keypoint > AIScript > Scripted Sequence. Click on ScriptedSequence to highlight it. Go to one of your 2D windows and right-click. Select the option Add ScriptedSequence here.
Connecting the Scripted Sequence and Pawn Together
Good job. Now that you have the pawn and the ScriptedSequence, you can hook them together. To do this, you need to change just 2 fields. The first field is in the properties of the ScriptedSequence. Under Event > Tag, change the name of the ScriptedSequence. The next field is in the properties of the pawn. In the AI > AIScriptTag field, put the name that you just gave the ScriptedSequence.
Making the Pawn Walk
Before getting into the nitty-gritty details, decide where you want your pawn to walk. Once you decide on a path for your pawn, lay down some pathnodes for your pawn to follow. These are in the actor browser, Actor > NavigationPoint > Pathnode. Click on Pathnode to highlight it, and right-click to add one to the level. You can repeat this process to add more, or simply replicate the existing one. While it's not absolutely necessary to get a path to work, it's a good idea to give the individual nodes unique and descriptive names. Just change the Events > Tag property. To make the pawn move around, go into the ScriptedSequence properties. Much of the work in getting the pawn to move will be done in the AIScript > Actions fields, so get comfortable with them. They're a little bit confusing at first, so I'd recommend doing this part hands-on as you read this section. Ok, here goes. So, you have the ScriptedSequence properties open, AIScript > Actions is opened up as far as it can be, and there is nothing there. To add an action to this sequence, first click on Actions and look on the right side of the properties window. Two buttons will appear, Empty and Add. You probably don't want to empty out the stack too often, but you will be using that Add button quite a bit. Click it.

Make the Pawn Perform Actions
This section is based heavily off of the last, making the pawn move. Basically, if you have read and understand the previous, then you're well prepared for this. If not, I'd strongly suggest reading about the pawn moving process. The first few steps of this are exactly the same as before. Create a pawn, create a ScriptedSequence, and hook them up. In the same field as before (ScriptedSequence properties > AIScript > Actions) simply choose a different action from the drop-down list, and `burn it in' by hitting the New button. This is almost self-explanatory, since to make the pawn move you have to search through this rather extended list of possible actions. In the provided example, I've got a simple Action_CROUCH that kicks in after the pawn finishes running to the second pathnode. Explaining each possible action is beyond the scope of this document, but luckily there is already a doc that does exactly this. The ScriptedSequenceActions guide is an excellent reference, refer to it if you wish to investigate further. For completeness, I'll step through making a pawn talk, since having accurately synched voice was a component of my matinee project. First of all, I simply added another action. For simplicity's sake, I used action_PLAYLOCALSOUND instead of action_PLAYSOUND, since action_PLAYLOCALSOUND doesn't take distance from the pawn into account. The rest of the procedure is fairly obvious, if you've been following along. I set the new action, then am presented with a new field, which is where I specify which sound to use.
Rotate Meshes
Attached to this document you will find two new script classes. Upon hearing that I wanted to have meshes rotate (and with particle systems attached), the programmers I work with whipped up these two little bits of code. Have them integrated into your build of UnrealEd before you continue. First, go to your actor browser. In Actor > StaticMeshActor there is one selection, MoveableStaticMesh. Highlight it, then go to a viewport and add in the actor. You'll see that it looks like one of those funky animal heads.



Make a `Dead' Pawn with Karma Physics
This is another task that I had some help with from programmers. Make sure that you've integrated the script classes provided in this doc before you attempt this section. This is a relatively easy task, much more so than the preceding. Open your Actor Classes browser, and find the *KActorSpawner. Highlight this option, and add the *KActorSpawner into your level. Open its properties, and make note of its Events > Tag field. Change the tag, if you want. Now, set it to be triggered. Again, I'll use the EventStart field from the StartGame scene. That's it, you're done. Run the level and check out the falling action.
Make Environmental Static Meshes Respond to Karma Physics


Spinning Meshes with Particle Systems
This also required some custom code, provided by programmers. Again, make sure that you are integrating the code from this doc before you try out the following. To add a spinning mesh with emitters attached, go to your Actor Browser and click on *AttachPartSysThing. This isn't in any sub-category, it's close to the top of the total list. Now, right-click and add it into your level. That's it, it should work immediately.
Thanks to Eric `StarFury' Bakutis. His UT2K3 Machinima Creation Tutorial was the basis for much of the playerpawn methodology. His Machinima website:
http://www.legionslayer.com/machinima/Machinima_Tutorial.html