Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobi...
Search
sotanmochi
February 19, 2019
Technology
0
1.6k
VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobile Mixed Capture
sotanmochi
February 19, 2019
Tweet
Share
More Decks by sotanmochi
See All by sotanmochi
URP/HDRPを使ったVRM対応アプリの開発方法 / VRM Importer Extension
sotanmochi
0
1.6k
Unityとゲームプログラムの基本的な構造について / Unity and Game Programming Basic Patterns
sotanmochi
0
850
画像処理から始めるコンピュートシェーダ / Introduction to Image Processing using Compute Shader
sotanmochi
2
2.3k
Diminished Reality 入門 / Introduction to Diminished Reality
sotanmochi
2
8.7k
Unityでテクスチャにお絵描きするための線分描画アルゴリズムの話 / Line drawing algorithm using fragment shader
sotanmochi
2
3.5k
MagicOnionでマルチプレイゲームを作ってみる / Introduction to developing multiplayer games using MagicOnion
sotanmochi
1
2.2k
SmartRig Bipedを使ってみよう / Introduction to SmartRig Biped
sotanmochi
0
3.1k
リアルとバーチャルの融合によって越えられない壁を壊す / TechCafe vol.8 LT
sotanmochi
0
250
ユニティちゃんと鬼ごっこができるMRゲームと戦術位置解析システム / Mixed reality game and tactical position analysis
sotanmochi
0
590
Other Decks in Technology
See All in Technology
Enterprise AI in 2025?
pamelafox
0
130
やさしいMCP入門
minorun365
PRO
132
75k
30 代子育て SRE が考える SRE ナレッジマネジメントの現在と将来
kworkdev
PRO
0
180
入社後SREチームのミッションや課題の整理をした話
morix1500
1
200
コドモンのQAの今までとこれから -XPによる成長と見えてきた課題-
masasuna
0
140
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
1
1.4k
開発現場とセキュリティ担当をつなぐ脅威モデリング
cloudace
0
130
こんなデータマートは嫌だ。どんな? / waiwai-data-meetup-202504
shuntak
2
430
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
500
Tirez profit de Messenger pour améliorer votre architecture
tucksaun
1
190
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
1.2k
OCI Database with PostgreSQLのご紹介
rkajiyama
0
130
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Site-Speed That Sticks
csswizardry
4
460
Rails Girls Zürich Keynote
gr2m
94
13k
Optimizing for Happiness
mojombo
377
70k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
19k
Typedesign – Prime Four
hannesfritz
41
2.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
We Have a Design System, Now What?
morganepeng
51
7.5k
The Cult of Friendly URLs
andyhume
78
6.3k
Transcript
2019/02/19 sotan (@sotanmochi) VRMを使ったAR/MR撮影ツール を試作開発してみた話
自己紹介 • sotan (@sotanmochi) • TIS株式会社・戦略技術センター • xR(VR/AR/MR)技術に関する応用研究・プロトタイプ開発 2019/02/19 VRM勉強会
2 https://www.microsoft.com/store/apps/9P4XXMW3F1GC 現実空間をフィールドにしてユニティちゃんと鬼ごっこができるHoloLens用アプリなどを趣味で作ってます
話の流れ • 実現したいこと • デモ動画 • AR/MR撮影ツールの構成 • 開発Tips •
まとめ 2019/02/19 VRM勉強会 3
実現したいこと 2019/02/19 VRM勉強会 4 屋内外の色々な場所で バーチャルキャラクターのAR/MR動画を撮影したい
実現したいこと AR撮影システムを「個人」で「ワンオペレーション」で実現したい 2019/02/19 VRM勉強会 5 http://dwango.co.jp/pi/ns/2018/0625/index.html 【先行事例】 http://panora.tokyo/66291/
試作開発中のAR/MR動画撮影ツール • キャラクターと現実を合成した動画を撮影(デバイスの動画キャプチャ機能) • キャラクターの身体を動かす(モーションキャプチャ) • キャラクターの位置と方向を変える(コントローラー操作) 2019/02/19 VRM勉強会 6
AR/MR動画撮影ツールのデモ動画 Mobile Mixed Capture (仮称) のデモ動画 • 複数のデバイスで撮影 • カメラマン視点と客観視点の映像
2019/02/19 VRM勉強会 7 デモ動画(HoloLens) https://youtu.be/b55dc6V3jvg デモ動画(iPad) https://youtu.be/XmKdsECYGf0
AR/MR撮影ツールの構成 2019/02/19 VRM勉強会 8
ハードウェア構成 2019/02/19 VRM勉強会 9 RealSense D435 (モーションキャプチャ) Joy-Con (L)/(R) (キャラクター操作)
iPad or HoloLens (動画撮影用) モバイルノートPC GPD Pocket 2 (入力・データ配信用) Wi-Fi (データ通信用) 自撮りバックパック SHOOT
• 開発環境:Unity2018.3.4f1 ソフトウェア構成 2019/02/19 VRM勉強会 10 iOSアプリ HoloLensアプリ Windows10 PC用アプリ
(入力・データ配信用) キャラクターの姿勢 キャラクターの相対位置 モーションキャプチャ キャラクターの移動・回転 デバイスの相対位置・回転 上半身と下半身の モーション合成 基準位置調整(手動) 基準位置設定 VRMモデル読込 (ランタイム) キャラクターの姿勢 キャラクターの相対位置 デバイスの相対位置・回転 基準位置調整(手動) VRMモデル読込 (ランタイム)
ソフトウェア構成 利用している主なアセット・ライブラリ • UniVRM • Mirror(ネットワークライブラリ) • JoyconLib(Joy-Conライブラリ for Unity)
• Kinect v2 Examples with MS-SDK and Nuitrack SDK (モーションキャプチャ用のアセット) • Nuitrack(3Dトラッキング用のミドルウェア) 2019/02/19 VRM勉強会 11
開発Tips 2019/02/19 VRM勉強会 12
キャラクターの姿勢を同期させる • HumanPoseのデータを同期用オブジェクトで送受信 • HumanPoseTransferを使ってHumanPoseをキャラクターに反映 2019/02/19 VRM勉強会 13
• HumanPoseのデータを同期用オブジェクトで送受信 • HumanPoseTransferを使ってHumanPoseをキャラクターに反映 同期用オブジェクト(Clone) HumanPose Transfer キャラクターの姿勢を同期させる 2019/02/19 VRM勉強会
14 iOS or HoloLens用アプリ PC用アプリ VRMモデル 同期用オブジェクト(Clone) 操作用キャラクター HumanPose Transfer
キャラクターの位置を同期させる • HumanPoseで位置を同期させようとしても一致しない • Animator.humanScaleの違いによって移動する距離に差が出る • HumanPoseのbodyPositionを固定、位置の同期用オブジェクトを追加 2019/02/19 VRM勉強会 15
キャラクターの姿勢を合成する • 上半身をモーションキャプチャ、下半身をアニメーションで動かす • 上半身用モデルと下半身用モデルのHumanPoseから必要なmusclesを取得する 2019/02/19 VRM勉強会 16 上半身用モデル 下半身用モデル
操作キャラクター
キャラクターの姿勢を合成する • 上半身をモーションキャプチャ、下半身をアニメーションで動かす • 上半身用モデルと下半身用モデルのHumanPoseから必要なmusclesを取得する 2019/02/19 VRM勉強会 17 【参考】 HumanTrait.MuscleNames.csv:
https://gist.github.com/neon-izm/0637dac7a29682de916cecc0e8b037b0
パフォーマンスチューニング • HumanPoseのmusclesをfloat型(32bit)からhalf型(16bit)に変換してデータ削減 • とりすーぷ(@toRisouP)さんのスクリプトを参考にしました • https://gist.github.com/TORISOUP/464e64313ad8da544729549452878e6d 2019/02/19 VRM勉強会 18
C#にはhalf型がないのでshort型で代用
パフォーマンスチューニング • 精度の違いを考慮し忘れて float → half の変換処理で躓いた 2019/02/19 VRM勉強会 19
送信側 受信側 実質0の小さい値が正しく変換できてなかった
パフォーマンスチューニング • 絶対値が 1.0 × 10−4 より小さい値を0に変換することで対応した 2019/02/19 VRM勉強会 20
4.0 × 10−5 程度までは half型で表現できていた 【参考】シェーダーのデータ型と精度 https://docs.unity3d.com/ja/current/Manual/SL-DataTypesAndPrecision.html
VRMモデルの髪と顔が消える • キャラクターの髪と顔が消えてしまうことがある(現象の発生条件が不明) • VRMをランタイムロードした後に updateWhenOffscreen = true で暫定対応 2019/02/19
VRM勉強会 21 updateWhenOffscreen = true updateWhenOffscreen = false
まとめ 2019/02/19 VRM勉強会 22
まとめ • 屋内外の色々な場所で使えるAR/MR撮影ツールを試作してみた • 個人で購入できるハードウェアの組み合わせで実現した • ワンオペレーションでAR/MR動画を撮影できた • モーションキャプチャの精度向上など、いくつか課題を解決すれば 実用化できそう(自分以外のニーズがあるか不明)
2019/02/19 VRM勉強会 23
ありがとうございました