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

    AR Foundation の拡張

    プロバイダープラグイン間でプラットフォームごとの実装方法に違いがあるため、AR Foundation では、C# 経由でのプラットフォーム SDK のすべてのコンテンツの公開は行っていません。その代わり、AR Foundation は、ネイティブのポインターを提供して、プラットフォーム固有の機能やデータにアクセスできるようにしています (サポート対象の場合)。例えば、XRSessionSubsystem には nativePtr プロパティがあります。

    各プロバイダープラグインによって、各ネイティブポインターの参照先が定義されます。通常、ポインターは、バージョン番号の int を含む最初のメンバーにRaw ポインターが続く構造体を参照します。

    C の場合は、XRSessionSubsystem.nativePtr は以下のような構造体を参照します。

    typedef struct UnityXRNativeSessionPtr
    {
        int version;
        void* session;
    } UnityXRNativeSessionPtr;
    

    構造体のパッキングや整合のルールはプラットフォームごとに異なるため、void* session ポインターは、4 バイトオフセットとは限りません。例えば 64 ビットのプラットフォームでは、ポインターは、8 バイト境界にするため、8 バイトオフセットになる場合があります。

    すべてのトラッカブル (平面、追跡対象画像、面) には、ネイティブポインターがあります。これらのポインターを使用して、ネイティブのフレーム、セッション、平面、アンカーなど、ネイティブのデータ構造体にアクセスできます。

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