• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Cinematics

Level 24
Joined
Jun 14, 2005
Messages
2,506

Introduction
This Tutorial will cover many of the advanced things about Cinematics, including some tips by me for making cinematics.

Basics of a Cinematic

A Cinematic needs several triggers for it to start up propely.

  • Actions
    • Cinematic - Turn cinematic mode On for (All players)
    • Sound - Clear the music list
    • Sound - Stop music Immediately
    • Sound - Set Ambient Sounds to 0.00%
    • Sound - Set Animation and Spell Sounds to 0.00%
    • Sound - Set Combat Sounds to 0.00%
    • Sound - Set Fire Sounds to 0.00%
    • Environment - Set sky to Sky
    • Trigger - Run FirstScene <gen> (ignoring conditions)
CinematicTutPic06New.jpg

Tip #1
A good way to start of a cinematic is to add this function to the Intilization Trigger.

  • Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (100.00%, 100.00%, 100.00%) with 0.00% transparency
This will make it so that the screen is black when you start the cinematic. Then in the first scene wait a few seconds and then fade back in over 2 seconds into the first camera.

Black Borders are also a very useful thing in cinematics. Adding Black Borders is very simple. Just go to Advanced - Game Interface and check the box "Use Custom Game Interface". Then scroll down and find these three fields:

Image - Cinematic Border
Image - Console Background
Image - Game Menu Background

Now replace the path of these fields with UI\Widgets\EscMenu\Human\blank-background.blp. Your cinematic should now have black borders.

Now we might want to turn cinematic mode off. Thats simple. Just use this trigger.

  • Cinematic - Turn cinematic mode Off for (All players)

Cameras

Cameras are used in Warcraft III Cinematics to change what the viewer is looking at in the cinematic. Placing Cameras is very simple, go to the Camera Pallete and click the Create Camera button. Now we have a camera placed in our map, although it has the normel game view. Well lets change that now. You can select the camera and press enter. Now you can change all the different Camera Values.

CinematicTutPic07New.jpg

First start off by editing the Target X and Y fields. These fields will change where the camera is on the map. However there is a much easier way to change the X and Y axis. Go back into the map and hold down the mouse button on the camera, you can now drag the cameras around the map. Another way you can do this is to select the camera and press Ctrl+X, and paste the map where you want it or just create the camera in the place you want it in the first place, because when you create a camera it is created in the centre of your view. Ok now that we've got it placed in the right location on our map we can edit the Z Offset. This is the height of the camera. You can make the camera high up or make it really low. The next field is rotation, well this one is pretty simple. This field changes which way the Camera is facing. The Angle of Attack (AoA) changes the angle of the camera, so you could change it so the camera is looking down on something or the camera is looking up at something. The Distance changes how much the camera is zoomed in. The lower the value you will be closer to the object, the higher the further away. Now for the Roll. The Roll changes the angle of which the camera is turned, so for example you could change the roll of a camera so that it is on its side, upside, on a 45 degree angle or any angle you want. The Field of View (FoV) changes how much the camera can see. The lower the number the the less you will be able to see of an object, the higher the more you will be able to see. And the final field you need to edit is the Far Clipping (FarZ), this field changes how far the camera can see.

Editing a Camera
CinematicTutPic01.jpg

Tip #2
When editing Camera Values check the "Preview Values in Main Window". This will now make it so that if you edit a value it will move the camera in the World Editor so you can see what it will look like.

Well now you know how to edit a cameras fields, i'll tell you and easier way to do all these. The way I place cameras is rather then editing each of these fields is when I create a camera I hold down the Ctrl button. This then lets you change the camera in the World Editor. When holding down the Ctrl button just hold down the right mouse button and drag the mouse around until you have the camera angle you want. You can also use the Mouse Wheel to change the zoom of the camera when doing this. Now you have the camera angle and zoom you want just click the Create Camera button, and the camera will be created at whatever angle you are at that time in the World Editor. Try that now.

Now that we've placed a few cameras we need to use a trigger to use them during the game. This function can be used to use cameras.

  • Camera - Apply Camera> for Player 1 (Red) over 0.00 seconds
Well now we have a function that will apply that camera when the trigger is run. However the camera won't move like that. So we just add another function to that trigger after it.


  • Camera - Apply 2nd Camera> for Player 1 (Red) over 5.00 seconds
This time we set it to it will apply over 5 seconds, so this means as soon as this trigger is run it will apply the 1st camera instantly, and then from there move to the 2nd camera over 5 seconds. Now we want to try and add another camera to that, so it will move to a 3rd camera after it reachs the 2nd one, well we just add these two functions to the trigger.

  • Wait 5.00 seconds
  • Camera - Apply 3rd Camera <gen> for Player 1 (Red) over 5.00 seconds
