【MotionBuilderチュートリアル】第5回~キャラの整理、調整(3Dモデルデータ編)~
こんにちは、株式会社GUNCY'Sの岡崎です。
第4回まではデータの確認を通して操作方法に慣れていただきましたが、ここからは3Dモデルに手を加えて、より本格的な内容に踏み込んでいきます。
第5回からモーションファイルの動きをキャラクターにさせるための工程に入ります。
まずは3Dモデルが動くまでの流れを説明します。
3Dモデルを動かすためには?
3Dモデルをモーションデータ通りに動かすには、モーションを3Dモデルに転送します。例えるなら、きぐるみを着た役者さんです。きぐるみ(3Dモデル)は自身で動きませんが、役者さん(モーションデータ)が入ることで動けるようになります。
このモーションを3Dモデルに転送することをリターゲットといいます。
リターゲットをするためには、まずキャラクタライズと呼ばれる作業を行なう必要があります。
キャラクタライズとは?
簡単にいうと、”Character”というデータを作成し、3Dモデルデータ、もしくはモーションデータと紐づける事を指します。もう少し正確にいうと、Characterを有効にする動作の事をキャラクタライズと呼びます。キャラクタライズを行なうためには事前にCharacterのセットアップをしておく必要があります。
MotionBuilderでいうCharacterとは、3Dモデルのことでも漫画やアニメのキャラクターのことでもありません。3Dモデル、もしくはモーションデータのマッピングデータのことを指します。たとえば、「このモデルのどのボーンが肩で、どのボーンが首……」という定義がされているデータを保持しています。
3Dモデルデータのボーンを右の図に当てはめてマッピングデータを作ります。
2020©Unity Technologies
Characterは3Dモデルやモーションデータに関連付ける(キャラクタライズする)事ができます。キャラクターが紐づいているもの同士であれば、モーションを受け取る側にも、逆に送る側にもなることもできます。つまり、モーションデータと3DモデルデータはCharacterを通してはじめて同じ動きができるのです。
左がモーションデータ(役者側)右が3Dモデルデータ(きぐるみ側) 両方ともCharacterを持つことができる。
今回は3Dモデルデータの方からキャラクタライズを行ないます。
手順
-
モデルOpen
まずモデルをOpenします
第1回で保存したキャラクターモデル(Kaya001.fbx)を使用します。
C:\Tutorials\MBModels
そのままOpenボタンを押下
-
Characterの作成
Characterを追加します。
まず、Asset BrowserのCharactersの中から、CharacterをViewerにドラッグ&ドロップします。
Navigatorのリストからキャラクターが追加された事を確認できます。
新規作成されたChatacterはデフォルトで”Character”という名前になっています。
ここから作成したCharacterの名前をわかりやすいものに変更しておきましょう。
後からモーションデータのCharacterも追加する時に管理しやすくなります。
作成したCharacterを右クリック>メニューからRenameで名前を変更できます。
変更後
Characterの名前をKayaに変更しました。
- ボーンのマッピング
Characterが追加できたら、次はボーンのマッピングを行います。
ボーンのマッピングはCharacter Controlsから操作します。
※もしも表示されていない場合は画面上部のツールバーからWindow > Character Controlsを選択して表示してください。
Character Controls上部のCharacterの項目がさきほど変更した名前になっている事を確認してください。(この記事ではKaya)
Definitionタブに人型のボーンの図表示されていますね。これから、この図の各部ボーンに対応する3Dモデルのボーンをそれぞれ紐づけします。
- Character Controlsのいずれかのボーンをダブルクリックします。
- 他の表示が暗くなるので、Viewerから対応するボーンをクリックします。
この時、メッシュを誤って選択してしまうおそれがあるので、Selection MaskでSkeltonのみを有効にしておきましょう。ボーン選択に限定されるので誤選択のリスクが抑えられます。
- Character Controlsの対応付けしたボーンの色が変わります。
- これらを必要な箇所にすべて行います。
これらは必須ボーンが対応付けできていれば、キャラクタライズをすることが可能になります。
対応付けに必須なボーンはDefinitionで最初に表示されるボーンです。
各部の逆三角ボタンを押すとさらに細かいボーンの対応付けが可能です。
これらのボーンの対応付けも可能な限り行なうと、モーションの転送をした時のモデル可動域がより豊かになります。たとえば、手であれば指先のマッピングまで行なうと指先まで動かすことができるようになります。
また、今回は3D表示でマッピングをしましたが、ボーンの名前が見ただけでどのボーンと対応付けするかわかるようになっていれば、スケマティックビューでボーン選択をするのもオススメです。
Characterのマッピングを完了させたものがこちらになります。
-
Tポーズ(Characterize)
3DモデルをZ+方向に向けてTポーズをさせます。
Character Controlsを見るとまだオレンジ色で警告が表示されていると思います。
これを直すため、3DモデルをTポーズにします。
正しくキャラクタライズをするためには以下の条件と整える必要があります。
- Characterのマッピングができていること
- モデルのポーズがTポーズであること
- モデルの向きがZ+方向を向いていること。
現在のKayaのモデルはマッピングとZ+方向に向けることはできていますが、Tポーズではないので、ボーンの回転をして調整します。
ポイントは
- 腕は床面と平行にする
- 上腕と前腕はまっすぐに揃える
- 手のひらは開いて床面と平行にする
これだけです。
Tポーズをさせると、Character Controlsの表示がすべて緑色に変わります。
- 確定(キャラクタライズ)
これで準備は完了です。
この状態でCharacter Controlsの上部、赤枠の南京錠アイコンをクリックします。
すると以下のダイアログが表示されます。
ここはBipedを選択してください。
ちなみに、Bipedは2足歩行、Quadrupedは4足歩行のことです。
本チュートリアルで使用するモデルは人型の2足歩行のリグなのでBipedを選択します。
これで3Dキャラクターのキャラクタライズは完了です。
グループ機能について
複数のデータを扱う際、特定のモデルだけ1クリックで非表示にしたいという事がよく起こります。たとえば、モーションデータのボーンだけを選択したいのに、3Dモデルのボーンまで選択してしまう事があるかもしれません。
そんな問題を解決する機能がこのグループ機能です。
オブジェクトをグループとしてまとめることで、
- 特定のグループだけ非表示にする
- 一時的に特定のグループのボーンだけを選択しないようにする
- 動かしたくないオブジェクトの操作をロックする
など、グループによって視認性の向上や操作ミスの防止もできます。
グループの作成
キャラクタライズを行なったシーンファイルにグループを用意しましょう。
このモデルのボーンとメッシュをあわせてKayaグループを作成します。
グループを作成するには、まずグループとしてまとめたいオブジェクトを選択します。
オブジェクトを選択したら、Viewerで右クリック
Create Group From Selected Item(s)を選択します。
するとReseourcesウィンドウのGroupsタブに新しくグループが作成されます。
名前を変更するために、グループ名をダブルクリックします
このグループがKayaのものであると分かるように、グループ名をKayaに変更します。
この作成されたグループ名をクリックすると、グループ内のオブジェクトだけを一括で選択できます。
グループの作成が確認できたら、このシーンファイルを保存しておきましょう。
今回までの進行度を別に保存するために、”Kaya001_characterize.fbx”として保存します。
このファイルは後の回でモーションデータとマージして使用します。
今回はキャラクタライズについての解説とグループ機能の使い方について説明しました。Characterの考え方について、この記事が理解しやすいものとなっていれば幸いです。
また、グループ機能は、今後複数のデータをマージして扱う事になる中でとくに活きてくる機能です。ぜひ覚えて活用してみてください。
次回
次回はモーションデータのキャラクタライズまでを行います。3Dモデルデータと違って動いているデータはどうやってキャラクタライズするのか?こちらも実践して疑問を解消できる内容となります。次回もよろしくお願いします。
モーションキャプチャーでお悩みの方は
株式会社GUNCY’Sではモーションキャプチャーの総合支援サービス"Mocap SOS"を開始しました。
モーションキャプチャーについてのご相談はぜひ弊社へお問い合わせください。
メールでのお問い合わせ:mocap_contact*guncys.com
(※記号「*」を「@」に置き換えてください。)
免責事項
- 当記事のコンテンツ・情報について、できる限り正確な情報を提供するように努めておりますが、正確性や安全性、最新性を保証するものではありません。
- 理由の如何に関わらず、本記事に掲載されている情報の変更・削除、および本記事の更新の中断・中止によって生じるいかなる損害についても、当社は責任を負わないものとします。
- リンク先へのアクセス、リンク先からのダウンロード、その他の方法を通じて取得したコンテンツは、自身の裁量とリスクをもって使用されるものとします。
- 当記事から移動された先のサイトは、当社が管理、運営するものではございません。移動先サイトで提供される情報の真偽、サービス等につきましても責任を負いませんのでご了承ください。なお、予告なしに内容が変更または廃止される場合がございます。
Discussion