reckfellENGINE

Entity3D

Базовый объект в трехмерном пространстве, наследуемый всеми трехмерными узлами.

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

Базовый объект в трехмерном пространстве, наследуемый всеми трехмерными узлами.

сущность Entity3D является базовым представлением сущности в трехмерном пространстве. Все остальные трехмерные сущности наследуются от этого класса. Аффинные операции (перемещение, вращение, масштабирование) вычисляются в системе координат относительно родительского сущности, если только Entity3D.TopLevel Entity3D не равен true. В этой системе координат аффинные операции соответствуют прямым аффинным операциям над Entity3D.Transform Entity3D. Термин родительское пространство относится к этой системе координат. Система координат, прикрепленная к самому Entity3D, называется локальной системой координат объекта или локальным пространством. Примечание: Если не указано иное, все методы, которым требуются параметры угла, должны получать углы в радианах. Чтобы преобразовать градусы в радианы, используйте @GlobalScope.deg_to_rad. Примечание: В Reckfell и более ранних версиях Entity3D назывался Spatial.

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

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

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

Свойства17

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

Basis ЗАПЛАНИРОВАННЫЕ ЗАСЕДАНИЯ Entity3D.Transform Отражает вращение, масштаб и сдвиг этого сущности в исходном пространстве (относительно родительского сущности).

GlobalBasisСвойство
# GlobalBasis
C#
public Basis GlobalBasis { get; set; }

Basis ЗАПЛАНИРОВАННЫЕ ЗАСЕДАНИЯ Entity3D.GlobalTransform Представляет собой ротацию, масштаб и сдвиг этого сущности в глобальном пространстве (относительно мира). Примечание: Если сущность не внутри дерева, то это имущество не срабатывает и возвращается Basis.Identity.

GlobalPositionСвойство
# GlobalPosition
C#
public Vector3 GlobalPosition { get; set; }

Глобальное положение (перемещение) этого сущности в глобальном пространстве (относительно мира). Это эквивалентно Entity3D.GlobalTransform и Transform3D.Origin. Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается неудачей и возвращается Vector3.Zero.

GlobalRotationСвойство
# GlobalRotation
C#
public Vector3 GlobalRotation { get; set; }

Глобальное вращение этого сущности как углы Эйлера, в радианах и в глобальном пространстве (относительно мира). Это значение получается из вращения Entity3D.GlobalBasis.

  • Vector3.X — это угол вокруг глобальной оси X (pitch);
  • Vector3.Y — это угол вокруг глобальной оси Y (yaw);
  • Vector3.Z — это угол вокруг глобальной оси Z (roll). Примечание: В отличие от Entity3D.Rotation, это свойство всегда следует соглашению YXZ (EULER_ORDER_YXZ). Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается ошибкой и возвращается Vector3.Zero.
GlobalRotationDegreesСвойство
# GlobalRotationDegrees
C#
public Vector3 GlobalRotationDegrees { get; set; }

Entity3D.GlobalRotation этого сущности в градусах вместо радиан. Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается неудачей и возвращается Vector3.Zero.

GlobalTransformСвойство
# GlobalTransform
C#
public Transform3D GlobalTransform { get; set; }

Преобразование этого сущности в глобальном пространстве (относительно мира). Содержит и представляет Entity3D.GlobalPosition, Entity3D.GlobalRotation и глобальный масштаб этого сущности. Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается неудачей и возвращается Transform3D.Identity.

PositionСвойство
# Position
C#
public Vector3 Position { get; set; }

Положение (перемещение) этого сущности в родительском пространстве (относительно родительского сущности). Это эквивалентно Entity3D.Transform Transform3D.Origin.

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

Ротация этого сущности, представленного в качестве Quaternion в исходном пространстве (относительно родительского сущности). Это значение получено от Entity3D.BasisВращение. Примечание: Кватерны гораздо больше подходят для 3D математики, но менее интуитивно. Quaternion.Slerp).

RotationСвойство
# Rotation
C#
public Vector3 Rotation { get; set; }

Вращение этого сущности в виде углов Эйлера, в радианах и в родительском пространстве (относительно родительского сущности). Это значение получается из вращения Entity3D.Basis.

  • Vector3.X — это угол вокруг локальной оси X (тангаж);
  • Vector3.Y — это угол вокруг локальной оси Y (рыскание);
  • Vector3.Z — это угол вокруг локальной оси Z (крен). Порядок каждого последующего вращения можно изменить с помощью Entity3D.RotationOrder (см. константы EulerOrder). В Reckfell углы Эйлера всегда используют внутренний порядок. По умолчанию используется внутренняя конвенция YXZ (EULER_ORDER_YXZ). Примечание: Это свойство редактируется в градусах в инспекторе. Если вы хотите использовать градусы в скрипте, используйте Entity3D.RotationDegrees.
RotationDegreesСвойство
# RotationDegrees
C#
public Vector3 RotationDegrees { get; set; }

Entity3D.Rotation этого сущности в градусах вместо радиан. Примечание: Это не свойство, доступное во вкладке инспектора.

RotationEditModeСвойство
# RotationEditMode
C#
public Entity3D.RotationEditModeEnum RotationEditMode { get; set; }

Как поворот и масштаб этого сущности отображаются в доке инспектора.

RotationOrderСвойство
# RotationOrder
C#
public EulerOrder RotationOrder { get; set; }

Порядок вращения осей свойства Entity3D.Rotation. В Reckfell углы Эйлера всегда используют внутренний порядок, то есть окончательная ориентация вычисляется путем вращения вокруг локальных осей в указанном порядке.

ScaleСвойство
# Scale
C#
public Vector3 Scale { get; set; }

Масштаб этого сущности в локальном пространстве (относительно этого сущности). Это значение получается из масштаба Entity3D.Basis. Примечание: Поведение некоторых типов 3D-сущностей не зависит от этого свойства. К ним относятся Light3D, Camera3D, AudioStreamPlayer3D и другие. Предупреждение: Компоненты масштаба должны быть либо все положительными, либо все отрицательными и не точно 0.0. В противном случае будет невозможно получить масштаб из Entity3D.Basis. Это может привести к потере предполагаемого масштаба при перезагрузке с диска и потенциально к другому нестабильному поведению.

TopLevelСвойство
# TopLevel
C#
public bool TopLevel { get; set; }

Если true, сущность не наследует свои преобразования от своего родителя. Таким образом, преобразования сущностей будут только в глобальном пространстве, что также означает, что Entity3D.GlobalTransform и Entity3D.Transform будут идентичны.

TransformСвойство
# Transform
C#
public Transform3D Transform { get; set; }

Локальное преобразование этого сущности в родительском пространстве (относительно родительского сущности). Содержит и представляет Entity3D.Position, Entity3D.Rotation и Entity3D.Scale этого сущности.

VisibilityParentСвойство
# VisibilityParent
C#
public EntityPath VisibilityParent { get; set; }

Путь к родительскому сущности диапазона видимости для данного сущности и его дочерних элементов. Родителем видимости должен быть GeometryInstance3D. Любой визуальный экземпляр будет видимым только если его родитель видимости (и все вышестоящие элементы в иерархии видимости) скрыты из-за приближения к камере ближе, чем указано в GeometryInstance3D.VisibilityRangeBegin. сущности, скрытые через свойство Entity3D.Visible, фактически исключаются из дерева зависимостей видимости, поэтому зависимые экземпляры не учитывают скрытый сущность или его дочерние элементы.

VisibleСвойство
# Visible
C#
public bool Visible { get; set; }

Если true, этот сущность может быть видимым. сущность отображается только тогда, когда все его предки также видны. Это означает, что Entity3D.IsVisibleInTree должен возвращать true.

Методы73

AddGizmovoid
# AddGizmo
C#
public void AddGizmo(Entity3DGizmo gizmo);

Прикрепляет заданный gizmo к этому сущности. Работает только в редакторе. Примечание: gizmo должен быть EditorEntity3DGizmo. Тип аргумента — Entity3DGizmo, чтобы избежать зависимости от классов редактора в Entity3D.

Параметры
ИмяТипПо умолчанию
gizmoEntity3DGizmo—
ClearGizmosvoid
# ClearGizmos
C#
public void ClearGizmos();

Очищает все объекты EditorEntity3DGizmo, прикрепленные к этому сущности. Работает только в редакторе.

