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
自作ソフト(VMagicMirror)がVRMA対応してる話+実装のTips
Search
Baku_Dreameater
March 21, 2024
Programming
600
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
250
Other Decks in Programming
See All in Programming
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.9k
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
710
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
150
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
730
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
430
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
220
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
5
1.9k
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
210
React本体のコードリーディング
high_g_engineer
1
150
「人を評価する AI」の設計と実装
ryoyanara
0
220
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Writing Fast Ruby
sferik
630
63k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
The Curse of the Amulet
leimatthew05
2
14k
The Curious Case for Waylosing
cassininazir
1
460
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
490
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Mind Mapping
helmedeiros
PRO
1
320
Between Models and Reality
mayunak
4
400
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
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