$bonemerge
< Zh
Jump to navigation
Jump to search
$bonemerge
是一个QC命令,可在所有的 起源 游戏中使用。
它用于在指定骨骼上设置`$bonemerge`标志,作为对游戏代码的提示,表明该骨骼将在游戏中被用于骨骼合并(参见Attachments )。如果未设置此标志,骨骼仍可用于合并,但会收到性能警告。

$bonemerge
还有以下几种替代用途:
- 通常†可以防止studiomdl在模型编译期间折叠骨骼。作为优化过程的一部分,`studiomdl`会尝试从输出的MDL 文件中剔除非必需的骨骼。主要目标是以下两类骨骼:1) 没有顶点权重分配的骨骼,以及 2) 其顶点权重仅分配给它自身的骨骼。未使用的骨骼会被直接移除,而在后一种情况下,骨骼会被删除,其顶点权重会转移到其父骨骼上。通过在这些骨骼上设置`$bonemerge`,可以强制`studiomdl`将它们保留在输出的MDL文件中。在模型骨架的每个骨骼上设置`$bonemerge`,可能†会确保整个骨架在引擎中可用。
- `$bonemerge`标志是程序化驱动表情 的关键组成部分。程序化骨骼必须设置`$bonemerge`标志,才能使该技术生效。
SFM通常会在大纲视图和视口中隐藏$proceduralbones 。在程序化骨骼上设置`$bonemerge`可以强制SFM始终显示它们。
语法
$bonemerge <骨骼名称>
在Notepad++中编写Bonemerge
目前尚无自动化功能,但可以使用Notepad++的正则表达式手动完成此操作。此过程大约需要两分钟。

- 在Notepad++中打开您的mesh.smd文件。
- 将文件顶部的骨骼名称复制到一个新的空白文件中。
- 按下Ctrl&H进入“替换”模式。
- 在“查找目标”字段中输入:
^\s*\d+\s*"(.+)"\s*-?\d+\s*$
- 在“替换为”字段中输入:
$bonemerge "\1"
- 确保". 匹配新行"选项已禁用。
- 点击“全部替换”。
现在,您可以将这些行粘贴到您的QC文件中,或将其用作QCI文件。