Поделиться через


SpacePin Класс

Определение

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

public class SpacePin : UnityEngine.MonoBehaviour
type SpacePin = class
    inherit MonoBehaviour
Public Class SpacePin
Inherits MonoBehaviour
Наследование
UnityEngine.MonoBehaviour
SpacePin
Производный

Комментарии

Этот компонент захватывает начальную позу gameObject, а затем вторую позу. Затем эта пара добавляется в диспетчер выравнивания WorldLocking. Затем менеджер ведет переговоры между всеми такими добавленными булавками на основе текущей позиции головы, чтобы создать сопоставление между кадрами, выравнивающее замороженное пространство, т. е. глобальное пространство Unity, таким образом, чтобы контакты совпадали как можно более хорошо. Другой способ выражения: учитывая произвольную позу ("позу моделирования") и позу, так или иначе выравниваемую с реальным миром ("мир заблокированной позы"), примените исправление к камере таким образом, чтобы виртуальный объект с координатами позы моделирования отображался наложенном на реальный мир в позиции и ориентации, описанной в заблокированной позе. Для этого компонента заблокированная поза должна поступать через один из следующих трех API: SetFrozenPose(Pose) с входной позой в Frozen Space, которая включает закрепление. SetSpongyPose(Pose) с позицией ввода в Spongy Space, которая является пространством родительского объекта камеры и является тем же пространством, в котором перемещается камера, и эти собственные API возвращают значения в (например, XR). SetLockedPose(Pose) с входной позицией в Locked Space, которая является пространством, стабилизируемым библиотекой DLL ядра Frozen World, но исключая закрепление. Обратите внимание, что, поскольку значение Frozen Space смещается с помощью AlignmentManager, вызов Метода SetFrozenPose(p) с одной и той же позицией p дважды является ошибкой, так как после первого вызова параметр Pose p будет ссылаться на другое расположение.

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

SpacePin()

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

Свойства

AlignmentManager

Метод доступа для переопределения AlignmentManager из скрипта.

AnchorId

Эта оболочка для anchorId связана с тем, что anchorId должен храниться как ulong, который является базовым классом для перечисления AnchorId. Unity поддерживает только перечисления на основе int, поэтому будет жаловаться на сериализацию и т. д. для AnchorId на основе ulong.

AnchorName

Укажите уникальное имя привязки. Используется для сохранения.

FragmentId

Идентификатор для фрагмента, в который входит этот контакт.

LockedPose

Метод доступа для world locked pose для производных классов.

Manager

Доступ только для чтения к зависимостям диспетчера из производных классов.

ModelingPoseGlobal

Первый из пары поз, отправленных диспетчеру выравнивания для выравнивания.

ModelPositionSource

Где найти позицию пространства модели на целевом объекте. Преобразование предпочтительнее, но если преобразования создаются в , отрисовщик или коллайдер могут быть более подходящими.

PinActive

Указывает, находится ли этот пробел в активном использовании закрепленного пространства

RestorePoseLocal

Поза для восстановления после манипуляции (при наличии).

Методы

ExtractModelPose()

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

ExtractModelPoseFromCollider()

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

ExtractModelPoseFromRenderer()

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

ExtractModelPoseFromTransform()

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

ForceAttachment()

Убедитесь, что вложение находится и находится в актуальном состоянии.

GetModelPoseFromGlobalPosition(Vector3)

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

OnDestroy()

При уничтожении отмените регистрацию для загруженного события.

OnLocationUpdate(Pose)

Обратный вызов для операций переподготовки. Примените преобразование корректировки к заблокированной позе.

PushAlignmentData(IAlignmentManager)

Передавать данные из этой точки диспетчеру выравнивания.

ReleaseAttachment()

Удалите все ранее созданные точки вложения.

Reset()

Назад в исходное состояние, включая удаление самостоятельного артефакта из диспетчера выравнивания.

ResetModelingPose()

Сбросить позу моделирования до текущего преобразования.

RestoreOnLoad()

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

SendAlignmentData(IAlignmentManager)

Уведомите руководителя о том, что все необходимые обновления отправлены и готовы к обработке.

SetFrozenPose(Pose)

Преобразуйте позу в заблокированное пространство и проходите через.

SetLockedPose(Pose)

Запишите заблокированную позу и отправьте данные руководителю.

SetSpongyPose(Pose)

Преобразуйте позу в заблокированное пространство и проходите через.

Start()

Вспомогательный компонент для закрепления заблокированного пространства в одной точке отсчета.

Применяется к