I don't need to test my programs. I have an error-correcting modem.
Unreal Movie Studio Introduction and Basics
by Hugh Macdonald
This tutorial aims to give the UMS user a basic understanding of how the director (that is, the object that controls what happens in a UMS movie) works.
I have assumed that anyone reading this has a basic knowledge of UnrealEd. If you haven't used UnrealEd before, then there are some excellent tutorials on Wolf's Unreal Editing site. More advanced users of UnrealEd may find that I am a bit simplistic with some things - please do bear with me. I am trying to aim these tutorials at everyone.
Before you start these tutorials, please make sure you have a map built. Even if it is just a very simple room, just have something to put stuff into.
Setting up the movie
- The first thing to do is to load up UnrealEd. Once you have done this, you need to load UMS.u into UnrealEd. If you don't know how to do this, you have to change the browser to 'Classes' (top right corner of the screen - by default when you load up UnrealEd, it is set on 'Textures'.
- Once you have done that, click on Load at the bottom of the screen and select 'UMS.u'
- Once you have got UMS.u loaded, you need to set up the gametype. If you have previously been making other UT levels, then you will know all about game types. If not, I will explain how to do this.
- In the classes browser click on the '-' by Info, and then one the one by 'GameInfo'. If you have loaded UMS.u properly, you should see 'MovieInfo' in there. Click on this.
- Next, press F6 to bring up the Level Properties. Click on the '+' by LevelInfo and click on DefaultGameType. If you then click on 'Use', UMS.MovieInfo should appear in the box. (If it doesn't, you've got problems - try clicking on 'MovieInfo' again in the browser - it should say UMS.MovieInfo just below the classes browser. If this doesn't work, mail me at email@example.com)
- We now have the level set up to be a movie level. The next thing to do is add the PlayerStart. But, you may say, my level already has a PlayerStart. I know - UT takes a fraction of a second between loading the level and starting UMS, so you need to place the playerstart somewhere where all you can see is black.
- First, remove all PlayerStarts from your level. If you have decided to use a level that has previously been used for Deathmatch, or another playable game, then you will find that there are quite a few PlayerStarts already in there. I find the best way to remove multiple PlayerStarts, or if you can't find the one that is in there, is to add another one, right click on it, and select Select all PlayerStart actors Then press delete, and there you go - all PlayerStarts have gone.
- Now, to add yours. I like to just create a small room (default cube size) just outside the level, don't add any lights, and just place the PlayerStart on the floor in there.
- Now that we have our level set up, it is time to start puttin movie-specific stuff in there. First on the list is the Director (no, this isn't you, this is the UMS actor which runs the show). You can have as many directors in the level, but, although it is possible, I would not recommend having more than one running at the same time.
- The director is at the root level of the classes browser, ie, it should be visible in the classes browser straight away. If you have saved what you did in previous sections, and quit UnrealEd, then loaded the level back up in UnrealEd, you'll have to load UMS.u again. When you load up a level, it only loads the objects that are actually in the level. So, the MovieInfo will have been loaded up, but nothing else.
- So, add a Director into your level by clicking on the Director in the classes browser, and then right clicking somewhere in the map, and selecting Add Director Here
- We've got our director in the level now, so we need to go to the properties (double click, or right click and go to 'Director Properties' (If it says 'Director Properties (2 selected)' (or any more than 2) then click on the single director to only select it).
- In the director properties, expand 'Director' to get what is in the picture on the right. I'll explain what each thing does, and then explain how to use them.
- bRolling can either be True or False. By default, it is False. This tells UMS whether this director is running at the beginning of the film. Because each director only has a limited number of slots (50), you will definately find that you have to daisy-chain directors together. This is done by setting the first one to have bRolling as True, and the others as False. You can then trigger the next director from the one before.
- Script is the heart of the director. This is where the commands themselves go. If you expand Script, you will see that each command has a number by it, from 0 to 49. These numbers correspond to the other sections - ScriptNames, ScriptRotators, ScriptVals, ScriptVectors, and WaitTimes.
- ScriptNames is only used for animations, which will be covered in the third tutorial, on actors.
- ScriptRotators is rarely used. It is optional for cameras and actors, but not essential.
- ScriptVals is very important. This is used for things like how long a camera will take to move, and most other times when a number has to be used.
- ScriptVectors is used slightly more than ScriptRotators, more about that in the actors tutorial.
- WaitTimes is a very important section. The value that goes in the WaitTime for a specific command is the time (in seconds) that UMS will wait before going onto the next command. (When I say command, I mean all the slots, in Script, ScriptVals, etc. If I say Slot, I generally mean just one of them (just Script, or just ScriptVals))
- There are two things that I always put at the beginning of the script, even if they are the defaults. That way, if I do decide to change them later, I can very easily. These are setting the HUD, and the speed.
- To set the HUD, all you have to type into the Script is ChangeHUD UMS.MovieHUD. This is the default. There is one other HUD included with UMS, and that is the Letterbox one (used for widescreen). This would be set with ChangeHUD UMS.Letterbox.
- The other thing that I always put in before anything else is the speed. This is done by putting SetSpeed in the Script, and the value for the speed in ScriptVals. I will invariably put SetSpeed in the script and 1 in the corresponding slot in ScriptVals.
- SimplePoints are very important in UMS. They are the objects used by cameras, and pawn. All they do is define a point on the map. They can be used to move to, or for something to turn to face them. To add them, all you have to do is find them in the classes browser (Keypoint -> SimplePoint) and right click in the map and select Add SimplePoint here.
- That is about it for now. If you have been doing this as you read, you should now have a director with ChangeHUD UMS.MovieHUD in Script slot 0, and SetSpeed in Script slot 1 and with 1 in ScriptVals slot 1
That is the basics of how UMS works. In the next tutorial, I will cover camera work, and how to move cameras around, and all the effects that you can do with them.