[iClone] iCloneキャラをUnity 5で使用する (5) ~ Animation/プロジェクト設定について

またまた順番が前後してしまいましたが、今回はAnimationに関連したプロジェクト設定について説明します。


iCloneではタイムラインの長さは自動ではなく指定制になっています。
なにかモーションを追加した際に、動き終わってもずっと再生が続いてしまうのはタイムラインの終端に達していないせいです。

このタイムラインの長さは、プロジェクトの設定パネルで変更することができます。
iCloneの環境設定(Preference)ではなくプロジェクト設定(Project Settings)なので、プロジェクトを新規作成する度に設定しなおす必要があります。

プロジェクト設定パネルはメニューのEditからProject Settingsを選択するか、プレイバーの歯車アイコンをクリックすると開閉することができます。


プロジェクト設定パネルを開いたら、上の方にあるTime Unitの項目を確認してみてください。

このTotal Framesがタイムラインの長さの設定になります。
iCloneのAnimationは60fps(60フレーム=1秒)なので、10秒にしたいなら600に設定します。
ゲームのモーションの場合はある程度は再生時間は想定できていると思いますが、編集作業を楽にするためにその想定時間より5~10秒(300~600)くらい長めに設定することをおすすめします。
最大値は54000フレーム(900秒=15分)です。

その下のPlay ModeをLoopにすると、タイムラインの終端に達すると自動的に先頭に戻るループ再生になります。
再生範囲(下の画像の緑の三角マーカー)が設定されている場合はその範囲内でループとなります。

Time Modeは2タイプから選択できます。この設定はプレイバーでも切り替え可能です。
Realtimeでは再生時間が正確になるように、描画が追いつかない場合はフレームスキップが発生します。通常の作業ではこのモードを使用します。
ByFrameはフレームスキップを行わず、全フレームで正確な演算と再生が行われます。これは主に、物理演算(PhysXまたはBullet)の演算結果をベイクする場合に使用します。

Time Unitではプレイバーの表示方法を切り替えることができます。
デフォルトではFrameで、フレーム数がそのまま表示されます。
Timeに切り替えると、表示が”分:秒:フレーム(0~59)”となります。
この設定はプレイバーのみに影響し、タイムラインの方はフレーム表示のままとなります。
好みで好きな方を選択してください。


次に、プロジェクト設定の中段あたりにあるGlobal Physics Settingsという項目を探してください。

ここが物理演算設定となります。
ここでの設定は物理オブジェクトのみに影響し、通常のオブジェクトには効果はありません。

iClone 6/7では物理演算エンジンとしてPhysX、またはBulletのいずれかのエンジンが選択できます。
デフォルトではPhysXが選択されています。キャラクターを物理オブジェクトとして当たり判定を持たせるためにはPhysXを使用します。
Bulletは過去のプロジェクトの互換や、別売りのPhysics Toolboxで使用するために残されています。
通常はPhysXを選択してください。

Rigid Bodyは”剛体”と呼ばれる固形タイプの当たり判定の有効/無効の切り替えです。通常はオンのまま使用します。

Show Collision Bounding Colorは、当たり判定の最大エリアをバウンディングボックス表示するかしないかの設定です。演算結果には影響しないので、好みで切り替えてください。

Continuous Collision Detectionは当たり判定チェックを繰り返し行うかどうかの設定です。これをオフにすると高速で動く物体が他の物体に埋まったりすり抜けたりしてしまいます。負荷は高くなりますがオンのまま使用してください。

Soft Clothは衣服や髪といった”軟体”シミュレーションの有効/無効の切り替えです。iClone上で予めクロスシミュレーションをしてしまうならオン、Unityでリアルタイムに演算するならオフにします。
不確定要素で揺れ方が変化するような場合はUnityでリアルタイム演算しなければなりませんが、ゲームでの演算負荷は増加します。iCloneでクロスシミュレーション結果をベイクするとゲームの演算負荷は減りますが、Animationのデータ量は増加します。

Bake Animationをオンにしてモーション再生すると、クロスシミュレーションの結果がタイムライン上に保存されます。この機能を使用する場合、前述のTime Mode設定を必ずByFrameにしてください。Realtimeでは正しい結果が得られません。
期待通りの結果が得られたらSoft Clothをオフにすると上書きされません。結果が保存されているかどうかはタイムラインの表示フィルター(前回の記事を参照)でSoft Clothを表示するように変更してください。

Soft vs Soft Collisionは”軟体”同士で当たり判定を行うかどうかの設定です。
この設定は非常にやっかいです。オフにすると下の画像のように布の貫通が発生します。しかしオンにすると当たらないように曲げが制限されてしまうため、リアリティが失われてしまいます。また、オンでは多くの場合、髪の物理演算に支障をきたします。
そのため通常はこの設定はオフで使用した方が良い結果が得られるかと思います。
どうしても気になる場合はまず、オブジェクトのModyfyパネルのPhysicsタブのCollision設定を調整してみてください。ただしこの方法は自分自身しかチェックしてくれないため、他の”軟体”との判定には効果はありません。

 

Gravityはいわゆる”重力”の方向とその強さ(加速度)の設定です。
地球の場合、地面方向に約9.8m/s^2なので、Z軸に-9.8が設定されています。XYZすべてゼロにすると無重力状態になります。

World Scaleは物理オブジェクトの現実世界との比率の設定です。デフォルト値は5で、現実世界と同じ重さ・同じスピードで演算されます。
この設定を高くすると物理オブジェクトの速度は速くなり、低くすると遅くなります。
物理オブジェクトはそのスケールによっても演算に影響があることを覚えておいてください。

Physicsの詳細については、また別の機会に解説します。


タイムラインとプロジェクト設定の基本的な操作は理解できたでしょうか。

次回はモーション作成の続きをやりたいと思います。