【教程】Gmod布景&渲染完全指南 您所在的位置:网站首页 gmod地图制作教程 【教程】Gmod布景&渲染完全指南

【教程】Gmod布景&渲染完全指南

2024-03-02 15:15| 来源: 网络整理| 查看: 265

注:本教程字数为1万5千字左右,需要word文档可以私信我

诸位好,这里是szyejc,一个用gmod作图和做动画的玩家

不知道你们有没有注意,gmod主菜单里一直变化的背景

质量与其他细节看上去完全“不gmod”

比如这两张

这两张壁纸均出自Vioxtar之手,并且都是通过gmod+ps完成的

站内有一个搬运他作图过程的视频,可以先简略看看来对本指南有个粗略的认知

由于我是一个作图和动画党,如何提高作品质量这件事一直让我双眉不展

无论是贴吧或是别的什么地方,都只有基础的打光教程(如果有遗漏,我对此表示抱歉)

有次翻创意工坊素材时,无意间看到【Soft lamps】这个插件

而它的简介里没有介绍如何使用,仅仅标注了“完整教程的网址在这个链接里”

费了蛮大力气把100多M的pdf下好之后打开一看

英文教程,将近1万的字数,整整86页,把我吓傻了,不愧是“完整教程”

花了几天把这个教程看完,也实际操作了之后,觉得如此精品绝不应该因为语言而被埋没

于是有了翻译的想法,3天的爆肝也总算翻译完了

好了,废话说完了,进入指南吧

The Complete Garry’s Mod Scene Rendering Guide 

Gmod布景完全渲染指南

 

原作者 Vioxtar

汉化/文本润色 szyejc

 

介绍

让我们来看看在gmod里怎么布景和渲染

然后,让它脱胎换骨

 

本指南将涵盖作图的各方面细节

以及提供理论和实践基础

从头到尾,分为布景、渲染、图层堆叠以及后期阶段

我们要优先考虑“质量的一致性”(即 不能半途而废)

然后,关注图形渲染中可能最重要的两个方面

光照和材质

 

本指南中的方法和步骤

旨在创造在起源引擎允许的范围内

输出高画质图像并扩展起源引擎的图形限制

利用它能提供的所有功能

因此,相较于直接截图而言

整个工作流程会变得相当有技术性

需要付出更多时间和精力

对于一些人来说

较长的渲染时间

复杂的操作之类的

会很劝退

所以,本指南是给那些愿意为高质量作品付出额外努力的人所准备的

本指南推荐

一步步跟着学,然后自己作图

一步一步来,不要跳步

指南的工作原理是展示什么是正确

而不是单纯地解释它

每一步都有它的目的!

 

*需要PS之类的后期软件

 

*因为我们目的是“真实的光影渲染”

例如应用真实的光照效果到我们的渲染里

我们要对不同的光学和图形等理论进行各种尝试

理解它们,会让我们能够保持作品的准确性和质量

并且了解在做什么以及为什么

 

"在开始之前,我想提一下:

其中某些技术和步骤

启发于/基于以前的指南 比如

SonOfBrim的照明控制后期 /Z 深度指南

Darkomni 的阴影质量指南

我感谢以上二位

我所做的是进一步发展这些概念,并拓展一些内容

以及添加我自己的想法

对此,很遗憾提前重复了涉及的一些概念,

但出于指南可读性和一致性,这样做是必要的

此外,我要感谢NeatNit本人以及他的Soft Lamps插件 (以下简称SL)

SL仅可用于单人游戏

不多说了,来看点理论

我们一步步学习怎么把gmod的图像 从这种

变成这种

当我们知道如何应用这些方法在更复杂的场景后就可以仅用1h完成这种操作

首先,了解要改变和完成什么

我们应该很容易看出第一张图哪里不好

然后对比第二张图 可以找到如下方面进行改进

光照、纹理、后期

(如果这些玩意你都了解的话 可以跳过了.)

光照

