次の方法で共有


AlignSubtree クラス

定義

シーンの残りの部分に関係なく、独立した AlignmentManager を使用して特定のサブツリーを配置するスクリプト。

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

注釈

これにより整列されたサブツリーは、WorldLockingManager による独立したグローバル ワールド ロックによってワールド ロックされたままになります。 このスクリプトは、独立した AlignmentManager を作成および管理し、その配置をシーン内の特定のサブツリー (サブ ツリー) に適用する方法を示しています。 WorldLockingManager によって所有および管理されているグローバル AlignmentManager は、その配置をグローバル Unity座標空間 (固定された空間) に適用します。 ここでの要望は、同じスペース ピン機能を使用して、仮想モデル (サブツリー) の一部をグローバル空間に影響を与えずに物理世界にピン留めすることです。 これを行うには、いくつかの手順が必要です: 1。 新しいローカル所有の AlignmentManager をCreateします (WorldLockingManager が所有するものとは異なります)。 「Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.CheckInternalWiring」を参照してください。 2. ローカル所有の AlignmentManager を使用するように目的の SpacePin をポイントします (既定ではグローバルな AlignmentManager を使用します)。 「Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.OnEnable」を参照してください。 3. 修正ポーズを計算し、それをサブツリーに適用するには、ローカル AlignmentManager を使用します。 「Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.Update」を参照してください。 ポイント 2.では、SpacePins でこのローカル AlignmentManager を使用する必要がある適切な方法がいくつかあります。ここで使用するメソッドは、GetComponentsInChildren を呼び出す方法の 1 つに過ぎません。

コンストラクター

AlignSubtree()

シーンの残りの部分に関係なく、独立した AlignmentManager を使用して特定のサブツリーを配置するスクリプト。

フィールド

subTree

配置する変換。 設定を解除すると、this.transform が配置されます。

プロパティ

AlignmentManager

所有されている独立した AlignmentManager。

CollectFromTree

このサブツリーからすべての SpacePin を収集して管理します。

Orienter

暗黙的な向きの SpacePin のオプションのオリエンター。 null の場合、 はサブツリーで検索します。

SaveFileName

に保存および読み込み元のファイル名。 既定値は gameObject の名前です。 サブフォルダーにはスラッシュ '/' を使用します。

メソッド

AddOwnedPin(SpacePin)

所有しているピンリストにピンを明示的に追加します。

ClaimPinOwnership()

これは、所有リストにピンが追加されるたびに呼び出す必要があります。

ClearOwnedPins()

所有されているスペース ピンの一覧全体をクリアします。

Load()

ストアから配置マネージャーを読み込む明示的なコマンド。

RemoveOwnedPin(SpacePin)

所有しているピンの一覧から特定のピンを削除します。

Save()

格納する配置マネージャーを保存する明示的なコマンド。

イベント

OnAlignManagerCreated

CheckInternalWiring 全体で新しい AlignmentManager が作成されたときに発生します

適用対象