<< TOP


Maya 2017; タイムエディタ について

Maya 2017 ; About TimeEditor

    プロローグ; Prologue


 Maya2017 の新機能のうち、最も注目の置かれるべきはなんでしょうか。
Arnoldレンダー対応?、Print Studio対応?、PySide2への移行?
いえいえ、大きくワークフロー、特にアニメーション対応で劇的に変わる機能・・
 TIME EDITOR の実装です!!!
(PySide2への移行は QT を作ってツール開発している方には超痛い話ですかね・)

 何故、TIME EDITOR か ??
それは Autodesk Softimage Mixer機能
知っている方ならご存知の アニメーションをクリップ単位で編集出来る
ノンリニア の アニメーションエディターが実装されたからです !!
とうとう実装されたのです、Maya に。
     (え?TraxEditor?? いえいえあれは・・・)

PS
 ちなみに、Maya2017ではGraphEditorも改善され、
カレントフレームバーの表示とマウスでのスクラブが
出来るようになりました!!
     (って基本的な機能だと思いますが・・・)

  <参考> Maya2017 アニメーションの新機能

 なお、このサイトに掲載している事例の決まり事ですが、
使用に関しては自己責任でよろしくお願い申し上げます。

Please use this information as your own risk.
Windows7 Professional 64Bit、Intel Core i7-3930K (3.20GHz,6コア/12スレッド)
メモリ16GB、NVIDIA GeForce GTX970 4GB






 従来のワークフロー例
     さて、本題に入る前に、今まではどんなワークフローがあったかの1つを簡単にご紹介し、
    そこから タイムエディタ の機能を見た場合、どう タイムエディタ を使いこなしてワークフローを変えていけるのか
    という風に探ってみたいと思います。

     例えば、こんな感じです。
    MayaでFK骨のTPoseのキャラクターを作成し、MotionBuilder に転送します。
    Maya2017 では、このメニュー以下にも何やら色々項目が増えています。 AEとはアフターエフェクトですね。PrintStudio やクラウドもあります。



      MotionBuilder ではモーションキャプチャーの VBHデータ を ControlRig化 しておき、
    Mayaから来たキャラクターデータも Characterize した後に ControlRig化してリターゲットします。
    Mayaのキャラクターの ControlRig にアニメーションデータを移した後、
    Animation の Layerを使ったり、StoryのClipを編集したりしてモーションを完成させます。
    出来た動きは、その骨構造体部分だけを選択して、FBX形式で保存します。



      Mayaに戻って、骨階層部分を選択しておいて、ファイル>読み込み で FBX の Import設定で アニメーションを更新 にして読み込みます。
    あとの作業はMaya上で完成させて、各ゲーム用のアニメーションデータとして出力し・・・たりします。(いろんなパターンはありますが)



