CRI ADX  Last Updated: 2024-03-21 14:32 p
Tween
AtomExプレーヤーのパラメーター(ボリュームやピッチ等)を一定時間かけて変更する手段 として、AtomライブラリにはTweenという機能が存在します。

Tweenについて

Tweenは「特定のパラメーター」を「指定した時間」で「目的の値に変化させる」ためのモジュールです。
Tweenを使うことで「ボリュームを0.5秒後に0に落とす」といった操作が簡単に実装可能です。
Tweenは AtomEx プレーヤーにアタッチして使います。
具体的な操作手順は以下のとおりです。
  1. 操作したいパラメーターに対応したTweenハンドルを criAtomExTween_Create 関数で作成する。
  2. 作成したTweenハンドルを criAtomExPlayer_AttachTween 関数でAtomExプレーヤーにアタッチする。
    (必要に応じて criAtomExPlayer_Start 関数等で再生を行う。)
  3. criAtomExTween_MoveTo 関数を実行し、パラメーターを変化させる。
例えば、以下のコードでボリュームを0.5秒かけて落とすことが可能です。
/* ボリュームをフェードするTweenの作成 */
config.parameter_type = CRIATOMEX_PARAMETER_TYPE_BASIC;
config.id.parameter_id = CRIATOMEX_PARAMETER_ID_VOLUME;
CriAtomExTweenHn tween = criAtomExTween_Create(&config, NULL, 0);
/* Tweenをプレーヤーにアタッチ */
/* 再生を開始 */
/* 0.5秒(=500ミリ秒)かけてボリュームを落とすよう指示 */
criAtomExTween_MoveTo(tween, 500, 0.0f);
void criAtomExPlayer_AttachTween(CriAtomExPlayerHn player, CriAtomExTweenHn tween)
プレーヤーにトゥイーンを取り付ける
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
@ CRIATOMEX_PARAMETER_ID_VOLUME
Definition: cri_atom_ex.h:4041
struct CriAtomExTweenTag * CriAtomExTweenHn
トゥイーンハンドル
Definition: cri_atom_ex.h:5125
#define criAtomExTween_SetDefaultConfig(p_config)
トゥイーン作成用コンフィグ構造体にデフォルト値をセット
Definition: cri_atom_ex.h:1165
CriAtomExTweenHn criAtomExTween_Create(const CriAtomExTweenConfig *config, void *work, CriSint32 work_size)
トゥイーンの作成
void criAtomExTween_MoveTo(CriAtomExTweenHn tween, CriUint16 time_ms, CriFloat32 value)
現在値から指定値に変化
@ CRIATOMEX_PARAMETER_TYPE_BASIC
基本パラメーター
Definition: cri_atom_ex.h:5058
トゥイーン作成用コンフィグ構造体
Definition: cri_atom_ex.h:5081
備考:
Tweenはランタイム向けの機能です。
ツール上でTweenに関する設定を行うことはできません。

操作可能なパラメーターについて

Tweenで操作するパラメーターは、Tweenハンドル作成時に指定します。
パラメーターの指定は、大きく分けて以下の2パターンがあります。
  • CRIATOMEX_PARAMETER_TYPE_BASIC
  • CRIATOMEX_PARAMETER_TYPE_AISAC
ボリュームやパン、ピッチといった一般的なパラメーターを制御する場合、 CriAtomExTweenConfig 構造体の parameter_type に CRIATOMEX_PARAMETER_TYPE_BASIC を設定し、 id.parameter_id に制御したいパラメーターのIDを指定します。
Tweenを使用してAISACコントロール値を制御したい場合、 CriAtomExTweenConfig 構造体の parameter_type に CRIATOMEX_PARAMETER_TYPE_AISAC を設定し、 id.aisac_control_id に制御したいAISACコントロールIDを指定します。
備考:
CRIATOMEX_PARAMETER_TYPE_BASIC 指定時に操作可能なパラメーターの一覧については、リファレンスの CriAtomExParameterId を参照してください。