*

MayaとUnity スケール補正についてのお話

公開日: : ,

こんにちは。CG開発室の鈴木です。

Mayaからアニメーションを出力し、Unityに入れてみた際に、スケールアニメーションがうまく再生されない。といった経験は無いでしょうか。MayaとUnityでは同じような内容でもちょっとした設定が違う項目が多々あります。

今回のwhomor Picturesでは、Mayaで出力したアニメーションをUnityに入れてみた際にスケールアニメーションに違いが出てしまった。という際についてのお話をしてみたいと思います。

では、実際にどういった現象が起きるか見てみましょう。

MayaとUnityでのスケールアニメーションの違い

MayaからUnityにジョイントをつけたモデルを読み込んでみる

はじめに、簡単にモデルを用意し、スキニングを行います。
img01_060302

デフォルト設定のままスキニングを行い、それぞれのジョイントのスケールにキーを打っていきます。
img02_060302

1F-30Fでスケール1になり、30F-60Fでスケール2になるアニメーションをつけてみました。
img02_060302

データをFBXで書き出し、Unityに入れてみましょう。

Unityでアニメーションを再生してみると・・・
img03_060302

Maya上でつけたものと、様子が違いますね。
具体的にどう違うのかMayaとUnityの結果を並べて確認してみましょう。
img04_060302

明らかに、Maya上とUnity上で違うアニメーションになってしまいました。

この見た目の違いをあわせるには?

Maya側で調整を行います

ジョイントのアトリビュート内、セグメントスケール補正のチェックをオンオフすることでスケールのかかり方を変更することが出来ます。

Mayaはデフォルトでチェックが入っていますが、チェックを外すことで、Unity上と動作をあわせることが出来ます。
img05_060302

各ジョイントのセグメントスケール補正のチェックをはずします。

セグメントスケール補正を調整したシーンファイルをFBX出力し、Unityにインポートして、先程のデータと並べてみると、下図のような状態になります。
img06_060302
これで、Mayaと同じ状態のアニメーションをインポートすることが出来ました。

Maya側でスケールアニメーションをつける際に、セグメントスケール補正のチェックを外した上でアニメーション作業を行えば、MayaとUnityで同様の結果を得られることが分かりました。

Unity側で調整することは可能か

Unityではセグメントスケール補正機能はありませんので、基本的にMaya側の状態に合わせることは出来ません。

スクリプトを組み、セグメントスケールを補正をかけれるようにすれば出来るかもしれませんが、結果として余計な負荷がかかってしまうことになります。

セグメントスケール補正とは?

上記でセグメントスケール補正を調整すれば解決する!と記載しましたが、セグメントスケール補正とはどういった項目なのでしょうか。

セグメントスケール補正(Autodeskhelpを引用)
このアトリビュートをオンに設定すると、親ジョイントのスケーリングに対して補正が行われるため、子ジョイントには影響しません。オフにすると、ジョイントのスケーリングが親ジョイントのスケーリングの影響を受けます。既定はオンです。

ここで着目するのは、親ノードの影響を子供が受けるかどうかという点になります。通常、モデル等のノードであれば、子供は親の影響を受けるようになっています。

Mayaではジョイントに関してのみ、セグメントスケール補正をかけることができ、親の影響を受けずに子供のスケールを変更することが出来るようになっています。

今回の事例では以下の現象が起きていました。まず、Mayaセグメントスケール補正がonの場合です。

img07_060302

次に、Mayaセグメントスケール補正をoffにした場合です。

今回、Unityにインポートを行った事例ではこの状態が発生していました。

img08_060302

最後に、入力スケールを変えてみた場合です。

img09_060302

結局どうしたらいいの?

Mayaでジョイントを組む際、セグメントスケール補正のチェックを外しておきます。その状態であれば、UnityとMayaで齟齬の無いデータをつくることができます。

他ツールの場合は?

Maya、Unity以外のツールでのスケールアニメーションについて少し紹介します。

3ds Maxだと?

・普通に持ち込むとどうなるの?
3ds Max には正しく読み込まれません。この読み込みの問題は、3ds Max が Maya のスケール補正設定をサポートしていないために発生します。

