「Universal AR」の版間の差分

提供: ディーズガレージ wiki
移動先: 案内検索
(ワークフロー)
(Multiverse Assets Viewerへの転送ページ)
1行目: 1行目:
 +
#REDIRECT [[Multiverse_Assets_Viewer]]
 +
 
{| style="font-weight:100;float:right;"
 
{| style="font-weight:100;float:right;"
 
|__TOC__
 
|__TOC__

2021年11月27日 (土) 09:17時点における版

Subtitle: Multiverse Assets Viewer

UnityでGLBとUSDZを作り<model-viewer>に組込みしてみます。

Universal XR

Ar qr.png

メモ

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)

Ar qr google.png

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

GitHub - atteneder/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

GitHub - sbtron/makeglb

USD Exporter

GitHub - Unity-Technologies/usd-unity-sdk
Recorder
Unity を使って iPhone 向けの AR コンテンツを簡単に作る方法(USDZファイルを出力する方法) - 強火で進め

<model-viewer>

GitHub - google/model-viewer

index.html
script.js
style.css
data.json

PWA

WebXR PWA.png

更新履歴

  • 2021.11.24 全体見直し
  • 2021.09.11 Google検索 ARモデル 追加
  • 2020.05.13 ソース書き換え
  • 2020.05.10 アニメーション付きUSDZ追加
  • 2019.10.25 公開