VoxelBoxMover
Класс полезности, позволяющий воспроизвести простую логику движения и скольжения с использованием только воксела AABB, по аналогии с физикой Minecraft. Этот класс может использоваться только с закупорочными вокселями. Храните образец в пере
Класс полезности, позволяющий воспроизвести простую логику движения и скольжения с использованием только воксела AABB, по аналогии с физикой Minecraft. Этот класс может использоваться только с закупорочными вокселями.
Храните образец в переменной члена вашего сценария и используйте его внутри Entity._Process или Entity._PhysicsProcess Он работает, где пожелаете.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
VoxelBoxMoverКонструктор
public VoxelBoxMover();Методы9
GetCollisionMaskuint
public uint GetCollisionMask();Получил маску столкновения, используемую для обнаружения коллапсных вокселей.
Эта маска столкновения характерна для этой системы удара и определена в пункте 1. VoxelBlockyModel.CollisionMask.
uintGetMaxStepHeightfloat
public float GetMaxStepHeight();floatGetMotionVector3
public Vector3 GetMotion(Vector3 pos, Vector3 motion, Aabb aabb, Entity terrain);Учитывая вектор движения, возвращает модифицированный вектор, указывающий вам, как сильно переместить ваш персонаж. KinematicBody.move_and_slide, за исключением того, что вы должны применить движение.
| Имя | Тип | По умолчанию |
|---|---|---|
pos | Vector3 | — |
motion | Vector3 | — |
aabb | Aabb | — |
terrain | Entity | — |
Vector3HasSteppedUpbool
public bool HasSteppedUp();Когда взбираться можно, говорит, когда последний звонок: VoxelBoxMover.GetMotion что привело к восхождениям.
Поднимаясь вверх, вектор движения изменяется таким образом, чтобы тело сломалось сверху ступеньки. Это может иметь последствия в коде контролера символов, например, учитывая, что персонаж находится на полу вместо того, чтобы прыгать.
boolIntersectsbool
public bool Intersects(Aabb aabb, ReckfellObject terrain);Испытания, если коробка с привязкой к оси пересекается с любым вокселовым ящиком столкновения. Примечание: Из-за точности в плавающей точке вы можете получить ложную положительную оценку при испытании на коробках, которые касаются воксельских границ. Если это нежелательно, вы можете уменьшить ваши значения. AABB Немного.
| Имя | Тип | По умолчанию |
|---|---|---|
aabb | Aabb | — |
terrain | ReckfellObject | — |
boolIsStepClimbingEnabledbool
public bool IsStepClimbingEnabled();Говорит, можно ли лазать по ступенькам.
boolSetCollisionMaskvoid
public void SetCollisionMask(uint mask);Устанавливает маску столкновения, используемую для обнаружения коллапсных вокселей.
В масках будут обнаружены только воксели, которые делят по крайней мере один кусочек.
Эта маска столкновения характерна для этой системы удара и определена в пункте 1. VoxelBlockyModel.CollisionMask.
| Имя | Тип | По умолчанию |
|---|---|---|
mask | uint | — |
SetMaxStepHeightvoid
public void SetMaxStepHeight(float height);Устанавливает максимальную высоту, которую можно взобраться как "наверх".
| Имя | Тип | По умолчанию |
|---|---|---|
height | float | — |
SetStepClimbingEnabledvoid
public void SetStepClimbingEnabled(bool enabled);При включении, VoxelBoxMover.GetMotion Это позволяет использовать лестницу, похожую на минный аппарат.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |