Entity3D
Базовый объект в трехмерном пространстве, наследуемый всеми трехмерными узлами.
Базовый объект в трехмерном пространстве, наследуемый всеми трехмерными узлами.
сущность Entity3D является базовым представлением сущности в трехмерном пространстве. Все остальные трехмерные сущности наследуются от этого класса.
Аффинные операции (перемещение, вращение, масштабирование) вычисляются в системе координат относительно родительского сущности, если только Entity3D.TopLevel Entity3D не равен true. В этой системе координат аффинные операции соответствуют прямым аффинным операциям над Entity3D.Transform Entity3D. Термин родительское пространство относится к этой системе координат. Система координат, прикрепленная к самому Entity3D, называется локальной системой координат объекта или локальным пространством.
Примечание: Если не указано иное, все методы, которым требуются параметры угла, должны получать углы в радианах. Чтобы преобразовать градусы в радианы, используйте @GlobalScope.deg_to_rad.
Примечание: В Reckfell и более ранних версиях Entity3D назывался Spatial.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
Entity3DКонструктор
public Entity3D();Свойства17
BasisСвойство
public Basis Basis { get; set; }Basis ЗАПЛАНИРОВАННЫЕ ЗАСЕДАНИЯ Entity3D.Transform Отражает вращение, масштаб и сдвиг этого сущности в исходном пространстве (относительно родительского сущности).
GlobalBasisСвойство
public Basis GlobalBasis { get; set; }Basis ЗАПЛАНИРОВАННЫЕ ЗАСЕДАНИЯ Entity3D.GlobalTransform Представляет собой ротацию, масштаб и сдвиг этого сущности в глобальном пространстве (относительно мира).
Примечание: Если сущность не внутри дерева, то это имущество не срабатывает и возвращается Basis.Identity.
GlobalPositionСвойство
public Vector3 GlobalPosition { get; set; }Глобальное положение (перемещение) этого сущности в глобальном пространстве (относительно мира). Это эквивалентно Entity3D.GlobalTransform и Transform3D.Origin.
Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается неудачей и возвращается Vector3.Zero.
GlobalRotationСвойство
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Свойство
public Vector3 GlobalRotationDegrees { get; set; }Entity3D.GlobalRotation этого сущности в градусах вместо радиан.
Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается неудачей и возвращается Vector3.Zero.
GlobalTransformСвойство
public Transform3D GlobalTransform { get; set; }Преобразование этого сущности в глобальном пространстве (относительно мира). Содержит и представляет Entity3D.GlobalPosition, Entity3D.GlobalRotation и глобальный масштаб этого сущности.
Примечание: Если сущность не находится внутри дерева, получение этого свойства завершается неудачей и возвращается Transform3D.Identity.
PositionСвойство
public Vector3 Position { get; set; }Положение (перемещение) этого сущности в родительском пространстве (относительно родительского сущности). Это эквивалентно Entity3D.Transform Transform3D.Origin.
QuaternionСвойство
public Quaternion Quaternion { get; set; }Ротация этого сущности, представленного в качестве Quaternion в исходном пространстве (относительно родительского сущности). Это значение получено от Entity3D.BasisВращение.
Примечание: Кватерны гораздо больше подходят для 3D математики, но менее интуитивно. Quaternion.Slerp).
RotationСвойство
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Свойство
public Vector3 RotationDegrees { get; set; }Entity3D.Rotation этого сущности в градусах вместо радиан.
Примечание: Это не свойство, доступное во вкладке инспектора.
RotationEditModeСвойство
public Entity3D.RotationEditModeEnum RotationEditMode { get; set; }Как поворот и масштаб этого сущности отображаются в доке инспектора.
RotationOrderСвойство
public EulerOrder RotationOrder { get; set; }Порядок вращения осей свойства Entity3D.Rotation. В Reckfell углы Эйлера всегда используют внутренний порядок, то есть окончательная ориентация вычисляется путем вращения вокруг локальных осей в указанном порядке.
ScaleСвойство
public Vector3 Scale { get; set; }Масштаб этого сущности в локальном пространстве (относительно этого сущности). Это значение получается из масштаба Entity3D.Basis.
Примечание: Поведение некоторых типов 3D-сущностей не зависит от этого свойства. К ним относятся Light3D, Camera3D, AudioStreamPlayer3D и другие.
Предупреждение: Компоненты масштаба должны быть либо все положительными, либо все отрицательными и не точно 0.0. В противном случае будет невозможно получить масштаб из Entity3D.Basis. Это может привести к потере предполагаемого масштаба при перезагрузке с диска и потенциально к другому нестабильному поведению.
TopLevelСвойство
public bool TopLevel { get; set; }Если true, сущность не наследует свои преобразования от своего родителя. Таким образом, преобразования сущностей будут только в глобальном пространстве, что также означает, что Entity3D.GlobalTransform и Entity3D.Transform будут идентичны.
TransformСвойство
public Transform3D Transform { get; set; }Локальное преобразование этого сущности в родительском пространстве (относительно родительского сущности). Содержит и представляет Entity3D.Position, Entity3D.Rotation и Entity3D.Scale этого сущности.
VisibilityParentСвойство
public EntityPath VisibilityParent { get; set; }Путь к родительскому сущности диапазона видимости для данного сущности и его дочерних элементов. Родителем видимости должен быть GeometryInstance3D.
Любой визуальный экземпляр будет видимым только если его родитель видимости (и все вышестоящие элементы в иерархии видимости) скрыты из-за приближения к камере ближе, чем указано в GeometryInstance3D.VisibilityRangeBegin. сущности, скрытые через свойство Entity3D.Visible, фактически исключаются из дерева зависимостей видимости, поэтому зависимые экземпляры не учитывают скрытый сущность или его дочерние элементы.
VisibleСвойство
public bool Visible { get; set; }Если true, этот сущность может быть видимым. сущность отображается только тогда, когда все его предки также видны. Это означает, что Entity3D.IsVisibleInTree должен возвращать true.
Методы73
AddGizmovoid
public void AddGizmo(Entity3DGizmo gizmo);Прикрепляет заданный gizmo к этому сущности. Работает только в редакторе.
Примечание: gizmo должен быть EditorEntity3DGizmo. Тип аргумента — Entity3DGizmo, чтобы избежать зависимости от классов редактора в Entity3D.
| Имя | Тип | По умолчанию |
|---|---|---|
gizmo | Entity3DGizmo | — |
ClearGizmosvoid
public void ClearGizmos();Очищает все объекты EditorEntity3DGizmo, прикрепленные к этому сущности. Работает только в редакторе.
ClearSubgizmoSelectionvoid
public void ClearSubgizmoSelection();Отменяет выбор всех подэлементов для этого сущности. Полезно вызывать, когда выбранный подэлемент может больше не существовать после изменения свойства. Работает только в редакторе.
ForceUpdateTransformvoid
public void ForceUpdateTransform();Заставляет обновить Entity3D.GlobalTransform сущности, отправляя Entity3D.NotificationTransformChanged. Не удается, если сущность не находится внутри дерева.
Примечание: Из соображений производительности изменения преобразования обычно накапливаются и применяются один раз в конце кадра. Обновление также распространяется на дочерние элементы Entity3D. Поэтому используйте этот метод только тогда, когда вам нужно актуальное преобразование (например, во время физических операций).
GetBasisBasis
public Basis GetBasis();BasisGetGizmosReckfell.Collections.Array<Entity3DGizmo>
public Reckfell.Collections.Array<Entity3DGizmo> GetGizmos();Возвращает все объекты EditorEntity3DGizmo, прикрепленные к этому сущности. Работает только в редакторе.
Reckfell.Collections.Array<Entity3DGizmo>GetGlobalBasisBasis
public Basis GetGlobalBasis();BasisGetGlobalPositionVector3
public Vector3 GetGlobalPosition();Vector3GetGlobalRotationVector3
public Vector3 GetGlobalRotation();Vector3GetGlobalRotationDegreesVector3
public Vector3 GetGlobalRotationDegrees();Vector3GetGlobalTransformTransform3D
public Transform3D GetGlobalTransform();Transform3DGetGlobalTransformInterpolatedTransform3D
public Transform3D GetGlobalTransformInterpolated();Возвращает визуальный мировой transform для покадрового потребителя вроде камеры. Текущая 3D-реализация собирает его из локальной иерархии EntityTreeFTI. В физической фазе или при глобальном выключении это не отдельная предсказанная поза; не используйте метод для авторитетных столкновений.
Transform3DGetParentEntity3DEntity3D
public Entity3D GetParentEntity3D();Возвращает родительский Entity3D, который напрямую влияет на Entity3D.GlobalTransform этого сущности. Возвращает null, если родительского элемента не существует, родительский элемент не является Entity3D или Entity3D.TopLevel равен true.
Примечание: Этот метод не всегда эквивалентен Entity.GetParent, который не учитывает Entity3D.TopLevel.
Entity3DGetPositionVector3
public Vector3 GetPosition();Vector3GetQuaternionQuaternion
public Quaternion GetQuaternion();QuaternionGetRotationVector3
public Vector3 GetRotation();Vector3GetRotationDegreesVector3
public Vector3 GetRotationDegrees();Vector3GetRotationEditModeEntity3D.RotationEditModeEnum
public Entity3D.RotationEditModeEnum GetRotationEditMode();Entity3D.RotationEditModeEnumGetRotationOrderEulerOrder
public EulerOrder GetRotationOrder();EulerOrderGetScaleVector3
public Vector3 GetScale();Vector3GetTransformTransform3D
public Transform3D GetTransform();Transform3DGetVisibilityParentEntityPath
public EntityPath GetVisibilityParent();EntityPathGetWorld3DWorld3D
public World3D GetWorld3D();Возвращает World3D, в котором зарегистрирован этот сущность.
Обычно это то же самое, что и мир, используемый областью просмотра этого сущности (см. Entity.GetViewport и Viewport.FindWorld3D).
World3DGlobalRotatevoid
public void GlobalRotate(Vector3 axis, float angle);Поворачивает Entity3D.GlobalBasis этого сущности вокруг глобальной axis на заданный angle, в радианах. Эта операция вычисляется в глобальном пространстве (относительно мира) и сохраняет Entity3D.GlobalPosition.
| Имя | Тип | По умолчанию |
|---|---|---|
axis | Vector3 | — |
angle | float | — |
GlobalScalevoid
public void GlobalScale(Vector3 scale);Масштабирует Entity3D.GlobalBasis этого сущности на заданный коэффициент Entity3D.Scale. Эта операция вычисляется в глобальном пространстве (относительно мира) и сохраняет Entity3D.GlobalPosition.
Примечание: Этот метод не следует путать со свойством Entity3D.Scale.
| Имя | Тип | По умолчанию |
|---|---|---|
scale | Vector3 | — |
GlobalTranslatevoid
public void GlobalTranslate(Vector3 offset);Добавляет заданное перемещение offset к Entity3D.GlobalPosition сущности в глобальном пространстве (относительно мира).
Спрячься.
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector3 | — |
Hidevoid
public void Hide();Предотвращает отображение этого сущности. Эквивалентно установке Entity3D.Visible в false. Это противоположно Entity3D.Show.
IsLocalTransformNotificationEnabledbool
public bool IsLocalTransformNotificationEnabled();Возвращает true, если сущность получает Entity3D.NotificationLocalTransformChanged всякий раз, когда изменяется Entity3D.Transform. Это включается с помощью Entity3D.SetNotifyLocalTransform.
boolIsScaleDisabledbool
public bool IsScaleDisabled();Возвращает true, если Entity3D.GlobalTransform этого сущности автоматически ортонормализован. Это приводит к тому, что этот сущность не выглядит искаженным, как если бы его глобальный масштаб был установлен на Vector3.One (или его отрицательный аналог). См. также Entity3D.SetDisableScale и Entity3D.Orthonormalize.
Примечание: Entity3D.Transform не затрагивается этой настройкой.
boolIsSetAsTopLevelbool
public bool IsSetAsTopLevel();boolIsTransformNotificationEnabledbool
public bool IsTransformNotificationEnabled();Возвращает true, если сущность получает Entity3D.NotificationTransformChanged всякий раз, когда изменяется Entity3D.GlobalTransform. Это включается с помощью Entity3D.SetNotifyTransform.
boolIsVisiblebool
public bool IsVisible();boolIsVisibleInTreebool
public bool IsVisibleInTree();Возвращает true, если этот сущность находится внутри дерева сцены и свойство Entity3D.Visible равно true для этого сущности и всех его предков Entity3D в последовательности. Предок любого другого типа (например, Entity или Entity2D) нарушает последовательность. См. также Entity.GetParent.
Примечание: Этот метод не может учитывать VisualInstance3D.Layers, поэтому даже если этот метод возвращает true, сущность может не быть отрисован.
boolLookAt2 перегрузки
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.
| Имя | Тип | По умолчанию |
|---|---|---|
target | Vector3 | — |
up | Vector3? | — |
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.
| Имя | Тип | По умолчанию |
|---|---|---|
target | Vector3 | — |
up | Vector3? | default |
useModelFront | bool | false |
upЕсли параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 1.0f, 0.0f).
LookAtFromPosition2 перегрузки
public void LookAtFromPosition(Vector3 position, Vector3 target, Vector3? up);Перемещает сущность в указанное Entity3D.Position, затем поворачивает сущность так, чтобы он указывал на позицию target, аналогично Entity3D.LookAt. Эта операция вычисляется в глобальном пространстве (относительно мира).
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
target | Vector3 | — |
up | Vector3? | — |
public void LookAtFromPosition(Vector3 position, Vector3 target, Vector3? up = default, bool useModelFront = false);Перемещает сущность в указанное Entity3D.Position, затем поворачивает сущность так, чтобы он указывал на позицию target, аналогично Entity3D.LookAt. Эта операция вычисляется в глобальном пространстве (относительно мира).
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
target | Vector3 | — |
up | Vector3? | default |
useModelFront | bool | false |
upЕсли параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 1.0f, 0.0f).
Orthonormalizevoid
public void Orthonormalize();Ортонормализует Entity3D.Basis этого сущности. Этот метод устанавливает Entity3D.Scale этого сущности на Vector3.One (или ее отрицательный эквивалент), но сохраняет Entity3D.Position и Entity3D.Rotation. См. также Transform3D.Orthonormalized.
Rotatevoid
public void Rotate(Vector3 axis, float angle);Поворачивает Entity3D.Basis этого сущности вокруг axis на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.
| Имя | Тип | По умолчанию |
|---|---|---|
axis | Vector3 | — |
angle | float | — |
RotateObjectLocalvoid
public void RotateObjectLocal(Vector3 axis, float angle);Поворачивает Entity3D.Basis этого сущности вокруг axis на заданный angle в радианах. Эта операция вычисляется в локальном пространстве (относительно этого сущности) и сохраняет Entity3D.Position.
| Имя | Тип | По умолчанию |
|---|---|---|
axis | Vector3 | — |
angle | float | — |
RotateXvoid
public void RotateX(float angle);Поворачивает Entity3D.Basis этого сущности вокруг оси X на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.
| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
RotateYvoid
public void RotateY(float angle);Поворачивает Entity3D.Basis этого сущности вокруг оси Y на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.
| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
RotateZvoid
public void RotateZ(float angle);Поворачивает Entity3D.Basis этого сущности вокруг оси Z на заданный angle в радианах. Эта операция вычисляется в родительском пространстве (относительно родителя) и сохраняет Entity3D.Position.
| Имя | Тип | По умолчанию |
|---|---|---|
angle | float | — |
ScaleObjectLocalvoid
public void ScaleObjectLocal(Vector3 scale);Масштабирует Entity3D.Basis этого сущности на заданный фактор Entity3D.Scale. Эта операция вычисляется в локальном пространстве (относительно этого сущности) и сохраняет Entity3D.Position.
| Имя | Тип | По умолчанию |
|---|---|---|
scale | Vector3 | — |
SetAsTopLevelvoid
public void SetAsTopLevel(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetBasisvoid
public void SetBasis(Basis basis);| Имя | Тип | По умолчанию |
|---|---|---|
basis | Basis | — |
SetDisableScalevoid
public void SetDisableScale(bool disable);Включает ортонормирование мирового Basis при его пересчёте. В 1.0.0 сам вызов не помечает уже рассчитанный GlobalTransform устаревшим. Установите флаг до добавления Entity в дерево либо после изменения флага присвойте Transform = Transform, чтобы запросить пересчёт. Локальный Transform и позиция при этом сохраняются.
| Имя | Тип | По умолчанию |
|---|---|---|
disable | bool | — |
disableTrue включает ортонормирование мирового базиса; false возвращает обычное наследование масштаба после пересчёта.
SetGlobalBasisvoid
public void SetGlobalBasis(Basis basis);| Имя | Тип | По умолчанию |
|---|---|---|
basis | Basis | — |
SetGlobalPositionvoid
public void SetGlobalPosition(Vector3 position);| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
SetGlobalRotationvoid
public void SetGlobalRotation(Vector3 eulerRadians);| Имя | Тип | По умолчанию |
|---|---|---|
eulerRadians | Vector3 | — |
SetGlobalRotationDegreesvoid
public void SetGlobalRotationDegrees(Vector3 eulerDegrees);| Имя | Тип | По умолчанию |
|---|---|---|
eulerDegrees | Vector3 | — |
SetGlobalTransformvoid
public void SetGlobalTransform(Transform3D global);| Имя | Тип | По умолчанию |
|---|---|---|
global | Transform3D | — |
SetIdentityvoid
public void SetIdentity();Устанавливает Entity3D.Transform этого сущности в Transform3D.Identity, что сбрасывает все преобразования в родительском пространстве (Entity3D.Position, Entity3D.Rotation и Entity3D.Scale).
SetIgnoreTransformNotificationvoid
public void SetIgnoreTransformNotification(bool enabled);Если true, сущность не получит Entity3D.NotificationTransformChanged или Entity3D.NotificationLocalTransformChanged.
Может быть полезно вызвать этот метод при обработке этих уведомлений, чтобы предотвратить бесконечную рекурсию.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetNotifyLocalTransformvoid
public void SetNotifyLocalTransform(bool enable);Если true, сущность будет получать Entity3D.NotificationLocalTransformChanged всякий раз, когда изменяется Entity3D.Transform.
Примечание: Некоторые 3D-сущности, такие как CsgShape3D или CollisionShape3D, автоматически включают это для правильной работы.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetNotifyTransformvoid
public void SetNotifyTransform(bool enable);Если true, сущность будет получать Entity3D.NotificationTransformChanged всякий раз, когда изменяется Entity3D.GlobalTransform.
Примечание: Большинство 3D-сущностей, таких как VisualInstance3D или CollisionObject3D, автоматически включают это для корректной работы.
Примечание: В редакторе сущности будут распространять это уведомление своим дочерним элементам, если присоединен гизмо (см. Entity3D.AddGizmo).
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPositionvoid
public void SetPosition(Vector3 position);| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector3 | — |
SetQuaternionvoid
public void SetQuaternion(Quaternion quaternion);| Имя | Тип | По умолчанию |
|---|---|---|
quaternion | Quaternion | — |
SetRotationvoid
public void SetRotation(Vector3 eulerRadians);| Имя | Тип | По умолчанию |
|---|---|---|
eulerRadians | Vector3 | — |
SetRotationDegreesvoid
public void SetRotationDegrees(Vector3 eulerDegrees);| Имя | Тип | По умолчанию |
|---|---|---|
eulerDegrees | Vector3 | — |
SetRotationEditModevoid
public void SetRotationEditMode(Entity3D.RotationEditModeEnum editMode);| Имя | Тип | По умолчанию |
|---|---|---|
editMode | Entity3D.RotationEditModeEnum | — |
SetRotationOrdervoid
public void SetRotationOrder(EulerOrder order);| Имя | Тип | По умолчанию |
|---|---|---|
order | EulerOrder | — |
SetScalevoid
public void SetScale(Vector3 scale);| Имя | Тип | По умолчанию |
|---|---|---|
scale | Vector3 | — |
SetSubgizmoSelectionvoid
public void SetSubgizmoSelection(Entity3DGizmo gizmo, int id, Transform3D transform);Выбирает подэлемент gizmo с заданным id и задает его преобразование. Работает только в редакторе.
Примечание: Объект gizmo обычно является экземпляром EditorEntity3DGizmo, но тип аргумента сохраняется общим, чтобы избежать создания зависимости от классов редактора в Entity3D.
| Имя | Тип | По умолчанию |
|---|---|---|
gizmo | Entity3DGizmo | — |
id | int | — |
transform | Transform3D | — |
SetTransformvoid
public void SetTransform(Transform3D local);| Имя | Тип | По умолчанию |
|---|---|---|
local | Transform3D | — |
SetVisibilityParentvoid
public void SetVisibilityParent(EntityPath path);| Имя | Тип | По умолчанию |
|---|---|---|
path | EntityPath | — |
SetVisiblevoid
public void SetVisible(bool visible);| Имя | Тип | По умолчанию |
|---|---|---|
visible | bool | — |
Showvoid
public void Show();Позволяет отображать этот сущность. Эквивалентно установке Entity3D.Visible в true. Это противоположно Entity3D.Hide.
ToGlobalVector3
public Vector3 ToGlobal(Vector3 localPoint);Возвращает local_point, преобразованный из локального пространства этого сущности в глобальное пространство. Это противоположно Entity3D.ToLocal.
###=местный
| Имя | Тип | По умолчанию |
|---|---|---|
localPoint | Vector3 | — |
Vector3ToLocalVector3
public Vector3 ToLocal(Vector3 globalPoint);Возвращает global_point, преобразованный из глобального пространства в локальное пространство этого сущности. Это противоположно Entity3D.ToGlobal.
| Имя | Тип | По умолчанию |
|---|---|---|
globalPoint | Vector3 | — |
Vector3Translatevoid
public void Translate(Vector3 offset);Добавить данный перевод offset в месте расположения сущности в местном пространстве (относительно этого сущности).
Примечание: Предпочтение использовать Entity3D.TranslateObjectLocalВместо этого, поскольку этот метод может быть изменен в будущем выпуске.
Примечание: Несмотря на конгресс по имени, эта операция Нет Для перевода в исходное пространство добавить: offset К ПЛЕНАРНОМУ ЗАСЕДАНИЮ Entity3D.Position (node_3d.position += offset).
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector3 | — |
TranslateObjectLocalvoid
public void TranslateObjectLocal(Vector3 offset);Добавляет заданное смещение offset к положению сущности в локальном пространстве (относительно этого сущности).
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector3 | — |
UpdateGizmosvoid
public void UpdateGizmos();Обновляет все объекты EditorEntity3DGizmo, прикрепленные к этому сущности. Работает только в редакторе.
Сигналы и события1
VisibilityChangedСобытие
public event Action VisibilityChanged;Выдается при изменении видимости этого сущности (см. Entity3D.Visible и Entity3D.IsVisibleInTree).
Этот сигнал выдается после связанного Entity3D.NotificationVisibilityChanged уведомления.
Поля и константы5
NotificationEnterWorldПоле
public const long NotificationEnterWorld = 41;Уведомление получено, когда этот сущность зарегистрирован в новом World3D (см. Entity3D.GetWorld3D).
УВЕДОМЛЕНИЕ_EXIT_WORLD
NotificationExitWorldПоле
public const long NotificationExitWorld = 42;Уведомление получено, когда этот сущность удаляется из текущего World3D (см. Entity3D.GetWorld3D).
Это уведомление отправляется в обратном порядке.
УВЕДОМЛЕНИЕ_ВИЗИТ_ ИЗМЕНЕНИЕ
NotificationLocalTransformChangedПоле
public const long NotificationLocalTransformChanged = 44;Уведомление получено, когда изменяется Entity3D.Transform этого сущности, если Entity3D.IsLocalTransformNotificationEnabled равно true. Это не получено, когда изменяется Entity3D.Transform родительского Entity3D. См. также Entity3D.SetNotifyLocalTransform.
Примечание: Некоторые 3D-сущности, такие как CsgShape3D или CollisionShape3D, автоматически включают это для правильной работы.
NotificationTransformChangedПоле
public const long NotificationTransformChanged = 2000;Уведомление получено, когда Entity3D.GlobalTransform этого сущности изменяется, если Entity3D.IsTransformNotificationEnabled имеет значение true. См. также Entity3D.SetNotifyTransform.
Примечание: Большинство 3D-сущностей, таких как VisualInstance3D или CollisionObject3D, автоматически включают это для корректной работы.
Примечание: В редакторе сущности будут распространять это уведомление своим дочерним элементам, если присоединен гизмо (см. Entity3D.AddGizmo).
УВЕДОМЛЕНИЕ_ENTER_WORLD
NotificationVisibilityChangedПоле
public const long NotificationVisibilityChanged = 43;Уведомление получено, когда видимость этого сущности изменяется (см. Entity3D.Visible и Entity3D.IsVisibleInTree).
Это уведомление получено до связанного сигнала Entity3D.VisibilityChanged.
УВЕДОМЛЕНИЕ_LOCAL_TRANSFORM_ ИЗМЕНЕНИЕ
Entity3D.RotationEditModeEnum
| Значение | Описание |
|---|---|
Basis = 2 | Вращение редактируется с использованием |
Euler = 0 | Вращение регулируется с помощью |
Quaternion = 1 | Вращение редактируется с использованием a |