In-game Cinematic Tutorial
Introduction
This Tutorial will go in-depth about how to place cameras, how to set their settings like Depth of field and how to trigger the cinematic.
Setting up the terrain
In order to create a cinematic in your campaign, you need at least something to look at. So create a terrain, it can be very basic.
Then open the camera (C) and place few camera that you want them to go from one to another. Make sure they are not too different in their position so when we trigger them, it will be fluid.
Tips: Use Shift to Zoom in, Control to change the angle, Alt to change the heigh.
Here is my terrain example: http://i.imgur.com/bxlKIys.jpg
Triggering
Open the trigger editor (F6)
Initialization
- First get rid of the "Melee Initialization" trigger and create a new one (Ctrl+T). Named it as you wish, I'll name mine Cutscene.
- Then, add the Event "Key Pressed" and choose a key such as Num Pad 0. I use this for testing purpose. In your campaign, it could be a simple trigger that does "Run Trigger" to run this cutscene.
- At the beginning of your cutscene, you want to set up a couple things before going into the cameras. One thing you might want is hide the UI to enter the cinematic mode. To do so add the action "Cinematic Mode". Turn it On over Immediate. This will remove it instantly. By default, it would do the animation that removes the UI. If it happends right after some gameplay it could look better, but for testing, immediate is better.
- You also need to reveal the area. You can use the action: "Create Revealer" and set the region to "Entire Map".
- You might want a fade in/out at the beginning. To do so, create a new action "Fade In/Out" and change it to Fade Out over 0 seconds. This will turn the screen black.
- Create another action "Fade In/Out" (Or copy paste) and change to Fade In over 1 seconds, and change the "Wait until it finishes" to "Don't wait". This will turn the screen normal over one seconds. The "don't wait" means it will go to the next trigger without waiting for the fade to finish.
http://i.imgur.com/X0rwFZU.png
Camera
- Create a new action: "Apply Camera Object". Change the "Default game camera" to your first camera by going into "Value". And change the number of seconds to 0. You can leave the other parameters to their default values. This will make the camera move instantly.
- Create "Apply Camera Object" again (or copy paste) and change the camera to your second camera. Change the time to 5 seconds. This way it will take 5 seconds to move from your first camera to your second.
- Now we want to wait for the camera to move before applying another one. Create a new action: "Wait" and set the wait to 4 seconds. This is a little trick. In order to keep the camera moving and smooth, you can apply a new camera while it's still moving so it will kind of glide and face the new camera. A gap of 1 to 2 seconds is enough to keep it fluid.
- Create "Apply Camera Object" again with your 3rd camera over 5 seconds, and create a new Wait of 4 seconds. Repeat for every camera you created.
http://i.imgur.com/tIFJfXi.png
- So alright, what if you want to change camera to have a different point of view instantly, just like a camera cut in movies? Well, you do like the first camera, you apply it at 0 seconds and then apply a new camera right after, this way it will cut.
- When you are done, you might want to add a fade out over few seconds.
http://i.imgur.com/iv21dze.png
And you're good to go... well. Almost. This is simply moving the camera. You could "Create Unit" and "Issue Order" to make them move to add a little bit of action. On my example, I have Zealots and I know Zealots have a Dance animation, so I'll make them Cheer.
- I'm going to add a "Pick Eatch Unit In Unit Group", change "Last created units" to "Units In Region Matching Condition" and change "Any" units, to "Zealot".
- Then I add another action in the pick eatch unit loop, "Play Animation", I change "Stand" for "Dance" and "Triggering Unit" for "Picked Unit". You can also change the option to "Play Forever" which will make them loop the animation.
http://i.imgur.com/9iG1T5o.png
Notes
- You can and should make stuff moving around and animate. It makes the cinematic more interesting to watch.
- It is hard to follow units or battles correctly when you do not see them when doing the triggers. It is normal to do a couple triggers and test to see how it looks.
- Doing cutscenes like this requires quite alot of trial and error which is annoying, but meh.
- When your cutscene is finished, do not forget to remove the revealer, turn off the cinematic mode, fade in, etc.
Camera Settings and Depth of Field
You placed your cameras, you've triggered them, there is some action going on, but you still feel like something is missing? To polish up even more the camera you can add Depth of field. DoF is what blurs the horizon when looking to something close, or blur what is close when looking at the horizon, basicly.
- No DoF: http://i.imgur.com/rfAl45h.jpg
- Light DoF: http://i.imgur.com/wNtoE6V.jpg
- Focus Near DoF: http://i.imgur.com/kkNT6Qa.jpg
- Focus Far DoF: http://i.imgur.com/otFrAdZ.jpg
These are the values you are looking for to create the effect shown in the examples.
Depth of Field - Amount
This is the density of the blur effect. It is ranged from 0 to 1. Personally I tend to work more with the max amount as the impact is more obvious. Then if needed I lower it a bit.
Depth of Field - End
This is how big the clean area is. The bigger the value is, the bigger the clean area will be.
Depth of Field - End (Near)
This value is about the gradation from clean to blurred. The bigger the value is, the more spreaded the half clean half blurred area will be. You generally want this value to be at least 2.0 to have a decent effect at the edge of the blur. Smaller then that it can look relatively bad. Example when the value is 0: http://i.imgur.com/Bxn7YHB.jpg and when the value is 2: http://i.imgur.com/3jJloT8.jpg
Depth of Field - Focus Depth
This is the position of the clean area. The number is the range from the position of the camera. So when you want to focus on something far, this value will be higher and when focussing on something close it will be small.
Playing with these value will get you some interesting DoF. You have to do that for eatch cameras and the DoF will smoothly change between eatch cameras during your cutscene. For example, you could have two cameras at the exact same position but one focussing on a character very close to the camera and one a little bit further and you could alternate between the two to show who is talking.
Note
I'm adding a little sidenote here about "Distance - Far Clip" which is a value that limits the view. If your map is big and filled of units and stuff, doing a camera angle like I did in the video below, you would most likely get lag. Reducing the Far Clip until you hide important stuff will prevent lag.
Also, "Distance - Shadow Clip" is a value that check if at this distance it should or not generate shadows. You could set this value very high like 10000 to generate all shadows even when your camera looking from very far. This is only for realistic purpose and could generate more lag if there is alot of stuff to generate shadow.
Result
In the end,after creating the terrain, triggering, placing the cameras, setting the depth of field and tweaking maybe the timings, here is what it can result in.
Map File: http://www.sc2mapster.com/media/files/915/950/CameraTutorial.SC2Map
AAAAAAAAAAAAMMMMMMMMMMMAAAAAAAAAAZZZZZZININNNGGGGGGG
@Hockleberry: Go
I think you like. Thanks :P But, I think I should add even a couple more stuff. For example, when doing a cutscene you might want character to talk or the camera to shake or an effect to happend like an explosion.
Nice tutorial, why not global cinematic setting instead of revealing area?
@Hultmanable: Go
I'm not sure what this is for exacly, and also because it impacts all players where if you want to create cinematics at different moment for different player... this cannot be used. Also this tutorial is in-depth yeah but still could be more detailled. There is just too much stuff to talk about so if you want to keep it simple, you try to use the more simple triggers. I do not mean that we should not use Global Cinematic Setting, but that is not part of the most important things if you want to make a cutscene.
The mapmaker will have to experiment on his own as well. Things like "Create revealer for entire map" is not the best solution for campaign as it will reveal all the areas. So the mapmaker will need to learn how to use regions as well, or other actions to get an area based on a point or a unit, etc. But for the sake of the tutorial, revealing entire map is not problem.