VRM 是一種 3D 角色格式,由 3D 舞台渲染;使用預設引擎時,Live2D 也走這條管線。開啟 使用舊版 WebGL 引擎 後,Live2D 會回到單獨的 2D 畫布,在 3D 舞台之外繪製
3D 舞台跑在 WebGPU 上,在沒有 WebGPU 的機器上自動改用 WebGL,並且執行於背景執行緒中,因此再重的場景也卡不死介面
VRM 0.x 與 VRM 1.0 模型都能載入,包括兩者各異的 look-at 與表情慣例,所以不論出自哪個年代的綁定,表現都如作者所願。.vrm 或 .glb 走的是和 Live2D 模型同一套 開啟模型… 流程
內建虛擬形象
應用程式內建六個 VRM 虛擬形象:
| 形象 | 規格 | 授權條款 |
|---|---|---|
| Sendagaya Shino | VRM 0.x | CC0 |
| Vivi | VRM 0.x | CC0 |
| Seed-san | VRM 1.0 | VRM Public License 1.0 |
| RAYNOS-chan | VRM 0.x | Sony Character EULA |
| Sporty RAYNOS-chan | VRM 0.x | Sony Character EULA |
| mini RAYNOS-chan | VRM 0.x | Sony Character EULA |
Seed-san 要求必須署名——Seed-san by VirtualCast, Inc.——Persona 會把它連同其他第三方聲明一起顯示在 關於對話方塊 裡。模型自己的授權條款出現在資訊區塊的授權條款一列,作者要求署名時會被標示出來
相機
Live2D 模型是一塊可以拖曳和縮放的平面畫布,而 VRM 坐落在一個帶軌道相機的 3D 場景裡:
| 手勢 | 作用 |
|---|---|
| 拖曳 | 環繞虛擬形象旋轉 |
| Alt / ⌥ + 拖曳 | 平移相機目標點 |
| 滾輪 | 推近或拉遠 |
移動帶緩動,慣性手感和 Live2D 舞台一致;仰角在抵達兩極前就停住,相機因此永遠不會翻過去。重設相機回到預設取景,這個取景由虛擬形象自己的包圍盒推算而來,視角則把鏡頭設在 10° 到 90° 之間
相機屬於 場景 而不屬於模型,所以一個場景裡的每個 VRM 共用同一台相機
擺放
虛擬形象本身的擺放獨立於相機,以世界空間的公尺為單位,並帶有移動、旋轉與縮放的舞台控制點:
X · Y · Z · 縮放 · 俯仰 · 轉向 · 翻滾
縮放範圍是 0.05× 到 10×。彈簧骨骼物理會隨模型一起縮放,所以縮小或放大過的虛擬形象,頭髮依然動得正確
待機行為
剛載入好的 VRM 站成一個 T-pose。Persona 會套上一套待機,讓虛擬形象不用你做任何事就顯得活著:
- 待機動畫——循環播放的身體動畫,逐模型選擇
- 眨眼——每 2–6 秒隨機一次
- 呼吸——胸腔與脊椎的緩慢起伏
- 視線跟隨游標——眼睛瞄準作業系統游標,頭部帶著自然的遲滯轉過去一部分,和 Live2D 共用同一個 視線跟隨游標 開關
- 彈簧骨骼——頭髮與衣物的物理,直接來自模型自己的彈簧骨骼設定
待機動畫位於選取模型的追蹤區塊,旁邊是選擇動畫…。它會開啟 素材庫 並收窄到動畫,那裡放著八段專門製作的待機循環:
站立 · 背手 · 叉腰 · 抱臂 · 倚靠 · 說話 · 坐姿 · 舞蹈
那七段 動作片段 同樣可以當待機用,你自己加入的任何片段也可以。只有這八段循環是無縫的——其餘的每轉一圈都看得出重新開始
因為這個設定是逐模型而不是逐場景的,同一個場景裡的兩個虛擬形象可以各擺各的姿勢
動作片段
Persona 內建了七段來自 pixiv VRoid Project 的 VRM Animation(.vrma)片段,在任何已載入的 VRM 上都能播——和 Live2D 動作不同,它們不綁定到某個模型:
展示全身 · 打招呼 · 比耶 · 射擊 · 轉圈 · 模特姿勢 · 深蹲
每段片段都是一次性的:它在待機之上淡入,短暫保持最後一個影格,然後緩和地回到待機,而不是硬切回去。眨眼與視線跟隨游標會在正在播放的片段之上繼續運作。片段出現在動作區塊,正是 Live2D 動作組所在的位置
它們同時也是 素材庫 裡動畫下的列,和你自己加入的任何片段並列,點擊其中一列就會在已載入的 VRM 上播放它作為預覽
你自己的片段
動畫類別收兩種格式:.vrma,以及 Mixamo 的 .fbx。Mixamo 片段在載入時重定向到 VRM 的人形骨架上,此後和一段 .vrma 沒有區別——當待機用,當一次性動作用,或者在素材庫裡點一下預覽
整具骨架裡只有髖部會位移,而且位移量會按目標模型自己的比例換算,所以一段會走動的片段換到別的體型上,步幅依然合身。不含 Mixamo 骨架的 .fbx 根本進不了素材庫
表情
表情區塊列出模型的表情詞彙——它的 1.0 預設名稱與自訂名稱,0.x 的預設名稱會被換算成 1.0 的對應名稱。按一下套用,再按一下移除,和 Live2D 的表情 一樣。臉部追蹤 驅動的是同一批表情
已經生效的表情,每個下面都跟著一條權重滑桿,1% 到 100%,可以只用上半張臉的力道。清單裡只列目前生效的那幾個,所以它不會變成模型全部形狀的一面牆。滑桿到不了 0——那等於關掉這個表情,那是按鈕的工作
把全部 52 個 ARKit blendshape 都做成表情的模型具備 perfect sync 能力,它由手機的原始 ARKit 數值一比一驅動,而不經過 Persona 推導出的訊號。資訊區塊的完美同步一列會報出模型在這 52 個裡佔了幾個
區塊頂部的記住表情狀態預設開啟:你套用的表情連同它們的權重會隨手儲存,切回該模型或重新啟動應用程式時恢復。VRM 沒有 .vtube.json,所以寫入的是模型檔案旁的 <model>.persona.json 附屬檔案
服裝
模型帶 LAPLACE_outfit 擴充時,表情下面會多出一組服裝。這是 VRM 規範留下的一格空白:VRM 表情只能驅動變形目標、材質顏色與貼圖變換,動不了網格的顯隱,所以從靠隱藏網格來換裝的平台(最典型的是 VRChat)轉過來的形象,會帶著一整櫃衣服卻卡在一套裝扮上。這個擴充給這些部件起了名字,Persona 把每一條都變成一個真正的表情——按鈕、權重滑桿、附屬檔案儲存與 外掛 API 因此一律照單全收,不需要另起一套介面
臉孔與服裝分成兩組來放:「外套 脫下」夾在 blinkLeft 和 happy 中間會被當成一張臉,而按下去做的完全是另一回事
MToon 材質
多數 VRM 虛擬形象使用 MToon,也就是這套規範自帶的卡通著色器。MToon 區塊在作者烘焙好的基礎之上做微調,逐模型實例生效:
| 控制項 | 範圍 | 作用 |
|---|---|---|
| 陰影 | 0 – 1 | 陰影色顯現得有多強 |
| 陰影偏移 | −1 – 1 | 移動亮部與暗部的分界 |
| 陰影硬度 | −1 – 1 | 這條分界有多硬 |
| GI 均衡 | −1 – 1 | 環境光把明暗壓平到什麼程度 |
| 法線強度 | 0 – 2 | 縮放法線貼圖;0 會把表面細節完全抹平 |
| 邊緣光 | 0 – 2 | 邊緣光的強度 |
| 邊緣光偏移 | −1 – 1 | 這道邊緣從輪廓往內裹多深 |
| 邊緣光菲涅耳強度 | 0 – 4 | 越高,這道邊緣越貼著輪廓收緊 |
| 邊緣光受光比例 | −1 – 1 | 0 是邊緣光與材質捕捉都畫成平的,1 是讓它們跟著場景燈光走 |
| 材質捕捉 | 0 – 4 | 縮放材質捕捉——那層球面疊加的反射。作者沒做材質捕捉的材質上不會有變化 |
| 描邊寬度 | 0 – 2 | 縮放作者設定的描邊 |
| 描邊受光比例 | −1 – 1 | 0 是描邊保持自己的顏色,1 是讓燈光替它染色 |
| 自發光 | 0 – 4 | 自發光的強度,留出餘量把局部頂過 泛光 閾值 |
| UV 動畫 | 0 – 4 | 縮放 UV 的捲動與旋轉速度;0 會把一張動起來的貼圖凍住 |
重設材質把每個滑桿都退回中性值——每個倍率回到 1,每個偏移回到 0,模型就完全按作者做的樣子渲染
身體追蹤
VRM 帶有人形骨骼,所以它還能透過 VMC 接收全身動作追蹤的驅動——VSeeFace、Virtual Motion Capture、mocopi 以及其他傳送端。Live2D 模型沒有這樣的骨架,因此這個區塊只對 VRM 出現
VRM 上的快速鍵
針對表情與動作的 快速鍵 動作對 VRM 一樣有效:表情按名稱綁定,動作片段按它自己的檔案綁定。替換模型則不挑格式——一個快速鍵可以把某個圖層從 Live2D 模型換成 VRM,也能換回來
模型資訊
展開資訊即可看到載入進來的到底是什麼,用的是 VRM 的詞彙:
| 列 | 含義 |
|---|---|
| 來源 | 模型是內建的,還是你自己開啟的 |
| 檔案 | 載入的那個 .vrm,旁邊帶在資料夾中顯示的按鈕 |
| 規格 | VRM 0.x,或 1.0 規範的確切版本 |
| 骨骼 | 人形骨骼數量 |
| 彈簧骨骼 | 彈簧骨骼組數量——為零表示沒有頭髮或衣物物理 |
| 表情 | 表情數量 |
| 完美同步 | 模型帶有 52 個 ARKit blendshape 中的幾個 |
| 作者 | 模型內嵌中繼資料裡寫明的作者 |
| 授權條款 | 授權條款的 URL,要求署名時會加上標記 |
| 載入耗時 | 舞台載入這個模型所花的實際時間 |
切換
VRM 是淡入淡出,而不是硬切。這個淡變是螢幕空間的抖動——模型留在不透明渲染佇列裡,保持自己的深度排序;改用透明度淡變則會打亂這個排序,讓你透過臉看進頭的內部
在虛擬形象擺好姿勢、面朝相機之前什麼都不會渲染,所以舞台永遠不會露出一個初始化到一半的模型
最後更新於 2026年9月3日