物理マネージャ
PhysicsManagerはMagica Clothコンポーネントの全体を管理するマネージャです。
シーンに必ず1つ必要となります。
シーンに配置する
MagicaClothを動作させるためにはMagicaPhysicsManagerをシーンに配置する必要があります。
すでにプレハブ化されていますので、次のプレハブをシーンに配置してください。
またプレハブは必ずHierarchyのルートに配置するようにしてください(後述)
プロパティ
MagicaClothの物理エンジンを更新する頻度などを設定します。
基本的には初期設定のままでほとんど問題ありませんが、プロジェクトに併せて調整した方がパフォーマンスの面で有利な場合もあります。
項目 | 説明 |
Enabled | コンポーネントのEnabledフラグをOFFにすることでMagicaCloth全体の動作を停止できます。 |
Update Per Second | 1秒間あたりの物理エンジンの更新回数です。 更新回数が多いほど物理エンジンは強固になりますが、パフォーマンスが犠牲になります。 初期設定は90回です。 |
Update Mode |
更新時間の実装方法です。 [Unscaled Time] [Once Per Frame] [Delay Unscaled Time] |
Update Location |
シミュレーションの更新位置です。 [Before Late Update] |
Faster Write |
このオプションをONにすることでRenderDeformerはUnityの新しいMeshAPIを利用してメッシュ頂点を更新します。 |
OnPreUpdate |
クロスシミュレーション実行前のイベントを登録することが可能です。 |
OnPostUpdate |
クロスシミュレーション実行後のイベントを登録することが可能です。 |
マネージャは破壊されません
PhysicsManagerはシーンが破棄されても削除されない設定になっています。
基本的にはゲームで最初にロードされるシーンに配置しておくことで、そのゲーム中は常に有効になります。
ただこの機能を有効にするためにマネージャを必ずシーンのルート階層に配置するようにしてください。
ルート階層にマネージャが配置されない場合はこの機能が使えません。
2つ目のマネージャは破壊されますが、設定はコピーされます
2つ目のマネージャが発見された場合はそのマネージャは破壊されます。
ただし、そのマネージャの設定は現在のマネージャに上書きされます。
遅延実行
UpdateModeを[Delay Unscaled Time]に設定することで、クロスシミュレーションがレンダリング中にも実行されるようになります。
これによりパフォーマンスが大幅に向上しますが、結果が1フレーム遅れることに注意してください。
ただ、この遅れは未来予測により補間することが可能です。
項目 | 説明 |
Future Prediction Rate | 未来予測率。 1.0では1フレーム先まで未来予測を行い結果が補間されます。 0.5では0.5フレーム先までの未来予測を行います。 0.0に設定すると未来予測を行いません。 |
次は未来予測の比較画像です。
未来予測無し | 未来予測有り |
1フレーム遅れるため左では足が布を突き抜けてしまいますが、右では未来予測により補間されるため突き抜けません。