ボールを避ける壁

チャンネルを基に値を設定する仕組み。サンプルではスライダ1を動かすと、ボールが移動する。配置されている壁はボールが近づくと衝突しないように上昇する。スライダをどのようなタイミングで動かしても壁はボールと衝突しない。

Download file

image031226_1

チャンネルを基に値を出力する仕組み
通常、チャンネルは時間軸に対して値が決められるが、Lookup CHOPを使うと、時間軸の代わりにチャンネル値を参照することが出来るようになる。サンプルではボールのZ座標を時間軸の代わりにしてチャンネル値を参照する仕組みを作成した。
サンプルファイルのCHOPネットワーク DriverControle を見てみよう。

Indexチャンネルの設定
Lookup CHOPには2つの入力がある。Input1は時間軸の代わりとなる値、Indexチャンネルを入力する。サンプルではSelect CHOPでコントロールパネルのスライダ1の値を参照するようにしてある。スライダ1はボールオブジェクトのTranslateZとしてExportされている。

image031226_2

Lookupチャンネルの設定
Input2には参照するチャンネル、Lookup Tableチャンネルを入力する。ボールオブジェクトはZ座標-15から15まで移動するように設定されている。参照するチャンネルはこの範囲の壁オブジェクトのY座標を作成する。チャンネルを作成する方法として、このサンプルではConstant CHOPでチャンネルを作成している。チャンネルの作成はパラメータエリアでShift+左クリックでグラフエディタが表示される。

image031226_3

Lookup Tableチャンネルは固定化されたチャンネルである必要がある。Record CHOPやFetch CHOPでデータを固定化する。

image031226_4

Lookup CHOPの設定
Index Rangeパラメータをボールの稼動範囲である-15~15に設定する。Lookup Tableチャンネルとして作成したチャンネルは-150~150の範囲で作成されている。これは実際の稼動範囲でLookup Tableチャンネルを作成した場合、カーブの精度が悪くなるために10倍の範囲を使って作成するのだ。IndexRangeで実際の数値範囲を設定すれば、カーブの精度を落さずにLookup Tableチャンネルを作成することが出来る。出力されたチャンネルデータは壁オブジェクトのTranslateYチャンネルへExportしている。

image031226_5