2012年8月19日日曜日

UnityとBlenderでアニメーションの切り分けは?


今回の投稿はアニメーションに何を使えば良いか、とのお話。皆さん、Unityのアニメーション機能はオマケのようなものと認識しつつも、実際に使う場面になったらBlenderでどこまでやったら良いか迷うのでは?

Unityフォーラムからの回答を翻訳しました:

http://answers.unity3d.com/questions/17354/blender-or-unity-for-animation.html

May 15, 2012 at 04:01 AM

質問
BlenderとUnityどちらでもアニメーションが出来ることは知っているけど、たとえば人形(Ragdoll)を作成する場合に胴体、腕、等を複数の
パーツから組み立てる場合にBlenderでパーツを組み立ててUnityで編集するか、全部をBlenderで編集したほうが良いか、どちらがオススメですか?

ベストアンサー
アニメーションに関しての扱いはUnityとBlenderで異なる。Blenderではモデルに「走る」「歩く」「動作なし」「攻撃」などアニメーションを決めてメッシュ単位で動作させる。
一方Unityのアニメーションはゲームオブジェクトのプロパティに関するアニメーションが主である。もし配置(Transform)、大きさ(Scale)、回転(Rotation)に関してアニメーション
をした場合に出来るということだ。スクリプト変数さえUnityのアニメーターを通して編集することが出来る。

すなわちやりたいことによって解決策が異なる。もし特定の動きに関してのキャラクターの固定された動きを作成した場合はBlenderで行ったほうが良い。
もしアニメーションによりUnity特有の変数に影響を与えたい場合はUnityアニメーターを使用すれば良い。

その他、人形(Ragdoll)については専門でないが、Blenderでボーン構造やメッシュまで組み立てて、Unityのメッシュにインポートしてサブメッシュを人形(Ragdoll)コンポーネントに
アサインすればUnityは適切な制約やジョイントを作成し、人形(Ragdoll)エフェクトは表現できる。

一貫性が重要で、「歩く」アニメーションをBlenderで実施し、「走る」をUnityで実施する、などといったことは行わないように。


回答
自分のゲームではUnity標準のアニメーション機能を使って軌道(path)に沿って動くようにして、実際のキャラクターの動きにはFBXでインポートしたアニメーションを
使っている。互いにネストさせることが必要で、たとえば親オブジェクトが軌道に動くものとすると、子オブジェクトにFBXアニメーションをつけると良い。

またUnity標準のアニメーションをモデル内のアニメーションに使うのも良い。たとえば坪が割って開けられるとかそういったイメージ。

Unity標準のアニメーションのメリットは:
・アニメーションのフレームレートを気軽にリサンプリング出来る。60-90FPSと15、30FPSは世界観が180度変わってくるのだが、インポートされたアニメーションはサイズが顕著に増加してしまう。
・アニメーションの途中でスクリプト実行が可能(Flashに近い)であることで、タイミング合わせなど推測で行う必要性がない。たとえばパーティクル効果を動作のあるタイミングで動かすことが容易だ。

----------

要点はスクリプト連携の場合にUnity標準のほうがメリットある、とのことですね。また親オブジェクトと子オブジェクトに動作スクリプトを別のものをつけるのはTweenでも使われるテクニックですね。

ちなみにココでは2Dアニメーションに特化話は書いていないですが、Unity Asset Storeで購入できるAssetも選択肢に入るので、そこも比較したコメントがほしいですね(Smooth Moveとか)。。。

頑張ってクールなアニメーションを作成しよう!

0 件のコメント:

コメントを投稿

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿

ブログ アーカイブ