Rig Mesh Transfer Tool(骨骼网格体转移工具)介绍
Rig Mesh Transfer Tool(骨骼网格体转移工具)介绍
Rig Mesh Transfer Tool(骨骼网格体转移工具)是一款用于在不同的骨骼架构(Rigs)之间转移网格体(Meshes)的工具。它允许你使用新导入的模型自动更新现有的对象(例如 Avatar 虚拟形象),并在需要时自动更新骨骼和混合变形(Blend shape)信息。
如何获取该工具
Rig Mesh Transfer Tool 可以在 Resonite Essentials(Resonite 基础库)中找到。
使用该工具
装备该工具后,按下次要操作(单击次键)按钮将选择一个对象作为“源(Source)”。这应该是你想从中提取转移数据的新版本模型。
装备该工具时,你选定的源网格体(Source mesh)名称会显示在屏幕角落的 HUD 上。你可以通过使用轮盘菜单(Context menu)中的“Clear source(清除源)”按钮来清除已选定的目标。
选择好源网格体后,你可以对着另一个不同的对象执行主要操作(单击主键),以将网格体和骨骼转移到该对象(即目标对象)上。
可能出现的问题
在最简单的情况下,该工具应该能够自动完成所有操作。然而,如果源对象和目标对象之间存在较复杂的差异(例如新增了网格体或更改了网格体名称),该工具可能需要一些人工干预。
该工具不会在目标网格体上转移或创建材质(Materials)。如果源网格体使用了新材质,在您手动将它们添加到目标 SkinnedMeshRenderer(蒙皮网格渲染器)的 Materials(材质)列表之前,它们将不会被渲染显示。
该工具通常无法完美处理源对象中“全新增加”的网格体(详见下文)。如果你试图添加一个全新的网格体(例如一件衣服),你最好在使用该工具之前,先在目标对象上手动创建一个名称匹配的新插槽(Slot),并为其添加 SkinnedMeshRenderer 组件。
同样地,该工具会尝试更新目标对象上的所有网格体。因此,如果你在目标对象上故意保留了一个源对象中不存在的网格体,它很可能会在转移过程中损坏。
转移算法原理解析
以下是该工具在运行过程中使用的算法的详细概述。如果转移失败或出现问题,这有助于你正确理解和诊断转移过程。
- 第一步:算法会在源对象和目标对象的骨架(Armature)之间创建一个映射。它通过查找两个对象
Rig组件中的骨骼来实现,并且通过名称来匹配骨骼。如果两个对象都有VRIK组件,解算器的骨骼引用也可以用作备用的匹配依据(这允许在遵循人形 IK 骨骼要求的不同骨架之间进行映射)。 - 第二步:算法会遍历目标对象中所有的
SkinnedMeshRenderers组件,并尝试将它们与源对象上的组件进行匹配。首先会尝试通过确切的名称进行匹配;如果名称不匹配,则退而求其次,选择顶点数最接近的网格体。匹配成功后,算法会从源对象复制新的网格体资产,同步混合权重(Blend weights),并将骨骼链接到骨架上。 - 第三步:如果目标对象具有
VRIKAvatar和VisemeAnalyzer组件,算法会在目标对象上重新设置口型(Visemes)。 - 第四步:最后,目标对象的
Rig组件将被更新,以包含所有的骨骼。
参见
- Fixes and Improvements for the Rig Mesh Transfer Tool · Issue #332 · Yellow-Dog-Man/Resonite-Issues(Rig Mesh Transfer Tool 的修复与改进提案)



No comments to display
No comments to display