Files
2025-08-25 18:36:29 +08:00

2.9 KiB
Raw Permalink Blame History

front, hard, time
front hard time
进阶 15分钟

渲染控制器

作者:境界

渲染控制器帮助开发者控制生物如何渲染在游戏世界中的表现。它与动画控制器可以被视为自定义生物最难的两个部分。原版生物中不是所有生物都只有单一表现。例如村民战争更新后村民根据群系拥有不同皮肤热带鱼拥有数千种组合狼在生气时会红眼等这些都是由渲染控制器所控制同时又以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。