Last Update:2025/11/11
這篇在撰寫的時候是採用當下的最新版本
所有東西可能會隨著版本更新而有不同的使用方法或不同外觀/說明文字,本篇的說明可能會和你自身的情形有所出入,請自行注意。
也請注意隨時備份所有檔案。
打鐵趁熱,學unity也要趁CPU風扇還在全力運轉的時候。
事情是這樣的,你玩著玩著,已經不滿足於一套衣服了。
看著別人的角色都可以換一堆配件,開關一堆什麼配件啥的,酷炫又好玩。
但你的角色只有一套衣服,物件還沒辦法收回去。
你打開了邪惡網站又挑了一件女裝,買了,裝了,但你發現同時只能啟用一件衣服,不然會重疊在一起。
那這時候要怎麼辦呢?
沒錯,這個東西一樣靠我們MA老大哥就能解決!
……不過,老實說我並不推薦上多件衣服,如果真的想要可以一件換衣,最好把衣服數量壓在5件內,總容量越少越好,不然你應該可以聽到你那個電腦不好的朋友在哀嚎,一隻500mb的角色不是鬧著玩的。
VRC因為玩家上傳內容的關係,每個角色都是手遊廠最喜歡喊的獨立建模。
那些手遊有肥多吃效能這邊我就不用再贅述了吧?
許多上玩家丈著自己不會lag,就狂塞猛塞撞限也不做任何優化,好友房到還好,但公開房人數一多就會導致整個決贊大lag,記憶體吃光光,CPU卡爛= =
仔細想想,還好VRC禁止Udon寫在角色身上,不然這遊戲應該是不能玩了。
雖然說造成卡頓的原因很多,也有可能單純就是unity太廢,但總之讓自己角色輕一點是準沒錯。
曾經,我只是把一隻角色的貼圖從4096全部壓成2048,我的fps就從90變成了120,你就知道角色耗能多大。
既然你還在這邊,在你把專案開起來之前,讓我們來談談你到底都做了什麼吧。
先從liltoon開始,這東西是一種shader,也就是你平常開某些大遊戲之前會看到的”編譯著色器”,這就是那個著色器。
那什麼是著色器呢?簡單來說他是一個告訴電腦怎麼畫圖的程式,透過著色器可以有不同的畫面表現,VRC裡面角色最常用的liltoon可以讓你的角色看起來更二次元,並且提供了一些能夠做到酷炫效果的框架,許多地圖也是需要和這個互動來形成各種光源表現。
你沒裝,你的電腦不知道要怎麼用這張貼圖,自然只會在你的模型上塗滿紫色。
又或者是你調成其他的,整個角色看起來就會很不對勁。
我到現在還沒用過不是用這東西的角色,基本上可以視為VRC角色類必備的東西了。
順帶一題,著色器能辦到的效果超乎你的想像,真的是只有你想不到。
下面一位,Modular Avatar。
這東西是基於VRC底下一個叫做非破壞性框架(NDMF)的衍生,可以在編譯階段套用而不需要直接大幅改變角色,以最大限度的保留角色檔案的完整性。
這樣之後要修改或者還原會方便很多,缺點就是會犧牲性能和不少的編譯時間。
一般在booth上面買到的東西都會是MA相容的,純玩日系不走歐美風的話MA即可。
與之類似的的還有一個VRCFury,歐美系的產品比較常見,效果基本是一樣的,但編譯過程更長,一般來說通常是一些很不妙的東西才會用這個。
兩者同時使用據說有一定機率會出現奇怪的bug,不是不行但不推薦,據說AAO就會卡bug,所以真的想弄E模的話最好是獨立出來處理。
這些工具不是必要的,但就是你得手動處理一切,有了這些你的改模會順暢許多。
當然,如果有那個閒情逸致建議是手動處理,這樣效能才讚OuOb
說到效能,上次最後你裝的那個AAO就是拿來增進效能的,它可以幫你在NDMF框架下進一步優化效能,無須直接對角色本身動刀即可自動減輕負載,真的是很優秀的東西。
手動優化的選項更多更強,但就是非常複雜,這個等之後熟了再說。
據我所知,VRC對於角色的各項限制似乎其實沒有很嚴格?
除了移動端因為效能的關係限制很多以外,PC端基本未壓縮容量不超過500MB似乎就沒問題。
依照衣服複雜度,這大概是10件左右的量。
說真的,玩到500mb,那幾乎是一個地圖的大小了,麻煩不要這麼做。
再介紹一個好用工具—Guster manager

