2.5D 物理
はじめに
2.5D Physicsを使用すると、視点に応じて高さまたは厚さを追加でき、2Dのパフォーマンス上の利点を利用できます。
N.B.: Use Vertical Transform は SimulationConfig アセットのPhysics設定で手動で有効にする必要があります。
垂直データを使用した2.5D物理
Static Collider 2D は、Quantum 2.5D物理学を使用して、3次元に「厚み」を持たせることができます。Height を設定するだけです。
For Entities, just add the Transform2DVertical component and set its Height and Position. エンティティの場合は、Transform2DVertical コンポーネントを追加し、その Height と Position を設定するだけです。たとえば、Quantum XZ指向のゲームでは、Y軸に高さが追加されます。
N.B.: Transform2DVerticalにはTransform2Dコンポーネントが必要です
C#
var transform2dVertical = new Transform2DVertical();
transform2dVertical.Height = FP._1;
transform2dVertical.Position = FP._1;
f.Set(entity, transform2dVertical);
エンティティまたは静力に3次元がある場合、衝突を解決する際に物理エンジンに認識されます。 これにより、「空中」のエンティティが「地上」のものの上を飛ぶことができます。
物理エンジンの影響
エンティティの分離
重要: 衝突が検出されると、衝突ソルバーは追加の次元情報を使用しません。これにより、物理エンジンの基本的な2D平面で分離を実行すると、エンティティがバウンスする可能性があります。
Transform2DVertical.Position に速度と力を直接手動で適用して、3次元の重力をシミュレートすることができます。物理エンジンはその情報を衝突検出にのみ使用します。
レイキャストとオーバーラップ
これらの関数は、デフォルトではすべてフラットで、2D平面でのみ実行されます。 2.5Dを利用するには、height および 垂直 offset をパラメーターとして使用する overloaded バージョンを使用する必要があります。
Back to top