Tutorial Cinematics

msakni

New Member
Reaction score
8
cinematics

Summary :
  1. Introduction
  2. Initialization
  3. Cameras
  4. Atmosphere and Terrain
  5. Sounds
  6. Transmissions
  7. Precise Timing
  8. Dynamic Cinematic
  9. Additionnal Tips
  10. Examples Cinematics

Introduction :
This Tutorial will cover many of the advanced things about Cinematics, as well as some tips and examples
It's my dirst tutorial, so suggestions and criticism are welcome.

Initialization :
Cinematics don't like that by themselves; they require some triggers to initialize.
Commons cinematics' initialization functions set up the music, atmosphere (fog,sky...) and the cinematic mode.
Trigger:
  • Initializations
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Cinematic - Turn cinematic mode On for (All players)
      • Cinematic - Disable user control for (All players)
      • Cinematic - Turn on letterbox mode (hide interface) for (All players): fade out over 2.00 seconds
      • Sound - Clear the music list
      • Sound - Set Ambient Sounds to 0.00%
      • Environment - Set sky to Lordaeron Winter Sky
      • Sound - Stop music Immediately
      • Custom script: call StopSound(bj_nightAmbientSound, true, true)
      • Custom script: call StopSound(bj_dayAmbientSound, true, true)

Trigger:
  • Cinematic - Turn cinematic mode On for (All players)

This turn on the cinematic for all players
Trigger:
  • Cinematic - Turn on letterbox mode (hide interface) for (All players): fade out over 2.00 seconds

This turn the letterbox on for all players, which hides interface and let you "read" the actors' dialogs
Trigger:
  • Cinematic - Turn subtitle display override On

This is optionnal but forces player to have subtitles turned ON
Trigger:
  • Cinematic - Turn subtitle display override On

Prevents players from selecting units or controlling them
Trigger:
  • Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency

This fades out with a black mask which is suggested and used by many cinematic makers
Trigger:
  • Sound - Clear the music list

This clear the music list
Trigger:
  • Sound - Stop music Immediately

Stop race's music
Trigger:
  • Environment - Set sky to Lordaeron Summer Sky

This is optionnal but recommended because you can create a better atmosphere.Remember to change the sky depending in your tileset

Cameras :
Cameras are extremely importants when making cinematics as they change the point of view.
To create a camera, open the "camera palette"
33o1h6r.gif

You'll see 3 buttons :
Create Camera : Create a camera from the current view
View the Selected Camera : View the camera as you should in-game
Set Camera to Current View : Set the camera to the current view

Just click on "Create Camera" at the moment
28srpg2.gif

Right-click on the camera in the camera list and click on rename camera
2i9tp5c.gif

You'll see a list of properties to customize a camera :
2jg6qa8.gif

Camera Name:
This is siply the name of your camera
Target X and Target Y:
These are the coordinates of the cameras
Z Offset:
This measures the Z offset, by raising this values the camera will raise if you set this to a negative value, the camera will be under the ground
Rotation:
This determines the rotation of the camera, it is like the facing. If you set it to 90.00 degrees, the camera will turn and face 90.00 degrees.
Angle of Attack :
This determines how much the camera is off of the ground, though it is not like the Z offset. The Z offset sets the target point to rise/lower. If you change the AoA, it will change the angle of the camera going up and down.
Distance:
This determines the distance from the camera and the target point.
Roll:
This determines the tilt of your camera. If you change it, your camera will tilt sideways in an angle and change the view.
Field of View:
The width the camera can see.
Far Clipping:
How far a camera can see objects
Applying Cameras :
to apply a camera simply use this trigger
Trigger:
  • Camera - Apply <Camera> for <Player> over <Real> seconds

This will apply the camera for the player and will take X seconds to apply

