![]() |
Time Editor その1;クリップによるエディット では、早速タイムエディタの起動から始めます。 ウィンドウ > アニメーションエディタ > タイムエディタから起動します。 スクリプトエディタのログを見るとMELコマンドでTimeEditorWindow;を実行しているようでした。 (Maya2017版 Softimageライクなホットキーでは、Alt+0にこのコマンドを登録してみました。) &ly; 余談 > やはり、このツールもパネル(Panel)ではあるので、cmds.getPanel(q=True,type=True)から見るとtimeEditorPanel1が見つかりました。 ![]() これが結構厄介であり、面倒でした。また、スクリプトからの制御も、う~ん・・・・、 キャラクター間でのクリップアニメーションのやり取りや、クリップアニメーションのバイザーへの登録も複雑でした。 タイムエディタでは、このCharacterSetの登録は要りません。やった~・・・;その代わり ネームスパースは重要です。 シーンにキャラクターを読み込んでおいて、階層トップのノードを選択して、 [ 選択したコンテンツをシーンから追加]してタイムエディタにキャラクターのアニメーションデータを読み込みます。 ![]() クリップとアニメーション ソースが作成されました。 タイム エディタでクリップのキー設定可能アトリビュートが制御されます。 自動的に track1 がComposition1(合成名) 内に作成されます。 TPoseキャラクターのトラックが出来たら、アニメーションのクリップを作成します。 track1(下図)はこのキャラクターが動いているMayaのシーン をファイル > アニメーションクリップの読み込むから選択して作成したものです。 追加の新しいトラックは右マウスクリック > アニメーショントラックを作成から簡単に作成出来ます。 track2(下図)は Windowsのエクスプローラから直接FBXファイルをドラッグ&ドロップして作成した出来たものです。 この場合は読み込むオプション画面が表示され、◎クリップのシーケンスとして を選んでいます。 分割したり、ループを設定したりは、表示上部のアイコンや右クリックした時に出るメニューから設定出来、簡単に設定出来ます。 ![]() この中の[レ] Use Clip Color を有効にすれば、その下の項目ClipColorで選択した色に変更出来ます。 各クリップは ▼部分をクリックすることでどんどん中身を見ることが出来ます。 右クリック > ドリブン オブジェクトを選択からこのクリップと関連付けているオブジェクトを選択して、確認することが出来ます。 Composition について
タイムエディタの左上に表示されている[Composition]についてはドキュメントでは異なるバージョンと書いてあり、 同じシーンに幾つものバージョンを作成することが可能です。 MotionBuilderのTakeだと同じキャラの別々のモーションという意味ですが、 Compositionは複数のアニメーションクリップで編集された画面を複数持てる、と言ったものになります。 Compositionはそのバージョンの最上位のディレクトリーで、スクリプトから特定のクリップを編集したい時などは、 Pathとしてcomposition1|track1|group|track2|clip1などとなります。 |
Time Editor その2;タイムエディタのもっと詳細 タイムエディタのMaya内での動作をもっと詳しく探求してみましょう。 例えば、ポリゴンの球 をタイムエディタに登録してみると、アウトライナー上では タイムエディタノードの下に作られた track1にanim_Clip1というクリップに格納されていることが分り、 更に、そのソースとしてあるanim_Clip1_anim_Clip1_AnimSourceには球の移動/回転/縮尺値が入っていると分ります。 この時、球のトランスフォームをアトリビュートエディタで見るとオレンジ色のボックスになっていてキーの設定項目が無いことに気が付きます。 この状態でキーを打つと、タイムライン上に赤い縦バーが表示されてアニメーションが作られたかのように見えますが、 それはロックが掛かっていない可視化のキーアニメーションだけが作られた、という状態になります。 では、どうやってキーアニメーションを追加していくかというと、 タイムエディタ内のファイル > [レ]タイムエディタのミュートという項目があります。 簡単にはタイムエディタの一番左上の無効であるマーク アイコンでミュート が出来ます。 ミュート にするとタイムエディタの表示部に無効であるマークが表示され、アトリビュートエディタも普段の色でキーが打てる状態になります。 例として、40フレームで X軸方向に 4 移動する アニメーションを作成してみます。 まだミュート の状態で、タイムエディタ内のファイル > シーンの選択からアニメーションを追加、 または、左上の[ ] + のアイコンから キーアニメーションをクリップ化 出来ます。 オプション画面を表示させると、クリップ名 など詳細設定が表示されます。 ※注意!! ここでは、X軸移動値だけのアニメーションクリップを作成したいので、 [ ] 階層全体を含める [ ] ルートを含める;移動、回転、スケール からチェックを外し、追加するアトリビュートが1であることを確認して クリップを作成します。 ミュート の状態を解除して、出来たClipの中身がX軸の移動値だけのClipであることが確認出来ます。(キーの無い空の移動/回転/縮尺の項目が無いようにします。) Z軸移動のみのクリップも同様に作成してみます。 ![]() クリップ名と色を付けると格段に見やすく、分りやすくなります。 ![]() ![]() タイムエディタの機能は昔から他にあったということで・・・・ ![]()
|
Time Editor その3;クリップ のブレンド では、クリップ同士のブレンドについてみてみます。 複数のClipのブレンドは 1)1つのTrack上で複数のクリップを重ね合わせる方法、 2)個々のClipに対して0~1のウェイト値を設定して、その値のカーブを編集する方法、などがあります。 ![]() 2つの Clip を選択した状態で、右クリックするとクロスフェード という項目が表示され、通常はリニア(既定)に設定されていることが分ります。 ここを◎カスタムにした上でカスタム;スプライン そしてカスタムカーブを編集...を選択することで カーブによる設定まで可能になります。 次は、レイヤ機能です。 このレイヤは個々のクリップに付けられるものです。 クリップを選択状態にして、アニメーションを追加したいもの (例;Neckジョイント) を選択し、 右クリック > レイヤ項目にオーバーライドを作成 と加算を作成 という項目の どちらかを選択します。 ここでは前者を選択しています。(上部アイコンにもオーバーライドを作成と加算を作成アイコンがあります) 選択したクリップ にグレー色のレイヤが作成され、選択されたオブジェクトのアニメート可能なアトリビュートが表示されます。 カレントフレームを設定してレイヤを選択して右クリック > キーの設定 を選択するとキーが打たれます。 (上部アイコンにもキーの設定アイコンがあります) レイヤに表示されたキーである白色の縦バー は左右に動かすことが出来、タイミングの調整が出来ます。 グラフエディタでも打たれたキーの情報を見ることが出来ます。 レイヤ名の下に オブジェクト名 と アトリビュート名 が表示されています。 右クリックからの表示メニューからはレイヤのモードも実は4種類 あることが分ります。 このモードは後からも変更出来ますが、一旦キーを設定してからモードを変えると全くことなる結果になるので、 モードを決めてからキーを打った方が思い通りになります。(特に縮尺の 0 と 1 では結果が全く異なります) 必要の無いアトリビュートは右クリック > アトリビュートの削除から削除することが出来ます。 (キーの無い空のアトリビュートとトラックは作らない方が良いです。) ひし形 が3つ重なったようなアイコンはクリップ上のはレイヤを開き、左側名前欄にあるものは折りたたみます。 ![]() ただし、それらがクリップに含まれているオブジェクトである必要があります。 クリップ選択 > ドリブン オブジェクトを選択を実行するとそのクリップが動かしているものを選択されて見分けることが出来ます。 例では右の人差し指ジョイントの回転値が選択しているクリップに含まれていることを確認した上で、 それらをレイヤに登録してキーを打った状態です。 ここでレイヤのフラット化をすると、BakedLayerという 1つのレイヤに統合されますが、 中のアニメーションのキーがベイクされたわけではありません。モードは 1つ になります、 ここではオーバーライド のモードなので、モードが異なる同士を統合した場合は結果が変わってくることでしょう。 |
Time Editor その4;クリップ とソース、データ出力Part1 さて、お次は、これらのアニメーションデータの出力について です。 クリップは あくまでもソースのコピー(インスタンス) です。 従って、もしソースを編集してしまうと、それを基としているクリップは全て変更してしまいます。 そこで、もしあるクリップは他に影響しない単独のソースに置き換えたい場合は、アニメーション ソースの固有化という機能を使います。 これを実行するとソース がコピーされ、それを基にするクリップに切り替わります。 ソースが増えるとMaya のシーンデータ容量がだんだん増えていくので、使わなくなったソースは書き出して外部ファイルとして取って置く、という手もあります。 下図は、一旦Maファイルとして出力したソースを、新規シーンのTPoseキャラクターに再び設定してみた、という図です。 ![]() 分りやすくする為、また横と縦の移動のクリップのシーンに戻ります。 クリップを1つ選択し、ファイル > 書き出し/選択項目を書き出し... □でオプション画面を表示させ。 ◎Maya ASCIIにして[ 書き出し ]ボタンを押し、ブラウザで、出力先とファイル名を決めて[ 書き出し ]ボタンを押してみます。 タイムエディタの選択項目の書き出しオプションドキュメント ![]() 元に戻りました。 ![]() では、先程のオーバーライドのレイヤをこのクリップに設定して それを選択して .maファイルに書き出して、別シーンで読み込んでみます。 ここの例では、最初のクリップはX軸に40フレームで4動きましたが、オーバーライドで8動くように設定しました。 ![]() .maファイル出力の動作を踏まえ、FBX形式の書き出しをしてみます。 ただし、先程の工程で表示した、書き出し項目のオプション画面で気が付いたと思うのですが、FBXの詳細設定がありませんでした。 ![]() 良くあるゲーム出力用設定として、バージョンが 2014、タイプがASCII、スケールが自動(cm)、Yアップ、カメラとライトの無し、 アニメーションにチェックを入れ、ベイク処理は 外してあります。 一旦FBX出力したファイルを再度タイムエディタに読み込んでみます。 すると、FBXの場合はZ軸の値もあり(当然と言えばそうですが)、毎フレームキーが打たれたデータになっています。 このことから、FBX形式の出力時にはデータがこのようにMaya上の表示とは異なる場合があること、、 タイムエディタにで扱うアニメーションデータとしては .ma形式 の方が都合が良いこと、などが分ります。 ![]() そのFBXを再度タイムエディタのクリップに乗せた場合は、なんと 同じ Xキー軸だけのアニメーションと、2点のみのキーで再現出来ました。 ![]() |
Time Editor その5;クリップ とソース、データ出力Part2 前章でタイムエディタにで扱うアニメーションデータとしてはma形式 の方が都合が良いのでは と記載しましたが、 その理由がもう1つあります。 それは、クリップのソースを保存する形式はMayaのデータ形式 になっているからです。 下図は、タイムエディタ画面上部ソース > 書き出し... ソースの選択 > 書き出しブラウザ でMayaASCIIを選択して保存した例です。 ちなみに、このソース項目からもクリップが作成 が出来、ソース > クリップの作成 ソースの選択 で行います。 同じソースをもう一度クリップとしてタイムエディタに読み込むと、クリップ名にはTake_002 と付きました。 ![]() 複数のFBXを読み込む場合のドキュメントはこちらにあります。 ■タイムエディタで複数の FBX アニメーション テイクを読み込む http://help.autodesk.com/view/MAYAUL/2017/JPN/?guid=GUID-A5F13987-036D-42E3-BF66-EA312C045EBA 逆に複数のクリップを同時にFBXに書き出すことは選択項目の書き出し □オプション からFBX を指定して出力出来ますが、 ファイル > すべてのクリップをFBXに...から全部をFBXに書き出すことが出来ます。 ![]() ![]() ゲームエクスポータ
最後に、1つ項目を飛ばした、ファイル > ゲームエクスポーターを開く...を紹介します。 この機能自体は前のバージョンからあるものですが、タイムエディタ対応版であり、タイムエディタの時間軸でFBX 出力が出来ます。 トラック上のクリップは1つにまとめておく必要はないですが、 書き出しの時に考慮に入れて欲しいクリップ群は選択しないと 書き出し項目に クリップ名 を追加出来ません。 まずは、アニメーションを複数の下図例のように、各キーフレーム部分毎に分けて出力するとします。 ![]() タイムエディタで出力に含めるクリップを選択した状態で▼タイムエディタクリップ 項目の+ボタンを クリック すると クリップ単位の推測値が入ったものが表示されます。 出力クリップとして要らないものは 左端のゴミ箱ボタン を押し、開始/終了のフレーム数を修正します。 (このフレーム数は、FBXの設定を再設定した場合、元に戻ることがあるので出力時に注意です!!) ![]() 後は、FBXの ファイルタイプ(ASCII) とバージョン(FBX2014) の設定、また詳細設定は歯車のボタンからも行えます。 タイムエディタクリップの高度な設定を編集 [レ]にチェックを入れると、グレーアウト画面が編集可能になります。 カメラやライトを外します。出力するディレクトリーのパスと書き出すファイル名を指定します。 さて、最初の試みとして ① [ クリップを単一のファイルに保存]で[ 書き出し ]します。(開いた時のデフォルト設定)結論から言うとこれはゲーム向けでは無いです。 この設定で出力した FBXファイルをMotionBuilderで開くと解ります。 読み込みの時点で気が付きますが、フレーム範囲指定した部分毎にTakeとして設定され、しかもその設定したフレーム数からのTakeになっています。 たぶん、これは意図したゲーム用のデータ形式ではないはずです。 ![]() ファイル > アニメーションクリップの読み込みで読み込んでみると読み込みオプションが表示されます。 3択 のうち、一番下の◎クリップのシーケンスとして、が一番扱いやすいのではないかと思われますが、このような感じに配置されます。 ![]() ② [ 複数の クリップ ファイルの保存]にして[ 書き出し ]します。 また、キャラクターの改造構造のみを選択した状態で 出力をし、その際には、[ 選択項目を書き出し]で行った方が出力時間が短く、 出力される ファイルサイズ も小さくて済みます。 もし、Skinモデルも要らなくて、Joint階層構造のみを選択して出力すれば、アニメーションのデータだけを素早く出力出来ます。 尚、アニメーションのベイクは単一のClip部分があったとして も必要です。 ![]() が、各FBXファイルのアニメーションは、範囲指定したスタートとエンドのフレームになっていることは気をつけてください。 ![]() |
Time Editor その6;グループ化出力 複数のクリップは1つのトラック上のグループとしてまとめることが出来ます。フォルダーのようなものです。 複数のクリップを選択した状態で、クリップ > クループ化しますです。<<なぜここだけ「です/ます調」なんでしょうか?(突っ込み) もちろん展開する解除も出来ます。 ![]() また、グループにトラックを挿入で空のトラックを中に追加作成することが出来、そこにグループの外にあるクリップを置くことが出来ます。 ![]() この時、シーンタイムの横に新たにGroup名のタブが表示されています。元に戻すにはシーンタイム のタブをクリックします。 カレントフレームの縦バーが黄色ではなく、黒色になっていて、カーソルでスクラブ出来ません(仕様?) シーン下のタイム表示か別表示のグラフエディタ のカレントフレームをスクラブするとカレントフレームを動かすことが出来ます。 この時、黒色の示すカレントフレームは 当然黄色のそれとは数が異なって表示されています。 ![]() ![]() 更に、複数のグループを1つにグループ化 できます。 ![]() Maya ASCII で書き出しても、グループ内のクリップの状態を保存することは出来ず、やはりベイクされたアニメーションになります。 ![]() |
Time Editor その7;扱える追加的アニメーションブレンドシェイプ キャラクターのJointアニメーション やRigアニメーションはトラックに追加することが出来ました。 では、キャラクターに付随するアニメーションをタイムエディタの トラックに追加してクリップ化出来るのか試してみましょう。 まず最初は、 ・あるジョイント(例;Head)を方向コンストレイントしている ポリゴン(例;pCube1)のアニメーションは・・、当然OKです。 では、 ・その方向コンストレイントを設定したウェイト値(例;HeadJointに追加アトリビュート される BlendAim1)を アニメーションさせたらクリップ化出来るのか、です。 .......これもOKです。 ![]() ※注意!! ここでは、BlendAim1だけのアニメーションクリップを作成したいので、 [ ]階層全体を含める [ ]ルートを含める;移動、回転、スケール からチェックを外し、追加するアトリビュートが1であることを確認してクリップを作成します。 これでHeadの向く方向のアニメーションも、方向コンストレイントのウェイトのアニメーションもクリップ化出来ました。 当然ですが、Locatorに作成した追加のアトリビュートの値もクリップ化出来ます。 何か、Locatorにつながっているアニメーションキー(ドリブンキーなど)も、クリップでアニメーション制御出来るはずです。 ![]() この作業の時、タイムエディタは無効にしておくと良いでしょう。 ノードエディタで見てみると、タイムエディタを有効にするとInterpolatorノードからの接続が復活し、 キャラクターの動きと共に、ブレンドシェイプが動きました。 ![]() ・そもそもブレンドシェイプのアニメーションはクリップとして扱えるのか、です。 ブレンドシェイプのアニメーションデータは顔のポリゴンにあるものだと思って 顔のポリゴンを選択した状態でシーン選択からアニメーションの追加をしても 入力時の設定画面で アトリビュートが 1つ しか取れないことからも怪しい...動作になります。 そうです、その1つというのは顔ポリゴン自体の 可視(ビジビリティー)の情報を得ただけになります。 ここで、先程の上図の画面を見てください。↑ ノードエディタで見ると、シェイプエディタ画面で見えている項目毎の名前ブレンドシェイプデフォーマーと同じ名前のノードがあり、 そのノードのウェイトと書いてある接続部にアニメーションカーブが付いているはずです。このアニメーションがクリップ化出来るのです。 更に重大発見!!シェイプエディタ画面のグループ名の部分ブレンドシェイプデフォーマーにアニメーションを付けてはいけません。 なぜなら、FBX出力項目に対応していない項目で、ブレンドシェイプデフォーマーに付けたアニメーションは引き継ぐことができない・・ようです。 1.0のデフォルト値のままにしておいてください。 ![]() ”選択項目からClip化”します。 ”追加するアトリビュート”は2つであれば大正解.......OKです。そのままクリップ化します。↓ グラフエディタで中身のカーブを見てもOKです。つまり、登録した後からも カーブ編集可能です。 では、ちょっと試しに、各ブレンドシェイプデフォーマー毎にクリップ化してフェイシャル用のソースデータとしてみます。 1フレームのクリップも登録出来ますが、あえて5フレームとか10フレームの長さにしておくと、操作と編集が楽になります。 ![]() フェイシャル用のグループを 例えば緑色のトラックと決め、更にパーツ毎にクリップを置くトラック名を決めてまとめてみました。 このように シェープの各グループブレンドシェイプデフォーマー毎の素材を用意することは思ったよりも簡単です。 ですが、結局は各クリップのアニメーションカーブを編集するということはソースを編集していることなので、 クリップを複製して固有化してカーブを編集して使う、という手順はあまり効率的ではない気がします。 そこで、キャラクターの基本口パターン[例; a,i,u,e,o 等]を用意する方法 や 良く使う顔表情などの組み合わせたクリップを用意する方法は どうか試してみます。 基本口パターンを用意することはとても簡単で分り易いです。カレントフレームが次のクリップに移ればその口の形に変形します。 各口パターンのクリップを作る時は、タイムエディタを一旦無効にして基本の顔に戻し、 新しくクリップ化する 口の形に 1つ、または複数のシェイプのスライダーを動かして変形させ、そのキーの値をクリップ化します。 クリップ化する時、分り易い名前や色を付けておきます。 ![]()
今度は表情集を作る方法を試みます。 ノードエディタで選択するノードが複数になり、それらを確実に選択してからクリップ化するのが少し手間ですが、 慣れてしまえば、この通り、好みの顔をクリップとして登録することで、どんどんそのパターンを作り上げることが出来ます。 ![]() 2つのクリップをブレンドして、その中間的な表情をさせながらクリップで表情を変化させたい場合、 1つのトラック上に2つのクリップを置いて、クリップ同士を重ねるだけでは 思った通りには補間されないようです。 そこで、異なるトラックに 2つのクリップを用意して、クリップ のウェイト値でブレンドさせた方が補間がうまくいきました。(下図参照↓) ですが、2つのクリップに変化するアニメーション項目が共通に存在してないと、補間のキーアニメーションが行われません。 そうなると、お互いにブレンドしうる項目には予めキーを打ってクリップ内に用意する必要がありそう~です。 ![]() 目を閉じたブレンドシェイプが口も閉じている部分が含まれていると基本口とうまくブレンドしなくなります。 各基本口のクリップがお互いに交わらないように置いてあるので、口パクはアニメのようにクリップ単位で変化しています。(下図参照↓) (アニメのような口の表現がそのキャラクターのアニメーションに合っているのであれば・・) アニメーションの表現方法に応じて、クリップの用意や配置の仕方も変わることでしょう。 ![]() という方法もあることでしょう。 ![]() キャラクターの ジョイントアニメーションの場合は、クリップ状態のままFBX出力が可能のようです。 (下記ブレンドシェイプの時と同じように、ベイク処理をしてからFBX出力する方法が確実ではあります。) ブレンドシェイプ アニメーション場合は、 一旦グループ名ノードブレンドシェイプデフォーマー をノードエディタ で全選択して、 Mayaメイン画面上部の編集 > キー > シミュレーションのベイクが一番良い感じです。 このベイク時にはタイムエディタは有効のままで行います。
この状態で、フェイシャルアニメーションだけを FBXファイルで出力 してみましょう。
やはり少し工夫が必要でした。 1)MotionBuilder2017 ; キャラクターを全階層選択して、ファイル > 選択項目の書き出し...からFBXファイル出力します。 が、何やら、最初のブレンドシェイプデフォーマー(下図では Ha です) のアニメーションしか動いていない状態になりました。う~ん。 ![]() ![]() 2)Unreal Engine4.4.14.2 ; キャラクターを全階層選択して、ファイル > 選択項目の書き出し...からFBXファイル出力します。 こちらはUE4の指定、FBX2014 形式でFBXを書き出します。こちらは難なくモーフアニメーションとして再現出来ます。 FBXをインポートする際に、ImportMorphTargets [レ]に必ずチェックを入れる事、 使用しているマテリアルにUsed With Morph Targets [レ]に必ずチェックが入っていることを確認してください。 このように、ブレンドシェイプのアニメーションをタイムエディタで編集し、FBX出力してデータを利用する、 というワークフローは成り立ちます。 |
Time Editor その8;出来る事/出来ない事リファレンス・ネームスペース・複数表示 最後に、出来る事と出来ない事を幾つか記述します。 Autodesk SoftimageにMixer という機能があった為、どうしてもそこで出来た事と比較してしまいがちです。 ■ リファレンス モデル対応は? リファレンスとして読み込んだキャラクターの Rig や FKの階層構造 に対して タイムエディタでアニメーションを付けることは何の問題もなく出来ます。 通常読み込み時に作成したそのキャラクター用のアニメーションクリップもネームスペースの対応で適応出来ます。 ![]() これは出来ます。 アニメーションの付いているキャラクターの階層をアウトライナー で選択し、 右マウスクリック > リファレンス > 選択項目をリファレンスとして書き出す... □の選択画面を表示させます。 ファイルタイプをMayaAsciiにし、ネームスペースの処理を一番下の ◎選択したネームスペースにマージして一致する受信オブジェクトの名前を変更を選択して [ 選択項目をリファレンスとして書き出す ]を押します。 この状態でもキャラクターのアニメーションはタイムエディタによって動いています。 このシーンを保存し、後で開いた時、リファレンス にしたキャラクターをシーンにロードしてもキャラクターはタイムエディタによって動きます。 ただし、リファレンス の機能を使って差し替えることの出来るデータは、リファレンス の機能を使って保存したデータだけです。(※ 気を付けてください) (ここの手順は下記ソースを一旦リファレンスのデータにして差し替える方法 参照) ・タイムエディタでネームスペースの名前変更 をしなければネームスペース 付きのアニメーション対応に出来ないのか・・ これは、対応出来ます。 上図は、リファレンス対応にしたキャラクターがタイムエディタで動いているシーンでした ↑。 その後、リファレンスの状態の青い点● が付いた階層をアウトライナー で右マウスクリック > リファレンス > 読み込み...を実行し、 通常のアニメーションデータの状態に戻したとします。 そして、ネームスペースエディタで 任意のネームスペースを付けると、その状態でもタイムエディタでアニメーションが動いています。 ![]() タイムエディタのデータが無い状態になります。 キャラクターに直に付いているアニメーションは動きますが。 ■ タイムエディタ の一括保存は? 複数のアニメーションクリップを配置した状態のタイムエディタ情報を別ファイルなどに保存は、出来ない・・ようです。 ( Autodesk Softimage の .mixerファイル みたいなことです ) 逆の発想として、キャラクターをシーンから削除してタイムエディタだけを残したシーンを保存する、ということは出来ました。 そのタイムエディタだけのシーンを開き、あとからそのアニメーション用のキャラクターを読み込むことは出来ます。 リファレンスのキャラクターの場合も出来ます。 (リファレンスで開いた時にキャラクターが表示されていなかったら、リファレンスエディタでキャラの読み込みのチェックが入っているか、確認してみてください。) ただし、キャラクターのネームスペースが異なる場合は、クリップ1つ1つのネームスペース対応が必要になります。 そのクリップ がソースの一部分だった場合や縮尺が掛かって配置している場合、元の長さやソースに戻ります。 これは、クリップのソースからデータを配置する際に、縮尺や使用分の情報が引き継がれない為でしょう。 ![]() 通常時でも、中のクリップがキーとしてベイクされてしまうので、 当然、リファレンスとして読み込んだキャラクターのタイムエディタも同様、キーがベイクされた状態になります。 ![]() ■ ソースクリップの更新は? 既にクリップが配置されている状態で、その基となるソースデータを更新して全てのクリップを新しいアニメーションに変更したい・・ 方法は幾つか考えられます。 ソースを一旦リファレンスのデータにして差し替える方法、ソースのカーブを上書きコピーしてしまう方法等です。 ● ソースを一旦リファレンスのデータにして差し替える方法 本来はこの方法が最も王道っぽいのですが、手順と方法は注意が必要です。 クリップのソースをリファレンス の機能を使って差し替えることの出来るデータは、リファレンス の機能を使って保存したデータだけです。(※ 気を付けてください) 他の方法で用意した.ma 等のデータは読み込むまでは出来るのですが、 実際にはアニメーションが動作しないデータになったり、クリップをクリックするとエラーが表示するようなデータになったり、ソフトが不安定になります。 くれぐれも注意して作業してください !!! では、このようにします。 まずは、元となるクリップのアニメーションカーブを編集したとします。(これはソースデータを編集していることになります。) ![]() 右マウスクリック > リファレンス > 選択項目をリファレンスとして書き出す... □でオプション選択画面を表示させます。 ファイルタイプをMayaAsciiにし、ネームスペースの処理を一番下の ◎選択したネームスペースにマージして一致する受信オブジェクトの名前を変更を選択して [ 選択項目をリファレンスとして書き出す ]を押します。 ファイルセーブ用の選択画面が表示されるので、 ファイル名とディレクトリーを指定して[ 選択項目をリファレンスとして書き出す ]を押します。 ![]() 開いたシーンで、上記と同じ工程で、ソースデータをリファレンスの状態にしておきます。(既存のアニメーションも別名で保存しておくと良いでしょう。) 書き換える予定のリファレンスになっているソースデータを 右クリック > リファレンスを選択すると、操作出来る項目が増えています。 その中の書き換え...を選択するとファイルを選択する選択画面が表示されるので、一番始めに保存した .ma ファイルを選択します。 するとソースアニメーションが書き換わります。 このままだとリファレンスの状態の青い点● が付いたままなので 右マウスクリック > リファレンス > 読み込み...を実行し、通常のアニメーションデータの状態に戻して、終了です。 ![]() こちらは安易で、アニメーションカーブを上書きしてしまう、ということです。 元となるクリップをコピー/ペースト して、新しく出来たクリップにアニメーションソースを固有化 を実行すると、 単独のソースデータを参照しているクリップになります。 新しく作ったクリップのソースアニメーションを編集してコピーし、それを 元のアニメーションカーブ上にペーストしてしまいます。 ![]() ■複数のタイムエディタの表示は? Autodesk SoftimageのMixer の基本構造として、キャラクターはModel(ミニシーン) の下に配置されるので、 Model(ミニシーン) 毎、つまりキャラクター毎にMixerがあり、複数表示が可能でした。これは分り易いし、便利でした。 これに対して、Maya のタイムエディタは、シーンに1つの表示 ・・のようです。 実際に行った検証を記述してみましょう。 ・コピーをティアオフ(Tear Off)の機能が無い メインのView画面をグラフエディタにした場合、パネル > コピーをティアオフとすることで複数のグラフエディタの表示が可能です。 ![]() ![]() パネル > パネルエディタの新しいパネル タブ画面にて、 グラフエディタを選択した場合は[新しいパネルの作成]ボタンを押すと パネルタブ画面にてグラフエディタ2が作成され、View画面もそれになります。 パネル > パネル > グラフエディタ2も選択して表示することが可能です。 (コピーしたパネルはシーンにずっと残っていたりするので、必要がなくなったら削除をお勧めします。) ![]() ![]() このサイトで紹介しているカスタムのグラフエディタ やカスタムのハイパーグラフ 同様、 スクリプトコマンドのpaneLayout を使ってレイアウトしたscriptedPanel を window 内に表示さることで複数表示と管理が出来ます。 カスタムのアウトライナーも作成可能です。 では、タイムエディタを表示させた時のログの情報から スクリプティングに必要な情報を得て、 同じような対応が出来るか実験してみます。 ![]() 早速、ずらずらっと書いて、これでどうだ!って実行すると・・・。 ![]()
となっていまいました。 キャラクターや アニメーションさせるものがシーンにたくさん存在している場合は、 1つのタイムエディタにたくさんのトラックが作られるような状態になりそうです。 きちんとトラック毎に名前や色設定とグループ設定、 そして左上のComposition を使って複数の画面を利用するなどして、煩雑になるのを防ぐ工夫と管理が必要・・となりそうです。 ![]() |
まとめ、感想 執筆時点のバージョンでの情報でした。 これ以前に無い新機能ですので、タイムエディタを使いたければMaya2017を使用するしかありません。 また、新機能搭載!! という機能なので、これから良くなるであろう部分はたくさんあるかと思われます。 少なくともキャラクターアニメーションをノンリニアに編集する、という意味では従来のTraxEditorよりはるかに使いやすくなっています。 出力形式のFBX部分が他のソフトとの互換性が問われるところで、経験と工夫で対応しているところがあったりしますが、 この部分が確立してしまえば、使い心地もグンと良く感じられるようになる・かな・と思っています。 |
お次も、乞う、ご期待!! Stay tuned ..
|