這個酷東西能夠直接在unity內模擬實際上在VRC裡面的運作情況,只需要進去project manager裝起來就好,內部也有許多變數觀察工具可以使用,當你專案複雜起來之後每次要上傳都會花不少時間,有了這個就不用每次都要開VRC測試,會方便很多。
那我們差不多進入正題吧
最簡單的方式,直接在你要關閉的物件上面右鍵->MA->create toggle for selection

接下來,在tool裡面把這東西點開,在旁邊的物件列表裡面找到你的guster manager,切換過去後按下enter play mode
搭啦~VRC內的角色選單就這樣出現了。



↑這東西本來就有menu了,所以我再多一個toggle的話會長出兩個來
這個選單的效果和遊戲內除了某些奇怪的bug以外基本一樣,你可以測試角色內的各種開關和數值調整看有沒有正常運作,在懶得開VRC測試的時候是個好選擇。
你應該可以看到你朝思暮想的開關,試著撥動它,你剛剛設定的物件應該會消失。
這時候從上面頁籤切回scene,透過編輯模式就能自由調整視角檢查東西。
沒錯!你學會MA的開關了……最基本的。
其實從原理上來說,這遊戲的開關是”觸發動畫”。
因為角色上不允許外掛udon C#(VRC的腳本語言,基本上就是套皮unity C#),所以你能做的只有透過動畫和shader來做事情。
如果你對這塊很熟,推薦可以自己去寫動畫來控制,我自己是不想做出破壞性改動也不會弄所以靠MA撐場,但畢竟MA終究是別人寫好的東西,你不知道它到底幫你做了什麼,要打從底部優化還是得拋棄它。
……但這東西真的太方便了,我們還是先抱著它吧!
當你按下建立toggle的時候,實際上他做的事情是自動建立一個空的gameobject,然後在這個object裡面放上一個Menu Item+物品toggle並且綁到你剛剛叫他建立的物件上,同時再建立一個Menu Installer把在這個object裡面的item安裝到對應menu底下。

