PBR基于物理的光照纹理包绘制-教你做我的世界光追材质包(理论篇)

PBR基于物理的光照纹理包绘制-教你做我的世界光追材质包(理论篇)

首页休闲益智我的世界基岩版材质包更新时间:2024-04-20

此文原文链接: https://www.nvidia.com/en-us/geforce/guides/Minecraft-rtx-texturing-guide/

此文已发布到个人博客:https://www.xiaoblogs.cn/?p=588

基岩版Minecraft(我的世界,下述所说的我的世界均为基岩版),即将加入光线追踪(简称:光追)的支持。届时玩家和建筑师们能见识到无与伦比的景观和类现实环境。充分利用光线追踪的特性需要先知道物理材质,是一种有额外的材质纹理细节、能发出光线等特性的材质。

在这个教程中,我们将一步一步的来创建自己的光追纹理包。或者更新自己的纹理和纹理包。因此,你的我的世界光追版本将充分利用我的世界基岩版的光追特性

另外,我们将会演示如何创建一个高分辨率材质用于一个由高清晰度的方块组成的栩栩如生的世界,并且,此教程会有一个可选的、简单、容易的工作流workflow教你使用优秀的绘图软件(Photoshop等)

这个教程使用的是基岩版存档,需要转换存档点这里。而且还要知道基本的游戏玩法和存档使用的方法等,同样还要最新的支持Minecraft光追的显卡驱动(目前Minecraft基岩版不支持光追)

这里放几张Minecraft开启光追和使用了相应材质的图片,帮助没见过的人有相应的了解。

Minecraft 纹理概述

在Minecraft的Vanilla纹理包(这里翻译成纹理更正确,也就是平时说的材质包)中有许多的文件用两种法线:基础颜色和模糊(不透明度)。基础颜色法线在纹理的RGB通道中,这个纹理法线也就是我们许多人认为的Minecraft纹理(材质包)

许多纹理也有另外的模糊法线都在α通道中(.TGA纹理文件)或隐藏(.PNG纹理文件)。在Minecraft光追中使用的.TAG纹理将在稍后提到

左为基础颜色法线,右为模糊法线

新的PBR系统用到了这两种法线以及另外四种法线用来描绘真实世界材质的纹理

纹理转换成游戏中对象材质的过程

各种各样的PBR纹理法线通过以下简单过程对应游戏中对象的材质

6PBR纹理法线 -> 打包 -> 变为3个纹理文件.PNG格式 -> 前面几步简而言之 -> 纹理设置 -> 每一个游戏中方块都重复前面步骤 -> 对应到Block/Item/Object

目前,每6个PBR法线打包进3个纹理文件的通道中供游戏使用。打包法线可减少总体纹理包大小和新纹理集中的纹理的数量

eg.一个PBR下的金矿石方块

纹理文件1 = gold_ore.png文件

纹理文件2 = gold_ore_mer.PNG

纹理文件3 = gold_ore_normal.PNG

NOTE:在最终的版本里,通道打包系统将升级为“纹理集”系统,有更灵活的文件命名方式和纹理法线/通道管理方式。同样,仍然可以使用原有的通道打包系统不需要重新处理你的原来的纹理文件,对于RTX我的世界Minecraft版本请使用上文提到的通道打包列表

所需工具

可以用下列工具创建纹理集

此教程的绘图工具软件是PS,但是聪明的你学习了PS其他的软件也是同样的道理

模糊法线

模糊法线在RTX游戏下能很好的使用,并且在Minecraft中适合用于玻璃、树叶这类材料。需要在纹理文件1的α通道中绘制并且保存文件格式为32位/像素的.TGA文件替换.PNG文件。否则,模糊法线将不能正常工作

NOTE:在Minecraft RTX版本中,在RTX开启和关闭的状态下都是用同一个纹理包。当RTX关闭时调整的模糊度太低导致当RTX启用时太透明(opacity value的值太低)。RTX启用的时候,Minecraft仅会让阿尔法通道值在0.5-1的范围内来避免上述的情况,且在游戏里对应全部的模糊范围,不会有功能上的损失。RTX关闭时也对应的全部模糊的范围

例如:

  1. 纹理的A值为0[黑]
    RTX开启,纹理模糊度=0[完全透明]
    RTX关闭,纹理模糊度=0[完全透明]
  2. 纹理的A值为0.5[灰]
    RTX开启,纹理模糊度=0[完全透明]
    RTX关闭,纹理模糊度=0.5[50%不透明]
  3. 纹理的A值为0.75[浅灰]
    RTX开启,纹理模糊度=0.5[50%不透明]
    RTX关闭,纹理模糊度=0.75[75%不透明]
  4. 纹理的A值为1[白]
    RTX开启,纹理模糊度=1[不透明]
    RTX关闭,纹理模糊度=1[不透明]

新PBR纹理法线

PBR系统中你处理纹理时不用使用全部PBR法线,根据下面的说明可以做出很好的纹理包

金属材质法线 – 一个像素怎么能表示方块有多像金属?

我的世界Minecraft中的大多数方块的表面都是凹凸不平的,但可以用金属材质法线控制像素为金属[上图的白色像素]和非金属材质[上图的黑色像素]。金属像素更像金块,而非金属像素更像黄色的塑料

发光材质法线 – 有多少像素是发光的?

粗糙材质法线 – 怎么用像素表示粗糙的感觉?

上面的青金石矿的表面有金属的质感,白色的像素控制方块的粗糙程度,黑色像素控制光滑程度。剩下的像素[灰色]控制方块的质感在粗糙和光滑之间。

常规法线 – 怎么用像素表示凹凸不平?

高度法线 – 其实,常规纹理文件也作为高度法线

高度法线有很多的限制,仅用于像素纹理材质比如16×16的vanilla香草材质。如果是非像素化的纹理,请用常规法线代替高度法线

当通道以特定方式设置时将常规纹理文件当成高度法线

R通道[red channel] = 高度法线[灰度]

G通道和B通道的值都应该为0,否则,游戏将把高度法线当作常规法线

此教程为翻译原文,有出入请移步评论区。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved