Universal AR
Subtitle: Multiverse Assets Viewer
UnityでGLBとUSDZを作り<model-viewer>に組込みしてみます。
メモ
Universal XR
exposureとenvironment-imageを操作してるのでalbedoがデタラメ
camera-orbitを操作してるので座標系とカメラがデタラメ
GLB > Android Emulator
USDZ > iPhone
UnityのStandard ShaderはGLBとUSDZで違いが出てる
別物として作成が良さげ
顔の表情は@google安定してる 真似した方が良さげ
8th Wall
https://www.8thwall.com/
ブラウザベースの見た目がWebXR 何で?
欲しいのコレ
NVIDIA Omniverse
NVIDIA Omniverse | NVIDIA
NVIDIA Omniverse AR - Google 検索
Meta(Facebook) Metaverse
Meta(Facebook)はメタバースを構成する基礎技術.... - GDEP Solutions, Inc.
Insight SDK
Interaction SDK
Voice SDK
Universe
Multiverse
Metaverse ●
Xenoverse
Omniverse ●
名称の整理
Android └ ARCore: AR framework └ Scene Viewer: WebAR └ <model-viewer>: Web component └ GLB, glTF: File format iPhone └ ARKit: AR framework └ AR Quick Look: WebAR └ <model-viewer>: Web component └ USDZ: File format XR/WebXR └ AR/WevAR └ VR/WebVR └ MR
フロントエンド
AR対応デバイス
ARCore対応デバイス | Google Developers
WebXR Device API
GitHub - immersive-web/webxr-polyfill
WebXR - Samples | immersive-web.github.io
Navigator.xr - Web API | MDN
iPhone
「WebXR Viewer」をApp Storeで
Google検索
Google検索 ARモデル一覧
Google検索 ARモデル一覧 (i)
iPhone
1. Google アプリ インストール
2. 検索窓のカメラアイコンをクリック
3. 上記QRコードを読み取り、ウェブサイトを開く
4. お気に入りに登録
オーディオ付きARで動いてる
draco_decoderが動いてる
認識
2021.11
horizontal (床) | vertical (壁) | ceiling (天井) | face (顔) | marker (ARマーカー) | |
Scene Viewer | ● | ● ※1 | |||
AR Quick Look | ● | ● ※2 | (※3) | ● ※4 | ● ※5 |
※1
Content placement | ARCore | Google Developers
<model-viewer> Examples and Documentation
enable_vertical_placement (optional)
※2
AR Quicklook Vertical Plane support | Apple Developer Forums
※3
Apple Developer Documentation
何これ? floor, wall, ceiling, table, seat, door, window
※4
https://twitter.com/cwervo/status/1283073772304633858
https://ar-quick-look-masks.glitch.me/
reality(USDZ)ファイル読み込み完了時カメラが切り替わってる
Reality ComposerでカメラとAR Face Anchorsに切り替えてる?
※5
AR Marker : Feature · Issue #1516 · google/model-viewer · GitHub
AR marker RealityComposer - Google 検索
オーディオ
Issues · google/model-viewer · GitHub
2021.11
まだ安定してない気がする
Android デバッグ
Android Emulator 上でアプリを実行する | Android Developers
Android Studio > Android Emulator
three.js + AR Quick Look + Scene Viewer
お手本 https://size.link/
お勉強 https://dz.plala.jp/ar_box/
USDZ Exporter
iPhone向け 実装済
glTF Exporter
Android向け 未実装
動作テスト中
GLTFExporter exporting model that show nothing at android Scene Viewer - Questions - three.js forum
Exported Model not working in AR mode · Issue #887 · google/model-viewer · GitHub
const options:GLTFExporterOptions = { binary:true 、 forcePowerOfTwoTextures:true 、 forceIndices:true } ;
Piping Server
GitHub - nwtgck/piping-server
ネットワーク越しでパイプしたり、あらゆるデバイス間でデータ転送したい! - Qiita
https://ppng.io/ (ランダム文字列) /box.gltf
intent:
Scene ViewerがCloudfrontの事前署名付きURLを読み込まない · google/model-viewer · GitHub
サポートされているintentパラメータ | ARCore
https://size.link/box.gltf?w=1&h=2&l=3&units=cm https://size.link/1/2/3/cm/box.gltf
intent://arvr.google.com/scene-viewer/1.0?file=https://size.link/1/2/3/cm/box.gltf&resizable=false&title=1cm x 2cm x 3cm#Intent;scheme=https;package=com.google.ar.core;action=android.intent.action.VIEW;S.browser_fallback_url=https://size.link/#unsupported-device;end
モデル
ファイル要件
Scene Viewer
モデルのファイル要件 | ARCore
ファイル形式 | glTF2.0 / GLB |
マテリアル | PBR |
テクスチャ | 最大2048×2048 |
ポリゴン数 | 30,000~50,000 最大100,000 |
アニメーション | 対応 |
マテリアル数 | 10 (アルファ付きは2枚まで) |
マテリアル当たりのメッシュ数 | 1 |
ボーン数 | 最大254 |
頂点当たりのウェイト数 | 最大4 |
メッシュ当たりUV数 | 1 |
モデルサイズ | 10MB |
AR Quick Look
USD PBR Metal Roughness Preset | Substance 3D Painter
GitHub - ft-lab/Shade3D_USDExporter
All about AR File Formats
ファイル形式 | USDZ |
マテリアル | PBR |
テクスチャ | 最大2048×2048 |
ポリゴン数 | 最大100,000 |
アニメーション | 対応 最大10秒? |
マテリアル数 | |
マテリアル当たりのメッシュ数 | |
ボーン数 | |
頂点当たりのウェイト数 | |
メッシュ当たりUV数 | |
モデルサイズ |
glTF2.0拡張機能
<model-viewer>による拡張現実 | ARCore | Google Developers
AndroidのARがglTF2.0拡張機能で動く?
Draco Meshopt
メッシュ・アニメーション圧縮
<model-viewer> Lazy Loading
Node.jsでglTFモデルを圧縮してthree.jsで読み込む... - Qiita
KTX2 Basis
テクスチャ圧縮
3D-Formats-Guidelines/KTXArtistGuide.md ... · GitHub
KTX2 Compressed Textures | Babylon.js Documentation
商用(無料プランあり)
RapidCompact – 3D Optimization Software.
Gestaltor – The visual glTF editor for viewing ....
照明
How do I make my viewer lighting match the lighting in AR? · google/model-viewer · GitHub
<model-viewer>のNeutral, Default辺り良さげ
Unlit 試す価値ありそう
四角形
three.js 非対応
glTF 非対応
メッシュ圧縮
Unity Mesh Compression - Google 検索
Normalの品質が落ちる
OFF or Lowが安全側
glTF Validator
Model Editor - <model-viewer>
検証データ: le_corbusier_lc2_1r.unitypackage
error | warning | glTF bin | |
KhronosGroup UnityGLTF Export | |||
glTFast Export | 24 | 0 | 6,125 |
Plattar UnityGLTF Export | 24 | 2 | 6,343 |
UniVRM Export | 0 | 0 | 14,021 |
Model Editor > GLTFExporter | 0 | 0 | 14,589 |
RapidCompact | |||
Gestaltor | |||
USD Unity SDK | - | - | 5,234 |
ワークフロー
USD
MAYA USDZ - Google 検索
3dsMax USDZ - Google 検索
Blender USDZ - Google 検索
Shade3D USDZ - Google 検索
glTF
MAYA glTF - Google 検索
3dsMax glTF - Google 検索
Blender glTF - Google 検索
Shade3D glTF - Google 検索
2021.11
MAYA, 3dsMax, Blender, Shade3Dは外せない
Unity, Unreal, Substance Painterも欲しい
dxf, 3ds, obj, fbx はマテリアル非対応
glTF はマテリアル対応
fbx以前の中間ファイルフォーマットのマテリアル対応は全滅
USDとglTF一色となってない
とりあえず、
3dsMaxでベースカラー(texture)のUV加工まで作成しfbxでUnityにインポート
UnityでPBRマテリアルの作成と仕上げ > GLB、USDZのエクスポート
MAYA, 3dsMax + Substance Painter
アニメーションは?
USD Unity SDK
UnityのUSDZはコレ一択かも
Plattar GLTF Exporter
Force Texture Conversion > JPG 軽量化に有利
Photoshopオリジナルを持ちPNG必須以外JPGがよさげ
Sceneでディティール見ながらtextureのMax Size決定が楽
GLB出力が無い > GLB Packer 面倒
アニメーション出力に成功してる
glTFast for Unity
Export GLBの出力先をSSLサーバの<model-viewer>にし確認しながらMaterial調整が楽
アニメーション出力は?
USDZビューワー
usdview - Google 検索
選択肢がほぼ無し iPhoneで確認
その他
<model-viewer>
ChromeでAR Quick Lookがcall to actionを表示しない · Issue #2787 · google/model-viewer · GitHub
scale = fixed
glTFast
2021.11
glTFast Unity2020.3以降
Draco Unity2020.2以降
Meshopt Unity2018.4以降
KTX/Basisu
動作テスト中
glTFastをUnity Packageでインストール後、
My Registriesに表示されるDracoとKTX/Basisuをインストール
Meshopt?
RealityCapture
RealityCapture: Mapping and 3D Modeling Photogrammetry Software - CapturingReality.com
デザイン向けの3Dフォトグラメトリソフトウェア | Unity
Apple
photogrammetry - Apple(日本)
Object Capture - 拡張現実 - Apple Developer
他のソフト
3DF Zephyr - photogrammetry software - 3d models from photos
Steam:3DF Zephyr Lite Steam Edition
Agisoft Metashape
GitHub - alicevision/meshroom
ライダー
LiDAR - Twitter検索
LiDAR - Sketchfab
フォトグラメトリ
photogrammetry - Twitter検索
photogrammetry - Sketchfab
glTFとUSDの差異
glTF and USDZ – Sketchfab Help Center
glTFのPBR検証用のサンプルglb – ft-lab
App-less AR — Koffeecup
Substance Painter
glTF Search Results | Substance 3D Painter
USDZ Search Results | Substance 3D Painter
USD Draco
Google and Pixar add Draco Compression to USD Format | Google Open Source Blog
USDPython apple - Google 検索
glTF Project Explorer
GitHub - KhronosGroup/glTF-Project-Explorer
環境
DCCツール | Unity, 3dsMax |
検証環境 | iPhone XS |
glTF Exporter
GitHub - Plattar/gltf-exporter
GitHub - atteneder/glTFast
GLB Packer
USD Exporter
GitHub - Unity-Technologies/usd-unity-sdk
Recorder
Unity を使って iPhone 向けの AR コンテンツを簡単に作る方法(USDZファイルを出力する方法) - 強火で進め
<model-viewer>
index.html script.js style.css data.json
PWA
更新履歴
- 2021.11.24 全体見直し
- 2021.09.11 Google検索 ARモデル 追加
- 2020.05.13 ソース書き換え
- 2020.05.10 アニメーション付きUSDZ追加
- 2019.10.25 公開