Recently I've started on making a Custom Campaign which will be in similar fashion as the Wings of Liberty Campaign. I've noticed that there are quite a few people who want to live up to this standard with their project and since a big part of the Wings of Liberty Campaign is Story Mode, I figured we needed a tutorial of how to make such a set.
I Need Your Help
I'm not experienced at all on creating a Story Mode Set, so this is where you come in. I'll cover as much as I know about the Story Mode, but with your help I can update this tutorial to make it the best guide to making a Story Mode Set. If I put something down that doesn't make sense, or just isn't true, do not hesitate to let me know. Now, without further due, let's begin!
Blizzard's Story Mode
By now, many of you would've noticed that Blizzard uses a single map in the Campaign that holds all the data, sets, units and cut scenes for the Story Mode. It's amazing to say the least. It's pretty hard to make sense of all the triggers in there, but as we progress we should be able to derive the important parts from it.
It serves as a hub, from where all the maps you play in the Campaign are accessed. Each time you complete a mission you return to the same map every time: TStory01. It keeps track of your progress: What upgrades you bought, what Missions were completed, what missions are available, what cut scene to play etc. Most of these things are stored in variables which store the data based upon the player's actions. For example there is a variable for the Banshee in the Armory. It doesn't show up until you have completed Supernova. As of now, I have no idea how it keeps track of those variables while you play a mission; another map.
To make this as comprehensible as possible, I'll divide the different aspects in the Triggers of Blizzard's Story Mode, the same way they did into categories.
This part seems to handle a couple of basic settings for everything that happens in Story Mode. Most of it is related to Art and Sound, such as animation speed, sound channel volumes and so called 'clickables'. That last covers the general settings for objects the player can interact with.
This covers anything that happens with the actors, this mainly involves the characters you can talk to in Story Mode. It sets up the lighting for actors, their conversations and animations.
This handles most of the things that happen within each room or setting. The background activity is set up here, such as people walking around and doors that open and close. It also covers the dialog buttons you see on the bottom of your screen: Bridge/Armory/Cantina/Lab
Hotspots are what Clickables refer to. This basically is each object the player can interact with, this excludes characters, those are handled in Actors. When you click for example on the Jukebox, or the Research Panel, the triggers handling that are in this section.
This handles all the UI's apart from the normal one such as the Research Panel in the lab, or the Upgrades Panel in the Armory etc. This tells you how those UI's work.
These are the Fidgets as they're called. When you click on Raynor for example, he will say something funny most of the time. This also goes for each character that has no Conversation at that point.
I am truly clueless when it comes to Triggers in this section, but I can make an educated guess. This section will handle all the conversations you can have with characters at given points during the campaign. Such as talking to Tychus about Ariel Hanson.
Here is where all the cinematics are handled. From setting them up at the right time, to the actual playing of them. This involves the briefings, debriefings, news reports, cut scenes, animatics and the choices you occasionally get to make.
This handles all the tips and hints the player gets throughout the campaign. Most of them cover very basic tutorials about RTS controls.
By this I mean the animations characters have for their mouths when they talk.
Existing characters can have their Lip Sync animations play through already existing dialogue. The data is linked to those sound files. To play such an animation use the following trigger. Send Transmission (Simple). Select the sound that corresponds with your unit. For instance, if you play a Jim Raynor sound file, you can only play it on Jim Raynor.
The trigger you want to be using is:
Usually it works with just the Transmission Action. It sometimes bugs though, read on if that happens.
Sometimes the sound does not play if the sound links in both actions are the same. So in this example, I will have no sound, but I will have a lip sync. If I however change one of the two sound links in the actions to a different one. I will have the lip sync of the sound that I selected in the Transmission action and the sound of the Play Sound action. Why can't you have the appropriate lip sync for the appropriate sound? I have no idea.
A workaround is to create a new sound, and change its Sound Assets field to the same sound file as you use in the Transmission action. Name it something similar, in this case I called mine BridgeTychusTychus00025(Sound) so that you can find it easily.
To have facial animations on your own sound files, you're a bit out of luck. There are no tools implemented yet to lip sync your sound file for the right unit model. However, you can use the Facial data that is stored in each sound file and copy/paste it into your own. This allows you to have at least a Lip-Sync animation on your unit, though it does look clunky. Try to pick the data from a sound file about the length of yours. You can find this in the Data Editor > Sounds > Sound Assets+ > Right click the file and hit Modify.
The software Blizzard uses for creating the Lip-Sync is called FaceFX. You can buy it at http://www.facefx.com/ but it costs a staggering $1999. You can try it out however, without the option to save your work. It's pretty awesome software.
Thanks to RileyStarcraft, Insidious
Green Lines & Names (Callouts)
The green lines you see when the character has new conversation available are called Callouts. To add them and a name tag in your scene use the following actions.
Make sure you make two global variables of the type Dialog and Text Tag, name them appropriately.
Use the action "Show Screen Image" and select one of the files starting with "ui_callout_" then choose the one you would like to use. Turn on Show Preview to give you a better idea.
Next is the position of the image. This differs from the position you want it on the screen, just try it out and see if it's at the right place, correct if necessary. One tip is to choose "Center" as your position, as the left and right bound differ per screen, but the center is always the center. You can use negative numbers as input. For the example I used 390, -200.
Now when your Callout is in the right spot, it's time to add the name tag. I used a point for this, as it's pretty easy to get it in the right position, took me only one correction to get it perfect.
Use the action Create Text Tag and select your point. Font size 24 is about right, so leave it at that. The offset is another process of trial and error, I ended up using 0.87.
Now that it's all in the right position, you need to initiate the trigger that removes them once the player initiates conversation with the character for the first time. This is simply done by adding an action that destroys the Text Tag variable and the Dialog variable.
Q: Can we let characters play their Lip-Sync animations through triggers?
A: <no answer yet>
they'll automatically play the animation if the sound has lipsync data and you play it using the right trigger. the issue is generting lipsync data for your sounds which requires an as yet unreleased tool.