在对两幅图间的差异时

首先想到的可能是打光

第一张图由单个光源实体照明

显然这个布景效果不理想也不合理

无论它布景多么好

 

什么是“光源实体”?

它通常由【光源】工具生成

创建一个"动态光"(DLight)

这只是源引擎的提供多种"光"形式之一

DLight有一个大问题:不会产生投射阴影

因此,简单地通过平均分配更多的Dlight、调整颜色、亮度和大小之类的行为

来改善你的作品的想法

都不正确

无论添加多少Dlight

整个场景看上去还是很不对劲

Dlight以压倒性的优势占主导地位

并且与现实中光效完全不同

它们唯一的功能

是基于两个值的照亮物体

1.      与DLight 源的距离

2.      物体的角度  

我们把这技术称为“创造阴影”(原文 shading)

图为球体和立方体有无阴影的情况

注意,着色对象并不投射阴影

它们的多边形只是根据它们与假想光线的垂直程度而变亮

Shading有多种形式和方法

至今仍广泛应用于计算机图形学中的各种绘制软件中

 

注意,没有阴影的球体和立方体(左边的图)

在控制台中输入 mat_fullbright  1就可以切换到这种模式

这是因为命令mat_fullbright  把光照与阴影剔除(成为全局光照)

留下纹理(图左边部分)

在起源引擎中广泛使用了 Shading

但这也误导了我们这些作图者

因为它不是真正的光

我们想要比这Dlight更"真实"的东西

 

真实光照的工作方式不同,其功能比普通的Shading复杂得多

在计算机图形里(仅对其中的一部分进行显化)

有许多不同的方法来复刻真实光照

术语- 如光反弹、折射、

反射、辐射、扩散、环境遮蔽和光线追踪

都是我们尝试以数学的方式来定义光及其属性的

下面是一个示例

称为光辐射

Pass=通路

我不是物理学家,也不是渲染软件工程师

所以为了我们的目的,绝不这么搞渲染

因为这技术变化非常迅速

并且在gmod里表现不好

但是,我们确实需要记住这些

我们才会知道要为了什么级别的精度而努力

为了达成目的,我们将专注于一个类型的照明

称为直接照明(见上图1st Pass)

直接照明只是意味着(与真实光照不同)

除了进入我们的眼睛

照明在表面的光不会以任何其他方式反射

直接照明过程和以反射或扩散光谱形式反射光的过程之间

差别是非常大的

直接照明  /  光辐射

幸运的是,起源引擎支持直接照明

并且可以通过创建"投影纹理"(我们称之为 PT,Projected Textures)

PT一般由 【灯具】创建

如你所料,PT是起源引擎提供的另一种形式的"光"

与DLight不同,

可以制造阴影

灯具PT

投影纹理, 字面意思, 通过将该图像的每个像素拉伸到3D光线中

把2D图像(或纹理)处理成3D或 2.5D投影

效果就像你的标准投影机一样

PT 可以在渲染器里以多种不同的形式显示

而且有多种用途,例如将纹理应用于材质

在我们的例子中,起源引擎利用这些技术来产生类似光的表现,特别是直接照明

通过赋予投影图像自身的阴影,产生其自身的光

而不是受上面的图像中的例如PT的现有光的影响

此外,此投影是2.5D的(这意味每个像素的光线会停止在其第一个轨迹)

因此带来基本的阴影映射

回到这2张图

图1.      只使用Dlight

图2.      只使用 PT

实际上,第二张图有近3000个PT

每个独立的PT会创造自己的阴影

以及从不同位置、角度,用不同的光强照亮布景

第二张图中没有任何Dlight

仅仅添加一个Dlight都会与初衷背道而驰

因为Dlight这玩意不会产生投影

从现在开始

PT是你的朋友

DLight是你的敌人

↑经验法则,记好了↑

“哇浪!Vioxtar兄!我压根不会把2000多个投影纹理丢到布景里,

