reckfellENGINE

SpringArm3D

3D-рейкаст, который динамически перемещает свои дочерние элементы вблизи точки столкновения.

На этой странице
class SpringArm3DReckfellSharpНаследует Entity3D

3D-рейкаст, который динамически перемещает свои дочерние элементы вблизи точки столкновения.

SpringArm3D проецирует луч или форму вдоль своей оси Z и перемещает всех своих прямых потомков в точку столкновения с необязательным полем. Это полезно для камер от третьего лица, которые приближаются к игроку, когда он находится в тесном пространстве (вам может потребоваться исключить коллайдер игрока из проверки столкновений SpringArm3D).

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

SpringArm3DКонструктор
# SpringArm3D
C#
public SpringArm3D();

Свойства4

CollisionMaskСвойство
# CollisionMask
C#
public uint CollisionMask { get; set; }

Биты физических слоёв, в которых проверяются препятствия. Значение 1 проверяет первый слой; 0 исключает все слои. Не связано с Render Layers камеры. Отдельно исключайте тело персонажа через его физический RID.

MarginСвойство
# Margin
C#
public float Margin { get; set; }

Отступ от точки попадания только для ветки ray cast. В проверенной версии при явно назначенной Shape или автоматической форме прямого Camera3D-потомка этот отступ не вычитается. Для формы задавайте подходящий размер; не полагайтесь на Margin как на универсальную защиту камеры.

ShapeСвойство
# Shape
C#
public Shape3D Shape { get; set; }

Форма проверки препятствий. Если null и есть прямой Camera3D-потомок, используется автоматически полученная форма камеры; без такой камеры выполняется луч. При заданной форме Margin не вычитается в проверенной версии. Изменение свойства обрабатывается на физическом шаге.

SpringLengthСвойство
# SpringLength
C#
public float SpringLength { get; set; }

Требуемая длина проверки вдоль локальной +Z, преобразованной глобальным базисом. Это не текущая дистанция после столкновения. Для предсказуемых единиц оставьте масштаб иерархии равным единице; результат последнего физического шага читает GetHitLength.

Методы12

AddExcludedObjectvoid
# AddExcludedObject
C#
public void AddExcludedObject(Rid rID);

Исключает физический объект из запросов пружины. Для тела персонажа передавайте body.GetRid(), чтобы камера не сокращала дистанцию из-за собственного персонажа. Это не отключает столкновения самого тела.

Параметры
ИмяТипПо умолчанию
rIDRid—
rID

RID физического тела, полученный через GetRid(); не ID экземпляра Entity и не RID меша.

ClearExcludedObjectsvoid
# ClearExcludedObjects
C#
public void ClearExcludedObjects();

Очищает список объектов PhysicsBody3D, исключенных из проверки столкновений.

GetCollisionMaskuint
# GetCollisionMask
C#
public uint GetCollisionMask();
Возвращает uint
GetHitLengthfloat
# GetHitLength
C#
public float GetHitLength();

Возвращает дистанцию, рассчитанную на последнем физическом обновлении. Изменение SpringLength или Shape не пересчитывает её немедленно. На эту дистанцию перемещаются все прямые Entity3D-потомки, а не только камера.

Возвращает float

Последняя вычисленная длина. При отсутствии совпавшего препятствия равна SpringLength; не подменяйте этим значением проверку готовности первого физического шага.

GetLengthfloat
# GetLength
C#
public float GetLength();
Возвращает float
GetMarginfloat
# GetMargin
C#
public float GetMargin();
Возвращает float
GetShapeShape3D
# GetShape
C#
public Shape3D GetShape();
Возвращает Shape3D
RemoveExcludedObjectbool
# RemoveExcludedObject
C#
public bool RemoveExcludedObject(Rid rID);

Удаляет указанный Rid из списка объектов PhysicsBody3D, исключенных из проверки столкновений.

Параметры
ИмяТипПо умолчанию
rIDRid—
Возвращает bool
SetCollisionMaskvoid
# SetCollisionMask
C#
public void SetCollisionMask(uint mask);
Параметры
ИмяТипПо умолчанию
maskuint—
SetLengthvoid
# SetLength
C#
public void SetLength(float length);
Параметры
ИмяТипПо умолчанию
lengthfloat—
SetMarginvoid
# SetMargin
C#
public void SetMargin(float margin);
Параметры
ИмяТипПо умолчанию
marginfloat—
SetShapevoid
# SetShape
C#
public void SetShape(Shape3D shape);
Параметры
ИмяТипПо умолчанию
shapeShape3D—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.