UID28847性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-1-29最后登录1970-1-1
| 本帖最后由 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(材质包封面图片)
复制代码
图片来自Microsoft Learn
二、将材质包识别为延迟渲染包
首先,创建一个清单文件(manifest.json)
示例:
- {
- "format_version": 2,
- "header": {
- "description": "示例材质包",
- "name": "延迟渲染示例材质包",
- "uuid": "a11b58f3-af08-4801-838f-682ef391f9d6",//建议更改uuid
- "version": [1, 0, 0],
- "min_engine_version": [1, 20, 30]
- },
- "modules": [
- {
- "description": "示例材质包",
- "type": "resources",
- "uuid": "131b2eba-90ab-4fd9-be83-f07934aa76ad",//建议更改uuid
- "version": [1, 0, 0]
- }
- ],
- "capabilities" : [ "pbr" ]
- }
复制代码
在末尾大括号前添加 "capabilities" : [ "pbr" ] ,以使Minecraft将其识别为pbr材质包
三、定向光照global.json设置
在材质包根目录/lighting文件夹内创建名为global.json的文件
示例:
- {
- "format_version": [1, 0, 0],
- "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": [0.0, 0.0, 1.0]
- },
- "actors": {
- "global_metalness_emissive_roughness": "#0000ff"
- }
- }
- }
复制代码 1.材质包中时间的表示
示意图:
图片来自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 // 午夜
- }
复制代码
效果展示
更改前
更改后
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": [19, 19, 8, 10]
复制代码
当然,也可搭配时间达到更好效果,格式同光照角度,此处不做展示
效果:
5.自定义点光源(仅1.20.40.20+可用)
示例及格式如下:
- "point_lights": {
- "colors": {
- "minecraft:soul_torch": "#FFFFFF"//(格式:"物品命名空间": "hex颜色代码")
复制代码
注意事项:自定义点光源目前只支持部分方块
效果:
至此,关于延迟渲染光影包基本结构以及global.json的教程已经结束,感谢观看!
祝所有读者都能做出好看的延迟渲染光影包!
其他资源:
样板包下载(来自官方教程,可直接基于此包进行创作):https://pan.huang1111.cn/s/dNgqcV
Microsoft Learn教程地址:https://learn.microsoft.com/en-u ... rred-lighting-jsons
同系列教程(未完工) Minecraft延迟渲染从入门到精通#2——pbr材质包制作教程
Minecraft延迟渲染从入门到精通#3——大气折射参数自定义教程 |
评分查看全部评分
|