……嗯,聽起來很複雜對吧?
沒事,如果你懂物件導向,那就是把這個物件綁過去另一個物件的操作而已。
Menu Item負責建立一個控制Object Toggle的開關,Object Toggle負責控制指定unity物件的開關,而Menut Installer則負責把Menu Item(也就是你看到的toggle開關)安裝到角色原本的menu上面。
原本來說你應該要手動去改原本的角色menu,角色anime controller,角色paramater,多新增一個item,一個paramater,和一個animation來處理這些事情,但MA你只需要新增一個gameobject,把這些東西塞上去就結束了,是不是很棒?
讓我們詳細說說MA的開關……不,應該說選單系統吧!
有以下的幾種物件
Menu Group
Menu Install Target
Menu Installer
Menu Item
官方文檔說的不清不楚,總之這些是我自己整理出來的。
就讓我們先從最底層往上說吧。
Menu Item
顧名思義就是建立一個Menu物件。
對VRC來說,選單物件總共有幾種可能:
Button—僅能觸發一次的東西
Toggle—切換狀態,可以持久觸發
SubMenu—可以進到另外的選單
2/4AxisPuppet—有上下左右,或著上下的那個選單,這要怎麼用我還不知道
RadioPuppet—就是可以調胸部大小的那個,可以讓你調整int。
我們這邊只會用到Toggle和SubMenu,其他的東西可以暫時不用太在意,暫時是用不到的。
切換成Toggle之後,上面應該要放一個MA Object Toggle,這東西能夠把物件放進去,你就能直接了當的控制物件開關了。
SubMenu的話,如果你在旁邊Hierarchy底下還有放其他有menu item的物件,那它會自動把底下的物件吃進SubMenu裡面,目前這層就會是SubMenu的根。
對,這個Hierarchy部份的順序十分重要,如果可以的話,最好是認真的把這部份整理乾淨。
那麼,你要怎麼控制這些物件會出現在選單的哪呢?
是時候讓我們拿出另一個東西了。
Menu Installer
這東西會控制MA Menu Item元件安裝與否以及安裝位置,如果你蓋了一堆元件但沒有Installer把東西裝上去,那跟沒設一樣。
如果你不喜歡這個選單直接長在你的角色選單根目錄,就直接把它的位置改掉就好,安裝上超直覺。
順帶一題,SubMenu內部的物件不需要再放一個安裝,它會直接出現在你設定的Submenu裡面,之前我傻傻的自己多裝,結果選單就複製了一堆,整個雜到爆。
在改的時候,記得注意把多餘的Installer砍了。
Menu Install Target
這比較像佔位符,如果你想要把某個物件透過MA移動到SubMenu裡面的話,他會幫你在SubMenu的位置生成一個GameObject+ Install Target,這樣物件就會被安裝到子目錄裡面。
Menu Group
SubMenu的自動版,能夠把原本我上面說的那個結構精簡到只剩一個物件。
好處是物件比較少,就一個。
一般常用在別人做好的prefab上面,我自己用起來是很不順手。
我們這邊來實戰操作看看吧!
我這邊有一隻巧克力,那這隻巧克力總共有四件衣服,這四件衣服都想做開關,該怎麼辦呢?
沒錯,聰明的你肯定會想直接用create toggle for setlction解決一切,對吧?
嗯,不失是個辦法,再透過設定預設值,也可以辦到類似的效果。
不過你可以做的更聰明。
先從Hierarchy下手。
建立一個新物件,把東西先集中進那個物件裡面。
ok,從物件根目錄建立一個Menu Item/Toggle+Object Toggle+Menu Installer。
看向Object Toggle的部份,按一下那個+,把你的衣服全部拖進去,先選一件調成ON。

↑像這樣
把這個gameobject複製四份,每份有不同的衣服是ON的。

↑像是這樣
最後回到gusture manager,enter play mode。
試試看撥動每件的開關,是不是成功換衣服了呢?
最後在最外層新增一個Menu Item/submenu,再加上一個Menu Installer,回去把所有menu Installer拔了。


↑那個paramater的部份先保持空白,這是後面的事情了
搭拉~你獲得了一個更乾淨的menu ,讚啦。


↑我有把一些menu也一起搬進來,所以裡面會有其他東西
沒錯,這樣子就可以輕易的更換衣服了,也不會有同時多件衣服存在的情況。
但有沒有覺得,開了一件衣服之後其他的不會跟著關掉有點麻煩?
……嗯,不瞞你說,這個方法我也是最近才發現的。
首先,先在最上層的menu上面加上一個MA parameters。
新增一個參數,隨便取一個名子。