我只能用一个或两个,然后剩下的用Dlight打光!这根本没差啊!”

 

你书的队!这有一个来自现实的类似图片

一座阳光照着的房子

房子的周围似乎同样照亮了所有侧面

而且没有太多的阴影

很像一个Dlight的效果...对吧?

“很像一个Dlight的效果”

就扯淡吧,看看这些是什么

这些不是阴影是什么???

看到这些随处可见的黑点了吗?

它们在我们感知房子的形状、深度

以及整体几何结构的能力中非常重要

即使它们很小,而且通常不被注意

在形状几何学意义上

它们只是狭窄裂缝/通路

很少有光线能够从中脱离,并被我们看到

这些小黑点 -阴影的"极端"积累 - 至关重要

我们不能忽视他们

就像作图的时候我们添加愚蠢的Dlight来布景一样

这些玩意存在现实中的任何地方

看看你周围

然后就会注意到它们无处不在,这似乎非常显而易见和⑨

当然了,这些“黑点”无论怎么说,都不是啥特别的玩意

它们并非是自成一派的阴影

它们只是阴影的另一个"形式",是精确照明的副产物

我的看法是,想创造这类阴影,或者任何类似的阴影,都没有捷径

你必须把一大堆的PT放在你布景中的不同位置

不然,阴影保真度会丢失的

这意味着,狭窄通道内的亮度水平,将更接近物体外表面的亮度水平

无论我们所说的是亮还是暗

幸运的是,在本指南用的方法会顾及这方面

与散射的、分离的二维射线不同,设置好的PT实际上是正确散布的

既然我们只使用直接照明,就不必担心太多

来看看另外的图加深概念

注意到阴影了吗

“所以换言之,环境光遮蔽? 我懂了!

我可以直接后期修图来跳过渲染的繁琐步骤了!对不对?”

搞笑!环境光遮蔽只是近似阴影的累积,并且总是不准确

与Shading一样,它有许多不同的形式

通常依赖于渲染目标的Z值来确定什么是或不是"窄通道"

这可能在纸上看起来不错

但真实阴影不长这样

 

对于环境光遮蔽和阴影,一般存在很多误解

人们倾向于认为这是两个东西

有些人认为环境光遮蔽也存在在现实

实际上,环境光遮蔽只是另一种计算机图形算法

只是为了适当弥补的阴影缺乏,而且并不能准确模仿它们

如果在布景里添加正确的阴影

 

我们就不需要后期去人为添加环境光遮蔽(比如Nvidia 控制面板)

很幸运,为布景添加精确的阴影正是本教程要做的

纹理

第一张图和第二张图间的第二个区别是

建筑的纹理、地面和其中一些树叶

正如你所想那样

纹理在第一张图用的是默认的

即使它们非常好(这些常见于自定义模型)

但它们往往缺乏我们希望给予图片的'力量'(原文juice,有点意思)

并且有时纹理不够清晰,需要"升级"到统一的平滑度

纹理的应用,我们有时倾向于忽略这玩意

因为默认纹理就长那样,但它们经常令人失望

 

纹理会让布景世界的氛围大有不同

它们有能力赋予一个物体“外观”

当涉及到它对特征的感知和描绘时

可能是物体/场景的第三重要的品质

(第一重要的是真实的模型几何结构,第二重要的是模型照明)

 

世界末日场景,物体会生锈、腐烂、褪色

沙漠场景,黄沙漫天

森林/沼泽场景,苔痕上阶绿,霉雨入帘青

干净的、未来的场景,可能要考虑让一切事物都有光泽和反射

但是呢

世界末日场景的渲染你不一定要尖叫

"我没在世界末日场景里用该有的纹理”

当然,尸体、建筑残骸和赤裸裸的树都意味着末日

但如果我们专注于一台车呢?

 

想象这个APC在未来都市巡逻,维护秩序

未来都市

但如果APC的纹理长这样 那显然我们不能被“未来都市”说服

