丢失了好多文章,故更新一波,开一个新坑 CG

不论是 LWRP 还是 ShaderGraph 都已经不是什么新技术了

# CG 杂谈

计算机图形学(ComputGraph)简称 CG ,是一门研究计算机图形图像处理的学科,将符号或电子信号可视化是一门比较晦涩难懂的东西,比如 傅里叶变换 用于研究声音和波的关系,让波得以表示。众所周知,建模时我们总是使用三角面来构成一个模型,以三角面的数量来衡量一个模型的精细程度。从三维物体坐标系到二维的屏幕坐标系,深度如何表示?遮挡关系如何计算?这就是 CG 所研究的东西,计算机图形学也被称为程序员的浪漫,这就是这个系列要说的东西。

# LWRP

LWRP (轻度渲染管线) 是 unity 推出的可自定义的渲染管线,其初衷是为了移动平台和轻度主机平台。在轻度渲染管线下,我们可以对渲染管线做更多的设置和处理,并且可以使用 shaderGraph 可视化的 shader 编辑器像连连看一样完成 shader 的编写。
通过 shader 我们可以实现许多视觉效果,如飘动的红旗,水面的倒影,卡通人物渲染等;有些可以使用模型来解决但使用 shader 不仅高效还能处理许多模型无法解决的东西。

不知道你是否看过游戏的模型,或者说取解包过游戏,很多游戏,模型可能并没有游戏中那么漂亮
但是通过 shader,光照,后处理等,玩家看到的就是非常赞的效果了!(就好像是美颜滤镜一样)

# HDRP

HDRP (高清渲染管线) 如名字所言,是专门在对画面质量要求较高的主机或 PC 端开发游戏所使用的。(但 unity 开发大型游戏真的够呛,目前在我看来 ue4 可能更适合)
使用 HDRP 我们可以更高程度的自定义我们的渲染系统,要知道在游戏引擎中,渲染占据了很大的一块。

# Shader 的基础认知?

关于 shader 的基础认知,我在之前曾写过一篇文章(虽然没写完),我会抽空把那篇文章写完的。
如果有兴趣不妨去看看:[传送门] unity 图形学 渲染流程

# LWRP 下 Shadergraph 的搭建

Unity版本 2019.3.0f6
听了这么多,也许你还是比较懵吧,没事。让我们来揭开 shader 的神秘面纱吧

  1. 首先安装如下依赖包:

  2. 创建渲染管线资源并设置:
    值得一提的是,在 unity2019.3 中已经将 LWRP 更名为 UWRP 了,unity 想在之后让 LWRP 变成通用的渲染管线取代原先的 Stand 渲染管线;所以我们需要创建一个 UWRP 的资源。

  3. 使用 UWRP
    首先我们创建一个 Cube,一个材质,一个 PBRGraph(基于物理的 shader)。

# PBRGraph?

这里补充一点小知识,所谓 PBR 就是基于物理的渲染,什么叫做基于物理的渲染呢?简单的说就是原先的模型在绘制贴图时,贴图师就会直接在贴图上绘制好高光,粗糙度,磨损等,这是基于经验的固定化的处理。而基于物理的渲染则是通过复杂的计算和光照模型的影响,动态的计算出模型的细节,让模型处于不同的环境中能够有不同的表现,是基于环境影响的。

打开 PBRGraph:
创建如下结点并连接
PBRGraph
然后将 shader 指定到对应材质,将材质指定到我们的 Cube,尝试调整数值吧。

到这里我们已经知道如何基本的使用 shaderGraph 了呢,但你可能会说,这不是自带 shader 就拥有的功能吗?

# 做一个边缘发光效果

下面我们使用菲涅尔效应做一个简单的边缘自发光,其 shadergraph 如图所示,通过菲涅尔结点指定一个发光颜色和强度来实现。(非常简单吧)

效果图:
边缘发光效果

# 做一个顶点动画

通过顶点偏移我们可以实现一个波浪或是,旗帜飘动的效果:
主要是使用顶点偏移通过 sin 正弦方式。

效果如图:

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Fasty 微信支付

微信支付

Fasty 支付宝

支付宝

Fasty 贝宝

贝宝