以前Houdiniで作成した戦車モデルにアニメーションを設定してみた。
今回、戦車自体はOBJレベルでキーフレームアニメーションで動かし、
キャタピラと車輪の動きはSOPレベルでVEXを使ってコントロールしている。
拙著「Houdini SOP&VEX編」に記載しているキャタピラを動かすためのVEXを
凹凸地形にも対応できるように今回改良した。
戦車は旋回の方向によって左右のキャタピラと車輪の回転を
逆にする必要があるが、それにも対応できるようにした。
このためにCHOPで微分(差分)計算を行った。
具体的には、OBJレベルで作成した戦車の回転アニメーションをCHOPに読み込み
Slope CHOPでチャンネルカーブに対して微分操作を行った。
これによりチャンネルカーブの傾き情報(速度)が得られるため
「傾きがプラスだったら右旋回中、マイナスだったら左旋回中」のようにVEXの中で判定し、
適切な方向にキャタピラと車輪を回転させることができるようになる。
戦車の前進・後退の判定にもSlope CHOPを使用した。
(ちなみに、微分の逆の積分操作はArea CHOP)
テクスチャーはSubstance Painterを使って作成し、
最後にPyroで土煙を加えて完成。