ClearSubgizmoSelectionvoid
# ClearSubgizmoSelection
C#
public void ClearSubgizmoSelection();

Отменяет выбор всех подэлементов для этого сущности. Полезно вызывать, когда выбранный подэлемент может больше не существовать после изменения свойства. Работает только в редакторе.

ForceUpdateTransformvoid
# ForceUpdateTransform
C#
public void ForceUpdateTransform();

Заставляет обновить Entity3D.GlobalTransform сущности, отправляя Entity3D.NotificationTransformChanged. Не удается, если сущность не находится внутри дерева. Примечание: Из соображений производительности изменения преобразования обычно накапливаются и применяются один раз в конце кадра. Обновление также распространяется на дочерние элементы Entity3D. Поэтому используйте этот метод только тогда, когда вам нужно актуальное преобразование (например, во время физических операций).

GetBasisBasis
# GetBasis
C#
public Basis GetBasis();
Возвращает Basis
GetGizmosReckfell.Collections.Array<Entity3DGizmo>
# GetGizmos
C#
public Reckfell.Collections.Array<Entity3DGizmo> GetGizmos();

Возвращает все объекты EditorEntity3DGizmo, прикрепленные к этому сущности. Работает только в редакторе.

Возвращает Reckfell.Collections.Array<Entity3DGizmo>
GetGlobalBasisBasis
# GetGlobalBasis
C#
public Basis GetGlobalBasis();
Возвращает Basis
GetGlobalPositionVector3
# GetGlobalPosition
C#
public Vector3 GetGlobalPosition();
Возвращает Vector3
GetGlobalRotationVector3
# GetGlobalRotation
C#
public Vector3 GetGlobalRotation();
Возвращает Vector3
GetGlobalRotationDegreesVector3
# GetGlobalRotationDegrees
C#
public Vector3 GetGlobalRotationDegrees();
Возвращает Vector3
GetGlobalTransformTransform3D
# GetGlobalTransform
C#
public Transform3D GetGlobalTransform();
Возвращает Transform3D
GetGlobalTransformInterpolatedTransform3D
# GetGlobalTransformInterpolated
C#
public Transform3D GetGlobalTransformInterpolated();

Возвращает визуальный мировой transform для покадрового потребителя вроде камеры. Текущая 3D-реализация собирает его из локальной иерархии EntityTreeFTI. В физической фазе или при глобальном выключении это не отдельная предсказанная поза; не используйте метод для авторитетных столкновений.

Возвращает Transform3D
GetParentEntity3DEntity3D
# GetParentEntity3D
C#
public Entity3D GetParentEntity3D();

Возвращает родительский Entity3D, который напрямую влияет на Entity3D.GlobalTransform этого сущности. Возвращает null, если родительского элемента не существует, родительский элемент не является Entity3D или Entity3D.TopLevel равен true. Примечание: Этот метод не всегда эквивалентен Entity.GetParent, который не учитывает Entity3D.TopLevel.

Возвращает Entity3D
GetPositionVector3
# GetPosition
C#
public Vector3 GetPosition();
Возвращает Vector3
GetQuaternionQuaternion
# GetQuaternion
C#
public Quaternion GetQuaternion();
Возвращает Quaternion
GetRotationVector3
# GetRotation
C#
public Vector3 GetRotation();
Возвращает Vector3
GetRotationDegreesVector3
# GetRotationDegrees
C#
public Vector3 GetRotationDegrees();
Возвращает Vector3
GetRotationEditModeEntity3D.RotationEditModeEnum
# GetRotationEditMode
C#
public Entity3D.RotationEditModeEnum GetRotationEditMode();
Возвращает Entity3D.RotationEditModeEnum
GetRotationOrderEulerOrder
# GetRotationOrder
C#
public EulerOrder GetRotationOrder();
Возвращает EulerOrder
GetScaleVector3
# GetScale
C#
public Vector3 GetScale();
Возвращает Vector3
GetTransformTransform3D
# GetTransform
C#
public Transform3D GetTransform();
Возвращает Transform3D
GetVisibilityParentEntityPath
# GetVisibilityParent
C#
public EntityPath GetVisibilityParent();
Возвращает EntityPath
GetWorld3DWorld3D
# GetWorld3D
C#
public World3D GetWorld3D();

