リリースノート v3.0
ARDK 3.0は、UnityのXRおよびARシステムとの連携をはるかに容易にするために再設計されました。
ARDK 2.Xでは、ARDKとUnityのAR/XRシステムのいずれかを使用する必要がありました。 3.0では、Niantic独自のAR機能を、UnityのAR FoundationシステムやXRサブシステムとシームレスに組み合わせて使用できます。
つまり、AR Foundationを使用するように設定されたプロジェクトであれば、XR SettingsでLightshipを有効にすることができ、ARDKはDepth、Occlusion、Meshingといった既存のシステムを上書きし、Niantic独自の機能用に新しいシステムを追加する。
また、 既存のドキュメント と チュートリアル に従ってARの基本的な概念を学び、それを拡張してNianticの高度なAR機能を利用することができます。
また、ARFoundationを活用する他のサードパーティAPIを使用することもできます。
Shared AR(共有AR)をアップデートし、VPSのコロカライゼーションをサポートしました。
VPS開発ワークフローを合理化し、実世界おけるARエクスペリエンスをこれまで以上に簡単に作成できるようになりました。
Windowsの開発は現在、実験的な機能として利用可能です。
- Windowsではレコーディングはできません。 プレイバックは可能ですが、別のソースからのレコーディングが必要となります。
ご意見・ご感想は フォーラムまでお気軽にお寄せください。
プラグインもサンプルも、Githubにあります。
機能/修正
- 新しい ARSemanticSegmentationManager.FrameReceived イベントは、セマンティックサブシステムが新しいセマンティック情報を持つフレームを出力するときに呼び出されます。
主な変更点
:::note< これはベータ4からの変更点であり、ARDK 2.5 からの変更点ではありません :::
- ARLocationManager は、トラッキングが失われたときに、 ARLocation の gameObject を非アクティブにしなくなりました。 開発者は、必要であれば、 ARlocationManager.locationTrackingStateChanged イベントで、手動でgameObjectを非アクティブにすることができます。 これはPersistentARとVPSLocalization サンプルに示されています。
- ARSemanticSegmentationManager とXRSemanticsSubsystemでは、関数名に "CPU "を使用していましたが、"Cpu "に変更しました。 例: TryAcquireSemanticChannelCPUBuffer -> TryAcquireSemanticChannelCpuBuffer
- また、 ARSemanticSegmentationManagerにある、IsDataAvailable が IsMetadataAvailable 、DataInitialized が MetadataInitializedとなりました。
- IModelPreloader において、CurrentProgress が HTTP エラーを伝えるために PreloaderStatusCode を返すようになり、ダウンロードの進捗値が戻り値ではなく out パラメータになりました。
既知の問題
-
メッシング機能は32ビットのAndroidデバイスではサポートされておらず、クラッシュの原因となります。
-
ARDKによるiOS向けプロジェクトのビルドは、Windowsではサポートされていません。
-
TrySetChannelConfidenceThresholds
は有効にならない。 -
2023年6月以前に作成されたプライベートスキャンでは、VPSは横向きでは動作しません。 6月以前に作成されたプライベート・スキャンについては、ランドスケープ・モードでVPSを有効にするために、ロケーションを再度スキャンし、新しいスキャンを使用してください。 これはプライベートなスキャンにのみ影響し、パブリックのWaysportは再スキャンする必要はありません。
-
Visual Scripting 1.9.0 (Unity 2021.3.30f1 および 2022.3.10f1にデフォルトでインストールされています) を使用すると、次のエラーが発生することがあります:
Library/Packagecache/com.unity.xr.arfoundation@5.1.0/Runtime/VisualScripting/Units/Events/EventUnits/SessionStateChangedEventUnit.cs(50,30):
error CS0506:
'SessionStateChangedEventUnit.StopListening(GraphStack)':
cannot override inherited member 'EventUnit<ARSessionState>.StopListening(GraphStack)' because it is not marked virtual, abstract, or overrideこのエラーが表示された場合は、パッケージマネージャのVisual Scriptingを1.9.1以上にアップグレードしてください。
-
Lightship SDK for Android または iOS を Unity 2022.3.10f1 以上で アクティベートすると、Unity コンソールに以下のエラーメッセージが表示されることがあります:
XR Plug-in Management エラー 失敗の理由ビルドターゲットのAndroid(またはiOS)にcom.nianticlabs.lightshipを割り当てることができません。
このエラーメッセージは良性であり、SDKはこれらのプラットフォームで期待通りに動作する。
-
XR Plug-in Management Project Validation for Android が 2 つのエラーと 2 つの
修正
Graphics API を OpenGLES3に設定するためのボタン ; Google ARCore からのものと Niantic Lightship SDK からのもの。 Google ARCore XR Plugin 5.1.0に含まれるものは正しく動作しませんが、Lightshipのものを使えば両方とも解決できます。 -
マルチスレッドレンダリングにより、Lidar iPhoneでアプリを最小化して再度開くと、デプスとオクルージョンがちらつく。 Unityと解決策を検討している間、iOSプラットフォームではマルチスレッドレンダリングを無効にすることをお勧めします。
-
XRCpuImage
XROcclusionSubsystem
(LiDAR が利用できないか無効になっている Android デバイスおよび iOS デバイス) またはXRSemanticSegmentationSubsystem
(すべてのデバイス) から取得した XRCpuImage に対してTryConvert
を呼び出すと、宛先バッファに不正なデータがコピーされます。