docs.unity3d.com
    目次を表示する/隠す

    移行ガイド

    このガイドでは、AR Foundation 2.x と 3.x の違いについて説明します。

    AR Pose Driver

    ARPoseDriver という新しいコンポーネントがあります。このコンポーネントは、TrackedPoseDriver と同様の機能を提供し、AR Foundation の com.unity.xr.legacyinputhelpers パッケージへの依存関係を排除するために追加されました。ARPoseDriver または TrackedPoseDriver を使用して、デバイスのトラッキング情報に従ってゲームオブジェクトのローカルの位置と向きを制御できるようになりました。同じゲームオブジェクトで ARPoseDriver コンポーネントと TrackedPoseDriver コンポーネントの両方を有効にすることは、動作が定義されていないため推奨されません。

    画像トラッキング

    画像トラッキングマネージャーである ARTrackedImageManager には、参照画像ライブラリ (環境内で検出する画像のセット) を設定するための referenceLibrary プロパティがあります。これまで、これは XRReferenceImageLibrary でした。現在は IReferenceImageLibrary であり、XRReferenceImageLibrary に IReferenceImageLibrary が実装されています。以前にコードで referenceLibrary プロパティを XRReferenceImageLibrary に設定していた場合は、引き続き以前と同様に機能します。ただし、以前に referenceLibrary を XRReferenceImageLibrary として扱っていた場合は、それを XRReferenceImageLibrary にキャストする必要があります。

    エディターでは、これは常に XRReferenceImageLibrary です。ただし、ランタイムに画像トラッキングを有効にすると、ARTrackedImageManager.referenceLibrary は新しい型である RuntimeReferenceImageLibrary を返します。これは XRReferenceImageLibrary と同様に動作し (例えば、その参照画像を列挙できます)、追加機能を備えている場合もあります (MutableRuntimeReferenceImageLibrary を参照)。

    背景シェーダー

    ARCameraBackground が更新され、Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) がサポートされるようになりました (このパッケージが存在する場合)。これには、XRCameraSubsystem に対する互換性に影響する変更が含まれています。shaderName プロパティが cameraMaterial になりました。シェーダー名は AR Foundation が背景マテリアルを構築するためにのみ使用されるので、ほとんどの開発者はこれに直接アクセスする必要はありませんでした。この機能は XRCameraSubsystem に移動しました。

    点群

    ARPointCloud の positions、confidenceValues、identifiers の各プロパティが変更され、NativeArray を返さなくなりました。ARPointCloud がこれらの NativeArray に格納されているメモリを管理するので、呼び出し元が認識できるのは NativeSlice だけになります (つまり、NativeArray の Dispose を実行することはできません)。

    さらに、これらの配列は必ずしも存在するわけではありません。以前は、NativeArray<T>.IsCreated を使用して、これらが存在するかどうかを確認できました。NativeSlice には IsCreated プロパティがないため、これらのプロパティは null 許容になりました。

    フェイストラッキング

    ARFaceManager の supported プロパティが削除されました。フェイストラッキングがサポートされていない場合、マネージャーのサブシステムは null になります。他のマネージャーにはこのプロパティがないため、一貫性を持たせるためにこの変更が行われました。マネージャーを有効にした後にマネージャーのサブシステムが null の場合、通常、そのサブシステムがサポートされていないことを意味します。

    Reference Point から Anchor に名前を変更

    業界標準用語に合わせるために、"Reference Point (参照位置)" から "Anchor (アンカー)" に名称が変更されました。

    古いクラス 新しいクラス
    ARReferencePointManager ARAnchorManager
    ARReferencePoint ARAnchor

    古い参照位置 API を使用した既存のプロジェクトを開くと、スクリプトを新しい API に自動的に更新するオプションが表示されます。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)