# 渲染控制器
# 作者:境界
渲染控制器帮助开发者控制生物如何渲染在游戏世界中的表现。它与动画控制器可以被视为自定义生物最难的两个部分。原版生物中,不是所有生物都只有单一表现。例如村民战争更新后,村民根据群系拥有不同皮肤,热带鱼拥有数千种组合,狼在生气时会红眼等,这些都是由渲染控制器所控制,同时又以JSON结构存放在游戏本地文件当中。除了阅读教程之外,原版文件同样是天然而又深度的教材,希望开发者能在学习过程中对于原版文件进行额外的知识补充。
{
"format_version":"1.8.0",
"render_controllers":{
"controller.render.default":{
"geometry":"Geometry.default",
"materials":[
{
"*":"Material.default"
}
],
"textures":[
"Texture.default"
],
"overlay_color":{
"r":0,
"g":0,
"b":0,
"a":0
},
"on_fire_color":{
"r":0,
"g":0,
"b":0,
"a":0
},
"is_hurt_color":{
"r":0,
"g":0,
"b":0,
"a":0
}
}
}
}
# format_version
format_version是指代定义渲染控制器文件的版本号,目前只有1.8.0这一格式版本号。
# controller.render.
每个控制器都必须以controller.render.为固定前缀。后面的名称可以以生物名称作区隔。
# material
material意为材质。同样,值写为"Material.材质键",其中材质键为英文字符,会对应生物定义文件中,material对象下的键,它的值则会引向材质资源。
# texture
texture意为贴图纹理。同样,值写为"texture.贴图键",其中贴图键盘为英文字符,会对应生物定义文件中,贴图对象下的键,它的值则会引向贴图纹理资源。
# overlay_color
overlay_color意为叠加颜色。类似于图像处理软件的颜色叠加模式,其中r代表红色,g代表绿色,b代表蓝色,a代表透明程度。RGB是色彩中的三原色。在控制器中,值是由颜色分量除以255得出的。例如,RGB(255,0,0)表示红色,则在上述颜色值内填上"r": 1.0,"g": 0.0,"b": 0.0,"a": 1.0。
# on_fire_color
on_fire_color意为生物实体着火时的颜色。在MC中默认为红色,若不自定义此项则会继承原版生物着火的颜色,自定义形式同overlay_color。
# is_hurt_color
is_hurt_color意为生物实体受伤时的颜色。在MC中默认为红色,若不自定义此项则会继承原版生物受伤的颜色,自定义形式同overlay_color。
进阶
15分钟