Возвращает World3D, в котором зарегистрирован этот сущность. Обычно это то же самое, что и мир, используемый областью просмотра этого сущности (см. Entity.GetViewport и Viewport.FindWorld3D).

Возвращает World3D
GlobalRotatevoid
# GlobalRotate
C#
public void GlobalRotate(Vector3 axis, float angle);

Поворачивает Entity3D.GlobalBasis этого сущности вокруг глобальной axis на заданный angle, в радианах. Эта операция вычисляется в глобальном пространстве (относительно мира) и сохраняет Entity3D.GlobalPosition.

Параметры
ИмяТипПо умолчанию
axisVector3—
anglefloat—
GlobalScalevoid
# GlobalScale
C#
public void GlobalScale(Vector3 scale);

Масштабирует Entity3D.GlobalBasis этого сущности на заданный коэффициент Entity3D.Scale. Эта операция вычисляется в глобальном пространстве (относительно мира) и сохраняет Entity3D.GlobalPosition. Примечание: Этот метод не следует путать со свойством Entity3D.Scale.

Параметры
ИмяТипПо умолчанию
scaleVector3—
GlobalTranslatevoid
# GlobalTranslate
C#
public void GlobalTranslate(Vector3 offset);

Добавляет заданное перемещение offset к Entity3D.GlobalPosition сущности в глобальном пространстве (относительно мира).

Спрячься.

Параметры
ИмяТипПо умолчанию
offsetVector3—
Hidevoid
# Hide
C#
public void Hide();

Предотвращает отображение этого сущности. Эквивалентно установке Entity3D.Visible в false. Это противоположно Entity3D.Show.

IsLocalTransformNotificationEnabledbool
# IsLocalTransformNotificationEnabled
C#
public bool IsLocalTransformNotificationEnabled();

Возвращает true, если сущность получает Entity3D.NotificationLocalTransformChanged всякий раз, когда изменяется Entity3D.Transform. Это включается с помощью Entity3D.SetNotifyLocalTransform.

Возвращает bool
IsScaleDisabledbool
# IsScaleDisabled
C#
public bool IsScaleDisabled();

Возвращает true, если Entity3D.GlobalTransform этого сущности автоматически ортонормализован. Это приводит к тому, что этот сущность не выглядит искаженным, как если бы его глобальный масштаб был установлен на Vector3.One (или его отрицательный аналог). См. также Entity3D.SetDisableScale и Entity3D.Orthonormalize. Примечание: Entity3D.Transform не затрагивается этой настройкой.

Возвращает bool
IsSetAsTopLevelbool
# IsSetAsTopLevel
C#
public bool IsSetAsTopLevel();
Возвращает bool
IsTransformNotificationEnabledbool
# IsTransformNotificationEnabled
C#
public bool IsTransformNotificationEnabled();

Возвращает true, если сущность получает Entity3D.NotificationTransformChanged всякий раз, когда изменяется Entity3D.GlobalTransform. Это включается с помощью Entity3D.SetNotifyTransform.

Возвращает bool
IsVisiblebool
# IsVisible
C#
public bool IsVisible();
Возвращает bool
IsVisibleInTreebool
# IsVisibleInTree
C#
public bool IsVisibleInTree();

Возвращает true, если этот сущность находится внутри дерева сцены и свойство Entity3D.Visible равно true для этого сущности и всех его предков Entity3D в последовательности. Предок любого другого типа (например, Entity или Entity2D) нарушает последовательность. См. также Entity.GetParent. Примечание: Этот метод не может учитывать VisualInstance3D.Layers, поэтому даже если этот метод возвращает true, сущность может не быть отрисован.

Возвращает bool
LookAt2 перегрузки
# LookAt · 1/2
C#
public void LookAt(Vector3 target, Vector3? up);