回到你要連動的開關上面,把這個名子輸入到參數的欄位,就像是上面那張圖一樣。
至於參數值的部份隨意,可以自己設定也可以不管它。
現在,再拿出gusture manager。
搭拉!是不是變成互斥選單了呢?
沒錯,當一個menu item共享一個變數的時候,就會影響到其他選單項的行為,畢竟我們剛剛說了,選單就是觸發變數改變而已。
這些東西都很好用,就是幾乎沒有任何圖文教學可以找,只能靠口耳相傳(?)或著是盯著一部長達30分鐘的影片學。
或許是VRC因為EAC事件之後遊玩人數也下降了吧,裝了EAC拖爛效能,還啥用都沒有,該被偷的角色還是照樣被偷,真的好笑= =
總之,這篇就先這樣吧,我們下篇見888888888
對了,縮圖的角色其實跟たま沒關係,我只是意外發現很像而已w
這篇在撰寫的時候是採用當下的最新版本
所有東西可能會隨著版本更新而有不同的使用方法或不同外觀/說明文字,本篇的說明可能會和你自身的情形有所出入,請自行注意。
也請注意隨時備份所有檔案。
打鐵趁熱,學unity也要趁CPU風扇還在全力運轉的時候。
事情是這樣的,你玩著玩著,已經不滿足於一套衣服了。
看著別人的角色都可以換一堆配件,開關一堆什麼配件啥的,酷炫又好玩。
但你的角色只有一套衣服,物件還沒辦法收回去。
你打開了邪惡網站又挑了一件女裝,買了,裝了,但你發現同時只能啟用一件衣服,不然會重疊在一起。
那這時候要怎麼辦呢?
沒錯,這個東西一樣靠我們MA老大哥就能解決!
……不過,老實說我並不推薦上多件衣服,如果真的想要可以一件換衣,最好把衣服數量壓在5件內,總容量越少越好,不然你應該可以聽到你那個電腦不好的朋友在哀嚎,一隻500mb的角色不是鬧著玩的。
VRC因為玩家上傳內容的關係,每個角色都是手遊廠最喜歡喊的獨立建模。
那些手遊有肥多吃效能這邊我就不用再贅述了吧?
許多上玩家丈著自己不會lag,就狂塞猛塞撞限也不做任何優化,好友房到還好,但公開房人數一多就會導致整個決贊大lag,記憶體吃光光,CPU卡爛= =
仔細想想,還好VRC禁止Udon寫在角色身上,不然這遊戲應該是不能玩了。
雖然說造成卡頓的原因很多,也有可能單純就是unity太廢,但總之讓自己角色輕一點是準沒錯。
曾經,我只是把一隻角色的貼圖從4096全部壓成2048,我的fps就從90變成了120,你就知道角色耗能多大。
既然你還在這邊,在你把專案開起來之前,讓我們來談談你到底都做了什麼吧。
先從liltoon開始,這東西是一種shader,也就是你平常開某些大遊戲之前會看到的”編譯著色器”,這就是那個著色器。
那什麼是著色器呢?簡單來說他是一個告訴電腦怎麼畫圖的程式,透過著色器可以有不同的畫面表現,VRC裡面角色最常用的liltoon可以讓你的角色看起來更二次元,並且提供了一些能夠做到酷炫效果的框架,許多地圖也是需要和這個互動來形成各種光源表現。
你沒裝,你的電腦不知道要怎麼用這張貼圖,自然只會在你的模型上塗滿紫色。
又或者是你調成其他的,整個角色看起來就會很不對勁。
我到現在還沒用過不是用這東西的角色,基本上可以視為VRC角色類必備的東西了。
順帶一題,著色器能辦到的效果超乎你的想像,真的是只有你想不到。
下面一位,Modular Avatar。
這東西是基於VRC底下一個叫做非破壞性框架(NDMF)的衍生,可以在編譯階段套用而不需要直接大幅改變角色,以最大限度的保留角色檔案的完整性。
這樣之後要修改或者還原會方便很多,缺點就是會犧牲性能和不少的編譯時間。
一般在booth上面買到的東西都會是MA相容的,純玩日系不走歐美風的話MA即可。
與之類似的的還有一個VRCFury,歐美系的產品比較常見,效果基本是一樣的,但編譯過程更長,一般來說通常是一些很不妙的東西才會用這個。
兩者同時使用據說有一定機率會出現奇怪的bug,不是不行但不推薦,據說AAO就會卡bug,所以真的想弄E模的話最好是獨立出來處理。
這些工具不是必要的,但就是你得手動處理一切,有了這些你的改模會順暢許多。
當然,如果有那個閒情逸致建議是手動處理,這樣效能才讚OuOb
說到效能,上次最後你裝的那個AAO就是拿來增進效能的,它可以幫你在NDMF框架下進一步優化效能,無須直接對角色本身動刀即可自動減輕負載,真的是很優秀的東西。
手動優化的選項更多更強,但就是非常複雜,這個等之後熟了再說。
據我所知,VRC對於角色的各項限制似乎其實沒有很嚴格?
除了移動端因為效能的關係限制很多以外,PC端基本未壓縮容量不超過500MB似乎就沒問題。
依照衣服複雜度,這大概是10件左右的量。
說真的,玩到500mb,那幾乎是一個地圖的大小了,麻煩不要這麼做。
再介紹一個好用工具—Guster manager

