Movie Play Trigger

image090523_01

ムービーファイルをTouchで再生するには、Movie in CHOPを使用しますが、それだけではループ再生するだけの状態です。任意のタイミングでムービーを再生するにはいくつかのオペレータを組み合わせる必要があります。このサンプルはボタンをクリックすると、ムービーファイルを最初から最後まで1回だけ再生する仕組みです。

image090523_02

このサンプルではMovie in CHOPのPlayタブにあるCue(キュー)パラメータをコントロールして、ムービーを任意のタイミングで再生させて、ムービーを再生が最後に達したら、再生を終了させています。Cueパラメータは0でムービーを再生、1でムービーを停止するパラメータです。サンプルシーンを見ると、Cueパラメータがエキスポートされているのが確認できます。

image090523_03

Cueパラメータで再生・停止をコントロールするためには、ムービーファイルの長さの分、Cueパラメータを0にすれば良いので、Info CHOPでMovie in CHOPを参照します。Info CHOPはNode Pathで指定したオペレータのデータの状態をチャンネル化します。ムービーファイルの長さ(フレーム数)はlengthというチャンネル名に割り当てられます。

image090523_04

Info CHOPで得られるムービーファイルのフレーム数は30FPSでの長さです。一方、Touch077の再生レートはデフォルトで60FPSです。Math CHOPでlengthを2倍にしています。もしシーン自体の再生レートを30FPSにする場合は、この処理は不要です。

image090523_05

ムービーファイルのフレーム数はTrigger CHOPのAttack lengthにエキスポートされます。Trigger CHOPは入力に対して、Attack lengthで設定した時間をかけて、Peak Levelパラメータで設定した数値のランプを出力します。Attack Shapeは増加を一定にするために、Linearに設定します。また、ランプはピークに達した後、減衰は必要ないので、Sustainタブの数値パラメータはすべて0にしておきます。

image090523_06

Trigger CHOPでボタンを押したタイミングで、ムービーの長さの時間分、0.0001~1のランプが出力される仕組みまでできました。最後はランプが出力されている間は0、ランプが出力されていない間は1の値になるように調整すれば、Cueパラメータのチャンネルとして使用することができます。Logic CHOPは入力した値に対して、設定したロジックにしたがって、0または1を出力します。Convert InputをOff When Zeroを設定すると、入力が0の場合は0、入力が0以外の場合は1を出力します。これでは上記の状態とは逆になってしまうので、Channel Par OPをInvertに設定することで、入力が0の場合は1、入力が0以外の場合は0を出力するようになります。

Download Touch File