Maya2017 グラフエディタ の紹介
      アニメーションついでに Maya2017の グラフエディタ を紹介します。
    なんと!黄色のカレントフレーム表示とマウススクラブが出来ます! (当たり前ですよね)
    そして、縦横の フレーム数と値の表示が固定になりました。(これも当たり前・・・) 
    ズームインアウトをしてもマスの値表示は変化しなくなりました。

    表示のマスの幅は任意に変えられます。デフォルトでは 60 になっています。
    プリファレンスの 設定>アニメーション 項目内に グラフエディタのUI ◎最新 で、
    ガイドラインを カスタム にすれば 任意の単位に固定出来ます。






 Time Editor その1 ; クリップ によるエディット
    では、早速 タイムエディタ の起動から始めます。
    ウィンドウ > アニメーションエディタ > タイムエディタ から起動します。
     スクリプトエディタのログを見ると MELコマンドで TimeEditorWindow; を実行しているようでした。
         (Maya2017版 Softimageライクなホットキーでは、 Alt+0 に このコマンドを登録してみました。)
       <余談> やはり、このツールも パネル(Panel) ではあるので、cmds.getPanel(q=True,type=True) から見ると timeEditorPanel1 が見つかりました。



     従来から Maya にある TraxEditor では、CharacterSet というものを設定してからでないと キャラクターを登録出来ませんでした。
    これが結構厄介であり、面倒でした。 また、スクリプトからの制御も、う~ん・・・・、
    キャラクター間での クリップ アニメーション のやり取りや、 クリップ アニメーション のバイザーへの登録も複雑でした。

    タイムエディタ では、この CharacterSet の登録は要りません。 やった~・・・;その代わり ネームスパースは重要です。

    シーンにキャラクターを読み込んでおいて、階層トップのノードを選択 して、
    [ 選択したコンテンツをシーンから追加 ] して タイムエディタ にキャラクターのアニメーションデータを読み込みます。



     読み込みが出来ると・・・下記表示が出ています。

      クリップとアニメーション ソースが作成されました。
      タイム エディタでクリップのキー設定可能アトリビュートが制御されます。

    自動的に track1Composition1(合成名) 内に作成されます。

    TPoseキャラクターのトラックが出来たら、アニメーションの クリップ を作成します。
    track1 (下図)は このキャラクターが動いている Mayaのシーンファイル>アニメーションクリップの読み込む から選択して作成したものです。

    追加の新しいトラックは 右マウスクリック>アニメーショントラックを作成 から簡単に作成出来ます。
    track2 (下図)は Windowsのエクスプローラから 直接FBXファイル ドラッグ&ドロップして作成した出来たものです。
    この場合は 読み込むオプション画面が表示され、◎クリップのシーケンスとして を選んでいます。



    分割したり、ループを設定したりは、表示上部のアイコンや右クリックした時に出るメニューから設定出来、簡単に設定出来ます。



    アトリビュートエディタ を見ると、選択した Clipの詳細 が表記されていて、
    この中の [レ] Use Clip Color を有効にすれば、その下の項目 ClipColor で選択した に変更出来ます。



    各クリップは ▼部分をクリックすることでどんどん中身を見ることが出来ます。
    右クリック > ドリブン オブジェクトを選択 からこのクリップと関連付けているオブジェクトを選択して、確認することが出来ます。





    Composition について

     タイムエディタ の左上に表示されている  [Composition] についてはドキュメント では 異なるバージョン と書いてあり、
    同じシーンに幾つものバージョン を作成することが可能です。
      MotionBuilderTake だと 同じキャラの別々のモーション という意味ですが、
      Composition は 複数のアニメーションクリップで編集された画面を複数持てる、と言ったものになります。

    Composition は そのバージョンの最上位のディレクトリーで、スクリプトから特定のクリップを編集したい時などは、
    Pathとして composition1|track1|group|track2|clip1 などとなります。

        ちなみに、キャラクターの NameSpace だけが異なるキャラクター間のモーション移行は簡単です。Composition とは関係ありません)

      下記例は 同じキャラクターを2回シーンに読み込んでいて、2回目は Topノードの名前のNameSpace が付いた状態です。
      1つ目のキャラクター用もモーションClipを
      右マウス選択>ネームスペースのクリップをリマップ及び作成>ネームスペース名 とすればOKです。
      複数キャラクターのモーション編集が簡単になりました。




  Time Editor その2 ; タイムエディタ の もっと詳細
    タイムエディタ のMaya内での動作をもっと詳しく探求してみましょう。
     
      例えば、ポリゴンの球 を タイムエディタ に登録してみると、アウトライナー上では 
    タイムエディタ ノードの下に作られた track1 に anim_Clip1 という クリップ に格納されていることが分り、
    更に、そのソースとしてある anim_Clip1_anim_Clip1_AnimSource には 球の移動/回転/縮尺 値が入っていると分ります。
    この時、球のトランスフォームをアトリビュートエディタで見ると オレンジ色 のボックスになっていて キーの設定 項目が無いことに気が付きます。



      この状態でキーを打つと、タイムライン上に赤い縦バーが表示されてアニメーションが作られたかのように見えますが、
    それはロックが掛かっていない 可視化のキーアニメーション だけが作られた、という状態になります。

    では、どうやってキーアニメーションを追加していくかというと、
    タイムエディタ 内の ファイル > [レ] タイムエディタのミュート という項目があります。

    簡単には タイムエディタ の一番左上の 無効であるマーク アイコン ミュート が出来ます。
    ミュート にすると タイムエディタ の表示部に 無効であるマーク が表示され、アトリビュートエディタ も普段の色でキーが打てる状態になります。
      例として、40フレームで X軸方向に 4 移動する アニメーションを作成してみます。



    まだ ミュート の状態で、タイムエディタ 内の ファイル > シーンの選択からアニメーションを追加
    または、左上の [ ] + のアイコン から キーアニメーションを クリップ化 出来ます。
    オプション画面を表示させると、クリップ名 など詳細設定が表示されます。

       ※注意!!
          ここでは、X軸移動値 だけのアニメーションクリップ を作成したいので、

           [ ] 階層全体を含める
           [ ] ルートを含める;移動、回転、スケール

          からチェックを外し追加するアトリビュート が  であることを確認して クリップを作成します。



     ミュート の状態を解除して、出来たClipの中身が X軸の移動値だけのClipであることが確認出来ます。(キーの無い空の移動/回転/縮尺の項目が無いようにします。)
    Z軸移動のみのクリップも同様に作成してみます。



    複数のクリップを作成して配列する場合、開始最終フレーム値何フレームの重なりフレームがあるか まで表示されて便利です。
    クリップ名 を付けると格段に見やすく、分りやすくなります。



    では、上下にクリップを並べて動作を見てみます。



    この結果で、MotionBuilder StorySoftimageMixer のように、値の追加型で動作することが分ります。
    タイムエディタ の機能は昔から他にあったということで・・・・



    Trackの設定について

       ちなみに、クリップにだけではなく、トラック にも 高さ が設定出来ます。

      クリップを選択し、アトリビュートエディタに表示される Composition タブ 内に トラック番号の項目があり、
      トラックの高さ 32(デフォルト)[ ] トラックカラーを使用 、トラックカラー の項目があります。




 Time Editor その3 ; クリップ のブレンド
     では、クリップ同士のブレンドについてみてみます。

     複数のClipのブレンドは 
    1) 1つのTrack上で複数のクリップを重ね合わせる方法、
    2) 個々のClipに対して0~1のウェイト値を設定して、その値のカーブを編集する方法、などがあります。



     実は 1) の同じトラックにクリップ同時を重ねる方法でも、更に 詳細な設定があります。

    2つの Clip を選択した状態で、右クリックすると クロスフェード という項目が表示され、通常は リニア(既定) に設定されていることが分ります。
    ここを ◎カスタム にした上で カスタム;スプライン そして カスタムカーブを編集... を選択することで カーブによる設定まで可能になります。





     次は、レイヤ機能です。

    この レイヤ は個々のクリップに付けられるものです。
    クリップを選択状態にして、アニメーションを追加したいもの (例;Neckジョイント) を選択し、
    右クリック > レイヤ項目に オーバーライドを作成加算を作成 という項目の どちらかを選択します。
    ここでは前者を選択しています。 (上部アイコンにも オーバーライドを作成 と 加算を作成 アイコンがあります)

    選択した クリップ にグレー色のレイヤが作成され、選択されたオブジェクトのアニメート可能なアトリビュートが表示されます。
    カレントフレームを設定して レイヤを選択して 右クリック > キーの設定 を選択するとキーが打たれます。
     (上部アイコンにも キーの設定 アイコンがあります)

    レイヤ に表示されたキーである 白色の縦バー は左右に動かすことが出来、タイミングの調整が出来ます。

    グラフエディタ でも打たれたキーの情報を見ることが出来ます。
    レイヤ名 の下に オブジェクト名 と アトリビュート名 が表示されています。

    右クリックからの表示メニューからは レイヤのモード も実は 4種類 あることが分ります。
    このモードは後からも変更出来ますが、一旦キーを設定してからモードを変えると全くことなる結果になるので、
    モードを決めてからキーを打った方が思い通りになります。(特に縮尺の 0 と 1 では結果が全く異なります)



    必要の無いアトリビュートは 右クリック >アトリビュートの削除 から削除することが出来ます。
      (キーの無い空のアトリビュートとトラックは作らない方が良いです。)

    ひし形 が3つ重なったようなアイコン クリップ上のはレイヤを開き、左側名前欄にあるものは折りたたみます。




    クリップ レイヤ には複数のオブジェクト (例;指の3つのジョイント) を同時に登録することも出来ます。
    ただし、それらが クリップ に含まれているオブジェクトである必要があります。
    クリップ選択 > ドリブン オブジェクトを選択 を実行すると その クリップ が動かしているものを選択されて見分けることが出来ます。

     例では右の人差し指ジョイントの回転値が選択している クリップ に含まれていることを確認した上で、
     それらを レイヤ に登録してキーを打った状態です。



     ここで レイヤのフラット化 をすると、 BakedLayer という 1つの レイヤ に統合されますが、
    中のアニメーションのキーがベイクされたわけではありません。モードは 1つ になります、
     ここでは オーバーライド のモードなので、モードが異なる同士を統合した場合は結果が変わってくることでしょう。




 Time Editor その4 ; クリップ と ソース、データ出力 Part1
     さて、お次は、これらのアニメーションデータの出力について です。

    クリップ は あくまでも ソースのコピー(インスタンス) です。 従って、もしソースを編集してしまうと、それを基としているクリップは全て変更してしまいます。
    そこで、もしあるクリップは他に影響しない単独のソースに置き換えたい場合は、アニメーション ソースの固有化 という機能を使います。
    これを実行すると ソース がコピーされ、それを基にするクリップに切り替わります。



     ソースが増えると Maya のシーンデータ容量がだんだん増えていくので、使わなくなったソースは書き出して外部ファイルとして取って置く、という手もあります。
    下図は、一旦 Maファイル として出力したソースを、新規シーンのTPoseキャラクターに再び設定してみた、という図です。



    では、クリップの データ出力 はどうなっているのか見てみましょう。
    分りやすくする為、また横と縦の移動のクリップのシーンに戻ります。
    クリップを1つ選択し、 ファイル > 書き出し/ 選択項目を書き出し... □ で オプション画面を表示させ。
    ◎Maya ASCII にして [ 書き出し ] ボタンを押し、ブラウザで、出力先とファイル名を決めて [ 書き出し ] ボタンを押してみます。




    Maya の別シーンを開き、球を タイムエディタ に登録した後、先程書き出した アスキーの .maファイル をクリップとして読み込んでみます。
    元に戻りました。



    では、先程の オーバーライドのレイヤ をこのクリップに設定して それを選択して .maファイル に書き出して、別シーンで読み込んでみます。
    ここの例では、最初のクリップは X軸に40フレームで4動きましたが、オーバーライドで 8動くように設定しました。



    と言うわけで、オーバーライドの値で .maファイルに保存されていることが分りました。
    .maファイル 出力の動作を踏まえ、FBX形式の書き出しをしてみます。
    ただし、先程の工程で表示した、書き出し項目のオプション画面で気が付いたと思うのですが、FBXの詳細設定がありませんでした。



    そこで、同じ工程をする前に、FBXの書き出し設定(プリセット) をチェックしておきます。
    良くあるゲーム出力用設定として、バージョンが 2014タイプがASCIIスケールが自動(cm)Yアップ、カメラとライトの無し
    アニメーションにチェックを入れ、ベイク処理は 外してあります。



    一旦FBX出力したファイルを再度 タイムエディタ に読み込んでみます。
    すると、FBXの場合は Z軸の値もあり(当然と言えばそうですが)、毎フレームキーが打たれたデータになっています。
    このことから、FBX形式の出力時にはデータがこのように Maya上の表示とは異なる場合があること、、
    タイムエディタ にで扱うアニメーションデータとしては .ma形式 の方が都合が良いこと、などが分ります。



     ちなみに、同じアニメーションを MotionBuilder に持って行き、そこでキーをX軸のみの2点のみにしてから選択項目をASCII形式で保存し、
    そのFBXを再度 タイムエディタ のクリップに乗せた場合は、なんと 同じ Xキー軸だけのアニメーションと、2点のみのキーで再現出来ました。



     もう少しデータについて見てみましょう。



  Time Editor その5 ; クリップ と ソース、データ出力 Part2
     前章で タイムエディタ にで扱うアニメーションデータとしては ma形式 の方が都合が良いのでは と記載しましたが、
    その理由がもう1つあります。
    それは、クリップのソースを保存する形式は Mayaのデータ形式 になっているからです。
    下図はタイムエディタ 画面上部 ソース > 書き出し... ソースの選択 > 書き出しブラウザMayaASCII を選択して保存した例です。



     ちなみに、このソース項目からもクリップが作成 が出来、ソース > クリップの作成 ソースの選択 で行います。
    同じソースをもう一度クリップとして タイムエディタ に読み込むと、クリップ名には Take_002 と付きました。




     複数のFBXを読み込む 場合のドキュメントはこちらにあります。

     逆に複数のクリップを同時に FBX に書き出すことは 選択項目の書き出し □ オプション から FBX を指定して出力出来ますが、
    ファイル > すべてのクリップをFBXに... から 全部をFBXに書き出す ことが出来ます。
     


    ファイル > コンテンツ ブラウサーを開く... は、FBX 等の保存先をブラウズ 出来ます。 




    ゲームエクスポータ

     最後に、1つ項目を飛ばした、ファイル > ゲームエクスポーターを開く... を紹介します。
    この機能自体は前のバージョンからあるものですが、タイムエディタ 対応版であり、タイムエディタ の時間軸で FBX 出力が出来ます。
     トラック上のクリップは1つにまとめておく必要はないですが、 
    書き出しの時に考慮に入れて欲しいクリップ群は選択しないと 書き出し項目に クリップ名 を追加出来ません。
    まずは、アニメーションを複数の下図例のように、各キーフレーム部分毎に分けて出力するとします。



     表示された ゲームエクスポーター 設定画面で、タイムエディタ タブ に移ります。
    タイムエディタ で出力に含めるクリップを選択した状態で ▼タイムエディタクリップ 項目の + ボタン を クリック すると
    クリップ単位の推測値が入ったものが表示されます。
    出力クリップとして要らないものは 左端の ゴミ箱ボタン を押し、開始/終了のフレーム数 を修正します。
       (このフレーム数は、FBXの設定を再設定した場合、元に戻ることがあるので出力時に注意です!!)



    フィルムボタン再生ボタン を押すと そのクリップ名のフレーム数の範囲内でループ再生をします。
    後は、FBXの ファイルタイプ(ASCII)バージョン(FBX2014) の設定、また詳細設定は 歯車のボタン からも行えます。
     タイムエディタクリップの高度な設定を編集 [レ] にチェックを入れると、グレーアウト画面が編集可能になります。
    カメラ ライト を外します。出力する ディレクトリーのパス と 書き出すファイル名 を指定します。

    さて、最初の試みとして
    [ クリップを単一のファイルに保存] で [ 書き出し ] します。(開いた時のデフォルト設定) 結論から言うとこれはゲーム向けでは無いです。



    この設定で出力した FBXファイルを MotionBuilder で開くと解ります。
    読み込みの時点で気が付きますが、フレーム範囲指定した部分毎に Take として設定され、しかもその設定したフレーム数からのTakeになっています。
    たぶん、これは意図したゲーム用のデータ形式ではないはずです。



     このような Take としてアニメーションが保存されている FBX タイムエディタ
    ファイル>アニメーション クリップの読み込み で読み込んでみると 読み込みオプションが表示されます。
    3択 のうち、一番下の ◎クリップのシーケンスとして、が一番扱いやすいのではないかと思われますが、このような感じに配置されます。



     ではゲームエクスポータの設定を変えて、再度出力します。
    ②  [ 複数の クリップ ファイルの保存] にして [ 書き出し ] します。
    また、キャラクターの改造構造のみを選択した状態で 出力をし、その際には、[ 選択項目を書き出し] で行った方が出力時間が短く、
    出力される ファイルサイズ も小さくて済みます。
    もし、Skinモデルも要らなくて、Joint階層構造のみを選択して出力すれば、アニメーションのデータだけを素早く出力出来ます。
     尚、アニメーションのベイク は単一のClip部分があったとして も必要です。



    今度は、指定範囲単位でファイルが分かれて出力されます。
    が、各FBXファイルのアニメーションは、範囲指定した スタートとエンドのフレーム になっていることは気をつけてください。





  Time Editor その6 ; グループ化 出力
     複数のクリップは 1つの トラック上の グループ としてまとめることが出来ます。フォルダーのようなものです。
    複数のクリップを選択した状態で、クリップ > クループ化します です。 << なぜ ここだけ 「です/ます調」 なんでしょうか?(突っ込み)
    もちろん展開する 解除 も出来ます。



    タイムエディタ 上では、グループのまま、コピー&ペースト が出来ます。
    また、グループにトラックを挿入 で空の トラック を中に追加作成することが出来、そこに グループ の外にある クリップ を置くことが出来ます。



    その下の [ ローカル時間 ] タブで開く は、グループクリップ が始まる キーフレームを としてスタートする表示画面にします。
    この時、シーンタイム の横に新たに Group名のタブ が表示されています。 元に戻すには シーンタイム のタブをクリックします。
    カレントフレームの縦バー黄色ではなく、黒色 になっていて、カーソルでスクラブ出来ません (仕様?)

    シーン下のタイム表示か別表示の グラフエディタ のカレントフレームをスクラブすると カレントフレームを動かすことが出来ます。
    この時、黒色の示すカレントフレームは 当然黄色のそれとは数が異なって表示されています。



    グループ にも クリップ単位 Layer が設定出来、そこにも追加のキーを設定してアニメーションを追加することが出来ます。



    また、グループ 1つのクリップ と同様の操作が出来るので、分割,ブレンド.色設定 が出来ます。
    更に、複数のグループ 1つにグループ化 できます。



    クリップ を選択項目として FBX に書き出す時、グループ を1つの クリップ アニメーションとして ベイク出力 することが出来ます。
    Maya ASCII で書き出しても、グループ 内の クリップの状態を保存することは出来ず、やはり ベイクされたアニメーションになります。





 Time Editor その7 ; 扱える追加的アニメーション ブレンドシェイプ
     キャラクターの Jointアニメーション や Rigアニメーション は トラック に追加することが出来ました。
    では、キャラクターに付随するアニメーションを タイムエディタ トラック に追加して クリップ化 出来るのか試してみましょう。

     まず最初は、

    ・あるジョイント(例;Head)方向コンストレイント している ポリゴン (例;pCube1) のアニメーションは・・、当然OKです。

     では、

    ・その 方向コンストレイント を設定した ウェイト値 (例;HeadJointに追加アトリビュート される BlendAim1)
     アニメーションさせたら クリップ化 出来るのか、です。    ....... これも OKです。



    ブレンドのある ジョイント(例;Head) を選択して、 シーン選択からアニメーションの追加、表示される設定画面で 

        ※注意!!
          ここでは、BlendAim1 だけのアニメーションクリップ を作成したいので、

           [ ] 階層全体を含める
           [ ] ルートを含める;移動、回転、スケール

          からチェックを外し追加するアトリビュート が  であることを確認して クリップ を作成します。

     これで Headの向く方向のアニメーションも、方向コンストレイントのウェイトのアニメーションも クリップ化 出来ました。

    当然ですが、Locator に作成した 追加のアトリビュート の値 も クリップ化 出来ます。
    何か、Locator につながっている アニメーションキー(ドリブンキーなど) も、クリップ でアニメーション制御出来るはずです。



    例えば、ブレンドシェイプ ウェイト値 ノードエディタ を使って Locator追加アトリビュートと接続してみましょう。
    この作業の時、タイムエディタ は無効にしておくと良いでしょう。



    ノードエディタ で見てみると、タイムエディタ を有効にすると Interpolatorノード からの接続が復活し、
    キャラクターの動きと共に、ブレンドシェイプ が動きました。



     では、

    ・そもそも ブレンドシェイプ のアニメーションは クリップ として扱えるのか、です。

    ブレンドシェイプ のアニメーションデータは 顔のポリゴンにあるものだと思って
    顔のポリゴン を選択した状態で シーン選択からアニメーションの追加 をしても
    入力時の設定画面で アトリビュートが 1つ しか取れないことからも怪しい... 動作になります。
    そうです、その1つというのは 顔ポリゴン自体の 可視(ビジビリティー)の情報を得ただけになります。

    ここで、先程の 上図の画面を見てください。↑
    ノードエディタ で見ると、シェイプエディタ画面で見えている項目毎の名前 ブレンドシェイプデフォーマー と 同じ名前のノードがあり、
    そのノードのウェイトと書いてある接続部に アニメーションカーブ が付いているはずです。このアニメーションが クリップ化 出来るのです。

     更に重大発見!! シェイプエディタ画面のグループ名の部分 ブレンドシェイプデフォーマー にアニメーションを付けてはいけません。
    なぜなら、FBX出力項目に対応していない項目で、ブレンドシェイプデフォーマー に付けたアニメーションは引き継ぐことができない・・ようです。
    1.0 のデフォルト値のままにしておいてください。



    ではあらためて、アニメーションキーを設定したグループ名のノード ブレンドシェイプデフォーマー ノードエディタ で選択状態にして、
    ”選択項目からClip化” します。
    ”追加するアトリビュート” は  2つ であれば大正解.......  OKです。 そのまま クリップ化 します。↓



     グラフエディタ で中身のカーブを見ても OK です。 つまり、登録した後からも カーブ編集可能です。

     では、ちょっと試しに、各 ブレンドシェイプデフォーマー 毎に クリップ化 して フェイシャル用の ソースデータ としてみます。
    1フレームのクリップも登録出来ますが、あえて フレーム とか 10フレーム の長さにしておくと、操作と編集が楽になります。



    シェイプ用のクリップを綺麗にまとめたいなら、前述の トラック グループ化 を利用すると 整理出来ます。
    フェイシャル 用 グループ を 例えば緑色の トラック と決め、更にパーツ毎に クリップ を置く トラック名 を決めて まとめてみました。



    このように シェープの各グループ ブレンドシェイプデフォーマー 毎の素材を用意することは思ったよりも簡単です。
    ですが、結局は各 クリップ のアニメーションカーブを編集するということは ソースを編集している ことなので、
    クリップ を複製して 固有化 してカーブを編集して使う、という手順はあまり効率的ではない気がします。

    そこで、キャラクターの基本口パターン [例; a,i,u,e,o 等] を用意する方法 や
    良く使う顔表情などの組み合わせた クリップ を用意する方法は どうか試してみます。

    基本口パターンを用意することはとても簡単で分り易いです。カレントフレームが次のクリップに移ればその口の形に変形します。
    各口パターンのクリップを作る時は、タイムエディタ を一旦無効にして基本の顔に戻し、
    新しく クリップ 化する 口の形に 1つ、または複数のシェイプのスライダーを動かして変形させ、そのキーの値を クリップ 化します。
    クリップ 化する時、分り易い名前や色を付けておきます。



    TIPS;
       タイムエディタ 無効化した時に T字のポーズ に戻ることが出来るように、
      TPoseの状態で全ジョイントに移動/回転/縮尺のキーを打って クリップ化した TPoseクリップ
      予め用意しておくことが モーション作業上大変重要です。

      TPoseクリップ はキャラクター毎に必ず .ma のソースファイルとして保存しておき、いつでも使えるようにしておきます。
      もし タイムエディタ 無効 にして非表示になってしまったり、T字のポーズに戻らなくなってしまった時、
      この TPoseクリップ を呼び出してから ベイク処理>シーンにベイク処理 を行って
      T字のポーズを確実に設定した後、すべてのキーを削除しておく、という復活技が出来るようになったりします。



     今度は表情集を作る方法を試みます。
    ノードエディタで選択するノードが複数になり、それらを確実に選択してから クリップ 化するのが少し手間ですが、
    慣れてしまえば、この通り、好みの顔をクリップとして登録することで、どんどんそのパターンを作り上げることが出来ます。



     この顔パターンの方法でも分ったことはあります。

    2つのクリップブレンドして、その中間的な表情をさせながら クリップで表情を変化させたい場合、
    1つの トラック 上に2つの クリップ を置いて、クリップ同士を重ねるだけでは 思った通りには補間されないようです。
    そこで、異なる トラック に 2つの クリップを用意して、クリップウェイト値ブレンドさせた方が補間がうまくいきました。(下図参照↓)

    ですが、2つの クリップ に変化するアニメーション項目が共通に存在してないと、補間のキーアニメーションが行われません。
    そうなると、お互いにブレンドしうる項目には予めキーを打って クリップ内に用意する必要がありそう~です。



     表情集と基本口 例; a,i,u,e,o 等] ですが、表情集の方で扱っている ブレンドシェイプ が 基本口で使っている部分と完全に分かれていればOKです。
    目を閉じた ブレンドシェイプが口も閉じている部分が含まれていると 基本口とうまくブレンドしなくなります。

    各基本口の クリップ がお互いに交わらないように置いてあるので、口パクはアニメのようにクリップ単位で変化しています。(下図参照↓) 
     (アニメのような口の表現がそのキャラクターのアニメーションに合っているのであれば・・)
    アニメーションの表現方法に応じて、クリップ の用意や配置の仕方も変わることでしょう。



    タイムエディタ を一旦無効にして、シェイプエディターで好みのアニメーションを付け、それをクリップ化して調整する
    という方法もあることでしょう。



    タイムエディタ 上の クリップ の状態はなるべくそのままに FBXデータ出力が出来れば良いと考えたところ、
    キャラクターの ジョイントアニメーションの場合は、 クリップ状態のまま FBX出力が可能のようです。
     (下記ブレンドシェイプの時と同じように、ベイク処理をしてからFBX出力する方法が確実ではあります。)

    ブレンドシェイプ アニメーション場合は、 一旦グループ名ノード ブレンドシェイプデフォーマーノードエディタ で全選択して、
    Mayaメイン画面上部の 編集 > キー > シミュレーションのベイク が一番良い感じです。
    このベイク時には タイムエディタ は有効のままで行います。

    TIPS;
       選択方法は 下図 ↓ のような感じで操作すると ブレンドシェイプ のグループ名 ブレンドシェイプデフォーマー を簡単に選択でき、
       全選択>ベイク が出来ます。



    タイムエディタ 無効にしても、フェイシャルアニメーションがきちんと動作しています。
    この状態でフェイシャルアニメーションだけを FBXファイルで出力 してみましょう。

    TIPS;
       タイムエディタ 無効にしても キャラクターが TPose にならなかったら・・、簡単です。
      最初に作成した TPoseクリップ を一旦タイムエディタ に持って来て TPose にし、
      TPoseクリップ を選択した状態で タイムエディタ 内の ベイク処理 > シーンにベイク処理 を実行した後、
      キャラクターの全階層を選択して Mayaメイン画面上部
      編集>キー>キーの削除 を行えば綺麗なTPoseを確保出来ます。(もしくはバインドポーズ)



     最後に、MotionBuilder UnrealEngine上で ブレンドシェイプ のアニメーションが再現出来るかの検証してみました。
    やはり少し工夫が必要でした。

      1) MotionBuilder2017
         キャラクターを全階層選択して、ファイル>選択項目の書き出し... から FBXファイル出力します。
         が、何やら、最初の ブレンドシェイプデフォーマー(下図では Ha です) のアニメーションしか動いていない状態になりました。う~ん。



         で、この解決は、なんと FBXファイルの出力時のバージョン変更で対応出来ます。 FBX2011 を指定します。



         すると、全てのフェイシャルアニメーションが動作するシーンを用意することが出来ました。





      2) UnrealEngine4.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つのネームスペース対応が必要になります。
     その クリップ が ソースの一部分だった場合や縮尺が掛かって配置している場合、元の長さやソースに戻ります。
     これは、クリップのソースからデータを配置する際に、縮尺や使用分の情報が引き継がれない為でしょう。



    タイムエディタ で グループ として 複数の クリップ を1つにまとめた クリップを ma形式で保存 して それを読む込むと・・
       通常時でも、中の クリップ が キーとしてベイクされてしまうので、
       当然、リファレンス として読み込んだキャラクターの タイムエディタ も同様、キーがベイクされた状態になります。





    ■ ソースクリップの更新 は?

       既にクリップが配置されている状態で、その基となるソースデータを更新して全てのクリップを新しいアニメーションに変更したい・・
      方法は幾つか考えられます。
      ソースを一旦リファレンスのデータにして差し替える方法、ソースのカーブを上書きコピーしてしまう方法 等です。

      ● ソースを一旦リファレンスのデータにして差し替える方法
        本来はこの方法が最も王道っぽいのですが、手順と方法は注意が必要です。
       クリップのソースを リファレンス の機能を使って差し替えることの出来るデータは、リファレンス の機能を使って保存したデータだけです。(※ 気を付けてください)
       他の方法で用意した .ma 等のデータは読み込むまでは出来るのですが、
       実際にはアニメーションが動作しないデータになったり、クリップ をクリックするとエラーが表示するようなデータになったり、ソフトが不安定になります。
       くれぐれも注意して作業してください !!!

        では、このようにします。
       まずは、元となる クリップ のアニメーションカーブを編集したとします。(これはソースデータを編集していることになります。)



       変更したソースデータを アウトライナー で選択し、
       右マウスクリック > リファレンス > 選択項目をリファレンスとして書き出す... □ でオプション選択画面を表示させます。
       ファイルタイプを MayaAscii にし、ネームスペースの処理を一番下の
       ◎選択したネームスペースにマージして一致する受信オブジェクトの名前を変更 を選択して
        [ 選択項目をリファレンスとして書き出す ] を押します。
       ファイルセーブ用の選択画面が表示されるので、
       ファイル名とディレクトリーを指定して [ 選択項目をリファレンスとして書き出す ] を押します。

      

       このシーンはこれで一旦閉じ、最初のシーンを開いた状態に戻ります。

       開いたシーンで、上記と同じ工程で、ソースデータを リファレンス の状態にしておきます。(既存のアニメーションも別名で保存しておくと良いでしょう。)
       書き換える予定の リファレンス になっているソースデータを
       右クリック > リファレンス を選択すると、操作出来る項目が増えています。
       その中の 書き換え... を選択すると ファイルを選択する選択画面が表示されるので、一番始めに保存した .ma ファイル を選択します。
       するとソースアニメーションが書き換わります。



       このままだと リファレンス の状態の 青い点 が付いたままなので 
       右マウスクリック > リファレンス > 読み込み... を実行し、通常のアニメーションデータの状態に戻して、終了です。




      ● ソースのカーブを上書きコピーする方法
        こちらは安易で、アニメーションカーブを上書きしてしまう、ということです。
        元となるクリップを コピー/ペースト して、新しく出来た クリップ アニメーションソースを固有化 を実行すると、
        単独のソースデータを参照しているクリップになります。
        新しく作った クリップ のソースアニメーションを編集してコピーし、それを 元のアニメーションカーブ上にペーストしてしまいます。



        どちらの方法でも、元のアニメーションに戻せるように、作業前に保存をしておきましょう。



    ■ 複数のタイムエディタ の表示は?

       Autodesk Softimage Mixer の基本構造として、キャラクターは Model(ミニシーン) の下に配置されるので、
       Model(ミニシーン) 毎、つまりキャラクター毎にMixerがあり、複数表示が可能でした。これは分り易いし、便利でした。

      これに対して、Maya の タイムエディタ は、シーンに1つの表示 ・・のようです。
     実際に行った検証を記述してみましょう。


      コピーをティアオフ(Tear Off) の機能が無い

        メインのView画面を グラフエディタ にした場合、パネル>コピーをティアオフ とすることで複数のグラフエディタの表示が可能です。
      


        ところが、メインのView画面を タイムエディタ にした場合、パネル>コピーをティアオフ の機能はブラックアウトされています。




      新しいパネルの作成 が出来ない

        パネル>パネルエディタ 新しいパネル タブ画面にて、
        グラフエディタ を選択した場合は [新しいパネルの作成] ボタンを押すと 
        パネル タブ画面にて グラフエディタ2 が作成され、View画面もそれになります。

        パネル>パネル>グラフエディタ2 も選択して表示することが可能です。
          (コピーしたパネルはシーンにずっと残っていたりするので、必要がなくなったら削除をお勧めします。)



        この方法で タイムエディタ 新しいパネル を作成しようとすると。アラートが表示され、作成することが出来ません。




      scriptedPanel なのに複数表示を許可しない

         このサイトで紹介している カスタムのグラフエディタカスタムのハイパーグラフ 同様、
        スクリプトコマンドの paneLayout を使ってレイアウトした scriptedPanel
        window 内に表示さることで複数表示と管理が出来ます。
        カスタムのアウトライナーも作成可能です。

        では、タイムエディタ を表示させた時のログの情報から スクリプティングに必要な情報を得て、
        同じような対応が出来るか実験してみます。



        やはり scriptedPanel の類であり、既存のパネルと変わらぬ扱いでスクリプティング出来そうな結果を表示します。
        早速、ずらずらっと書いて、これでどうだ! って実行すると・・・。


        あれれ~??

        # エラー: line 1: RuntimeError: file <maya console> line 21: このパネル タイプのインスタンスは 1 つのみ許可されます: timeEditorPanel # 

        となっていまいました。

      キャラクターや アニメーションさせるものがシーンにたくさん存在している場合は、
      1つの タイムエディタ にたくさんの トラック が作られるような状態になりそうです。

      きちんと トラック 毎に名前や色設定と グループ設定、
      そして左上の Composition を使って複数の画面を利用するなどして、煩雑になるのを防ぐ工夫と管理が必要・・となりそうです。





 まとめ、感想
    執筆時点のバージョンでの情報でした。

    これ以前に無い新機能ですので、 タイムエディタ を使いたければ Maya2017 を使用するしかありません。
    また、新機能搭載!! という機能なので、これから良くなるであろう部分はたくさんあるかと思われます。
    少なくともキャラクターアニメーションをノンリニアに編集する、という意味では従来のTraxEditorよりはるかに使いやすくなっています。
     出力形式のFBX部分が他のソフトとの互換性が問われるところで、経験と工夫で対応しているところがあったりしますが、
    この部分が確立してしまえば、使い心地もグンと良く感じられるようになる・かな・と思っています。



      お次も、乞う、ご期待!! Stay tuned ..