Maya のアニメーション チャネルをHoudiniへ
FBX や Alembic とは別に、単一または少ない数のチャネルデータをMayaからHoudiniに読み込む方法を覚える。ここでは、Mayaの
- 単一アニメーションチャネルを chop 関数を使って指定する方法
- tx, ty, tz といった3連データをExport ノードを使って指定する方法
参考シーンファイルへのリンクは一番下にあり。
I. Mayaから単一チャネルデータの出力とHoudiniでの読み込み
MayaのカメラのfocalLength に簡単なキーフレームアニメーションを設定、これを出力、Houdiniのカメラに読み込む。
0. Maya でのシーン作成
Maya でカメラ一つ (camera1) と Sphere 一つ (pSphere1) の簡単なシーンを作成。camera1 の Focal Length に 35@1, 75@60, 35@120という簡単なキーフレームアニメーションを付けたとする。
このシーンは、maya2013_camera1_FocalLengthAnim.ma として保存してある。
1. Maya からのチャネルデータの出力
- カメラのシェイプノード (cameraShape1)を選択する。つまり、camera1をビューポートで選択後、下矢印(↓)キーを押して一階層下げ、cameraShape1 が選択された状態にする。
- Channelbox で cameraShape1のFocal Length をクリック、ハイライトされた状態にする。
- File->Export Selection ...を実行、
- File Type を move にする。
- File Type Specific Options 以下にある "From Channel Box ボタンをクリック、cameraShape1.fl を出力するチャネルとして登録。
- Export Selection をクリック、ディレクトリを指定、ファイル名を付けて保存するが、この際に拡張子をMayaのデフォルトである .move (または.mov)ではなく、.chanとすると Houdiniで認識可能になる。
- ここでは、maya_camera1_focalLengthAnim.chan という名前で保存。
- MEL では、
movOut -f "filename" camera1.focalLength;
と書ける。
- アニメーションが一度再生され、チャネルが各フレームべた打ちのキーフレームデータとしてテキストファイルで出力される。このファイルは、テキストエディタで開くことが出来る。開いてみれば、ヘッダもなければチャネル名もない行単位でデータが書かれただけのファイルなので、使いまわしはし易い。Excelで書くことだって出来るだろう。
2. Houdini でのシーン作成
Houdini を起動。
- Create シェルフからSphere をCtrl+クリック。原点に配置。
- Lights and Cameras シェルフから Cameraを同様に Ctrlキーを押しながらクリック。今見ているビューでカメラ (cam1) が作られる。ビューポートは下ような状態:
ネットワークエディタは下のように二つのノードが存在することがわかる。 - ここまでの状態は、houdini_animImport_setup.hip として保存してある。
3. .chan ファイルの読み込み (その1)
.chan などのチャネルファイルは CHOP コンテクストで扱う。このためには、a) ネットワークビューでコンテクストを/ch に変えるか、b) CHOP Network をSOP 内に作成する、のいずれかを行う。ここでは、まず /ch へ行く。
- ネットワークビュー上部のプルダウンから、ch を選択する。
- TAB メニューから CHOP Network を選択する。選択肢は、デフォルトの場合、一つしかないはず。
実行すれば、ch1 というノードが出来るので、その中に入る。 - ch1 の中で TAB メニューから File ノードを作成。file1 ノードが出来る。
- file1 の Channel File に、Mayaから出力した .chan ファイル (maya_camera1_focalLengthAnim.chan) を指定。
- ネットワークビューで file1 を表示ノード(ノード右側を青)とし、Motion Viewを開けば、チャネルデータが正しく読み込めていることを確認できる。
描かれたグラフのチャネル名が"chan0"となっていることを確認。後で必要。
4. チャネルデータの関連付け (その1)
読み込んだファイルをノードのパラメータに関連付けるにはいくつかのう方法があるが、まず chop という関数を使用する。
- ネットワークビューで/obj に戻り、cam1 を選択。View タブに行き、Focal Length というパラメータがあることを確認。
- デフォルトの値である 50 を削除し、ここに
chop("../../ch/ch1/file1/chan0")
というエクスプレッションを記述。
chop("と入力したあとパラメータ名を書いていく際にはパラメータ名補間が効くので途中で間違えることはないが、最後の chan0 は出て来ないので注意が必要。最後はかならず " (ダブルクオート)が必要。 - 正しく設定が出来れば、Scene View 表示でタイムスライダーをスクラブすれば、カメラのズームが変更する様子が確認できる。
II. Mayaからの三連データの出力とHoudiniでの読み込み
Maya の中の pSphere1 に簡単な tx, ty, tz だけのアニメーションを付け、これを Houdini内の sphere_object1 に渡す。
Maya での手順は割愛し、pSphere1 の TranslateX, TranslateY, TranslateZ の3つをチャネルボックスでハイライトし、先ほどと同じ手順で、maya_pSphere1_translateAnim.chan というファイルで出力した。
5. .chan ファイルの読み込み (その2)
今回は、SOP内に CHOP Network を作って行ってみる。
- Scene ビュー (/obj) で、TAB-> 'c', 'h', 'o', とキーボードを打っていけば、ノードの選択肢として CHOP Networkが残る(そうでなければ Managers 以下)。これを選択、実行。chopnet1が出来る。
- 先ほど同様、中に入り、file ノードを作成。file1 が出来る。
- file1 の Channel File にmaya_pSphere1_translateAnim.chan を指定。これを表示ノードとし、MotionViewで見れば、チャネルデータが3つ、chan0, chan1, chan2 と読み込まれていることが確認できる。
Motion View 内で'd'キーを押すと、キーフレームデータが点で表示される。もう一度押せば消える。 - file1 の Name Options を "Use Names in File" (デフォルト) から "Use New Names" とする。こうすると直下の Names のフィールドが変更できるようになる。
- chan0 を削除。替わりに t[xyz] と入力。
Motion View に表示されている3つのアニメーションカーブが、それぞれ tx, ty, tz に変更されたことがわかる。
6. チャネルデータの関連付け (その2)
3つのチャネルデータを関連付けるには、それぞれで chop() 関数を使うよりも、Export ノードを使って関連先を指定した方が使い勝手が良い。
- chopnet1 の中に Export ノード (export1)を作成、file1 から export1 の左側に接続する。
- export1 を選択しParameter Viewを見る。Node というパラメータの一番右の '+' アイコンをクリック、Choose Operator ウィンドウを表示、ここで、sphere_object1 を選択、Acceptを押して確定。
- Node の直下の Path の値を tx から t[xyz] に変更。
- Netork View で export1 の Export (右から3番目の茶色・オレンジ色)フラグをオンにする。
- Scene Viewで sphere_object1 を表示し、タイムスライダーをスクラブすると、sphereがアニメーションしていることが確認できる。
sphere_object1 のトランスフォームを見れば、tx, ty, tz がそれぞれ Overriden となっていることがわかる。 - 再び、/obj/chopnet1/ に戻り、export1 ノードの Export フラグをオフにすれば、sphere_object1 はアニメーションされない。
まとめ
これら2つの方法により、単一アニメーションチャネルも3連チャネルもMayaからHoudiniにもって行くことが可能になる。Maya から出力したチャネルデータを CHOP (/ch 以下) に格納するか、それとも SOP (/obj 以下) に格納するかはシーン全体の構成にも拠ると思うが、Houdini Digital Asset として他のユーザや環境とシェアするのであれば、SOP 以下に格納した方が楽になるはず。
参考シーンファイル:
- m2h_fbxCameraImport.zip (31KB)
0 件のコメント:
コメントを投稿