The Camera will now apply the 1st camera instantly, move to the 2nd camera over 5 seconds and when it has gotten to the 2nd camera it will move to the 3rd camera again over 5 seconds. So by now this is the trigger you should have.

  • Action
    • Camera - Apply Camera> for Player 1 (Red) over 0.00 seconds
    • Camera - Apply 2nd Camera> for Player 1 (Red) over 5.00 seconds
    • Wait 5.00 seconds
    • Camera - Apply 3rd Camera <gen> for Player 1 (Red) over 5.00 seconds

Unit Transmissions

Unit Transmissions are used for when characters are talking to eachother, narrators and basicly anything that involves talking. This is the basic function to do that.

  • Cinematic - Send transmission to (All players) from (Footman) named A Footman: Play No sound and display This is a Message. Modify duration: Set to 5.00 seconds and Don't wait
This function will show the message "This is a Message", from a Footman which is named "A Footman". There will be no sound played with the transmission and it will show for 5 seconds. You can set these fields to whatever you want, and adda sound to it and show it for a different time if you want.

  • Cinematic - Send transmission to (All players) from a Player 1 (Red) Footman named A Footman at (Center of (Playable map area)): Play No sound and display A Message! Amazing!. Modify duration: Set to 5.00 seconds and Don't wait
This trigger does the same thing, except for one difference. Using the above trigger, a green circle will flash around the unit that you have selected, useing this trigger you can do that same thing except that green circle won't appear.

Fade Filters

Fade Filters are used to Fade the screen in and out using an image. Blizzard has included several images which are already included in Warcraft III. This includes the basic ones you will probably use most often, especialy the Black Image, which is definatly the most used one. This is the trigger for fade filters.

  • Cinematic - Fade in or out and Image in over 2.00 seconds using texture White Mask and color (100.00%, 100.00%, 100.00%) with 0.00% transparency
Here are a few things to remember with fade filters though:

  • It is important to Make sure the colour is set so all fields are 100%, not the default 0%. However this is not important when you are fading to black, because 0% will make it black, 100% will make it black. However it is important to do this with any image apart from the black image.
  • The Transperancy should probably be left, although it can be useful. Setting it to 100% will make the image completly transperant, which is basicly useless. However setting it to say 20% or 50% will let you still see the image, although you will be able to just see the map in the background.

Filters

Filters can be made so that the screen will be one image, with a certain transerancy and that it will go into another colour with transperancy over a certain amount of time. You can then show and hide the filter as well, if needed.

  • Cinematic - Apply a filter over 2.00 seconds using Normal blending on texture White Mask, starting with color (100.00%, 100.00%, 100.00%) and 50.00% transparency and ending with color (0.00%, 0.00%, 0.00%) and 0.00% transparency

Terraining a Cinematic

Terraining a Cinematic can be quite easy, because the terrain itself does not actualy have to be playable. Because of this you are able to take away the pathing of doodads and place them more easily and closely together. Heres a few things to remember though when terraining cinematics.

Things to Remember while Terraining Cinematics
  • Make sure that you can't see past the end of the terrain, otherwise it looks like there is nothing behind thet terrain. Do this by changing the FarZ or the Camera Position.
  • Make sure that none of the trees are placed where the camera could go through it, because it can look really bad if a moving camera goes through a tree.
  • Although you don't have to make the map completly playable it is important to make sure that any units moving don't go through any rocks or anything solid which they shouldn't be able to go through.
  • If you need to hide a doodad for one scene, but if in another scene in the same area you want that doodad to show you can use a unit for that doodad. Although you can hide and unhide destrucotables units can be placed alot easier then Destrucotables.

Enviroment and Atmosphere

It is important to have Enviroment settings which suit the setting and scene. Make sure at the end of each scene you change the settings, if nessecary.

  • Environment - Set sky to Sky
This trigger will change the sky. So you can change the sky each scene to what suits the setting the most. You can do the same thing except for with fog with this trigger.

  • Environment - Set fog to style Linear, z-start 1000.00, z-end 8000.00, density 0.00 and color (100.00%, 100.00%, 100.00%)
You can also create and destroy weather and change the time of day. This is very usful for using the same terrain except at a different time of day. Creating and destroying weather uses these two triggers.

  • Environment - Create at (Region) the weather effect Weather
  • Environment - Turn (Last created weather effect) On
  • Environment - Remove (Weather Effect)
However changing the time of day is not in the Enviroment catergory of the World Editor. Go to the Game catergory and use this trigger to change the time of day.

  • Game - Set the time of day to 12.00
You can also use this trigger to stop the cycle so it won't change suddenly half way through your cinematic when you don't want it to.

  • Game - Turn the day/night cycle Off

Battle Cinematics

Battle Cinematics need alot of triggers to make them look good, and the triggers can get quite advanced.

Tip #3
Try not to have just a huge mass of units charging at eachother and fighting, try and make the battle as controled as possible.

It is important in a battle cinematic to keep the units under control, so this means using things like pausing the units, hiding and showing them and using commands to command them around the battlefield.

A function I have used commonly in my newest battle cinematic is this function.

  • Custom script: set bj_wantDestroyGroup = true
  • Unit Group - Pick every unit in FinalBattleGroupTop_Bad and do (Actions)
    • Loop - Actions
      • Action
