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
自作ソフト(VMagicMirror)がVRMA対応してる話+実装のTips
Search
Baku_Dreameater
March 21, 2024
Programming
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自作ソフト(VMagicMirror)がVRMA対応してる話+実装のTips
Baku_Dreameater
March 21, 2024
More Decks by Baku_Dreameater
See All by Baku_Dreameater
趣味開発でVRM1.0モデルに対応した話
bakudreameater
1
7.6k
Oculus Questでマリオネットを召喚して遊んでみた
bakudreameater
1
1.9k
キーボードとマウス入力で動かすVRM(キャラ付き版)
bakudreameater
0
1.9k
キーボードとマウス入力で動かすVRM(キャラ無し版)
bakudreameater
0
260
Other Decks in Programming
See All in Programming
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
ジョジョの世界をXRで再現する
mofurune
0
160
Railsバージョンを4倍にした話
optim
0
320
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
180
SREの越境 / SRE Collaboration
y0hgi
2
310
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
830
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
カツオ、ご期待ください
suneo3476
0
190
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Claude Code のすすめ
schroneko
67
230k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Building Adaptive Systems
keathley
44
3.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Transcript
自作ソフト(VMagicMirror)が VRMA対応してる話 + 実装のTips 獏星 (ばくすたー) 2024/03/21 1/12
/15 自己紹介 • 獏星 (ばくすたー) / @baku_dreameater • VMagicMirrorの開発者 •
clusterのソフトウェアエンジニア 2
/15 目次 • アプリケーション紹介: VMagicMirror • VRM Animationの前: 自前定義 •
Unity + UniVRMでVRMA対応を実装 • 基本編 • 応用編 • ついで: AnimationClip→VRMA変換 3
/15 アプリケーション紹介: VMagicMirror ・Windows向けのVRM表示ソフト ・設定UI + アバターウィンドウ ・デスクトップマスコット化 ・マウス/キーボード操作に反応 ・ゲームパッドとかでも動く
・今月で開発5周年 4
/15 アプリケーション紹介: VMagicMirror ゲーム入力モード ・ゲームキャラ風の動き ・ユーザーがモーションを 追加できる VRM Animationとして ハイキックのモーションを
読み込んで指定 5
/15 VRM Animationの前: 自前定義 独自フォーマット & 自前のセーブ + ロード実装 ・自前実装がそもそも多い
・データ設計がイケてるか自信がない ・第三者がファイルを配布しにくい ・ 個人開発者として悩ましい → VRM Animationに移行判断 専用ファイル (.vmm_motion) 変換用コード 自作ソフト Help: https://malaybaku.github.io/VMagicMirror/tips/use_custom_motion/ GitHub: https://github.com/malaybaku/VMagicMirror_MotionExporter ファイル 自作コード 元データ (AnimationClip) 変換用Project セーブ ロード+再生 6
/15 Unity + UniVRMでVRMA対応を実装(基本編) ファイルを読み込んで指定して終わり? ※詳しくはVRM10_Sampleの SimpleVrma.cs を参照 VRM10Runtime runtime;
Vrm10AnimationInstance vrma; runtime.VrmAnimation = vrma; 7
/15 Unity + UniVRMでVRMA対応を実装(基本編) ファイルを読み込んで指定して終わり? → 要件によってはもうちょっと凝る必要があります VRM10Runtime runtime; Vrm10AnimationInstance
vrma; runtime.VrmAnimation = vrma; 8
/15 Unity + UniVRMでVRMA対応を実装(基本編) やりたいこと • ボーンの更新タイミングを自前で調整 • 複数のVRM Animationの姿勢どうしをブレンド
• … 9
/15 Unity + UniVRMでVRMA対応を実装(応用編) やりたいこと • ボーンの更新タイミングを自前で調整 • 複数のVRM Animationの姿勢どうしをブレンド
• … → さっきのとは別のAPIを呼ぶことで解決 10
/15 Unity + UniVRMでVRMA対応を実装(応用編) 実は一つのAPIで解決する public static class Vrm10Retarget {
public static void Retarget( (INormalizedPoseProvider Pose, ITPoseProvider TPose) source, (INormalizedPoseApplicable Pose, ITPoseProvider TPose) sink ); } 11
/15 Unity + UniVRMでVRMA対応を実装(応用編) 呼び出し方 // ↓基本編で使ってるのと同じ変数 Vrm10Runtime runtime; Vrm10AnimationInstance
vrma; // こう呼ぶと、再生中のVRMAの現在の姿勢がVRMに書き込まれる Vrm10Retarget.Retarget( vrma.ControlRig, (runtime.ControlRig, runtime.ControlRig) ); 12
/15 Unity + UniVRMでVRMA対応を実装(応用編) ・ボーンの更新タイミングを自前で調整 → Retarget()を呼んだ時点で更新される ・複数のVRM Animationをブレンド →
Retarget()を2回呼んで補間すればOK Retarget Retarget 1つ目のVRMA 2つ目のVRMA VRM + → → → VRMのボーン姿勢を取得 VRMのボーン姿勢を取得 → ↓ 2つの姿勢どうしを補間 13
/15 まとめ VMagicMirror + VRMAの事例紹介 自前でのモーションデータ定義は大変! → VRMAの活用を検討するのがおすすめ UniVRMでVRMAを再生する方法はいくつかある →
Retargetで細かいこともできる 14
/15 ついで: AnimationClip→VRMA変換 note: VRM Animation (.vrma)をUnity上で簡単に生成できるようにした話 https://note.com/baku_dreameater/n/n26908f443e5b GitHub: https://github.com/malaybaku/AnimationClipToVrmaSample
15