2.5D Physics
簡介
使用 2.5D 物理系統時,可以在增加高度(或厚度)的同時,仍能受益於 2D 物理引擎提供的大多數性能優勢。
注意: 使用垂直變換(Use Vertical Transform) 是一個欄位(預設開啟),可在 SimulationConfig 資產的物理設置中切換。
具有垂直數據的 2.5D 物理系統
StaticCollider2D 可以利用 Quantum 的 2.5D 物理系統在第三維度上具有「厚度」;只需設置 高度 即可:

對於實體,只需添加 Transform2DVertical 組件,並設置其 高度 及 位置偏移。例如,在 Quantum XZ 方向的遊戲中,這會在 Y 軸上增加高度。
注意:Transform2DVertical 需要 Transform2D 組件。
C#
var transform2dVertical = new Transform2DVertical();
transform2dVertical.Height = FP._1;
transform2dVertical.Position = FP._1;
f.Set(entity, transform2dVertical);

如果實體或靜態物體具有第三維度,物理引擎在解算碰撞時會將其考慮在內。這使得「空中」實體可以飛越「地面」實體等情況成為可能。
物理引擎的影響
實體分離
重要提示:檢測到碰撞時,碰撞解算器不會使用額外的維度信息。這可能導致在物理引擎的基本 2D 平面上執行分離時,實體發生彈跳。
可以通過直接在Transform2DVertical.Position上手動應用速度和力來模擬三維重力。不過,物理引擎僅會在碰撞檢測時使用該信息。
射線檢測和重疊檢測
這些函數默認都是平面的,只在 2D 平面上執行。要利用 2.5D 功能,請使用帶有 高度(height) 和垂直 偏移(offset) 參數的重載版本。
Back to top