這個酷東西能夠直接在unity內模擬實際上在VRC裡面的運作情況,只需要進去project manager裝起來就好,內部也有許多變數觀察工具可以使用,當你專案複雜起來之後每次要上傳都會花不少時間,有了這個就不用每次都要開VRC測試,會方便很多。
那我們差不多進入正題吧
製作一個最簡單的開關
最簡單的方式,直接在你要關閉的物件上面右鍵->MA->create toggle for selection

接下來,在tool裡面把這東西點開,在旁邊的物件列表裡面找到你的guster manager,切換過去後按下enter play mode
搭啦~VRC內的角色選單就這樣出現了。



↑這東西本來就有menu了,所以我再多一個toggle的話會長出兩個來
這個選單的效果和遊戲內除了某些奇怪的bug以外基本一樣,你可以測試角色內的各種開關和數值調整看有沒有正常運作,在懶得開VRC測試的時候是個好選擇。
你應該可以看到你朝思暮想的開關,試著撥動它,你剛剛設定的物件應該會消失。
這時候從上面頁籤切回scene,透過編輯模式就能自由調整視角檢查東西。
沒錯!你學會MA的開關了……最基本的。
其實從原理上來說,這遊戲的開關是”觸發動畫”。
因為角色上不允許外掛udon C#(VRC的腳本語言,基本上就是套皮unity C#),所以你能做的只有透過動畫和shader來做事情。
如果你對這塊很熟,推薦可以自己去寫動畫來控制,我自己是不想做出破壞性改動也不會弄所以靠MA撐場,但畢竟MA終究是別人寫好的東西,你不知道它到底幫你做了什麼,要打從底部優化還是得拋棄它。
……但這東西真的太方便了,我們還是先抱著它吧!
當你按下建立toggle的時候,實際上他做的事情是自動建立一個空的gameobject,然後在這個object裡面放上一個Menu Item+物品toggle並且綁到你剛剛叫他建立的物件上,同時再建立一個Menu Installer把在這個object裡面的item安裝到對應menu底下。