异尘余生

回头看第一个建筑的图,我们也许可以理解

建筑被遗弃了 ,老旧且破败

因为它的一个窗户被路障挡住

那如果我们不想把窗户堵住来表明它已被废弃呢?

如果我们不想把这种决定留给观众的想象呢?

用纹理!

在第二张图中

我们更容易猜测建筑物的当前状态

因为有青苔以及它所展现的腐烂破败

 

运气很好, 起源引擎把控材质可比它把控光源舒服多了,

所以该担心的东西少了很多

即便如此,我们仍应该了解一些纹理相关的技术

 

起源引擎中的顶点照明(原文VertexLitGeneric)阴影

就是应用于效果、物体、布娃娃的阴影

无论我们在场景里放了什么东西

每个顶点照明一般附带材质

材质由一组参数组成,每个参数都有自己的值

其中一些参数也是纹理

典型模型可能会利用三个主要材质中的纹理

 基本纹理、细节纹理、凹凸贴图纹理

【材质】工具替换实体的材质

意思就是着所有纹理的整体替换

每种材质都将具有不同的组合,并授予模型不同的外观和感觉

 

我们可以以两种方式利用纹理并将其合并到渲染中

1. 游戏里

2. 后期

游戏中的材质应用一般上是用【材质】工具完成的

这工具让我们只能控制实体的一部分实际外观

当然现在也可以用我编码的【Advanced Texturizer】(创意工坊搜索即可)

这让我们对纹理有了更多的控制(我用它做了上面的图)

之后我会解释如何使用【AT】,会有一篇关于它的单独指南(我没找到也没翻译)

本指南将专注于后期纹理应用

因为这相对简单

次要编辑&前期准备

这里没有太多要补充的

说明一下,通过'次要'编辑,我的意思是

“次要”不包含增加元素

如鸟类、烟雾或爆炸

对于我们而言,"次要"编辑包括

一些校正和"辅助"添加如

调色,调节噪点数量,添加氛围,校正纹理一致性等

显然,第二张图拥有所有这些东西

而第一个没有

把这三个概念正确用到工程中

照明、纹理和次要编辑

这些就是是渲染像第二张图所需的全部

理论说够了,来做点准备吧:

 

你需要的玩意:

1. gm_black_v2地图

2. Soft Lamps【SL】

3. PS或类似的后期软件(美图秀秀算了吧)

4. 对GarrysMod\garrysmod\cfg/autoexec.cfg这个文件进行补充:

(请注意每个代码后面只有一个空格 如果有多个 请自行删除 255 255这个不算)

a. cl_maxrenderable_dist 7000

b. cl_detaildist 5000

c. mat_compressedtextures 0

d. mat_queue_mode 2

e. mat_bumpmap 1

f. mat_clipz 0

g. mat_autoexposure_max 2

h. mat_autoexposure_min 2

i. mat_disable_bloom 1

j. mat_specular 0

k. Mat_mipmaptextures 0

l. r_lod 0

m. r_flashlightshadowatten 0

n. r_projectedtexture_filter 0

o. r_DrawBeams 0

p. mat_depthbias_shadowmap 0

q. mat_slopescaledepthbias_shadowmap 0

r.  r_shadowcolor 255 255 255

s. r_flashlightdepthre #  -- 最高乘法   1024  (1024 x #,#是最高数据)