Atmosphere and Terrain :
Having a nice terrain a good atmosphere is very important to your cinematic.It can impress the viewers a lot, especially with a good camera.
As this is a cinematic tutorial and not a terraining one, I'll just pass the terrain part throught, you can check terraining tutorial to learn more about tiles/doodads variations and fogs.

Transmissions :
Transmissions are used to make units talk and speak, though they do not actually speak unless they use a sound. They actually create subtitles at the bottom of your screen. To set up a transmission, click "Actions" then go to the Cinematics category and click "Transmission From Unit" from the selection bar.
Trigger:
  • Send transmission to (All Players) from Unit named Name: Play No Sound and display Message. Modify Duration: Add 0.00 seconds and Wait


Here a small example :
Trigger:
  • Cinematic - Send transmission to (All players) from Demon Hunter 0001 <gen> named Demon Hunter :: Play IllidanYesAttack2 <gen> and display Die Fool!. Modify duration: Set to 2.5 seconds and Wait

I thinks you understand that this actions show "Die Fooll !" in 2.5 seconds and play sound "IllidanYesAttack2
NOTE : You shouldn't use the "wait" part of this action use Trigger queue instead as seen below
Precise Timing :
Whe "Wait" action waits always longer than requested, no matter if it is a normal or a gametime "Wait". And the worst: the amount of delay always varies, so you often can't just make the waits shorter and everything is fine. This is annoying especially if you want to time animations and effects in action scenes.
There is two solutions to correct this :
First Solution :
Use a periodic event like used in Infrane's and Anitarf's JASS Cinematic System. If you don't want to do nearly everything in JASS, there is another alternative to these damn "Wait" actions: Use "Elapsed gametime equal to x seconds" events. They are exact. But they have obviuosly huge disadvantages:
  • You cannot use them in playable maps
  • if you change any timing value at the beginning of the cinematic, you often have to adjust every following trigger which can be very much work

Second Solution :
We can use a trigger queue and a timer to get our actions perfectly timed
The trigger queue is an old features from Roc it's just as the name say, a queue of trigger : the triggers will be executed in the way you added them.
so if you add Trigger1, then Trigger2 and then Trigger3, Trigger1 is the first that will be executed
All queued cinematic triggers do not need any event or condition.
You should have a folder for initialization and general triggers. In this folder, I devide the simple initialization triggers and the general triggers by comments. You can do this as you like, but you should know what is where and be able to find it easily. I have two initialization triggers: One to fire at "Map Initialization" and one to fire at "Elapsed game-time is 0.00 seconds".
Create also a new folder called "Queued Cinematic Triggers".
Trigger:
  • Scene 01
    • Events
    • Conditions
    • Actions
    • -------- Setup for next trigger in queue --------
    • Set RunningTrigger = (This trigger)
    • Countdown Timer - Start NextScene as a One-shot timer that will expire in 2.00 seconds
    • -------- Add this scene's triggers --------
    • -------- This cinematic trigger's actions --------

You can change the 2.00 seconds to the time you'd like the next scene to start
The normal cinematic triggers structure is nearly the same as with the first one, but the "Add this scene's triggers" part is missing. So I just copy&paste the first trigger, rename it and replace each "start NextTrigger" time with the time I need (You can also use 0.01 second, which works too!) as well as of course setting "This cinematic trigger's actions" to the ones I need. You may do it the same way or copy the things manually if you prefer this for any reason.
Well, now that we have some more triggers for the queue, we should also add them. You should do this in the Scene 1 trigger in the "Add this scene's triggers" using actions of the type "Trigger - Add <trigger> to the trigger queue" for every following trigger in the scene.
If you understood trigger queue, you'll know that as long the first trigger is in the trigger queue, the others won't fire.So we have to remove the trigger form the queue using this :
Trigger:
  • Start Next Scene
    • Events
    • Time - NextScene expires
    • Conditions
    • Actions
    • Trigger - Remove RunningTrigger from the trigger queue

Then add this action to the trigger firing at map initialization :
Trigger:
  • Trigger - Add Scene 1 &lt;gen&gt; to the trigger queue (Ignoring conditions)

Dynamic Cinematics :
What make the cinematic really epic is the way the cinematic maker have a high control over the units, moving them, creating special effects, using animations etc...
Additionnal Tips :
Camera Tips :
-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.

-You can black border to the screen (cinematic-only map recommended) by going to Advanced - Game Interface and changing :
  • Image: Cinematic Border
  • Image: Console Background
  • Image: Game Menu Background
Change the values to :
UI\Widgets\EscMenu\Human\blank-background.blp
-Make dynamic cameras, it is always good that the scene is moving, it makes it more dynamic. A scene where the camera is at the same point the entire time is boring and static.

-Don't use too much sway shake camera, this is generally bad. It is good using it in small measures, but in big proportions it will give the viewer headache.

-Using preview camera motion. When you are creating dynamic, moving cameras, you often have to test it which gets annonying. Trigger editor has a good command that can allow you to see how the actual camera movement will be in game.
You will be able too see the movement of this camera or any other in your trigger (preview camera motion button is on the right center of the trigger editor. A trigger must have a camera movement for the button to appear.)

-Gives your camera a name, if you have just lot of Camera X, you'll get lost.
Try giving them a name depending on their use.

Terraining/ambience Tips:
-Try to increase the scaling of trees and buildings (especially in cinematic-only maps) because blizzard default tree have almost the size of a human.

-Remember to change the sky/weather/fog according to the Scene, don't add an outland sky to a cave or ray of light to an icy area

-Create dynamic background to impress the viewer a lot more.For example, in a city where two peoples are talking, try to make lot sounds and peoples moving in the background, this gives the feeling that the city isn't abandonned.

-An often overlooked feature warcraft brings are lights. Tho they seem not highly usable they are in fact quite usable.
JASS:
call SetDayNightModels(&quot;&quot;,&quot;&quot;)

Here a useful link : How to : Create Day an Night Model
in the bottom, I included two models, including a glowing torch and a light source attachable to "chest" of a unit.

-Sound - making good sound atmosphere is by my opinion a 1/4 of a cinematic. The sound is a vital thing of a cinematic. As an example - when a horsmen rides add a ridding loop sound, if it rains add rain loop etc. Good music is the most important thing. You must control the music, fading it out in conversations, increasing the rhytm in the battle scenes, the music must follow the cinematic for the ultimate effect.

Actors and Special Effect :
-Try to use the right animation and maybe ,in battle cinematics, reduce actors animation speed when they're about to clash, it add some epicness

-When you have a only cinematic map, you can make realy cool spells, using bunch of effects, controling unit animations, actualy doing pretty much any spell