This function will make every unit in the FinallBattleGroupTop_Bad region do that action. The Custom script: set bj_wantDestroyGroup = true fixes a leak that the Pick every unit function has.

This function is also quite usful because in many battle cinematics you can constantly hear people fighting in the background, when there is no fighting going on in the scene. The following function will easily stop that.

Tip #4
When you want to make it look like there is a huge army, try and position the camera and the units to make it appear alot bigger then it already is, like for example making it so you can see the end of the line of units or the back.

1 vs 1 Battle Cinematic

The Demo Cinematic I have attached to this Tutorial is a very basic 1 vs 1 battle that I made in about 5 minutes. A 1 vs 1 Battle can be made very simple with a few Animation and Movement triggers. Like these triggers.

  • Animation - Play Blademaster 0001 <gen>'s attack slam animation
  • Unit - Order Paladin 0000 <gen> to Move To (Center of Paladin Step Aside <gen>)
CinematicTutPic05New.jpg

However to make it much better alot of special effects and sounds should be used.

  • Special Effect - Create a special effect at (Center of (Playable map area)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
  • Sound - Play MetalHeavyChopFlesh1 <gen>
Basicly all you need to make a decent battle between two units is to be able to use these 4 things well and make them fit together.

Animation

Animations are an important part of cinematics. You can use Animations to show a battle, with two or more people using their attack animation, or an animation to show how there feeling. This is the basic function to play an animation.

  • Action
    • Animation - Play (Last created unit)'s stand animation
Using this trigger you can place any of the animations the unit has. You can do a number of things with animations, such as changing the flying height of a unit.If you have told a unit to do an animation you can reset the units animation with this trigger.

  • Action
    • Animation - Reset (Units)'s animation
You can also que an animation so once the unit has finished doing something it will play that animation.

  • Action
    • Animation - Queue (Units)'s stand animation
Tip #5
Cinematics can be made alot easier if you use units for somethings. There are some things that units can do, that doodads can't that you might want something to do in the cinematic. Because if this creating a unit and then using a doodads model can be very useful.

Music and Sounds

Music and Sounds are important in a cinematic. To play a sound just go to the sound editor, find the sound you want to use and press Ctrl+U, or if you want to use it as a peice of music press Ctrl+M. Remember however that the music has to be in mp3 format to use it as a peice of music. Once you have done that you can use this function to play the sound.

The Sound Editor
CinematicTutPic02.jpg
Use as Sound Button
CinematicTutPic03.jpg
Use as Music
CinematicTutPic04.jpg

  • Sound - Play Sound <gen>
Tip #6
Remember that a sound can not be played on Map Intilization, if you want a sound to play when the map first opens use this event.

  • Time - Elapsed game time is 0.00 seconds

Now if you want to play the music, not a sound you can use this function.

  • Sound - Play (Music)
Now this is just me personaly, but I use the Play Sound function to play both my sounds and my music, and never use the Play Music function during cinematics. However either one works fine. Also remember to make sure that when starting a new peice of music you have stopped the old music like this if you are using the Play Music function.

  • Action
    • Sound - Clear the music list
    • Sound - Stop music Immediately
Or this trigger if you are using the Play Sound function.

  • Sound - Stop dungeon_05 <gen> After fading

Leaks


If there are to many leaks in your cinematic, which can quite easily happen, especialy in battle cinematics your cinematic will lag, alot. This is because some of the triggers in your cinematic are leaking. This can usualy be easily fixed. Here are some examples of some leaks.

  • Unit - Order Variable to Move To (Centre of Region <gen>
The fix for this would be this.

  • Set L = (Center of Region <gen>
  • Unit - Order Variable] to Move To L
  • Custom Script: call RemoveLocation(udg_L)
Heres another Leak you could have.

  • Unit Group - Pick every unit in (Units in Region <gen>) and do (Actions)
This would be the fix for this leak.

  • Custom Script: set bj_wantDestroyGroup = true
  • Unit Group - Pick every unit in (Units in Region <gen>) and do (Actions)
CinematicTutPic08New.jpg

To find all the leaks you have in your map you can use this tool.

Credits

I will explain here a nice way to create credits. Simply, you somehow make it so that the entire screen is black (other then a fade filter), so that the player can see Floating Text. This will make it so that Floating will be created, and then you will be able to see it move up and off the top of the screen. You just have to make sure that the Camera the viewer will be viewing through is placed correctly.

CinematicTutPic09New.jpg

  • Floating Text - Create floating text that reads Message at (Center of Region <gen>) with Z offset 0.00, using font size 35.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
  • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
  • Wait 1.00 game-time seconds

Demo Cinematic

I have made a Demo Cinematic for people to look at if they need help. This is a very quick cinematic I made, so don't expect it to be that good. It just shows some of the functions I have shown you in this Tutorial.

 
Last edited by a moderator:
Top