数字可能[  ]) 游戏在它崩溃之前允许的最高数据,, 例如 40958976.

 (原文Where # should be the highest multiplication of 1024 (1024 * highest

number possible = #) that your game allows before it crashes, in our case 40958976.)

5.此外,以下Bind指令可以派上用场(绑定按键):

a.  bind [ r_flashlightdrawfrustum 1(用线框显示光照范围)

b.  bind ] r_flashlightdrawfrustum 0

c.  bind , mat_fullbright 1(全局光照开关)

d.  bind . mat_fullbright 0

 

我们会在一个完全可控的环境里开始布景,这意味着

1.      没有不可移动的世界生成对象

2.      也没有可以进入布景的地图自带光照

还需要一个支持【雾】编辑的地图

并且它要有一个可以编辑的天空盒

真好,gm_black_v2啥都有

加载gm_black_v2并生成天空盒编辑器和雾编辑器

啥都有

以防我们没有计划好布景规模大小还有想要的摄影视野

建议在地图的一角定位,这样就不会被空气墙限制

但最好别太近边缘了

比如在这

在布景之前,控制台输入mat_fullbright  1

如果生成太多Dlight,不仅不产生阴影,也会卡/崩溃你的图形驱动

输入这玩意

下一步,不是布景,别急着上手, 下一步是搞个【相机】

.把【静态摄像机】和【切换】勾上

这个不用翻译了吧

现在,这个相机永远不会移动

我听说有人先布景 ,布景完之后才考虑摄像机位置该放哪(注:草,我就是)

这种操作不仅降低了工作流程的效率

也损害了你在整体上找到好角度摄影机会

在这儿,不要这么干

我们为摄像机布景

相机是命

相机是爱

尊重相机

 

让我们布个景

为了做这个指南,我在30分钟内搞定了

切换到相机视图

看看如何组成最终输出效果

因为我们会添加实际的”光“到场景里

不得不额外注意被穿模和浮空的实体

如果他们不应该穿模或浮空

那就确保物体之间确实相互接触了

否则创造出的阴影容易感觉不自然

这没得妥协

确实要接触彼此,别穿模和浮空

看这玩意!!已经做完半数准备工作了

下一步 把背景和雾移除

打开你的雾和天空盒编辑器

并设置两种颜色的黑色,禁用绘制xingxing1选项,并降低黄昏强度

然后雾密度减少为 0       

反正按图来就完事了

接下来,用【颜色】工具使地板完全变黑

一定要全黑

还有地图下方的天空盒

我们现在应该有了一个没有雾的场景

并且有一个全黑(0,0, 0)的背景

请务必确保RGB为0,0,0(注:听话,指南最后会解释的)

不然等下很麻烦(you’re gonna have a bad time)

现在是时候设置摄像机的缩放以及旋转的数值了

用相机武器来设置,直到你满意

相机的代码结构同时使用旋转值和缩放值

因为它很重要,我们能够多次复制这个确切的帧

甚至跨越不同的存档(重启游戏后)

必须将数值保存起来

为了保存,来用两个简单的 Lua 函数

(注:推荐用【Advanced Camera】,Vioxtar兄写这教程的时候【AC】还没出)

在控制台中键入这些:

lua_run print(Entity(1):GetWeapon("gmod_camera"):GetZoom())

lua_run print(Entity(1):GetWeapon("gmod_camera"):GetRoll())

这些值很重要

第一个设置缩放值

第二个设置旋转值保存

把数值保存到记事本上,如以下功能:

 

lua_run Entity(1):GetWeapon("gmod_camera"):SetZoom(#)

lua_run Entity(1):GetWeapon("gmod_camera"):SetRoll(#)

#为数值

(注:帧就是指相机视野的画面)

现在,复制精确帧所要做的就是在控制台中键入这些指令,然后就成了

不要跳过此步,这很有用

 

快完成设置了,而且很快就要开始渲染了

在此之前,我们需要确保所有图形设置都达到最大值

进入Nvidia/AMD控制面板,抗锯齿满上

(禁用FXAA,这不是我们追求的,AO也不太理想)

gmod画质也满上

注意!不要启用高动态范围!(运动模糊下面那玩意 关掉)

 

好!现在我们有

一个设置好地图

一个完整的布景

一个摄像头

一个保存的静画

画质满上

身体健康

是时候开始渲染了

但在开始"渲染"之前,我们需要了解"渲染"的真正内容

这内容下期继续

好的,感谢诸位的观看

下期再见



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有