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 を設定するだけです。

adding height to a 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);
adding height to an entity prototype
エンティティプロトタイプに高さを追加。

エンティティまたは静力に3次元がある場合、衝突を解決する際に物理エンジンに認識されます。 これにより、「空中」のエンティティが「地上」のものの上を飛ぶことができます。

物理エンジンの影響

エンティティの分離

重要: 衝突が検出されると、衝突ソルバーは追加の次元情報を使用しません。これにより、物理エンジンの基本的な2D平面で分離を実行すると、エンティティがバウンスする可能性があります。

Transform2DVertical.Position に速度と力を直接手動で適用して、3次元の重力をシミュレートすることができます。物理エンジンはその情報を衝突検出にのみ使用します。

レイキャストとオーバーラップ

これらの関数は、デフォルトではすべてフラットで、2D平面でのみ実行されます。 2.5Dを利用するには、height および 垂直 offset をパラメーターとして使用する overloaded バージョンを使用する必要があります。

Back to top