Share via


AlignSubtree 类

定义

使用独立的 AlignmentManager 来对齐特定子树(独立于场景的其余部分)的脚本。

public class AlignSubtree : UnityEngine.MonoBehaviour
type AlignSubtree = class
    inherit MonoBehaviour
Public Class AlignSubtree
Inherits MonoBehaviour
继承
UnityEngine.MonoBehaviour
AlignSubtree

注解

由此对齐的子树将保持由 WorldLockingManager 独立全局锁定的世界锁定。 此脚本演示如何创建和管理独立的 AlignmentManager,并将其对齐方式应用于场景中的特定子树 (子树) 。 由 WorldLockingManager 拥有和管理的 global AlignmentManager 将其对齐应用于全局Unity坐标空间 (冻结空间) 。 此处希望使用相同的空间固定功能将虚拟模型 (子树) 的某些部分固定到物理世界,而不会影响全局空间。 若要执行此操作,需要执行几个步骤:1。 Create一个新的本地拥有的 AlignmentManager (不同于 WorldLockingManager) 拥有的 AlignmentManager。 请参阅 Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.CheckInternalWiring。 2. 指向所需的 SpacePin 以使用本地拥有的 AlignmentManager (它们默认使用全局) 。 请参阅 Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.OnEnable。 3. 使用本地 AlignmentManager 计算更正姿势,并将其应用于子树。 请参阅 Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.Update。 在点 2.,有许多合理的收获方法,SpacePin 应使用此本地 AlignmentManager,此处使用的方法,调用 GetComponentsInChildren 就是其中一种方式。

构造函数

AlignSubtree()

使用独立的 AlignmentManager 来对齐特定子树(独立于场景的其余部分)的脚本。

字段

subTree

要对齐的转换。 如果未设置,将对齐 this.transform。

属性

AlignmentManager

拥有独立的 AlignmentManager。

CollectFromTree

从此子树收集所有 SpacePins 进行管理。

Orienter

隐式方向 SpacePins 的可选定向器。 如果为 null,将在子树中搜索它。

SaveFileName

用于保存到和从中加载的文件名。 默认为 gameObject 的名称。 对子文件夹使用正斜杠“/”。

方法

AddOwnedPin(SpacePin)

将图钉显式添加到拥有的固定项列表。

ClaimPinOwnership()

每当将引脚添加到拥有列表时,都应调用此名称。

ClearOwnedPins()

清除自有空间固定的整个列表。

Load()

用于从存储区加载对齐管理器的显式命令。

RemoveOwnedPin(SpacePin)

从拥有的固定列表中删除特定图钉。

Save()

用于将对齐管理器保存到存储的显式命令。

事件

OnAlignManagerCreated

在整个 CheckInternalWiring 中创建新的 AlignmentManager 时触发

适用于