Поворачивает сущность так, чтобы локальная прямая ось (-Z, Vector3.Forward) указывала на позицию target. Эта операция вычисляется в глобальном пространстве (относительно мира). Локальная ось вверх (+Y) указывает как можно ближе к вектору up, оставаясь перпендикулярной локальной прямой оси. Результирующее преобразование ортогонально, и масштаб сохраняется. Неравномерное масштабирование может работать некорректно. Позиция target не может совпадать с позицией сущности, вектор up не может быть Vector3.Zero. Кроме того, направление от позиции сущности к позиции target не может быть параллельным вектору up, чтобы избежать непреднамеренного вращения вокруг локальной оси Z. Если use_model_front равно true, ось +Z (фронт актива) рассматривается как прямая (подразумевается, что +X слева) и указывает на позицию target. По умолчанию ось -Z (камера вперед) рассматривается как передняя (подразумевается, что +X справа). Примечание: Этот метод не работает, если сущность не находится в дереве сцены. При необходимости используйте вместо этого Entity3D.LookAtFromPosition.

Параметры
ИмяТипПо умолчанию
targetVector3—
upVector3?—
# LookAt · 2/2
C#
public void LookAt(Vector3 target, Vector3? up = default, bool useModelFront = false);

Поворачивает сущность так, чтобы локальная прямая ось (-Z, Vector3.Forward) указывала на позицию target. Эта операция вычисляется в глобальном пространстве (относительно мира). Локальная ось вверх (+Y) указывает как можно ближе к вектору up, оставаясь перпендикулярной локальной прямой оси. Результирующее преобразование ортогонально, и масштаб сохраняется. Неравномерное масштабирование может работать некорректно. Позиция target не может совпадать с позицией сущности, вектор up не может быть Vector3.Zero. Кроме того, направление от позиции сущности к позиции target не может быть параллельным вектору up, чтобы избежать непреднамеренного вращения вокруг локальной оси Z. Если use_model_front равно true, ось +Z (фронт актива) рассматривается как прямая (подразумевается, что +X слева) и указывает на позицию target. По умолчанию ось -Z (камера вперед) рассматривается как передняя (подразумевается, что +X справа). Примечание: Этот метод не работает, если сущность не находится в дереве сцены. При необходимости используйте вместо этого Entity3D.LookAtFromPosition.

Параметры
ИмяТипПо умолчанию
targetVector3—
upVector3?default
useModelFrontboolfalse
up

Если параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 1.0f, 0.0f).

LookAtFromPosition2 перегрузки
# LookAtFromPosition · 1/2
C#
public void LookAtFromPosition(Vector3 position, Vector3 target, Vector3? up);

Перемещает сущность в указанное Entity3D.Position, затем поворачивает сущность так, чтобы он указывал на позицию target, аналогично Entity3D.LookAt. Эта операция вычисляется в глобальном пространстве (относительно мира).

Параметры
ИмяТипПо умолчанию
positionVector3—
targetVector3—
upVector3?—
# LookAtFromPosition · 2/2
C#
public void LookAtFromPosition(Vector3 position, Vector3 target, Vector3? up = default, bool useModelFront = false);

Перемещает сущность в указанное Entity3D.Position, затем поворачивает сущность так, чтобы он указывал на позицию target, аналогично Entity3D.LookAt. Эта операция вычисляется в глобальном пространстве (относительно мира).

Параметры
ИмяТипПо умолчанию
positionVector3—
targetVector3—
upVector3?default
useModelFrontboolfalse
up

Если параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 1.0f, 0.0f).

Orthonormalizevoid
# Orthonormalize
C#
public void Orthonormalize();

Ортонормализует Entity3D.Basis этого сущности. Этот метод устанавливает Entity3D.Scale этого сущности на Vector3.One (или ее отрицательный эквивалент), но сохраняет Entity3D.Position и Entity3D.Rotation. См. также Transform3D.Orthonormalized.

Rotatevoid
# Rotate
C#
public void Rotate(Vector3 axis, float angle);

Поворачивает Entity3D.Basis этого сущности вокруг axis на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.

Параметры
ИмяТипПо умолчанию
axisVector3—
anglefloat—
RotateObjectLocalvoid
# RotateObjectLocal
C#
public void RotateObjectLocal(Vector3 axis, float angle);

Поворачивает Entity3D.Basis этого сущности вокруг axis на заданный angle в радианах. Эта операция вычисляется в локальном пространстве (относительно этого сущности) и сохраняет Entity3D.Position.

