AlignmentManager Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Реализация выравнивания системы координат Unity на уровне Unity
с дискретным конечным набором маркеров в реальном мире.
public class AlignmentManager : Microsoft.MixedReality.WorldLocking.Core.IAlignmentManager
type AlignmentManager = class
interface IAlignmentManager
Public Class AlignmentManager
Implements IAlignmentManager
- Наследование
-
AlignmentManager
- Реализации
Комментарии
Помимо привязки произвольного координатного пространства WorldLocked к этому набору соответствования, это устраняет проблему масштабирования средства отслеживания, из-за которой из-за ошибки отслеживания при обходе известного расстояния в реальном мире выполняется переход на другое расстояние в пространстве Unity. Это означает, что при большом объекте длиной L метров в пространстве Unity, начиная с одного конца и проходя L метров не будет в конечном итоге на другом конце объекта, а только в пределах +-10 % от L. Использование этой службы дает довольно точное соответствие в точках выравнивания, а интерполяция дает довольно точное соответствие в выпуклом наборе точек выравнивания. Обратите внимание, что экстраполяция не выполняется, поэтому за пределами выпуклого набора точек выравнивания результаты, особенно в отношении компенсации масштаба, будут менее точными.
Конструкторы
AlignmentManager(WorldLockingManager) |
Конструктор привязывается к определенному объекту WorldLockingManager. Также регистрирует события загрузки сцены. |
Свойства
PinnedFromLocked |
Поза для вставки в иерархию камеры над преобразованием WorldLocking Adjustment (если таковой есть). |
SaveFileName |
Файл для сохранения и загрузки. |
Методы
AddAlignmentAnchor(String, Pose, Pose) |
Реализация выравнивания системы координат Unity на уровне Unity |
ClearAlignmentAnchors() |
Реализация выравнивания системы координат Unity на уровне Unity |
ComputePinnedPose(Pose) |
Выполните взвешенный средний показатель всех активных ссылочных поз, чтобы получить позу выравнивания. |
Dispose() |
Удалите внутренние компоненты при завершении работы. |
Finalize() |
Удалите внутренние компоненты при завершении работы. |
GetAlignmentPose(AnchorId, Pose) |
Реализация выравнивания системы координат Unity на уровне Unity |
IsValidSavePath(String) |
Проверьте допустимость пути сохранения или загрузки. Любой путь, не прошедший этот тест, будет игнорироваться без ошибок. |
Load() |
Загрузите базу данных и уведомление о проблеме, если она загружена. |
RegisterForLoad(PostAlignmentLoadedDelegate) |
Зарегистрируйтесь для получения уведомлений после успешной загрузки. |
RemoveAlignmentAnchor(AnchorId) |
Реализация выравнивания системы координат Unity на уровне Unity |
RestoreAlignmentAnchor(String, Pose) |
Реализация выравнивания системы координат Unity на уровне Unity |
Save() |
Явно сохраните базу данных. |
SendAlignmentAnchors() |
Реализация выравнивания системы координат Unity на уровне Unity |
UnregisterForLoad(PostAlignmentLoadedDelegate) |
Отмена регистрации для уведомлений после загрузки после регистрации через RegisterForLoad(PostAlignmentLoadedDelegate). |
События
OnTriangulationBuilt |
Реализация выравнивания системы координат Unity на уровне Unity |