・セグメントスケールはできるの?
できません

・Maya→3ds Maxのデータ移動はどうなるの?
送る前になおしましょう

Unreal Engine(アンリアルエンジン)に入れた場合は?

セグメントスケール補正あり、セグメントスケール補正無しの両データを簡単にインポートしてみたところ、以下の結果となりました。

img10_060302

まったく同じ結果を得ることができました。Unreal Engineでは、セグメントスケールの補正を受けることができるようです。Unityと3ds Maxが同一の結果となり、MayaとUnreal Engineが同一の結果となりました。

Unreal Engineに関しては、Unityに正しく書き出せたデータでも同じ結果となりましたので、どちらでも大丈夫なようです。

Mayaのみ、スケール補正がかけられるようになっているので、アニメーションをつける際には注意が必要になるようです。

まとめ

いかがでしたでしょうか?

今回は、Maya・Unityでのジョイントのスケールという少し変わった箇所のお話を紹介しました。

初歩的な箇所で、あまり気にしない箇所かもしれませんが、ちょっとした違いでかなり変わってきます。
Unreal Engineではまた違った結果となりましたので、ツールをまたぐ制作であれば、それぞれ見極めていく必要がありますね。

▼3DCG・アニメーション制作のご相談はフーモアまでご連絡ください。

contact_button

Comments

comments

  • このエントリーをはてなブックマークに追加
  • LINEで送る

イラストレーター大募集中!!

漫画家大募集中!!

イラスト制作依頼ならフーモア!

プロの漫画制作ならフーモア!

関連記事

icon_part2

【第2回】Adobe Fuse CC(プレビュー版)を活用しよう!【Mixamo・Maya編】

こんにちは、CG開発室の三木です。 前回から引き続きAdobe Fuse CC(プレビュー版)

記事を読む

icon_part3

【第3回】Adobe Fuse CC(プレビュー版)を活用しよう!【Photoshop編】

こんにちは、CG開発室の三木です。 今回の記事でAdoebe Fuse CC(プレビュー版)の

記事を読む

2_1980s

2015秋最新流行メイクを参考にしながら顔テクスチャにメイクをするぞい 第二回

過去の流行メイクを踏まえてテクスチャで遊ぶぞい編 前回は2015秋の最新流行メイクについて触れまし

記事を読む

15_comparison

2015秋最新流行メイクを参考にしながら顔テクスチャにメイクをするぞい 第一回

もうすっかり寒くなってきましたね。 ショップのウィンドウも雑誌も秋冬仕様に一気に衣替えの時期。

記事を読む

icatch

Spineアニメーションを、Unityの画面で確認してみよう!

こんにちは、CG開発室アニメーターの吉村です。今回は「SpineのデータがUnityに読み込めない…

記事を読む

whomorPicturesBlog_140709G

Z-brushの体験版的位置づけであるSculptrisを触ってみた!

フーモア技術部の遠藤です。 先日のプロダクションEXPOにCG、映像ゾーンにて出展させていただ

記事を読む

1_DMMmake

3Dフィギュアを作ってみる 序

ご無沙汰しております。CG開発室の遠藤です。 フーモアは11月より5期目を迎えました。このタイミン

記事を読む

01

「Autodesk 123D Catch」で写真から3Dモデルを作ってみる

Autodesk123D Catchとは Autodesk123Dファミリーのアプリの

記事を読む

face_01

2015秋最新流行メイクを参考にしながら顔テクスチャにメイクをするぞい 第三回

まつげエクステから学ぶまつげデザインによる印象の違い編前回に引き続き、今回もメイクについて掘り下げた

記事を読む

1

写真が3Dに!smoothie-3Dで簡単にモデリングをしてみる

こんにちは、CG開発室のUSMRです。 今回は、横向きの写真一枚で3Dモデルが作れる無料ソフト「

記事を読む


  • 「おもしろいMANGAを創る」をビジョンに今までになかった新しい価値観を創造する会社。イラストや漫画制作のディレクター集団。
    お問合せはこちらからお気軽にどうぞ
  • ブログ最新記事とクリエイティブに役立つ情報を日々配信しています。

PAGE TOP ↑