Open Vtuber Studio 之構想
Toby
Toby

相信不少人已經知道甚麼是 Vtuber 或 Virtual Youtuber,這裡就不詳細介紹了。
在這話題上應該有不少人對這新興的行業有不少的評論或見解,然而在這篇文章裡,我們先不要談到底這是不是一種好的文化或是對市場有甚麼影響,我要討論的主要是技術上的問題和系統構思。

Vtuber 跟 VR Gaming 有甚麼關系?

Vtuber 的運作原理一般都可以簡單分成三個部分

  1. 動作輸入(如 HTC Vive 的 3D 追蹤技術,使用 Webcam 的神經網絡身體姿勢捕捉等)
  2. 動作處理(就是把輸入的數據轉成模型可讀取的姿態信息,一般會碰及到 3D Matrix Transformation / Quaternion rotation 等等複雜的數學;通常使用 Unity 3D 作為引擎配合 UniVRM 插件使用)
  3. 動作輸出 (把捕捉到的動作顯示到 3D模型上,一般使用 VRM / MMD 模型)

然後你有留意到嗎? 這根本就是跟 VR 遊戲所需要的裝備差不多啊。所以說,Vtuber 技術其實跟 VR 遊戲開發是沒甚麼差別的,就只是省卻了遊戲故事線開發的部分。

所以現在外面的 Vtuber 拍攝軟件有甚麼問題?

先從要付錢的說起好了。問題就是:要付錢(這應該沒甚麼好爭議的吧?
我舉一個例子,Live2D + Facerig 系統,你需要先購買 Live2D,設計好自己的人物再購買 Facerig 系統作臉部追蹤,如果你只是想試著玩玩看的話也要先花費好一筆前置資金。

再看看開源的方案,現在市場上的不是只有很低的完成度就是需要好幾套不同的系統 / SDK 使用膠水把它們黏起來做成的。在真正開到 Rendering UI 之前你就要先經過好幾十處的技術難關。再者更不用說 Live2D 或 Unity 商業用的收費跟限制之類的了。

https://www.youtube.com/watch?v=Xo774VpWASE 提及的開源 Vtuber 動作捕捉方案
https://github.com/kwea123/OpenVTuberProject 提及的 Open Vtuber Project 方案

所以,我想開發一套不依賴 Unity + VR Headset 的方案

Open Vtuber Studio 裡面有個技術上的關鍵點是我想測試看看的,包括有最新的人型 3D 模型格式 VRM ,臉部辨識 API 跟 poseNet 身體姿態捕捉用的 Neural Network。而系統的完成條件列出來大約這樣:

  • 不使用 Unity 及 Live2D 等非開源 / 要付費的商用渲染方案
  • 完整整合,不需要同時開幾個程式然後中間用膠水語言連接起來
  • 無需安裝,盡量做到 Portable + Lightweight
  • 不需要特別設計或指定品牌之電腦硬體,就算需要硬體也必須是輕易能在市場上買到,而且價錢不貴的

結論

就這個條件之下,整個系統架構就明確起來了。首先我們需要使用 Webcam 輸入影像,使用 HTML5 的 canvas 把影像複制,給予 face-api.js 跟 poseNet (Tensorflow.js)處理,最後結合 Three.js + ThreeVRM 3D渲染 工具來做到類似 Vtuber 動作捕捉的技術。

大致系統原理圖

那既然系統設計出來了,那就可以開始進行實驗了。之後就請等待下一篇與編程相關的文章更新吧!