將Linux當作日常主要作業系統的我,現在已經幾乎所有的事情都能在這上面做,不需要特別切換到Windows系統了。跟我有一樣習慣的人相信也很多,其中也許都想過一個問題:我能在Linux上披上皮套,成為一名Vtuber / 實況主嗎?
答案當然是:可以!
為了做到這點,我們需要的工具有三款:目前十分流行的VTuber軟件VTube Studio,OpenSeeFace以及OBS(Open Broadcaster Software)。
1. 首先,我們需要先安裝VTube Studio。由於它本身並不支援Linux系統,因此我推薦透過Steam進行下載和安裝,方便使用Proton啟動軟體。
2. 下載完畢後,在遊戲清單上選取”VTube Studio”後右鍵,選取”內容”。
3. 點擊”相容性”選項,勾選”強制使用特定Steam Play相容性工具”,選擇使用”Proton Experimental” 開啟遊戲。
4. 確認VTube Studio能正常啟動後,就可以開始準備下一步。(有時侯VTube Studio可能會啟動失敗,這種時侯通常只要重新啟動一次就沒有問題)
在下一階段,我們需要準備的是一款臉容捕捉軟體:OpenSeeFace。
為什麼我們需要OpenSeeFace呢?這是因為VTubeStudio自帶的臉容捕捉並不能在Linux上正常運作,因此必須靠外部的軟體完成臉容捕捉,再將結果傳送到VTubeStudio以達到「虛擬人偶配合本人表情變化/移動」的效果。(而且它是Open Source的喔!)
5. 要使用OpenSeeFace,我們需要先從Gtihub上下載它,準備好所需環境:(主要是Python3相關的)
sudo apt-get install python3 python3-pip python3-virtualenv git
git clone https://github.com/emilianavt/OpenSeeFace
cd OpenSeeFace
virtualenv -p python3 env
source env/bin/activate
pip3 install onnxruntime opencv-python pillow numpy
6. 然後在OpenSeeFace 資料夾下,啟動虛擬的Python環境:
venv/bin/activate
7. 再使用以下指令啟動裡面的facetracker.py即可。其中可能需要調整的參數,主要是其中的”-c”--它的作用是選擇要使用臉容識別的攝影機,而它們的編號一般可能會是0-2之間,在這個例子裡我使用的是攝影機0,如無法正常啟動OpenSeeFace,可以嘗試將它改為其他數字(例如我自己使用的是攝影機2,所以就是 -c 2)
python facetracker.py -c 0 -W 1280 -H 720 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900 --ip 127.0.0.1 --port 11573
正常啟動的OpenSeeFace會顯示出以下畫面:
8. 而為了能讓VTube Studio 與OpenSeeFace之間互相連接,我們需要做點小手段:在VTube Studio的StreamingAssets資料夾內建立名為”ip.txt”的檔案,路徑如下:
~/.local/share/Steam/steamapps/common/VTube Studio/VTube Studio_Data/StreamingAssets/ip.txt
其內容為
# To listen for remote connections, change this to 0.0.0.0 or your actual IP on the desired interface.
ip=0.0.0.0
# This is the port the server will listen for tracking packets on.
port=11573
它能讓VTube Studio每次啟動時自動連接到已經啟動的OpenSeeFace上,如此一來就能如同在Windows /Mac 時那般正常使用臉容捕捉功能囉。
到這裡,基本上差不多就已經大功告成。最後我們要做的就只剩下OBS的部份,由於網絡上已經有許多關於安裝和使用方面的教學,就不在這裡重覆了;但我會額外再講解一下如何在OBS上消除VTube Studio的背景,使它變成透明。
1. 首先我們先點擊選單上的綠色圓圈,選擇”ColorPicker”為背景,再設定顏色為綠幕:
2. 在OBS裡新增來源:截取視窗,將VTubeStudio設定目標後點擊右鍵,選擇”濾鏡”後新增”色彩鍵”濾鏡,再將關鍵顏色類型調整為”綠色”即可。
登登!大功告成!
在Windows和Mac OS上不需要這樣做,但Linux上的VTube Studio無法在OBS上使用透明背景,因此才會需要用到綠幕。
其實這篇文章本來應該是三個月前寫的,結果拖延症到現在才終於動筆…..一如既往地希望能幫上大家。
參考資料:
A Guide to get VTube Studio and VSeeFace working on Linux. Tested on Arch Linux
https://gist.github.com/BenKato151/b8b4a6897cc6cc7835ac9107288d3df2