ResModelLegoInfoCustom.lua文件中的数据如下:
[10086320] = {
ID=10086320,
Desc="翅膀20",
ModelType=4,
ModelArgs={'7002'},
WeaponR=0,
WeaponL=0,
Wing=0,
Mount=0,
Treasure={},
Fx={},
WeaponRFx={},
WeaponLFx={},
WingFx={},
HeadFx={},
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-07 16:05:19 |
👁️ 阅读: 9
从你提供的 `ResModelLegoInfoCustom.lua` 配置数据来看,存在几个关键问题,导致翅膀模型无法正确挂接到角色身上,从而出现 `boneName is null` 的错误。
主要问题如下:
1. **`Wing` 字段配置错误**:
在你的 `ResModelLegoInfoCustom` 配置中,`Wing` 字段的值为 `0`。这个字段用于指定翅膀的模型资源ID,它应该对应 `ResModelInfoCustom` 表中的模型ID。你之前提到的 `ResModelInfoCustom` 表中翅膀模型的ID是 `7002`,但这里却配置为 `0`,这表示没有配置任何翅膀模型。
2. **`ModelArgs` 字段使用不当**:
你配置的 `ModelArgs` 为 `{'7002'}`。这个字段的用途根据 `ModelType` 的不同而不同。当 `ModelType=4`(代表翅膀)时,`ModelArgs` 应该直接填写模型资源ID,即 `7002`。然而,对于翅膀类型的乐高配置,正确的做法是通过 `Wing` 字段来指定模型ID,而不是 `ModelArgs`。`ModelArgs` 字段在翅膀类型下通常不用于此目的。
**正确的配置方法**:
要修复这个问题,你需要修改 `ResModelLegoInfoCustom` 表中的这条配置。正确的配置应该将 `Wing` 字段设置为你在 `ResModelInfoCustom` 表中定义的翅膀模型ID(即 `7002`),同时将 `ModelArgs` 字段置空或根据实际需要调整。
修改后的配置示例应为:
```lua
[10086320] = {
ID=10086320,
Desc="翅膀20",
ModelType=4,
ModelArgs={}, -- 翅膀类型通常不在此配置模型ID
WeaponR=0,
WeaponL=0,
Wing=7002, -- 关键修改:这里填写 ResModelInfoCustom 表中的翅膀模型ID
Mount=0,
Treasure={},
Fx={},
WeaponRFx={},
WeaponLFx={},
WingFx={},
HeadFx={},
ChestFx={},
ModelSize=1,
BodyEffect=0,
},
```
**总结**:
`changeappear(actor, 3, legoId)` 接口中的 `legoId` 对应的是 `ResModelLegoInfoCustom` 表的ID(即 `10086320`)。该表通过 `Wing` 字段关联到 `ResModelInfoCustom` 表中的具体模型(`7002`)。`ResModelInfoCustom` 表则负责定义该模型的挂接骨骼(`BoneWing="HP_wing"`)和旋转偏移(`ExtOffset`)等详细信息。
当前配置中 `Wing=0` 导致乐高配置没有指向任何有效的翅膀模型资源,因此系统在尝试挂接时无法找到对应的骨骼信息,从而报错。请将 `Wing` 的值修正为 `7002`。
← 返回问答库