眼球テクスチャの視線を自由にコントロールするには
https://www.youtube.com/watch?v=SLA6ZxUP-s4
キャラクタアニメーションなどを作成する際には、キャラクタの目の動きが非常に重要になります。今回はテクスチャで表現されている眼球の視線を自由にコントロールする方法をご紹介します。
シーンにクラウドアセットからダウンロードしておいた眼球のモデルを読み込みます。この眼球のモデルにはテクスチャがマッピングされており、形状は球形となっています。この眼球の視線を動かしたい場合、球形となっていますので単にモデルを選択し、回転させるだけで実現できますが、実際に作成する眼球のモデルはこんなキレイな球形である場合は少ないでしょう。例えば、もっと奥行きが狭いかもしれません。Z方向にスケールをかけた状態で、回転させてみると、モデル自体が回転しているために、視線だけを動かすことができません。
MODOでは便利なことに、こういった場合に対応できるよう、トランスフォームの計算順序を帰ることができるようになっています。標準では、ジオメトリにスケールをかけてから回転させているために、こういった状況になるので、回転させた後にスケールをかけるようにします。スケールの状態をもとに戻し、さらにチャンネルタブでスケールチャンネルをもう一つ追加します。これにより、回転の後にスケールをかけられるようになります。後から追加したスケールのチャンネルに対してZ軸にスケールをかけ、回転ツールを起動して回転させてみると、回転の後にスケールがかかるようになったことにより、眼球自体のスケールを保てるようになりました。
この方法の他にも、視点をコントロールする方法はあります。この眼球のテクスチャはテクスチャロケータによってコントロールされていますので、テクスチャロケータを回転させることで、眼球を動かすことができます。テクスチャロケータを選択し、回転させてみると、眼球モデルのジオメトリに全く影響を及ぼすことなく、視線を動かすことができるようになります。
このように動かすことも可能ですが、もっと視点をコントロールしやすくするため、視線のターゲットを他のアイテムでコントロールする方法もあります。ロケータを1つ作成し、眼球モデルの前方へと移動させます。テクスチャロケータを選択した後、追加したロケータを選択し、セットアップのモディファイヤタブ > 方向モディファイヤを適用します。これでロケータを動かすことでテクスチャロケータが必ずその方向を向くようにコントロールできるようになったのですが、眼球のテクスチャはついてきていません。これはトランスフォームの回転に入った値に対して、テクスチャは追従するようになるからです。ではいったん設定しておいた方向のモディファイヤを解除します。
新たに眼球の子アイテムとしてロケータを1つ作成し、先程と同様、このロケータを選択したら、眼球モデル前方にあるロケータを複数選択し、方向のモディファイヤを適用します。追加したロケータは正しく向くようになりましたので、このワールド回転値をテクスチャロケータの回転値へと同期させるようにします。
スケマティックビューへと新たに追加したロケータのワールド回転をチャンネルリストから追加し、さらにテクスチャロケータの回転XYZベクトルを追加します。回転行列を回転ベクトルへと変換したいので、追加 > 行列 > Matrix to Eulerを追加し、ロケータのワールド回転をMatrix To Eulerのワールド回転へ、また出力をテクスチャロケータの回転ベクトルへと接続すれば、眼球のテクスチャは必ずロケータの方を向くようになります。
このロケータをカメラに対して親子関係を設定すれば、カメラの向きへと眼球を向けることも可能です。
このようにMODOでは視線のコントロール方法はいくつか用意されていますので、場合に応じて使い分けるようにしてください。