……嗯,聽起來很複雜對吧?
沒事,如果你懂物件導向,那就是把這個物件綁過去另一個物件的操作而已。
Menu Item負責建立一個控制Object Toggle的開關,Object Toggle負責控制指定unity物件的開關,而Menut Installer則負責把Menu Item(也就是你看到的toggle開關)安裝到角色原本的menu上面。
原本來說你應該要手動去改原本的角色menu,角色anime controller,角色paramater,多新增一個item,一個paramater,和一個animation來處理這些事情,但MA你只需要新增一個gameobject,把這些東西塞上去就結束了,是不是很棒?
讓我們詳細說說MA的開關……不,應該說選單系統吧!
MA的選單系統
有以下的幾種物件
Menu Group
Menu Install Target
Menu Installer
Menu Item
官方文檔說的不清不楚,總之這些是我自己整理出來的。
就讓我們先從最底層往上說吧。
Menu Item
顧名思義就是建立一個Menu物件。
對VRC來說,選單物件總共有幾種可能:
Button—僅能觸發一次的東西
Toggle—切換狀態,可以持久觸發
SubMenu—可以進到另外的選單
2/4AxisPuppet—有上下左右,或著上下的那個選單,這要怎麼用我還不知道
RadioPuppet—就是可以調胸部大小的那個,可以讓你調整int。
我們這邊只會用到Toggle和SubMenu,其他的東西可以暫時不用太在意,暫時是用不到的。
切換成Toggle之後,上面應該要放一個MA Object Toggle,這東西能夠把物件放進去,你就能直接了當的控制物件開關了。
SubMenu的話,如果你在旁邊Hierarchy底下還有放其他有menu item的物件,那它會自動把底下的物件吃進SubMenu裡面,目前這層就會是SubMenu的根。
對,這個Hierarchy部份的順序十分重要,如果可以的話,最好是認真的把這部份整理乾淨。
那麼,你要怎麼控制這些物件會出現在選單的哪呢?
是時候讓我們拿出另一個東西了。
Menu Installer
這東西會控制MA Menu Item元件安裝與否以及安裝位置,如果你蓋了一堆元件但沒有Installer把東西裝上去,那跟沒設一樣。
如果你不喜歡這個選單直接長在你的角色選單根目錄,就直接把它的位置改掉就好,安裝上超直覺。
順帶一題,SubMenu內部的物件不需要再放一個安裝,它會直接出現在你設定的Submenu裡面,之前我傻傻的自己多裝,結果選單就複製了一堆,整個雜到爆。
在改的時候,記得注意把多餘的Installer砍了。
Menu Install Target
這比較像佔位符,如果你想要把某個物件透過MA移動到SubMenu裡面的話,他會幫你在SubMenu的位置生成一個GameObject+ Install Target,這樣物件就會被安裝到子目錄裡面。
Menu Group
SubMenu的自動版,能夠把原本我上面說的那個結構精簡到只剩一個物件。
好處是物件比較少,就一個。
一般常用在別人做好的prefab上面,我自己用起來是很不順手。
我們這邊來實戰操作看看吧!
我這邊有一隻巧克力,那這隻巧克力總共有四件衣服,這四件衣服都想做開關,該怎麼辦呢?
沒錯,聰明的你肯定會想直接用create toggle for setlction解決一切,對吧?
嗯,不失是個辦法,再透過設定預設值,也可以辦到類似的效果。
不過你可以做的更聰明。
先從Hierarchy下手。
建立一個新物件,把東西先集中進那個物件裡面。
ok,從物件根目錄建立一個Menu Item/Toggle+Object Toggle+Menu Installer。
看向Object Toggle的部份,按一下那個+,把你的衣服全部拖進去,先選一件調成ON。

↑像這樣
把這個gameobject複製四份,每份有不同的衣服是ON的。

↑像是這樣
最後回到gusture manager,enter play mode。
試試看撥動每件的開關,是不是成功換衣服了呢?
最後在最外層新增一個Menu Item/submenu,再加上一個Menu Installer,回去把所有menu Installer拔了。


↑那個paramater的部份先保持空白,這是後面的事情了
搭拉~你獲得了一個更乾淨的menu ,讚啦。


↑我有把一些menu也一起搬進來,所以裡面會有其他東西
沒錯,這樣子就可以輕易的更換衣服了,也不會有同時多件衣服存在的情況。
但有沒有覺得,開了一件衣服之後其他的不會跟著關掉有點麻煩?
……嗯,不瞞你說,這個方法我也是最近才發現的。
首先,先在最上層的menu上面加上一個MA parameters。
新增一個參數,隨便取一個名子。

回到你要連動的開關上面,把這個名子輸入到參數的欄位,就像是上面那張圖一樣。
至於參數值的部份隨意,可以自己設定也可以不管它。
現在,再拿出gusture manager。
搭拉!是不是變成互斥選單了呢?
沒錯,當一個menu item共享一個變數的時候,就會影響到其他選單項的行為,畢竟我們剛剛說了,選單就是觸發變數改變而已。
這些東西都很好用,就是幾乎沒有任何圖文教學可以找,只能靠口耳相傳(?)或著是盯著一部長達30分鐘的影片學。
或許是VRC因為EAC事件之後遊玩人數也下降了吧,裝了EAC拖爛效能,還啥用都沒有,該被偷的角色還是照樣被偷,真的好笑= =
總之,這篇就先這樣吧,我們下篇見888888888