Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobi...
Search
sotanmochi
February 19, 2019
Technology
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobile Mixed Capture
sotanmochi
February 19, 2019
More Decks by sotanmochi
See All by sotanmochi
URP/HDRPを使ったVRM対応アプリの開発方法 / VRM Importer Extension
sotanmochi
0
1.8k
画像処理から始めるコンピュートシェーダ / Introduction to Image Processing using Compute Shader
sotanmochi
2
2.8k
Diminished Reality 入門 / Introduction to Diminished Reality
sotanmochi
2
9.7k
Unityでテクスチャにお絵描きするための線分描画アルゴリズムの話 / Line drawing algorithm using fragment shader
sotanmochi
2
4.1k
MagicOnionでマルチプレイゲームを作ってみる / Introduction to developing multiplayer games using MagicOnion
sotanmochi
1
2.7k
SmartRig Bipedを使ってみよう / Introduction to SmartRig Biped
sotanmochi
0
3.6k
リアルとバーチャルの融合によって越えられない壁を壊す / TechCafe vol.8 LT
sotanmochi
0
300
ユニティちゃんと鬼ごっこができるMRゲームと戦術位置解析システム / Mixed reality game and tactical position analysis
sotanmochi
0
760
Research modeで取得した深度(Depth)データを可視化する / Depth data visualization for Hololens RS4 Research mode
sotanmochi
0
220
Other Decks in Technology
See All in Technology
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
450
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
240
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
210
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
7
4.9k
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
520
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
160
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
240
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
110
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
130
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
440
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
110
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
710
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
550
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
460
The Pragmatic Product Professional
lauravandoore
37
7.5k
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
ありがとうございました