●物理
重力 (Gravity)
ゲーム内容に応じて、0に設定することも可能です。
重力による物理演算が不要なゲーム(宇宙空間のゲームなど)では、重力を0にすることで計算負荷を減らせます。
デフォルトマテリアル (Default Material)とは
この項目は、特定の物理マテリアルが割り当てられていないコライダーに適用されるデフォルトの物理マテリアルです。
物理マテリアルは、摩擦(Friction)と反発(Bounciness)の値を定義します。
電力と通信費の削減とは この項目自体は電力や通信費に直接影響しませんが、摩擦や反発の値を調整することで物理演算の挙動を制御できます。
極端な摩擦や反発は複雑な挙動を引き起こし、計算負荷を増やす可能性があるため、適切な値に設定することが重要です。
バウンスのしきい値(Bounce Threshold)とは
衝突しているオブジェクトが反発するかどうかを決定する速度のしきい値です。
オブジェクトの相対速度がこの値より小さい場合、反発は発生しません。
この値を大きくすると、反発が発生する状況が減り、物理演算の計算負荷を軽減できる可能性があります。
これにより、CPUの使用率が下がり、電力消費を抑えられます。
ただし、ゲームプレイに不自然な影響が出ないように調整が必要です。
デフォルトの最高非貫通速度 (Default Max Depenetration Velocity)とは
オブジェクトが互いにめり込んでいる場合に、それを分離するために適用される最大速度です。
この値が小さいと、オブジェクトがめり込んだままになる可能性が高くなりますが、計算負荷は軽減されます。
この値を小さく設定することで、物理エンジンがめり込みを修正するための計算量を減らせます。
これにより、CPU負荷が下がり、電力消費の削減につながります。
スリープのしきい値 (Sleep Threshold)とは
オブジェクトが「スリープ」状態に移行するためのエネルギーのしきい値です。
スリープ状態のオブジェクトは物理演算の対象から一時的に外れるため、計算がスキップされます。
この値を小さくすることで、オブジェクトがわずかな動きでもスリープ状態になりにくくなり、計算負荷は増えます。
逆に大きくすると、オブジェクトがより早くスリープ状態になり、物理演算がスキップされる機会が増えるため、
CPU負荷と電力消費を抑えられます。
デフォルト接続のオフセット (Default Contact Offset)とは
コライダー同士が接触していると見なされる距離です。
この値が大きいと、コライダーが実際に触れる前から接触が検出され、物理演算の計算機会が増えます。
この値を小さくすることで、不必要な接触の検出を減らし、物理演算の計算負荷を軽減できる可能性があります。
しかし、小さくしすぎると、オブジェクト同士がめり込んでしまう「貫通」が発生しやすくなるため、注意が必要です。
デフォルトソルバー処理数(Default Solver Iterations)
値を小さくすることを検討してください。
この値は、物理計算の精度を決定します。
値を小さくすると精度は下がりますが、計算量が減るためCPU負荷が軽減され、電力消費を抑えられます。
ただし、物理挙動に不自然さが出ない範囲で調整が必要です。
デフォルトソルバー速度処理数 (Default Solver Velocity Iterations)
この値は、物理エンジンが速度を計算し、コライダーの貫通を防ぐために実行する反復回数を決定します。
反復回数が多いほど精度が向上しますが、計算負荷も高くなります。
この値を小さく設定することで、CPUの計算負荷を軽減し、電力消費を抑えられます。
ただし、値を小さくしすぎると、高速で動く物体同士が貫通しやすくなる可能性があります。
裏面ヒットをクエリ (Queries Hit Backfaces)
この設定は、レイキャストや形状キャストなどの物理クエリが、コライダーの裏面を検出するかどうかを制御します。
通常、この設定はオフ(無効)にしておくのが良いでしょう。
裏面ヒットのクエリを無効にすることで、物理エンジンの計算負荷がわずかに軽減され、電力消費の削減につながります。
裏面のヒット検出が必要な場合のみ有効にしてください。
トリガーヒットをクエリ (Queries Hit Triggers)
この設定は、物理クエリがIs Triggerが有効なコライダーを検出するかどうかを制御します。
ゲームでトリガーコライダーとの衝突判定を必要としない場合、この設定をオフ(無効)にすることで、不必要な計算をスキップし、CPU負荷を下げることができます。
ただし、トリガーを利用するゲームの場合は、必ず有効にしておく必要があります。
適応外力を有効にする (Enable Adaptive Force)
この設定は、物理エンジンがコライダーの貫通を解決するために適用する力(外力)を、状況に応じて調整するかどうかを制御します。
有効にすると、より安定した物理挙動が得られますが、計算負荷が高まることがあります。
この設定は通常、オフ(無効)にすることを推奨します。
有効にすると計算が複雑になり、CPU負荷と電力消費が増加する可能性があります。
接触生成 (Contact Generation)
この設定は、コライダー同士の接触点の生成方法を制御します。
通常はデフォルトのままにしておくのが一般的です。
この設定は、電力や通信費の削減には直接的な影響はありません。
自動シュミレーション (Auto Simulation)
オフにすることを検討してください。
この設定をオフにすると、物理演算のシミュレーションが自動的に実行されなくなります。
FixedUpdateなどでPhysics.Simulate()を呼び出して、必要な時だけ手動でシミュレーションを実行することで、不要な物理演算を削減できます。
これにより、CPUの使用率を抑えることが可能です。
自動トランスフォーム同期 (Auto Sync Transforms)
この設定を無効にすることで、物理演算の更新とTransformコンポーネントの同期を自動で行うのをやめます。
これにより、開発者が手動でPhysics.SyncTransforms()を呼び出す必要があり、必要なときにだけ同期を行うことでパフォーマンスを最適化できます。
無効にすることで、不要な同期処理をスキップでき、CPU負荷を軽減できます。
衝突のコールバックを再利用 (Reuse Collision Callbacks)
有効にすると、同じコライダー同士の衝突コールバック(OnCollisionEnterなど)を再利用し、新しいコールバックを生成するオーバーヘッドを減らします。
有効にすることで、メモリ割り当てとガベージコレクションの頻度が減り、CPU負荷と電力消費を抑えられます。
クロスの重力 (Cloth Gravity)
この設定は、Unityの布シミュレーション(Cloth)に適用される重力を定義します。
この項目自体は電力消費に直接影響しませんが、布のシミュレーション自体は計算負荷が高いです。
シミュレーションを必要としない場合は、布のコンポーネントを無効にするか、ClothのSolver Frequencyを下げることで電力消費を抑えられます。
接触ペアモード (Contact Pair Mode)
コライダー間の接触ペアがどのように処理されるかを設定します。
通常はデフォルトのままで問題ありません。
この項目は、電力消費に直接的な影響はありません。
ブロードフェーズタイプ (Broadphase Type)
物理エンジンが衝突候補のペアを効率的に見つけるためのアルゴリズムです。
デフォルトのSweep And Pruneは、一般的なゲームでバランスの取れたパフォーマンスを提供します。
この項目を調整することでパフォーマンスが変わる可能性がありますが、デフォルト設定がほとんどのケースで最適です。
ワールド境界 (World Bounds)
物理演算のワールドの境界を定義します。
境界の外に出たオブジェクトは物理演算の対象外となります。
適切な境界を設定することで、不要な物理演算の対象となるオブジェクトを減らし、CPU負荷を軽減できます。
ワールドサブディビジョン (World Subdivisions)
物理ワールドを細かく分割することで、衝突検出の効率を高めます。
この値を大きくすると、衝突検出の精度は上がりますが、メモリ使用量と初期化コストが増加します。
ゲームの規模に合わせて適切な値に調整することで、パフォーマンスのバランスを取ることができます。
摩擦タイプ (Friction Type)
摩擦の計算方法を決定します。
デフォルトのPatch設定は通常、最も効率的です。
再現性向上の拡張を有効にする(Enable Enhanced Determinism)
この設定は、異なるプラットフォームや実行間で物理シミュレーションの結果をより一致させるために、追加の計算を実行します。
この設定を無効にすることで、追加の計算がなくなるため、CPU負荷を軽減できます。
物理演算の再現性が厳密に求められない場合は、無効にしておくのが良いでしょう。
Improved Patch Friction
摩擦計算を改善するための実験的な設定です。
この設定も、電力消費に直接的な影響はありません。
ソルバータイプ
物理演算ソルバーの種類を決定します。
通常はデフォルトのProjectで問題ありません。
この項目は、電力消費に直接的な影響はありません。
デフォルトの最大角速度 (Default Max Angular Velocity)
オブジェクトが回転できる最大角速度です。
この値を大きくすると、高速な回転が可能になりますが、計算負荷が高まる可能性があります。
ゲームの要件に合わせて適切な値に設定することで、不要な計算を減らせます。
レイヤーの衝突表(Layer Collision Matrix)
どのレイヤー同士が衝突を検出するかを定義します。
不要なレイヤー間の衝突を無効にすることで、衝突検出の計算量を大幅に削減できます。
これは電力削減に非常に効果的な設定です。
Defaultは無効にする
TransparentFXは無効にする
Ignore Raycastは無効にする
Waterは無効にする
UIは無効にする
クロスのインターコリジョン (Cloth Intercollision)
複数の布オブジェクト同士の衝突をシミュレーションするかどうかを制御します。
複数の布が互いに衝突する必要がない場合は、この設定を無効にすることで、CPU負荷と電力消費を抑えられます。
●2D 物理
重力(Gravity)
この設定は、シーン内のすべての2D物理オブジェクトに適用される重力の強さと方向を定義します。
デフォルト値は地球の重力加速度(Y軸方向に9.81)に設定されています。
ゲームの内容上、重力が不要な場合(宇宙空間を舞台にしたゲーム)は、この値を(0, 0)に設定することで、重力による計算をなくすことができます。
これにより、CPU負荷が軽減され、電力消費を抑えられます。
デフォルトマテリアル (Default Material)
この項目は、特定の物理マテリアルが割り当てられていない2Dコライダーに適用されるデフォルトの2D物理マテリアルです。
物理マテリアルは、摩擦(Friction)と反発(Bounciness)の値を定義します。
この項目自体は電力や通信費に直接影響しませんが、摩擦や反発の値を調整することで物理演算の挙動を制御できます。
極端な摩擦や反発は複雑な挙動を引き起こし、計算負荷を増やす可能性があるため、適切な値に設定することが重要です。
速度算出の反復数とは
値を小さくすることを検討してください。
これらの値は、2D物理の計算精度を決定します。
値を小さくすると計算負荷が下がり、電力消費を抑えられます。
物理的な挙動に問題が出ない範囲で調整しましょう。
位置算出の反復数とは
値を小さくすることを検討してください。
これらの値は、2D物理の計算精度を決定します。
値を小さくすると計算負荷が下がり、電力消費を抑えられます。
物理的な挙動に問題が出ない範囲で調整しましょう。
速度しきい値 (Velocity Threshold)
この値は、オブジェクトが「スリープ」状態から目覚めるための最低速度を定義します。
オブジェクトの速度がこの値を超えると、スリープ状態が解除され、物理演算が再開されます。
この値を大きくすると、わずかな動きではスリープ状態が解除されにくくなるため、物理演算の計算頻度が減り、CPU負荷と電力消費を抑えられます。
最大リニア補正 (Max Linear Correction)
コライダーが互いにめり込んだ際、それを修正するために物理エンジンが1回のステップで移動できる最大距離を定義します。
この値を小さく設定することで、めり込みを修正する計算の負荷を軽減できます。
ただし、小さくしすぎると、高速で動くオブジェクトがめり込んだままになる可能性が高まります。
最大角度補正 (Max Angular Correction)
コライダーが互いにめり込んだ際、それを修正するために1回のステップで回転できる最大角度を定義します。
この値を小さく設定することで、めり込みを修正する計算の負荷を軽減し、電力消費を抑えられます。
最高移動速度 (Max Translation Speed)
物理オブジェクトが移動できる最大速度を定義します。
ゲームの要件に応じて、この値を適切に制限することで、高速移動による不必要な複雑な衝突計算を減らし、CPU負荷を抑えることができます。
最高回転速度 (Max Rotation Speed)
物理オブジェクトが回転できる最大速度を定義します。
ゲームの要件に応じて、この値を適切に制限することで、高速回転による計算負荷を軽減し、電力消費を抑えられます。
バウムガルテ(Baumgarte)スケール
コライダーが互いにめり込んでいる場合に、それを分離するために適用される力の強さを調整します。
この値を小さくすると、計算負荷は軽減されますが、コライダーのめり込みが完全に修正されない可能性があります。
ゲームの挙動に問題が出ない範囲で調整してください。
バウムガルテ(Baumgarte)インパクト時間スケール
コライダーの衝突後に、どれだけの時間でめり込みが修正されるかを調整します。
この項目は、電力消費に直接的な影響はありません。
スリープ時間 (Time To Sleep)
オブジェクトが静止状態と見なされてから、スリープ状態に移行するまでの時間を定義します。
この値を短くすると、オブジェクトがより早くスリープ状態になり、物理演算の計算がスキップされる機会が増えるため、CPU負荷と電力消費を抑えられます。
リニアスリープ許容値 (Linear Sleep Tolerance)
オブジェクトがスリープ状態に移行するための、線形速度の許容値です。
この値を大きくすると、わずかな動きではスリープ状態が解除されにくくなり、物理演算の計算頻度が減り、CPU負荷と電力消費を抑えられます。
角運動のスリープ許容範囲 (Angular Sleep Tolerance)
オブジェクトがスリープ状態に移行するための、角速度の許容値です。
この値を大きくすると、わずかな回転ではスリープ状態が解除されにくくなり、物理演算の計算頻度が減り、CPU負荷と電力消費を抑えられます。
デフォルト接続オフセット (Default Contact Offset)
コライダー同士が接触していると見なされる距離です。
この値を小さくすることで、不必要な接触の検出を減らし、物理演算の計算負荷を軽減できます。
しかし、小さくしすぎると、オブジェクト同士がめり込む「貫通」が発生しやすくなるため、注意が必要です。
Simulatiom Mode
Scriptに設定することを検討してください。
「物理設定」の「自動シュミレーション」と同様に、シミュレーションを手動で制御できるようになります。
これにより、必要な時だけPhysics2D.Simulate()を呼び出して物理演算を実行し、不要な計算を削減します。
トリガーヒットをクエリ (Queries Hit Triggers)
この設定は、レイキャストや形状キャストなどの物理クエリが、Is Triggerが有効な2Dコライダーを検出するかどうかを制御します。
ゲームでトリガーコライダーとの衝突判定を必要としない場合、この設定を無効(オフ)にすることで、不必要な計算をスキップし、CPU負荷を下げることができます。
トリガーを頻繁に利用するゲームの場合は、必ず有効にしておく必要があります。
コライダーの開始クエリ (Collider Starts With Query)
この設定は、コライダーが有効になった時点で、他のコライダーとの重なりをチェックするかどうかを制御します。
この設定を無効(オフ)にすることで、コライダーが有効になったときの初期的な衝突チェックをスキップし、CPU負荷を軽減できます。
ただし、ゲーム開始時にすでに重なっているコライダー同士の衝突を検出したい場合は、有効にする必要があります。
無効化時のコールバック(Callbacks On Disable)
コンポーネントが無効になったときに、OnTriggerExitやOnCollisionExitなどの終了コールバックを呼び出すかどうかを制御します。
この設定を無効(オフ)にすることで、コンポーネントが無効になるたびに発生する不要なコールバック処理をなくし、CPU負荷を軽減できます。
衝突のコールバックを再利用 (Reuse Collision Callbacks)
有効にすると、同じコライダー同士の衝突コールバック(OnCollisionEnterなど)を再利用し、新しいコールバックを生成するオーバーヘッドを減らします。
有効にすることで、メモリ割り当てとガベージコレクションの頻度が減り、CPU負荷と電力消費を抑えられます。
自動トランスフォーム同期 (Auto Sync Transforms)
この設定を無効(オフ)にすることで、物理演算の更新とTransformコンポーネントの同期を自動で行うのをやめます。
これにより、開発者が手動でPhysics2D.SyncTransforms()を呼び出す必要があり、必要なときにだけ同期を行うことでパフォーマンスを最適化できます。
無効にすることで、不要な同期処理をスキップでき、CPU負荷を軽減できます。
ジョブオプション(実験的) (Job Options (Experimental))
2D物理演算をUnityのJob Systemで実行するための設定です。
マルチスレッドを利用することで、パフォーマンスを向上させることができますが、設定次第では逆にパフォーマンスが低下することもあります。
ジョブシステムは複数のCPUコアを利用するため、一般的に電力消費は増加する傾向にあります。
電力削減を優先する場合は、これらの設定を慎重に検討するか、デフォルトのままにするのが良いでしょう。
マルチスレッドを使用 (Use Multithreading)とはオフにすることを検討してください。
マルチスレッドは処理速度を向上させますが、スレッド管理のオーバーヘッドや、CPUの複数のコアを同時に使用することで電力消費が増加する可能性があります。
ジョブオプション (実験的)
これらの設定は、2D物理演算をUnityのJob Systemで実行する際の詳細な挙動を制御します。
パフォーマンスを向上させる可能性がありますが、設定によってはオーバーヘッドが増え、電力消費が増加する傾向があります。
電力削減を優先する場合、これらの設定は基本的にデフォルトのままにするか、慎重に調整すべきです。
一貫した処理順を使用(Use Consistent Processing Order)
有効にすると、物理演算の処理順序が常に同じになり、デバッグが容易になります。
ただし、わずかにパフォーマンスのオーバーヘッドが発生する可能性があります。
ジョブごとの補間数、新しい接触数、衝突接触数、クリアするボディ数、非連続同期フィクスチャ数、連続同期フィクスチャ数、最も近い接触検索数、トリガー接触更新数の
これらの設定は、物理演算のタスクをJob Systemがどのように分割するかを制御します。
各ジョブに割り当てるタスク数を調整することで、並列処理の効率を最適化しますが、最適なバランスを見つけるにはUnity Profilerを使った詳細な分析が必要です。
ジョブごとの補間数
ジョブごとの新しい接触数
ジョブごとの衝突接触数
ジョブごとにフラグを消去
ジョブごとのクリアするボディ数
ジョブごとの非連続同期フィクスチャ数
ジョブごとの連続同期フィクスチャ数
ジョブごとの最も近い接触検索数
ジョブごとのトリガー接触更新数
アイランド解決のコストしきい値、接触コストスケール、ジョイントコストスケール、ジョブごとのアイランド解決のボディ数、ジョブごとのアイランド解決の接触数の
これらの設定は、物理演算のアイランド(互いに孤立したオブジェクトのグループ)を解決する際のコストを制御します。
電力削減を目的とする場合、これらの値をデフォルトのままにするのが最も安全です。
アイランド解決のコストしきい値
これらの設定は、物理演算のアイランド(互いに孤立したオブジェクトのグループ)を解決する際のコストを制御します。
電力削減を目的とする場合、これらの値をデフォルトのままにするのが最も安全です。
アイランド解決のボディコストスケール
これらの設定は、物理演算のアイランド(互いに孤立したオブジェクトのグループ)を解決する際のコストを制御します。
電力削減を目的とする場合、これらの値をデフォルトのままにするのが最も安全です。
アイランド解決の接触コストスケール
アイランド解決のジョイントコストスケール
ジョブごとのアイランド解決のボディ数
ジョブごとのアイランド解決の接触数
ギズモ
UnityエディターのSceneビューでのデバッグ表示に関するものであり、ゲームの実行パフォーマンスや電力・通信費には全く影響しません。
ギズモ設定は、UnityエディターのSceneビューでのデバッグ表示に関するものです。
ゲームの実行パフォーマンスや電力・通信費には全く影響しません。
常にコライダーを表示する、スリープ状態のコライダーを表示、コライダーアクティブ状態の色、
コライダースリープ状態の色、接触しているコライダーを表示、Contact Arrow Scale、
コライダー接触時の色、コライダーAABBを表示、コライダーAABB色の
これらの設定は、Sceneビューでの表示を切り替えるためのもので、デバッグを容易にするために利用できますが、ゲームの実行速度には影響しません。
常にコライダーを表示する
スリープ状態のコライダーを表示
コライダーアクティブ状態の色
コライダースリープ状態の色
接触しているコライダーを表示
Contact Arrow Scale
コライダー接触時の色
コライダーAABBを表示
コライダーAABB色
レイヤーの衝突表
この設定は、どのレイヤーに属するオブジェクト同士が衝突を検出するかを定義するもので、電力削減に非常に効果的です。
Default, TransparentFX, Ignore Raycast, Water, UI
Unityのデフォルトレイヤーです。これらのチェックボックスをオンにすると、対応するレイヤー間で衝突を検出します。
ゲーム内で不要なレイヤー間の衝突を無効にすることで、物理エンジンの衝突検出計算量を大幅に削減できます。
例えば、UIレイヤーのオブジェクトとDefaultレイヤーのオブジェクトが衝突する必要がなければ、該当するチェックボックスのチェックを外します。
これにより、CPU負荷が軽減され、電力消費を抑えられます。
Defaultは無効にする。
TransparentFXは無効にする。
Ignore Raycastは無効にする。
Waterは無効にする。
UIは無効にする。