CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
ADX Tutorial No.19: Learn about Cue sheets

The word Cue sheet has come up many times in the lessons so far, but what exactly is a Cue sheet?

term

Cue

In CRIWARE SDK, a unit of audio playback is called a Cue. A Cue contains multiple tracks, and each track can contain multiple materials (audio waveform data). These are designed on AtomCraft.

Cue sheet

An object that aggregates multiple Cue . The audio File for each Cue sheet are Output as one File (.acb). Cue sheets are designed on AtomCraft.

Note: What should be summarized in the Cue sheet?

It is up to the user (mainly the Sound designer ) to decide what kind of Cue are grouped into one Cue sheet.
For example, it is common to have one Cue sheet for each map in the game.
In this case, map-specific environmental sounds etc. are implemented as separate Cue and belong to one Cue sheet.
In addition, dialog lines and system menu SE groups for each major character may be combined into a single Cue sheet such as "CharacterHoge" or "SystemMenuSE."

In addition to ease of understanding as a group of sounds, memory usage is also a design indicator for such Cue sheets.
Basically, Cue sheets are loaded in units of cue sheets, so even if a Cue sheet contains unnecessary Cue in a certain situation, that amount of memory will always be consumed.
Although it will require more management effort, it may be easier to tune memory performance by dividing the Cue sheet into smaller pieces.

ACB data

An ACB File is a File (.acb) Output by CRI Atom Craft. One is Output for each Cue sheet.
When we simply refer to " ACB data " in this tutorial, we are not referring to the ACB File itself, but to the entire information stored in this File .

Atom Cue Sheet Asset

These are assets generated when you import an ACB File.
One Atom Cue Sheet asset is saved as an asset File(.uasset).
This .uasset File contains the contents of the ACB File. In other words, the Atom Cue Sheet asset File contains the ACB File.

UAtomCueSheet class

A C++ class that represents an Atom Cue Sheet asset.
It has various properties and functions for handling Cue sheet information .

Atom Cue Asset

This is an asset that has a one-to-one relationship with the Cue in the Cue sheet. Basically, these are not saved individually as asset File (.uasset). When playing a particular audio (Cue), you need to pass a reference to the corresponding Atom Cue asset to the CRI API.

Cue sheet is required to play Cue

To play a Cue, you must load the Cue sheet associated with it. "Load" here means loading the Cue sheet into the CRI UE Plugin.

Specifically, both of the following conditions must be met:

1.Atom Cue Sheet asset loaded 2.Cue sheet is loaded (ACB data in Atom Cue Sheet asset is loaded)

Please Attention that the two are strictly different. The former means that Unreal Engine's asset loading mechanism expands the contents of the .uasset into memory and makes it available on the system.
On the other hand, the latter means that the ACB data has been loaded into the library by the CRI UE Plugin mechanism.

If a Cue playback command is issued before the Cue sheet has been loaded, steps 1 and 2 above are implicitly implemented inside the CRI UE Plugin. This mechanism makes it possible to play Cue without having to be aware of the Cue sheet.

Cue sheet resource lifetime

Playback is possible without being aware of the loading state, but you can manage the lifetime of Cue sheet resources.
This management can be set from "Loading" in the Atom Cue Sheet asset details.



Inherited

The value set in atom.streamcache.DefaultSoundBankLoadingBehavior will be applied.

  • If the value is 0: Force Inline
  • If the value is 1: Retain on Load
  • If the value is 2: Prime on Load
  • If the value is 3: Load on Demand

Force Inline

The Cue sheet is loaded when the asset is loaded, and the lifetime is controlled on the Unreal Engine side.

Retain on Load

If the user specifies read, the Cue sheet will be loaded if necessary at the playback timing of orAtomComponent etc.
Cue sheet resources are not destroyed after the Cue sheet is discard destroy until the Atom Cue Sheet asset is discard destroy.
(Unloading assets = unloading Cue seeds)

Prime on Load

The Cue sheet will be loaded when the asset is read .
Therefore, the loading is already done at the time of playback, so playback can be performed with 0 latency.

Load on Demand

If the user specifies read, the Cue sheet will be loaded if necessary at the playback timing of orAtomComponent etc.
Therefore, if you try to play the Cue sheet before it is loaded, it will take some time until the cue sheet is loaded.



THIS SERVICE MAY CONTAIN TRANSLATIONS POWERED BY GOOGLE. GOOGLE DISCLAIMS ALL WARRANTIES RELATED TO THE TRANSLATIONS, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF ACCURACY, RELIABILITY, AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.