Параметры
ИмяТипПо умолчанию
axisVector3—
anglefloat—
RotateXvoid
# RotateX
C#
public void RotateX(float angle);

Поворачивает Entity3D.Basis этого сущности вокруг оси X на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.

Параметры
ИмяТипПо умолчанию
anglefloat—
RotateYvoid
# RotateY
C#
public void RotateY(float angle);

Поворачивает Entity3D.Basis этого сущности вокруг оси Y на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.

Параметры
ИмяТипПо умолчанию
anglefloat—
RotateZvoid
# RotateZ
C#
public void RotateZ(float angle);

Поворачивает Entity3D.Basis этого сущности вокруг оси Z на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.

Параметры
ИмяТипПо умолчанию
anglefloat—
ScaleObjectLocalvoid
# ScaleObjectLocal
C#
public void ScaleObjectLocal(Vector3 scale);

Масштабирует Entity3D.Basis этого сущности на заданный фактор Entity3D.Scale. Эта операция вычисляется в локальном пространстве (относительно этого сущности) и сохраняет Entity3D.Position.

Параметры
ИмяТипПо умолчанию
scaleVector3—
SetAsTopLevelvoid
# SetAsTopLevel
C#
public void SetAsTopLevel(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetBasisvoid
# SetBasis
C#
public void SetBasis(Basis basis);
Параметры
ИмяТипПо умолчанию
basisBasis—
SetDisableScalevoid
# SetDisableScale
C#
public void SetDisableScale(bool disable);

Включает ортонормирование мирового Basis при его пересчёте. В 1.0.0 сам вызов не помечает уже рассчитанный GlobalTransform устаревшим. Установите флаг до добавления Entity в дерево либо после изменения флага присвойте Transform = Transform, чтобы запросить пересчёт. Локальный Transform и позиция при этом сохраняются.

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

True включает ортонормирование мирового базиса; false возвращает обычное наследование масштаба после пересчёта.

SetGlobalBasisvoid
# SetGlobalBasis
C#
public void SetGlobalBasis(Basis basis);
Параметры
ИмяТипПо умолчанию
basisBasis—
SetGlobalPositionvoid
# SetGlobalPosition
C#
public void SetGlobalPosition(Vector3 position);
Параметры
ИмяТипПо умолчанию
positionVector3—
SetGlobalRotationvoid
# SetGlobalRotation
C#
public void SetGlobalRotation(Vector3 eulerRadians);
Параметры
ИмяТипПо умолчанию
eulerRadiansVector3—
SetGlobalRotationDegreesvoid
# SetGlobalRotationDegrees
C#
public void SetGlobalRotationDegrees(Vector3 eulerDegrees);
Параметры
ИмяТипПо умолчанию
eulerDegreesVector3—
SetGlobalTransformvoid
# SetGlobalTransform
C#
public void SetGlobalTransform(Transform3D global);
Параметры
ИмяТипПо умолчанию
globalTransform3D—
SetIdentityvoid
# SetIdentity
C#
public void SetIdentity();

Устанавливает Entity3D.Transform этого сущности в Transform3D.Identity, что сбрасывает все преобразования в родительском пространстве (Entity3D.Position, Entity3D.Rotation и Entity3D.Scale).

SetIgnoreTransformNotificationvoid
# SetIgnoreTransformNotification
C#
public void SetIgnoreTransformNotification(bool enabled);

Если true, сущность не получит Entity3D.NotificationTransformChanged или Entity3D.NotificationLocalTransformChanged. Может быть полезно вызвать этот метод при обработке этих уведомлений, чтобы предотвратить бесконечную рекурсию.

Параметры
ИмяТипПо умолчанию
enabledbool—
SetNotifyLocalTransformvoid
# SetNotifyLocalTransform
C#
public void SetNotifyLocalTransform(bool enable);

Если true, сущность будет получать Entity3D.NotificationLocalTransformChanged всякий раз, когда изменяется Entity3D.Transform. Примечание: Некоторые 3D-сущности, такие как CsgShape3D или CollisionShape3D, автоматически включают это для правильной работы.

Параметры
ИмяТипПо умолчанию
enablebool—
SetNotifyTransformvoid
# SetNotifyTransform
C#
public void SetNotifyTransform(bool enable);

Если true, сущность будет получать Entity3D.NotificationTransformChanged всякий раз, когда изменяется Entity3D.GlobalTransform. Примечание: Большинство 3D-сущностей, таких как VisualInstance3D или CollisionObject3D, автоматически включают это для корректной работы. Примечание: В редакторе сущности будут распространять это уведомление своим дочерним элементам, если присоединен гизмо (см. Entity3D.AddGizmo).

Параметры
ИмяТипПо умолчанию
enablebool—
SetPositionvoid
# SetPosition
C#
public void SetPosition(Vector3 position);
Параметры
ИмяТипПо умолчанию
positionVector3—
SetQuaternionvoid
# SetQuaternion
C#
public void SetQuaternion(Quaternion quaternion);
Параметры
ИмяТипПо умолчанию
quaternionQuaternion—
SetRotationvoid
# SetRotation
C#
public void SetRotation(Vector3 eulerRadians);
Параметры
ИмяТипПо умолчанию
eulerRadiansVector3—
SetRotationDegreesvoid
# SetRotationDegrees
C#
public void SetRotationDegrees(Vector3 eulerDegrees);
Параметры
ИмяТипПо умолчанию
eulerDegreesVector3—
SetRotationEditModevoid
# SetRotationEditMode
C#
public void SetRotationEditMode(Entity3D.RotationEditModeEnum editMode);
Параметры
ИмяТипПо умолчанию
editModeEntity3D.RotationEditModeEnum—
SetRotationOrdervoid
# SetRotationOrder
C#
public void SetRotationOrder(EulerOrder order);
Параметры
ИмяТипПо умолчанию
orderEulerOrder—
SetScalevoid
# SetScale
C#
public void SetScale(Vector3 scale);
Параметры
ИмяТипПо умолчанию
scaleVector3—
SetSubgizmoSelectionvoid
# SetSubgizmoSelection
C#
public void SetSubgizmoSelection(Entity3DGizmo gizmo, int id, Transform3D transform);

Выбирает подэлемент gizmo с заданным id и задает его преобразование. Работает только в редакторе. Примечание: Объект gizmo обычно является экземпляром EditorEntity3DGizmo, но тип аргумента сохраняется общим, чтобы избежать создания зависимости от классов редактора в Entity3D.

Параметры
ИмяТипПо умолчанию
gizmoEntity3DGizmo—
idint—
transformTransform3D—
SetTransformvoid
# SetTransform
C#
public void SetTransform(Transform3D local);
Параметры
ИмяТипПо умолчанию
localTransform3D—
SetVisibilityParentvoid
# SetVisibilityParent
C#
public void SetVisibilityParent(EntityPath path);
Параметры
ИмяТипПо умолчанию
pathEntityPath—
SetVisiblevoid
# SetVisible
C#
public void SetVisible(bool visible);
Параметры
ИмяТипПо умолчанию
visiblebool—
Showvoid
# Show
C#
public void Show();

Позволяет отображать этот сущность. Эквивалентно установке Entity3D.Visible в true. Это противоположно Entity3D.Hide.

ToGlobalVector3
# ToGlobal
C#
public Vector3 ToGlobal(Vector3 localPoint);

Возвращает local_point, преобразованный из локального пространства этого сущности в глобальное пространство. Это противоположно Entity3D.ToLocal.

###=местный

Параметры
ИмяТипПо умолчанию
localPointVector3—
Возвращает Vector3
ToLocalVector3
# ToLocal
C#
public Vector3 ToLocal(Vector3 globalPoint);

Возвращает global_point, преобразованный из глобального пространства в локальное пространство этого сущности. Это противоположно Entity3D.ToGlobal.

Параметры
ИмяТипПо умолчанию
globalPointVector3—
Возвращает Vector3
Translatevoid
# Translate
C#
public void Translate(Vector3 offset);

Добавить данный перевод offset в месте расположения сущности в местном пространстве (относительно этого сущности). Примечание: Предпочтение использовать Entity3D.TranslateObjectLocalВместо этого, поскольку этот метод может быть изменен в будущем выпуске. Примечание: Несмотря на конгресс по имени, эта операция Нет Для перевода в исходное пространство добавить: offset К ПЛЕНАРНОМУ ЗАСЕДАНИЮ Entity3D.Position (node_3d.position += offset).

Параметры
ИмяТипПо умолчанию
offsetVector3—
TranslateObjectLocalvoid
# TranslateObjectLocal
C#
public void TranslateObjectLocal(Vector3 offset);

Добавляет заданное смещение offset к положению сущности в локальном пространстве (относительно этого сущности).

Параметры
ИмяТипПо умолчанию
offsetVector3—
UpdateGizmosvoid
# UpdateGizmos
C#
public void UpdateGizmos();

Обновляет все объекты EditorEntity3DGizmo, прикрепленные к этому сущности. Работает только в редакторе.

Сигналы и события1

VisibilityChangedСобытие
# VisibilityChanged
C#
public event Action VisibilityChanged;

Выдается при изменении видимости этого сущности (см. Entity3D.Visible и Entity3D.IsVisibleInTree). Этот сигнал выдается после связанного Entity3D.NotificationVisibilityChanged уведомления.

Поля и константы5

NotificationEnterWorldПоле
# NotificationEnterWorld
C#
public const long NotificationEnterWorld = 41;

Уведомление получено, когда этот сущность зарегистрирован в новом World3D (см. Entity3D.GetWorld3D).

УВЕДОМЛЕНИЕ_EXIT_WORLD

NotificationExitWorldПоле
# NotificationExitWorld
C#
public const long NotificationExitWorld = 42;

Уведомление получено, когда этот сущность удаляется из текущего World3D (см. Entity3D.GetWorld3D). Это уведомление отправляется в обратном порядке.

УВЕДОМЛЕНИЕ_ВИЗИТ_ ИЗМЕНЕНИЕ

NotificationLocalTransformChangedПоле
# NotificationLocalTransformChanged
C#
public const long NotificationLocalTransformChanged = 44;

Уведомление получено, когда изменяется Entity3D.Transform этого сущности, если Entity3D.IsLocalTransformNotificationEnabled равно true. Это не получено, когда изменяется Entity3D.Transform родительского Entity3D. См. также Entity3D.SetNotifyLocalTransform. Примечание: Некоторые 3D-сущности, такие как CsgShape3D или CollisionShape3D, автоматически включают это для правильной работы.

NotificationTransformChangedПоле
# NotificationTransformChanged
C#
public const long NotificationTransformChanged = 2000;

Уведомление получено, когда Entity3D.GlobalTransform этого сущности изменяется, если Entity3D.IsTransformNotificationEnabled имеет значение true. См. также Entity3D.SetNotifyTransform. Примечание: Большинство 3D-сущностей, таких как VisualInstance3D или CollisionObject3D, автоматически включают это для корректной работы. Примечание: В редакторе сущности будут распространять это уведомление своим дочерним элементам, если присоединен гизмо (см. Entity3D.AddGizmo).

УВЕДОМЛЕНИЕ_ENTER_WORLD

NotificationVisibilityChangedПоле
# NotificationVisibilityChanged
C#
public const long NotificationVisibilityChanged = 43;

Уведомление получено, когда видимость этого сущности изменяется (см. Entity3D.Visible и Entity3D.IsVisibleInTree). Это уведомление получено до связанного сигнала Entity3D.VisibilityChanged.

УВЕДОМЛЕНИЕ_LOCAL_TRANSFORM_ ИЗМЕНЕНИЕ

Entity3D.RotationEditModeEnum

ЗначениеОписание
Basis = 2

Вращение редактируется с использованием Basis. В этом режиме оси необработанного Entity3D.Basis могут быть свободно изменены, но свойство Entity3D.Scale недоступно.

Euler = 0

Вращение регулируется с помощью Vector3 в углах Эйлера. В Reckfell углы Эйлера всегда используют внутренний порядок, то есть вращение происходит вокруг локальных осей объекта.

Quaternion = 1

Вращение редактируется с использованием a Quaternion. Кватернации избегают Замок " гимбал " и должен выбрать порядок вращения, но менее интуитивный. Quaternion Вращение в основном аналогично вращениям роторов в 3D геометрической алгебре, за исключением того, что номера обозначаются по-разному.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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