Minecraft延迟渲染从入门到精通#1——基本文件结构以及global.json教程
本帖最后由 portedboar44215 于 2024-2-5 20:45 编辑零、介绍
众所周知,mojang在Minecraft bedrock1.20.30.20起添加了延迟渲染功能,大大地提高了基岩版画质。其实官方也有相应教程,但是由于原文无中文翻译且较多专业名词,导致教程生涩难懂。于是我基于官方文档创作了这个教程系列
一、认识文件结构
首先介绍一下延迟渲染光影包的最基本文件结构
🗃️延迟渲染示例包.mcpack
📁lighting
↳📃global.json(负责全局定向光照)
📃atmospherics.json(负责环境光散射等)
📁textures
↳📁blocks(方块材质包)
…(其他)
📃manifest.json(材质清单文件)
📃pack_icon.png(材质包封面图片)
https://cdnjson.com/images/2023/09/30/rp_file_structure.png
图片来自Microsoft Learn
二、将材质包识别为延迟渲染包
首先,创建一个清单文件(manifest.json)
示例:
{
"format_version": 2,
"header": {
"description": "示例材质包",
"name": "延迟渲染示例材质包",
"uuid": "a11b58f3-af08-4801-838f-682ef391f9d6",//建议更改uuid
"version": ,
"min_engine_version":
},
"modules": [
{
"description": "示例材质包",
"type": "resources",
"uuid": "131b2eba-90ab-4fd9-be83-f07934aa76ad",//建议更改uuid
"version":
}
],
"capabilities" : [ "pbr" ]
}
在末尾大括号前添加 "capabilities" : [ "pbr" ] ,以使Minecraft将其识别为pbr材质包
三、定向光照global.json设置
在材质包根目录/lighting文件夹内创建名为global.json的文件
示例:
{
"format_version": ,
"directional_lights": {
"sun": {
"illuminance": {
"0.0": 1.0,
"0.25": 400.0,
"0.35": 20000.0,
"0.5": 109880.0,
"0.65": 20000.0,
"0.75": 400.0,
"1.0": 1.0//太阳光照强度
},
"color": [ 255.0, 255.0, 255.0, 255.0 ]//太阳光照颜色
},
"moon": {
"illuminance": 0.27,//月亮光照强度
"color": "#ffffffff"//月亮光照颜色
},
"orbital_offset_degrees": 3.0//定向光照角度
},
"point_lights": {
"colors": {
"minecraft:soul_torch": "#FFFFFF"//自定义点光源
}
},
"pbr": {
"blocks": {
"global_metalness_emissive_roughness":
},
"actors": {
"global_metalness_emissive_roughness": "#0000ff"
}
}
}
1.材质包中时间的表示
示意图:
https://learn.microsoft.com/en-us/minecraft/creator/documents/media/deferredlighting/key_frame_times_of_day.png
图片来自Microsoft Learn
0.0:午夜
0.25:日出
0.5:正午
0.75:日落
2.更改日月偏转角度
首先找到global.json中的"orbital_offset_degrees": 字段
可在冒号后添加偏转角度(角度制)
示例:
"orbital_offset_degrees": 45
也可配合时间达到更好的效果
示例:
"orbital_offset_degrees": {
"0.75": -45.0, // 日出
"1.0": 0.0, // 中午
"0.25": 45.0, // 日落
"0.0": 0.0 // 午夜
}
效果展示
更改前
https://cdnjson.com/images/2023/09/30/122056iat6kv2jj90l00a0.png
更改后
https://cdnjson.com/images/2023/09/30/125309szd2up800kqyhmhq.png
3.更改日月照度
有时候,你可能会觉得示例文件中的白日亮度过高,就可以更改文件中的"illuminance": 后的值来解决(单位:勒克斯)
例如:
"illuminance": {
"0.00": 1.0,
"0.25": 10.0,
"0.35": 400.0,
"0.50": 5000.0,
"0.65": 1000.0,
"0.75": 40.0,
"1.00": 1.0//太阳光照强度
注:此参数不适用于部分不支持自动曝光的GPU
4.日月光照颜色
该参数存储在 "color": 后,可使用hex颜色代码或RGB颜色代码
示例:
hex:
"color": "#ffffffff"
RGB:
"color":
当然,也可搭配时间达到更好效果,格式同光照角度,此处不做展示
效果:
https://cdnjson.com/images/2023/09/30/-2023-08-30-12110701.png
5.自定义点光源(仅1.20.40.20+可用)
示例及格式如下:
"point_lights": {
"colors": {
"minecraft:soul_torch": "#FFFFFF"//(格式:"物品命名空间": "hex颜色代码")
注意事项:自定义点光源目前只支持部分方块
效果:
https://cdnjson.com/images/2023/09/30/133906rmj4xxyms14z4jwt.png
至此,关于延迟渲染光影包基本结构以及global.json的教程已经结束,感谢观看!
祝所有读者都能做出好看的延迟渲染光影包!
其他资源:
样板包下载(来自官方教程,可直接基于此包进行创作):https://pan.huang1111.cn/s/dNgqcV
Microsoft Learn教程地址:https://learn.microsoft.com/en-us/minecraft/creator/documents/deferredlighting#deferred-lighting-jsons
同系列教程(未完工)
Minecraft延迟渲染从入门到精通#2——pbr材质包制作教程
Minecraft延迟渲染从入门到精通#3——大气折射参数自定义教程 6666666666666 好冷清的评论区 支持好友(虽然我不想做) 狠狠地支持一波(虽然我不玩1.20 请问颜色代码分别是哪些? 我做了一个特别阴间的 学不会... 感谢分享!
页: [1]