This document is about: QUANTUM 2
SWITCH TO

2.5D 物理

はじめに

2.5D Physicsを使用すると、視点に応じて高さまたは厚さを追加でき、2Dのパフォーマンス上の利点を利用できます。
N.B.: Use Vertical TransformSimulationConfig アセットのPhysics設定で手動で有効にする必要があります。

垂直データを使用した2.5D物理

Static Collider 2D は、Quantum 2.5D物理学を使用して、3次元に「厚み」を持たせることができます。Height を設定するだけです。

Static Colliderに高さを追加。
Static Colliderに高さを追加。

For Entities, just add the Transform2DVertical component and set its Height and Position. エンティティの場合は、Transform2DVertical コンポーネントを追加し、その HeightPosition を設定するだけです。たとえば、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