模型篇
物品附加模型
通过 NBT 为物品模型挂载附加模型
物品附加模型
物品模型支持在定位器上额外渲染附加模型。通过在物品的 NBT 中写入附加模型数据,即可在物品模型的指定位置叠加渲染其他模型。
典型应用场景:武器配件系统、装饰挂件、可组合的模块化装备。
普通物品模型和第一人称动画模型均支持此功能。
工作原理
- 附加模型渲染在物品模型的指定定位器位置上
- 每个定位器可以绑定一个附加模型
定位器依附于骨骼
将定位器创建在某个骨骼的下级,附加模型会继承该骨骼的旋转角度,跟随骨骼运动。
NBT 数据结构
附加模型数据存储在物品 NBT 的 extra_model 复合标签中,每个键值对表示一个定位器与模型的绑定关系:
| 字段 | 说明 |
|---|---|
| 键(Key) | 物品模型中的定位器名称 |
| 值(Value) | 要挂载的附加模型 ID |
使用示例
模型准备
- 在物品模型中创建用于挂载配件的定位器(如
scope_extra、muzzle_extra),注意,所有额外附加模型定位器需要以_extra结尾。 - 准备配件模型
设置附加模型
- 通过插件 API 或 NBT 编辑工具为物品写入
extra_model数据。 - 也可以直接通过
/a item setExtraModel <key> <value>进行设置
写入后物品的 NBT 中会包含:
效果预览
每个定位器只能绑定一个附加模型。重复写入同一定位器会覆盖之前的模型。移除某个配件只需删除对应的 NBT 键即可。
