CG 日記

modoのアクションレイヤー

前回に引き続きチャンネルについて書いてみたいと思います。

modoのチャンネルは複数の値を格納することができます。SDKのページを見ると「アクションレイヤー」という仕組みのようです。このアクションレイヤーを使用している代表的な機能が「アクション」「レンダーパス」「セットアップモード」です。
3dsMaxでは「ステートセット」、Mayaでは「アニメーションレイヤ」「レンダーレイヤ」に該当する仕組みです。modo 11.2 では格納された値をブレンドするノンリニアアニメーションエディタのような機能が提供されていないため、シンプルなレイヤーのON/OFFスイッチとしてのみ利用可能です。

「アクション」「レンダーパス」「セットアップモード」と専用に名前がついていると「アクション」はアニメーション専用のように感じるかもしれませんが、仕組みとしては使用するチャンネルは制限されていません。
例えばアクションやセットアップモードでマテリアルの色を変更したり、レンダーパスでアニメーションを切り替えるようなこともできます。セットアップモードでアイテムの表示を切り替えるような使い方は、リギングで便利に使えると思います。

 

アクションレイヤーの階層構造

modoには「アクション」「パス」「セットアップモード」の他にも、いくつかアクションレイヤーが存在します。以下の図はレイヤーの階層構造です。この図はUIから見た動作をまとめたもので、実際の動作とは異なる可能性があります。
マニュアルでは「セットアップアクションステート」「セットアップレベル」「シーンレベル」など断片的に用語や図が出てきますが、残念ながら全体をまとめた解説がありません。

全てのチャンネルのベースとして「初期状態」が存在していて、その上に初期値から変更された値を格納する「Setup」レイヤー、デフォルトでキーを格納する「Scene」レイヤー、一番上にアクション / レンダーパスを格納するレイヤーという構造になっています。アクション / レンダーパスは数を自由に増やすことができます。
チャンネルのレイヤー情報はチャンネルビューポートの「ソース」から確認することができます。


レイヤーの動作は Action / Render Pass レイヤーの値を編集すると、下にある Scene、Setup 、初期状態の値を上書きします。レイヤーで値を変更しないチャンネルは下のレイヤーの値が使用されます。
Scene でキーが作成されているチャンネルを、Action で編集したときは Scene のキーが Action に追加されます。

特殊なレイヤーとして「Edit」があります。「Edit」はテンポラリのようなレイヤーで、ユーザーが編集した値を一時的に格納します。タイムラインの移動、レイヤーの切り替え、キーの作成、「適用」ボタンを押したときなど編集が確定したタイミングで本来のレイヤーに値を反映します。ソースが Edit のときは「破棄」ボタンで編集をキャンセルすることができます。この動作はmodoのダイレクトモデリングツールがアクティブのときは編集や設定の変更をくりかえしテストできるのと同じ仕組みだと思います。

 

アクションレイヤーの種類

各レイヤーについ少し詳しく解説してみたいと思います。

初期状態

アイテムの初期状態です。チャンネルの○アイコンが灰色の状態です。
メッシュ、カメラ、ライト、マテリアルなどアイテムを新規に作成したとき、全てのチャンネルは 初期状態 に置かれます。

 

Setup

パラメータを初期値から変更した場合に値を格納するレイヤーです。

 

セットアップモード

セットアップモードはリギング用の特殊な空間です。セットアップタブのセットアップボタンを押すとビューポートに黄色の枠が表示されセットアップモードに切り替わります。

セットアップモードは他のレイヤーと異なりチャンネルにキーを作成してアニメーションすることはできませんが、チャンネルに「セットアップ/静止値」を設定することができます。
「セットアップ/静止値」はmodoの標準機能だとバインドしたスケルトン、トランスフォームデフォーマ、スプラインデフォーマなどメッシュを変形するために使用するアイテムの初期位置を格納するために使用されています。

「セットアップ/静止値」はセットアップモードでチャンネル右クリックメニューにある「セットアップ/静止値を設定」から設定することができます。「セットアップ/静止値」を設定したチャンネルはセットアップモードのとき○アイコンがライトグレーで表示され、セットアップモード OFF のときはパス同様にライトグリーンのアイコンが表示されます。チャンネルを編集した場合はソースが Scene になります。

 

Scene

デフォルトでキーを格納するレイヤーです。アクター や レンダーパス を使用していいない場合は Scene に値が格納されます。「セットアップ/静止値」が設定されているチャンネルを編集したときも  Scene が使用されます。

 

Action / Render Pass

アクター や レンダーパス で使用されるレイヤーです。パスやアクションに追加されているチャンネルの○アイコンはライトグリーンが表示されます。
アクター や レンダーパス は「グループ」として機能が提供されています。グループの順番や、グループ内のアクター / レンダーパスの順番はグループビューポートのリストで変更することができます。

 

アクションレイヤーの仕組みはこんな感じです。こんなチャンネルの仕組みが modo 601の時点で完成していたなんて驚きですね。

どうしてチャンネルの話を書いてるかと言うと、この仕組みが理解できていないとデフォーマを使用したリグを構築できなからです。特に「セットアップ/静止値」は重要です。
よくある失敗として「セットアップ/静止値」が設定されているチャンネルを、別のチャンネルとリンクするという操作があります。「セットアップ/静止値」をリンクで上書きしてしまうため、セットアップモードでもアイテムの位置が変わってしまいます。
そんなときはリンクするアイテムの位置に「セットアップ/静止値」を設定することで問題を解決する事ができます。チャンネルのリンクだけでなくコンストレイントを使用した場合も同じなので、覚えておくとリギングがはかどるかと思います。

 

参考資料

https://help.thefoundry.co.uk/modo/content/help/pages/rendering/render_passes.html
https://help.thefoundry.co.uk/modo/content/help/pages/animation/channels.html
https://community.foundry.com/discuss/topic/80813/what-exactly-does-apply-to-setup-do?mode=Post&postID=757873
http://modo.sdk.thefoundry.co.uk/wiki/File_Formats#ACTN

コメントを残す

*