渲染控制器¶
本页列出国际版资源包render_controllers/目录中渲染控制器定义文件的主要结构。渲染控制器用于为客户端实体和附着物选择几何体、材质、纹理和部分渲染属性。本页不包含中国版网易ModSDK接口。
根对象¶
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format_version | 版本 | 未设置 | 渲染控制器文件使用的格式版本。官方示例使用1.8.0。 |
render_controllers | 对象 | 未设置 | 渲染控制器定义字典。键为控制器标识符,值为控制器对象。 |
控制器对象¶
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
arrays | 对象 | 未设置 | 定义可由Molang表达式索引的资源数组。可包含纹理、几何体和材质数组。 |
geometry | Molang表达式 | 未设置 | 选择客户端实体定义中Geometry.前缀的几何体短名称。 |
materials | 数组 | 未设置 | 将骨骼名称或通配符映射到Material.前缀的材质短名称。 |
textures | 数组 | 未设置 | 选择一个或多个Texture.前缀的纹理短名称,或选择纹理数组中的元素。 |
part_visibility | 数组 | 未设置 | 按骨骼名称控制模型部件可见性。 |
overlay_color | Molang表达式或数组 | 未设置 | 控制覆盖色,通常用于实体受伤、着火等效果。 |
light_color_multiplier | Molang表达式或数组 | 未设置 | 控制光照颜色乘数。 |
ignore_lighting | 布尔值或Molang表达式 | 未设置 | 控制实体渲染是否忽略环境光照。 |
资源数组¶
arrays可为同一资源类型声明多个候选值,并在geometry、materials或textures中使用Molang索引选择。数组元素应引用客户端实体定义中已经声明的短名称。
纹理数组示例
{
"arrays": {
"textures": {
"Array.skins": [
"Texture.wild",
"Texture.black",
"Texture.red",
"Texture.siamese"
]
}
},
"textures": [
"Array.skins[query.variant]"
]
}
材质映射¶
materials数组中的每个元素为一个键值对。键可以是骨骼名称、带通配符的骨骼匹配模式或*,值为材质短名称。引擎按数组顺序匹配,通常将更具体的骨骼规则放在通配符之前。
示例¶
豹猫渲染控制器示例
{
"format_version": "1.8.0",
"render_controllers": {
"controller.render.ocelot": {
"arrays": {
"textures": {
"Array.skins": [
"Texture.wild",
"Texture.black",
"Texture.red",
"Texture.siamese"
]
}
},
"geometry": "Geometry.default",
"materials": [
{ "*": "Material.default" }
],
"textures": [
"Array.skins[query.variant]"
]
}
}
}
挂接位置¶
渲染控制器标识符通常在客户端实体定义的description.render_controllers数组中引用。控制器内部使用的Geometry.、Texture.和Material.短名称来自同一客户端实体定义的geometry、textures和materials映射。