-Some battle cinematics makers order a units to move to a region to evade an attack, the problem is that it don't give the feeling of a evasion.
There some good ideas to evade an attack :
1-You could blink the unit (just don't make a blinking grunt)
2-Play "ready" animation (some models only) and use knockback so it look like the unit parried the attack
3-Make the unit jump (using flying height)

-You can play specific animation for unit, yes!
Use this animation native :
JASS:
native SetUnitAnimationByIndex takes unit whichUnit, integer whichAnimation returns nothing

You should store the unit into a variable, like "Unit", in Jass the variable name will be udg_Unit
JASS:

We still need that integer, which represents animation's ID, to play specific animation, you have to use animation ID
A good way to get the animation ID is to convert the model to .mdl using Magos Model Editor.
After being converted to .mdl, open the mode with Notepad and look for the animation you need.
If the animations you need is the 4th then use :
JASS:
call SetUnitAnimationByIndex(udg_Unit, 3)

because JASS always start from 0

-It is possible to lock a unit's head OR torso by triggers using :
Trigger:
  • Animation - Lock (Last created unit)&#039;s Head to face (Last created unit), offset by (0.00, 0.00, 90.00)

If you let 1 unit look at another his head or chest will follow this unit untill you reset the body part facing.

NOTE : It is possible to lock the facing to the unit itself, making only the offset factor matter

Random Tips :
-It's better to divide a cinematic to many different scene as it's better than a single long trigger

-Use comments so you don't get lost.

-Use Combat Sounds in battle cinematics when characters are fighting

Examples Cinematics :
The Spirit of Vengeance
 
That last line on the bottom contains a wait. A hidden wait, but a wait nonetheless.
 
Ah, you mean the transmission :
Code:
Cinematic - Send transmission to (All players) from Demon Hunter 0001 <gen> named Demon Hunter :: Play IllidanYesAttack2 <gen> and display Die Fool!. Modify duration: Set to 2.5 seconds and [COLOR="Red"]Wait [/COLOR]
 
> Cinematics are like cutscenes or movies, but they are usually a bit different when it comes to Warcraft cinematics.
That doesn't tell me anything.

> Cinematics don't like that by themselves; they require some functions to initialize.
My cinematics like that though. Functions?

Trigger:
  • Cinematic - Turn cinematic mode On for (All players)

This turn on the cinematic for all players
... Would never have guessed. :p
Perhaps you could explain what cinematic mode actually does, and why you should use this?
Same applies to the other actions you mentioned there.

> Cameras are extremely importants when making cinematics as they add a feeling to players
Cameras add a feeling to the players :confused:? I thought cameras were there so that you could actually see what was happening from different views.

> Set Camera to Current View : Set the camera to the current view
:rolleyes:

This tutorial needs some serious re-writing on most parts.
 
> Cinematics are like cutscenes or movies, but they are usually a bit different when it comes to Warcraft cinematics.
That doesn't tell me anything.

> Cinematics don't like that by themselves; they require some functions to initialize.
My cinematics like that though. Functions?


... Would never have guessed. :p
Perhaps you could explain what cinematic mode actually does, and why you should use this?
Same applies to the other actions you mentioned there.

> Cameras are extremely importants when making cinematics as they add a feeling to players
Cameras add a feeling to the players :confused:? I thought cameras were there so that you could actually see what was happening from different views.

> Set Camera to Current View : Set the camera to the current view
:rolleyes:

This tutorial needs some serious re-writing on most parts.
Sorry for my bad english, it's my first tutorial and I'm not that good at english but I'll try to improve it.
 
Thanks you for this tutorial, I have learned some tricks and improved my cinematics alot.
Good luck on finishing it
 
If you use firefox, right click and click check spelling.

Will help add to the seriousness of the tutorial.

It seems a little wordy. Try taking out some obvious stuff if there is some in there. I haven't read it to be honest, but I have checked out the triggers and some tips you've explained.

Look out for things like stating the obvious.
Instead of stating the obvious like saying "Unit - Kill Unit - Kills the unit" You can say the overall purpose. "Unit - Kill Unit - Used to do..."
Repeating yourself.
Instead of repeating yourself using different wording, try explaining a different function or use (Which I see you have done, just going through these things)

And small things like spelling and grammar errors.
 
Trigger:
  • Cinematic - Turn subtitle display override On

This is optionnal but forces player to have subtitles turned ON

Ok.

Trigger:
  • Cinematic - Turn subtitle display override On

Prevents players from selecting units or controlling them
Wait...I thought you said that function "forces player to have subtitles turned ON"...



Oh by the way, I thought Turn on Cinematic Mode automatically does all that user control and letterbox stuff.
 
In Cinematic - Transmission to unit
Modify duration
What is the diffrent of add,set to and subtract.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good
  • The Helper The Helper:
    I would like to see it again like Ghan had it the first time with pagination though - without the pagination that view will not work but with pagination it just might...
  • The Helper The Helper:
    This drink recipe I have had more than a few times back in the day! Mind Eraser https://www.thehelper.net/threads/cocktail-mind-eraser.194720/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top