教學
最低要求
版本:Unity 2022.3或更高版本
Render Pipeline:BRP/URP/HDRP
Package:Unity Mathematics 1.2.1或更高版本
(VRChat模式)Package:VRChat SDK
(VRChat模式)Package:NDMF(Non-Destructive Modular Framework)1.7.0或更高版本
已驗證環境
即使使用相同的作業系統/硬體配置,顯示器配置、顯示卡驅動程式版本、Unity 環境設定等環境因素也可能導致特定問題或故障。
此外,由於VRCSDK和NDMF版本之間的差異,NDMF模式的操作可能會出現問題。
| PC1 | PC2 | |
|---|---|---|
| UnityVersion | 2022.3.22f1 6000.0.30f1/42f1/62f1 |
2022.3.22f1(Apple silicon) 6000.0.62f1(Apple silicon) |
| OS | Windows11 24H2 | macOS Sequoia 15.6 |
| CPU | AMD Ryzen9 9950X3D | Apple M4 |
| GPU | GPU: NVIDIA RTX 5090 iGPU: Radeon Graphics |
M4 iGPU |
安裝
對於那些在下載、安裝或使用軟體時遇到問題的人
已確認下載被偵測為特洛伊木馬。
此外,我們也確認了僅在某些環境下使用該工具時才會出現的問題。
對於造成您的不便,我們深表歉意,但如果出現問題疑難排解請檢查。
-
EreMorph
從分發站點 EreMorph_v.x.x.x.zip 下載。解壓縮內部 EreMorph_v.x.x.x.unitypackage 開啟並ImportUnity專案。
不要使用從非官方來源獲得的文件
連結目的地該工具未分發到其他任何地方。 以上述以外方式傳播的資料均為第三方未經許可的二次傳播。 從上述以外的連結取得的UnityPackage可能包含惡意腳本。
-
Package: Unity Mathematics(外部連結)
如果你安裝了VRChat SDK,那麼假設是一起安裝的沒有問題。
該工具使用Unity Mathematics來轉換SkinnedMesh。
如果未安裝此軟體包,SkinnedMesh 將無法如預期運作,除非處於休息姿勢。如果專案中未安裝Unity Mathematics,則會顯示自動安裝對話方塊。 (1)
-
(VRChat模式)Package:VRChat SDK
如果安裝了VRChat SDK,則執行該工具。VRChat模式可以使用 來移動它。 在VRChat模式下,可以附加此元件進行上傳,但由於意外Mesh的風險,我們建議盡可能安裝下面的NDMF。
-
(VRChat模式)Package: NDMF (Non-Destructive Modular Framework)(外部連結)
ModularAvatar 或者 lilycalinventory 如果您正在使用,則它已經安裝。
為 VRChat 頭像建立非破壞性編輯器插件的框架。 如果安裝了這個包,NDMF模式您可以變更上傳頭像時的行為。
如何使用
-
工具分配
從使用 Mesh Renderer / Skinned Mesh Renderer 將 Component 新增到Object EreMorph 或者 EreMorph (VRChat)添加。
-
EreMorph
Runtime Mode:Unity。
該元件將被強制分配給沒有 VRCSDK 的項目。基本上,假設將輸出並使用Mesh,但由於元件保留在 Play Mode 中,因此也可以使用 Play Mode 進行校正和攝影。
-
EreMorph (VRChat)
Runtime Mode:VRChat。
該元件將從 Play Mode 中刪除。即使有元件,這也允許您上傳到 VRChat。
NDMF模式透過變更 ,將自動執行MeshExport → 分配。
Information
即使在分配之後,也可以透過更改Runtime Mode來切換元件類型,同時維護資料。
-
-
新增Morph Unit/分配Morph Data Asset
EreMorph 將Morph Unit(變形資訊)作為資料資產儲存在 Assets/EreMorph_Assets 中。
當您新增Morph Unit時,它將自動建立並分配。
當創建一個新的新增初始預設如果啟用,將會新增特定的群組單元,並將群組指定為 Prebake。
初始預設內容
-
PreBakeGroup(PreBakeUnit)
自動地 烘烤至基礎Mesh (Prebake) 已指定。
Prebake指定的群組內的Morph Unit不寫為Shape Key,而是寫為具有當時權重的基體。
因此,如果您想「更改底座的形狀」(例如透過校正或形狀變更),請變更此內部Morph Unit。
-
BlendShapeUnit
這是一個普通的Morph Unit。寫為Shape Key。
可以透過使用過去創建的資產來重複使用和共享Morph Unit資料。
MorphData 資產與目標 Mesh相容 開啟後,您可以顯示在元件指派時與 Mesh 屬性具有相同目標 Mesh的資料資源清單。
-
-
(選項)PreBake 單位設定

