web-dev-qa-db-ja.com

Unityで物理システムを無効にする方法

UnityエンジンでネイティブAndroidアプリを開発したいのですが、物理を使用する必要はありません。Unityで特定のプロジェクトの物理エンジンを無効にすることは可能でしょうか。

6
Muhammad Ameen

物理システムを統一して無効にする方法

これは以前は不可能でしたが、Unity2017以降を使用している場合は可能になりました。

物理シミュレーションを無効にする:

_Physics.autoSimulation = false;
_

物理シミュレーションを有効にする

_Physics.autoSimulation = true;
_

2Dの場合は、_Physics2D.autoSimulation_を使用します。

これを行ったら、どのスクリプトにもFixedUpdate()関数が含まれていないことを確認してください。物理学はシミュレートされません。また、固定タイムステップをできるだけ小さく設定します。

実際、アプリがデバイスで起動したときに、物理クラス全体が読み込まれないような設定が必要です

いいえ、これはできません。気にしないで。アプリの読み込みが非常に遅い場合は、PhysicsAPIではなく別の場所を問題として探す必要があります。 1つの例は、Resourcesフォルダーの使用です。これは非常に遅いです。また、UIだけでメインシーンを単純化して読み込みを高速化し、 LoadAsyncScene を使用して残りのシーンを読み込む必要があります。読み込み時にオーディオの解凍を無効にしてください。詳細については、Google "Unityoptimize load time"を参照してください。

17
Programmer

http://answers.unity3d.com/questions/139550/how-to-disable-physics.html また、ここでレイヤーごとの衝突を無効にすることができます: https://docs.unity3d .com/Manual/class-PhysicsManager.html

0
ZayedUpal