Build 3D scanning into any Unity application with Niantic Scanning Framework を触ってみる
Niantic Scanning FrameworkでUnityアプリケーションに3Dスキャンを組み込めます。
要約
本日、Lightship ARDK 2.5で利用可能な新しいNiantic Scanning Frameworkにより、開発者がScaniverseとNianticのパワーをアプリケーションに追加できるようになったことをお伝えできることを嬉しく思います。
Lightship Augmented Reality Developer Kit(ARDK)は、クロスプラットフォームのUnityベースのソリューションで、開発者は没入感のあるマルチプレイヤー体験を作成し、現実の世界でそれを実現するためのツールを提供します。
ARDKで利用可能なScanning Frameworkにより、開発者は、エンドユーザーが3Dコンテンツをキャプチャ、編集、共有するためのオールインワンのUnityソリューションを、すべて自分のアプリケーション内で利用できるようになりました。
Lightshipへ
ここからダッシュボード
登録してありました。
Release Noteがこちら
2.5.1
はじめよう
[Project] > [New Project+]
名前はScanAppに
ここでのApiKey
をコピーしておこう。
ARDKをダウンロード
ardk-2.5.1.unitypackage
をダウンロード。
ardk-examples-2.5.1.unitypackage
もダウンロード。
Unityの操作
推奨Unityバージョンは、Unity 2020 LTSとUnity 2021 LTS.
私の環境では2021.3.12fを選択。
-Unityで公式にサポートされているスクリプトランタイムバージョンは、.NET 4.x Equivalentです。
- ARDKとUnityのUniversal Render Pipelineの併用はサポートされています(詳しくはUniversal Render Pipelineの利用をご覧ください)。
- 現在、ARDKはUnity MARSと連携していません。Virtual Studio経由で利用できるAR-in-editorツールはあります。
iOS Development
- XCode (minimum version 13)
Android Development
- Android APIレベル24以上が必要です
Unityを開いたら、AndroidにSwitch Platform
-
ardk-2.5.1.unitypackage
をimport -
ardk-examples-2.5.1.unitypackage
をimport
ArdkAuthConfigを作る
プロジェクトのAssetsディレクトリ内にResources/ARDK
ディレクトリを作成し、そこにAdkAuthConfigアセットを追加します。デフォルトの名前は変えないでください。
これにAPIKeyを入力。
Androidビルドの設定
- target API Levelを24にします。
- PlayerSettings>OtherSettings
- AutoGraphics APIのチェックを外す
- Vulkanを外す
- マイナスボタンを押せばOK
- Scripting BackendをIL2CPPにします
- Target ArchitecturesにてARMv7とARM64を選びます
この状態でBuild and Run
CommandInvokationFailure: Gradle build failed.
Gradleに関するエラーがでました。
次の対応
- gradle 6.7.1以上を https://gradle.org/releases/ からインストールする。
ここまでやってビルド問題解決できず...
Scanning Framework始めます!
- ARSceneManagerをシーンに追加
- Unityのデフォルトカメラは削除
- AR Camera Position Helper と AR Rendering Managerが自動的に追加されているのを確認する
- Scan UI,Framework Logicを追加
- シーンに空のGameObjectを追加します。
- GameObjectに、スキャンのUIハンドラを提供するコンポーネント、ScanningExampleManagerを追加します。
- ScanningExampleManagerにARScanManagerシリアライズフィールドを追加します
- ScanningExampleManagerにARScanManagerコンポーネントを追加し、ScanningExampleManager Scan ManagerフィールドをこのARScanManagerインスタンスに設定します。
- シーンに空のGameObjectを追加します。
- UIのイベント設定
- ScanとStopボタンを追加
- ScanボタンのイベントにScanningExampleManagerのScanButtonPressed()を割り当てる
- StopボタンのイベントにScanningExampleManagerのStopButtonPressed()を割り当てる。