UDN
Search public documentation:
DialogSystem
日本語訳
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 Home > Audio Home > Dialog System
Dialog System
Streaming Audio
Unscripted Dialog
- The cooker will generate a list of packages it has determined as needing to be cooked. When it is done, it will make the call into the cooker helper where it will add the GUD banks that need to be generated to the lists. These are 'fake' packages, as they do not actually exist. The helper just inserts the names of packages it knows it will need to create. During this time, it will break down the source GUDBanks into several smaller banks as described above. It also generates lists of the sound cues and FaceFX animations that are used by the dialog for use later in the system. (This information will be stored in the persistent cooker data to avoid having to regenerate it each time the cooker is run.) A table of contents package is also put on the list which maps the 'parent' GUDBank class to the collection of GUDBank packages it will be broken into.
- The cooker will iterate over the packages in the list, loading each one and cooking the objects in them. When loading a package, it will first make a call into the helper to allow it to load the package. In the case of the GUDS, this is where the helper will create the package on the fly and return it. This involves creating a new GUDBank and filling it in with the appropriate lines. Any FaceFX animations are also inserted into a new AnimGroup that will be applied to the pawn when a bank is set for them. It will also set an internal flag indicating that a GUD package is being cooked or not for use later in the process. The helper will return NULL if it does not need to do any special processing of the given package file, and the cooker will load the package the standard way. This is done for all non-GUDS packages.
- After the package is loaded, the helper has a post load function called. In the case of the GUDS system, the helper will find the original GUD banks if the package is GearGame or GearGameContent and clear out their contents. This is to avoid the lines being pulled into their cooked packages. (Note that this operation could have been done during the cooking of the actual GUDBank objects as well, but it demonstrates a usage case for the PostLoad function of the cooker helper.)
- The cooker then iterates over each object in the package cooking it. It will first make a call into the helper CookObject function, which returns a boolean indicating whether or not the standard cooker should process the object further. In the GUDS helper case, if the object is a sound cue in the referenced list and the package is not a GUDS package, the sound cue will be set to
MarkedByCooker
to avoid having it cooked into the current package. If it is a GUDS package, it is set to force export and also has its FaceFX animation group name fixed up if required. If the object is a FaceFX asset or animset, and it is not a GUDS package, any referenced animations used by the GUDS are removed from the set.