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
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
Search
Nakaji Kohki
August 01, 2024
Technology
1
120
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
2024年8月1日に開催された『VRM Meetup #4 VRM LT大会』での発表資料です
https://vrmc.connpass.com/event/322649/
Nakaji Kohki
August 01, 2024
Tweet
Share
More Decks by Nakaji Kohki
See All by Nakaji Kohki
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
340
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
300
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
380
Unityで使える汎用的な ハンバーガーメニューの実装 / UniHamburger
nkjzm
3
1.1k
20時間超の物語をVRで!『ALTDEUS: Beyond Chronos』の制作を支えた”Uranus”の制作過程と機能紹介 [CEDEC2021] / Introduction of ALTDEUS' VR ADV tool "Uranus", CEDEC2021
nkjzm
1
2.3k
withコロナに見るXR業界のイマ! [CEDEC2021] / XR NOW CEDEC2021
nkjzm
3
1.8k
VRプロダクト開発ラウンドテーブル2021
nkjzm
0
1.4k
Unityでチャットに使えるモバイルキーボードの実現
nkjzm
2
5k
Notionで人生を公開している話
nkjzm
0
960
Other Decks in Technology
See All in Technology
なぜCodeceptJSを選んだか
goataka
0
160
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
Storage Browser for Amazon S3
miu_crescent
1
140
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
110
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
220
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
The Cult of Friendly URLs
andyhume
78
6.1k
Building Adaptive Systems
keathley
38
2.3k
Designing for humans not robots
tammielis
250
25k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Scaling GitHub
holman
458
140k
Rails Girls Zürich Keynote
gr2m
94
13k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Transcript
2024/08/01 VRM Meetup #4 VRM LT大会! アバター配信 アプリ『Vフレット 』 でVRM
1.0対応をしてみた
なかじ @nkjzm • VRとプログラミング が得意 • 個人開発で「Vフレット」を作っている Unity / VR
Engineer
アンケート 本日の参加者ってどんな属性ですか? • 開発者の方 • VRoid
/ 3Dモデルを触ってる方 • とりあえず興味があって来てみた方
今日は開発者向けの話がメインですが、 雰囲気だけでも伝わるとうれしいです 🙏
VRMとは • VR向けの3Dアバターファイルフォーマット ◦ アバターを VRM形式で作っておくと、いろいろなプラットフォームで使えるのが特徴 ◦ 発表後にすごい勢いで流行った(会場の
clusterでも採用している!) • VRM 0.x:2018年にベータ版として発表 • VRM 1.0:2022年9月に正式版としてリリース ◦ 変数名として 「VRM10」表記が使われることが多い ◦ (個人的な印象) VRM 0.xほど浸透していない・・・?
知ってるサービスの VRM 1.0 対応状況を調べてみた 2022年 • 9月
◦ VRM 1.0リリース ◦ バーチャルキャスト • 11月 ◦ VMagicMirror 2023年 • 3月 ◦ VRoid Studio ◦ VDRAW • 8月 ◦ LuppetX
知ってるサービスの VRM 1.0 対応状況を調べてみた 2022年 • 9月
◦ VRM 1.0リリース ◦ バーチャルキャスト • 11月 ◦ VMagicMirror 2023年 • 3月 ◦ VRoid Studio ◦ VDRAW • 8月 ◦ LuppetX ➡めちゃくちゃ対応進んでた
自分のアプリでも VRM1.0 対応をやってみた (未完了なので現時点の所感です 🙏)
Vフレットとは • アバターを使ってギターの弾き語りができるアプリ • Windows / Mac 向けに Booth
で配布中! • VRMアバター読み込みに対応 ◦ プリセットアバター ◦ PC内のVRMファイル ◦ VRoid Hub連携 • トラッキング不要、アバターと PCがあれば使える • 最近は YouTube ショートとかに使ってくれる人も https://booth.pm/ja/items/3024741
VRoid SDK とは • VRoid Hubと連携させる開発者向けライブラリ • Web(API)、Unity、Unreal Engineに対応(開発者登録が必要)
https://developer.vroid.com/sdk/ より
環境 • Unity 2021.3.35f1 • VRoid SDK for Unity 0.5.2
(2024/06/24) ◦ アップデートのバージョンは 0.1.0 • UniVRM v0.122.0 (2024/05/10) ◦ アップデート前: v0.89.0 ◦ VRoid SDKに内包されている UniVRMを使用
このスライドがめちゃくちゃ参考になる (ので抜粋して紹介します ) UniVRM 利用アプリケーションの VRM 1.0 への移行について -
Speaker Deck
UniVRM 利用アプリケーションの VRM 1.0 への移行について - Speaker Deck より
UniVRM 利用アプリケーションの VRM 1.0 への移行について - Speaker Deck より
UniVRM 利用アプリケーションの VRM 1.0 への移行について - Speaker Deck より
➡ 基本的にはリネームとか メンバアクセスの修正で⾏けそう UniVRM 利用アプリケーションの VRM 1.0 への移行について - Speaker
Deck より
対応が簡単だった差分 • モデル読み込み ◦ メソッド名が変わっただけで使い勝手は変更なし • VRM
0.x系の変換処理 ◦ ほぼすべて自動で変換してくれるので、共存について考えることが少ない • 表情 ◦ 「VRMBlendShape」から「 Expression」に変わっただけ ▪ 例:BlendShapePreset → ExpressionPreset
対応が大変そうな差分 • アクセス方法が変わっている箇所について ◦ 一部 MonoBehaviourとして提供されなくなった ◦
GetComponent<T>()している箇所を、親のクラスなどのメンバ変数からを辿る必要がある • ライセンス ◦ 仕様として、意図的に 1:1 変換をしていない ◦ 0.x系ライセンスは 0.x系ライセンスとして表示する必要がある • ボーン ◦ 正規化された?ボーン構造が変わった?らしい ◦ まだやっていないのでここが一番大変そう
VRoid SDK の対応 • 基本的には専用の対応は不要だった ◦ メタデータは VRoid SDK独自の型で返ってくるので差分なし
◦ VRMをUnity上で3Dデータとして生成した型 RuntimeGltfInstance を ▪ VRMファイル読み込みの場合は UniVRMから ▪ VRoid Hub上のキャラクターの場合は VRoid SDKから ◦ 読み込むという違いのみ • → アプリのVRM 1.0対応ができれば自動的に対応完了っぽい
まとめ • VRM 0.xから 1.0への互換性がかなり考慮されていて共存が可能 • 型名が全体的に変更されているが、機械的に変換していける •
ライセンス回りとボーン回りはちょっと大変そう • VRoidSDKへの対応は一瞬だった
余談:困っていること • Vrm10Dataからサムネイルが取得できない取得の例 • https://vrm.dev/api/vrm1_load/ によると、下記のように取得可能
• 返ってくる値は nullではないが、 RawImage.textureに渡すと Missing になる • もし何かわかる方がいたらぜひ教えてください 🙏 using var loader = new Vrm10Importer(vrm); var texture2D = await loader.LoadVrmThumbnailAsync();
宣伝: VketRealに出展します! 8/4(日) 秋葉原 【B8】
None
ご清聴ありがとうございました!
None