ADX2

ADX2に関するTips

オートメーションでAR,RRをセットする?

オートメーションを使って、ボイスにかかるエンベロープのAR(アタック時間)RR(リリース時間)を設定するといったことができます。

キューにかけると下位にあるトラック内のボイス全てにAR,RRが影響します。

[余談] ちなみに AR=AttackRateで、アタックにかかる再生レートという意味で一般的なシンセでは扱われていますが、
ADX2でのエンベロープは再生時間指定で、時間は固定時間になります。(再生ピッチなどに連動しない方式)
ピアノのような打楽器をシミュレートして、高い音は減衰を早くなどといった場合は、このリリース時間をピッチと連動するAISACなどで変更させるなどで良いでしょう。
リリースなどを状況に応じて変化させる理由の一つとして、バリエーションを増やす役目もあります。足音など当たり方によって音の減衰がランダムに変化するなど自然現象をシミュレーションする方法としても使えるかもしれません。

UE4やUnityで大量の音声を扱う(効率の良い呼び出し方)

UE4ではUnrealEngineEditor上で使いたいキューシートだけインポートすると良いです。

大量の音声などの場合はC++から呼び出すと良いです。
キューシートはContentsフォルダ内に置いてロードして再生します。
この時CriWareApiといったエントリなどから呼び出す必要があります。詳しくはマニュアルを参照してください。

 

Unityでもシーンで使いたいもののみAtomWindowでGameObject生成すると良いです。
大量の音声などの場合は
C#のスクリプトからAtomSourceに対してキュー名を指定して再生します。

[余談]ゲームには様々なサウンドがあり、単純にシーンに配置するだけで発音するものや、プログラムから自動的に呼び出したいといったものがあります。ゲームエンジンを使うことのメリットとして、誰でもモデルやサウンドのレベル配置などの調整ができることが挙げられます。
それぞれのゲーム内容に応じて、担当者が使いやすい形でカスタマイズしモジュール化することで大幅な作業工数の削減が可能となります。
サウンドの再生についてもどのようなものなのか改めて分類しておき、プログラマ、デザイナ、プランナなどそれぞれの得意な部分で活用すると良いでしょう。

ゲームエンジンでプロファイラーを使う

UE4の場合は、UE4Editorの編集からプロジェクト設定>CriWareの「In Game Preview」をチェック(後、Editorを再起動)

Unityの場合は、CriWareInitializeのインスペクタの「In Game Preview」をチェック

ゲームを実行し、
CRI Atom Craftで、プロジェクトを作成し、
表示メニュー>プロファイラで、プロファイラウィンドウを表示し、Startを押し、インゲーム接続しますか?のダイアログで「はい」を選択します。

どのキューがリクエストされたかのログや、再生状況、エラー、ラウドネスなどを確認できます。

[余談]ADX2ではインゲームプレビューを有効にした場合にのみ他ツールとの連携のための通信処理がゲームに組み込まれます。これを利用してプロファイラは情報のやりとりを行います。
インゲームと名前がついていて紛らわしいのですが、データは通常のデータで構いません。プロファイルするだけならインゲーム用のデータを用意する必要はありません。

キューの順番

CRI Atom Craftでの表示は作成順番で並んでおり、後からツリー上でドラッグで入れ替えることができます。

ビルドしたデータでは
キューは格納された順番(通常は名前ソートされている)で記録されていてIndexでアクセスできます。

また、キューIDという飛び番号を許したユーザー任意の番号を持つことができます。
キューIDを使うことで、永久欠番などの扱いができるようになり、ゲーム作成のワークフローにあわせて利用するこが期待できます。

[余談]ほとんどの場合では名前順ですが、リンクや構造が複雑なデータの場合は名前順と異なる場合もあります。

音が鳴らない時は2つのツールでチェックしてみよう

音が鳴らない原因はいろいろあるので、プロファイラーで見てみましょう。

何かしらエラーが確認できるかもしれません。

ゲームエンジンでプロファイラーを使う

または、CRI Atom Viewerで確かめてみるのも手です。

初期化時の設定により再生ができないなどのエラーの確認ができる場合があります。

バイナリファイルのプレビュー

HCAを途中から再生したい

長いBGMなどでループの確認など、HCA素材を途中から再生したい場合、CRI Atom Viewerで.hcaを開いて、「シーク再生」に再生開始時刻を設定すると途中から再生します。(30秒から=30000msec)

キャラごとのデータを作る

テンプレートキャラクターを作る

キューシートを一つ作ります。ここでは「TemplateChara」としましょう。
まず、はじめに基本(テンプレート)となるキャラクターの設定を一通り作ります。
例えば、攻撃(大中小)、ダメージボイス(大中小)、煽りボイス
足音(走る、歩く、着地、すり足)足音床属性別(コンクリート、草原、砂利石、水)、フォーリー(衣擦れ、小物)

など基本となるキャラクターで発音するキューをすべて用意します。

新しいキャラクターを追加する場合は

キューシートをCtr+Drag(Cmd+Drag)して複製します。
キューシート名をキャラクター名に変更します。
複製後に波形を良い感じに差し替えていきます。

キューシート名=ACB名

これで、ゲームに必要な時にACBをロードすることで、メモリ消費も最小限に止めつつ管理することができます。

ダウンロードコンテンツなど、キャラクターに属するデータもACBと一緒にパッキングしておくと良いです。

プログラムからはSetCueSheetやSetCueSheetNameなどキューシート名を差し替えるといった操作で、
再生キュー名はそのままに再生ができるので取り回しも良いです。

担当ごとに作業する

BGM担当、ボイス担当、さらにはそれぞれのキャラクターなど作業を複数人で同時に行いたい場合は、

ワークユニットを分けると同時作業ができます。

ワークユニットを分けることで作業ファイルが別になるので、
同時に作業してもバージョン管理ツールなどでマージするのが楽になります。