設定為 PreBake 的Morph Unit 群組不會寫為Shape Key,而是寫為對基體的變更。
編輯設定為 PreBake 的Morph Unit以進行穿透校正和形狀更改,並使用其他Morph Unit建立Shape Key。
設定為 PreBake 的單位為選項編輯其他Morph Unit時將繼續保留權重。這將建立一個在每個Morph Unit中根據變更後的形狀建立Shape Key移動的流程。
-
編輯Morph Unit

按下任何Morph Unit的編輯按鈕即可進入編輯模式。
Tips 有效如果是這樣,編輯視窗將顯示簡單的說明。
編輯視窗選項您可以在Scene View和視窗顯示之間切換。
-
(選項)更改群組模式/更改Build/Export設定

如果要將一組中的Morph Unit合併到一個Shape Key中,請變更合併模式。
合併模式詳細資訊

NDMF Build/MeshExport設置 您可以覆蓋Shape Key或套用Shape Key權重。
-
(選項)Shape Key動畫設置
使用 NDMF 建立頭像時,建議使用其他工具自動建立動畫和 FX 註冊。
→ 一個例子Import/BlendShape 同步標籤的同步BlendShape列表按下 將暫時在 Edit Mesh中新增一個空Shape Key。
-
頭像上傳/MeshExport

最後,如圖所示,使用 Prebake 修改原始形狀,並使用其他零件建立Shape Key。
基本上,作為Shape Key寫入的Morph Unit在寫入時的權重為 0。
正確的是,它指的是 SkinnedMeshRenderer 的 BlendShapeWeight,因此如果該指數的權重過去已更改,則它可能不會為 0。
所以, 導出Mesh時因權重改變而外觀改變的Morph Unit/群組 將顯示警告標記“⚠️”。
如果將其指定為要烘焙的Morph Unit、權重為 0,或啟用了將權重應用於Shape Key的選項,它將消失。
為防止意外變形,建議無此顯示上傳。
編輯模式操作
處於編輯模式
點選 選擇單一頂點
拖放 您可以使用 選擇一個矩形。
Ctrl 按住可在選擇與不選擇之間切換,
Shift 按住可進行其他選擇。
選擇多個頂點時
Pivot/Center 切換(快速鍵:Z)
您可以將移動原點變更為最後選取的頂點和中心。
移動 (快速鍵:W)
旋轉 (快速鍵:E)
規模 (快速鍵:R)
工具是可以改變的。
上述快捷鍵也可以在常規 Unity 上使用。
您可以透過右鍵單擊來顯示上下文功能表。 您可以將選定的頂點、權重在選定頂點的半徑範圍內的頂點以及所有頂點返回到編輯開始時的位置或Mesh的初始位置。
握住手把的同時 移動滑鼠滾輪 和 影響場半徑可以調整。
表面距離模式 握住手把時 按住 Alt(選項鍵)的同時移動滑鼠滾輪 和 連接閾值ε(m) 可以進行微調。
移動手柄、調整半徑、調整閾值——所有這些都可以透過按住 Shift 來更精確地移動。
保持拖曳如果啟用該選項,則每個編輯設定可以改變以即時反映計算模式和對稱性。
保持拖曳啟用該選項後,您可以透過變更選定的頂點或變更工具來固定位置。
關於超出頂點權重的編輯
即使使用此工具移動頂點,與該頂點關聯的頂點權重也保持不變。
因此,超出加權骨骼的編輯可能不會產生預期的運動。
如果你想“將所有東西從原始重量所在的骨骼移動到另一個骨骼”頂點權重重新映射請嘗試此操作,因為它可以修復。
請注意,有些衣服是受RotationConstraint控制的。
如何在 NDMF Build中移動Shape Key
將來,我想為每個Morph Unit單獨指定控制類型等,並在內部完成該過程,但即使現在它也可以透過與其他工具結合使用來實現自動化。
舉個例子 lilycalinventory 的 LI SmoothChanger 下面是使用的設定方法。
做起來很簡單
將 LI SmoothChanger 新增至頭像中的任何物件並設定「BlendShape 切換」而不指定Mesh。
如果指定Mesh,則只能設定Mesh的Shape Key,但如果為空,則可以指定文字。
2.0.0 或更高版本
在 EreMorph 2.0.0 及更高版本中暫時更新Shape Key列表有一個按鈕可以執行此操作,因此如果使用此按鈕,即使在指定Mesh後也可以指定它。
設定後
- 指定Mesh=>該Mesh的匹配Shape Key
- Mesh保持為空 => Shape Key在頭像之間匹配
移動。

防範措施
該工具的基本功能是在分配元件時「用複製的Mesh替換 MeshFilter/SkinnedMeshRenderer 的 Mesh 屬性進行編輯」。
因此,如果您使用變更 Mesh 屬性的工具、編輯 Mesh 的工具或執行此類操作的 NDMF 預覽,則可能無法正常運作。
與此類工具結合使用時,具有 NDMF 預覽行為的工具將被關閉,而沒有預覽行為的工具將被Mesh化。出口請在使用其他工具之前排除該工具的影響。

