原文地址:UE4 美术学习笔记和经验
原文作者:liuk718

以下内容针对入门或者入门不久的美术们。
一.在迪斯尼shader体系(ue4)中:金属漫颜色非纯黑,而传统PBR shader体系(Vray)中金属的漫反射是纯黑的,所以在UE4中的漫反射颜色应按照传统渲染(Vray)中反射颜色(使用RGB衰减曲线控制反射颜色另当别论)来调。
二.玻璃材质漫反射为1(纯白),metal 为1,opacity大概0.5(视情况),材质类型(blend mode)改为translucent,出现折射项后,用lerp(混合)节点从1混合1.517,遮罩alpha则连接菲涅尔节点(无任何参数),如要透过玻璃看到后面物体的反射,玻璃材质需要将translucent lighting mode调为surface。
三.ue4中和vray一样,默认单面渲染,所以对于半透明物体,需要开启two side 才能把背面信息进行计算,比如单面的纱帘,如果没有厚度,纯单面模型,则需要开启two side才能计算背面的受光情况,在vray中叫做Vray 2sidematerial,在ue4中则在mesh面板勾选,而且游戏引擎对于单面模型,还有个特殊性就是只渲染法线正面面对视角的面,
就是说一个片,不勾选2side,又是法线背面对着视角,将会看不见,vray则不存在这个问题,只是会另一面不计算信息而已,但至少面对视角的面是肯定会计算的。
四.对于一名美术来讲,最重要的G点莫过于材质面板各种节点的运用,对于习惯了像Vray之类的离线渲染流程的过渡到游戏引擎的美术人员,有一点很大的变化就是:之前的各种渲染是面板把种种功能图形化了,使用者在图形化的面板来进行操作,例如在Vray里面有“混合”贴图界面,“合成”贴图界面,“输出”贴图界面,而且各种功能的名字会考虑到美术使用者而不会强调其中的数学原理,例如“VrayDirt污垢贴图”,实际上它是很多数学节点的图形化集合。但是在游戏引擎中,图形化的界面被各种节点取代,使用者会更多的接触到相对数学层面的操作模式,所以下面就要讲一讲个人对UE4中的这些节点的认识。
在这之前,先想说说图形学和数学的关系。其一,任何一个颜色,由RGB三原色构成,包括Alpha透明,在数学层面,其就是4个通道的数字,无论其数字是整数还是小数。任何一个空间位置,也是由xyz三个坐标值(三通  道)来表示,其也是数字,包括移动,旋转,缩放,无非就是在原点三通道基础上附加上另外一个向量xyz值。所以无论我们处理一个颜色的变化(贴图变化也是颜色变化),还是处理一个空间变量,本质上就是对其的数字的处理。所以,无论“混合”也好“衰减”也好,它们本质就是数字的处理,并且如果我们把输入量当做X(这里的X可以是四通道的数据如颜色,也可以是三通道的数据如坐标和向量,也可以是单通道如时间),输出量当做Y(示意同左),这些功能都可以画出它们独特的曲线。 我们运用这些节点的目的,无非就是让颜色,时间,空间这些冷漠的数字,按我们的要求让它们相互转化,或者自己和自己转化。
接下来要讲的就是具体的这些“功能”的曲线,只要输入了一个X值,就会输出对应的Y值。
以下配图顶上部分的颜色条,是为了单纯的显示当输入值X变化时,输出值Y当作颜色是什么颜色(在UE4中规定了颜色范围由0到1表示,可以是范围内的任意数字),如果输出值Y超出了0到1的范围,则显示的是颜色的变化关系,并不是准确的对应关系。
1.ABS节点(“绝对值”曲线):

X

其特点就是不会输出为负的值,一定程度上适用于颜色(UE4中RGB值在0到1之间,其他软件也有0到255的,但还是会转化成0到1的),因为颜色数据不可能是负值。
如运用到颜色中,一个三通道数据,0.5,0.5,0.5,输入了以后输出出来结果依然是0.5,0.5,0.5.如果它是颜色,这是一个中度灰色,介于纯黑和纯白的中点。哪怕输入的是负值,输出后就变成了正值。
如运用在空间坐标中,如果把时间当做X输入sin曲线(后面会讲到),则sin曲线输出的值Y在-1到1之间,高中知识,如果再把这个值当做X输入ABS曲线,就会得到的Y是个0到1的区间,接着再怎么用就看你的需要了。当然,这是和sin曲线结合的情况,如果不结合,你需要明白的就是它永远不可能输出负数就行了,即输出值区间为大于等于0,可以是无穷大。
2. Frac节点(取小数 曲线)

其特定就是无论输入的值多大多小,都会把整数部分忽略,只保留小数部分,然后在0到1的区间找到其对应的Y值,实际上这个Y值也就是小数部分本身的值,即输出区间为0到1之间(可以等于0或者1)。
所以这个曲线非常适用于颜色,比如一个三通道数据2.2,5.3,45.25(无论你是怎么计算的到的不重要),输入该节点以后得到的Y值作为颜色来显示的话,和541.2,125.3,-512.25输入以后得到的Y值作为颜色来显示是一样的颜色,因为输出值都是它们的小数部分:0.2,0.3,0.25。
3.Floor节点(退位取整数曲线)

这个曲线就不一定适用于颜色了,因为它的输出值可以是负值,还可以是大于1的数,什么叫退位取整数呢,简单暴力的讲,就是输入一个任意值X,这个节点会把小数部分扔了,只保留整数部分,作为输出值Y。具体的适用情况就是:我只想得到一个整数,不要它的小数部分。
注意该配图中上方的颜色条显示的是变化关系,而不是对应关系。其良苦用心是因为在该图表中输出值要么是0(纯黑),要么是1(纯白),输出2或者3的时候就不能直接表示成颜色了,所以这么缩放下对应关系,可以清楚的表明颜色的递进关系,在之后配图出现相同情况就不再做解释了。
4.Ceil节点(进位取整数曲线)

和Floor节点类似,不同点在于输入值X如果有小数部分,扔掉小数的同时,还会进一位到整数 ,例如输入19.521,输出以后就变成了20。其适用情况也不是很适合颜色的处理。
5.FMod节点(余数曲线)

该曲线有两个输入值Xa和Xb,其输入结果为Xa除以Xb,得到的余数,例如配图中的Xb已经设定好为2了,当Xa是3的时候,输出值Y是1,因为,Xa除以Xb,3除以2,商1,余1,所以最后商多少不重要,重要的是最后余数是多少,也就是输出值Y的值。
在实际运用中,这个也叫循环,循环的起点值是0(注意不是Xa),循环的终点值是输入值Xb,而输出值Y就是0到Xb这个区间。那Xa有啥用呢?因为比如Xa是个变量的时候,不受主观值控制的时候,或者Xa很大或者很小的时候,可以通过设定Xb值来限定循环的次数,假定一个值10(它可以是空间单位,时间单位),但我们要限定每到5循环一次,那么就设定Xb为5就行了,无论这个输入是100,是250,始终每到5就循环一次,最后输出值都在0到5这个区间内。在比如这个单位是时间,游戏运行时间一直在增加,但是我们可以通过该节点做出一个循环计时器,每到一个规定时间就循环一次,触发一个事件。
6.Power节点(曲线绝对值)

同ABS曲线类似,不同点在于该节点有第二个输入值Xb,当Xb等于1的时候,曲线同ABS一模一样,大于1的时候,配图中红色曲线呈类似指数曲线,如图(输出值Y先缓慢上升并越来越快),当Xb小于1的时候,输出值Y先快速上升并越来越慢。
用在颜色来讲就是“缓进”“缓出”。
7.Lerp节点(混合)

这是美术上运用的最多的混合功能,严格的来讲,由于有三个输入变量,Xa,Xb,Xc(Aplha),加上一个输出变量,所以不存在曲线图,在配图中规定了Xb为定量1,此时的曲线中Xc的值为0.5,就是说Xa和Xb各取一半,放作颜色来讲,如果Xb为纯白色,Xc(apha)为0.5,那么当Xa为0的时候,输出值Y为0.5,抽象来讲,就是Xc(Alpha)的值越大,最终值Y就越趋向于Xb,越小,最终值Y就越趋向于Xa,用于贴图的混合。
8.HeghtLerp

同Lerp相似,Lerp的Alpha是线性的,这个里面的Alpha会受到高度图曲线的影响(配图中使用的是sin曲线模拟了一张高度图,由于没用过,所以不做过多评论。猜测是用于高度图来控制地形中的材质分布,例如山地海拔越高雪越多,遇到高度下降一些又会长一些草。但总体程度还是雪越来越多。
9.Clamp节点(输出曲线)

常用节点,有两个输入值Xa和Xb,用来限定输出值Y不小于Xa,不大于Xb,在中间范围都是允许的输出值。
10.Sin节点(sin曲线)

高中知识,循环区间为1,输出范围为-1到1。
11.Cosine节点(cosine曲线)

高中知识,循环区间为1,输出范围为-1到1,与sin不同点在于是从输出值为1
开始循环的。
12.OneMinus节点(反转曲线)

属于固定的图形函数功能,常用节点,常用于0到1区间(颜色)的反向处理。也是建立在颜色使用基础上的,即颜色一定是0到1的区间。
13.Exponential Density节点(指数密度曲线)

属于固定的图形函数功能,输出值一定在0到1范围内,通过两个输入变量Xa(任意),Xb(只能在0到1范围内),来输出一条从1到0的,并针对于起点和终点平滑的曲线,当Xb值越大时,这个变化就越快。
14.Sphere Mask节点(球形遮罩曲线)

属于固定的图形函数功能,通过Xa(Radius)和Xb(Hardness)两个值来对贴图输入值Xc进行纯黑和纯白遮罩处理。
15.SphereGrandient-2D节点(球形渐变曲线)

UE4 美术学习笔记和经验相关推荐

  1. UE4入门学习笔记——纪念学习虚幻引擎满一周年

    UE4入门学习笔记 前言: 今天是正式学习ue4一周年.一年前的今天,我结束了PBR流程的学习,怀揣着对游戏制作的热爱,正式开始学习ue4,继续追寻儿时的那个大厂梦.谁也没想到,一年后的今天,我会在T ...

  2. UE4蓝图学习笔记-360°镜头旋转

    UE4蓝图学习笔记 360°镜头旋转 相机组件: 在游戏进程中,通过使用混合设置视图目标(Set View Target With Blend) 和相机Actor,可以在各个相机之间切换,并使用在相机 ...

  3. UE4渲染管线学习笔记

    菜鸡入门学习笔记,各种不足还请大佬指点 CSDN传上来的图会变糊,将就看了只有,理解就行.. 个人比较推荐的学习顺序: 1.UE官方渲染介绍: Epic Games 2.UE是如何渲染一帧的: 原文 ...

  4. 【虚幻4/UE4】学习笔记01——软件介绍、安装及界面

    因为工作需要,一个完全零基础的小白开始学习UE4的征途开始啦~ 一.什么是UE4 UE4是一套为游戏开发者设计和构建优先.模拟和可视化的集成工具. 简言之,做游戏的软件. 二.UE4的功能 实时逼真渲 ...

  5. UE4基础学习笔记——— 光照01

    目录 光照和阴影 静态光照概念 优缺点: 影响静态光照构建效果的因素 静态光照构建应注意事项 光照和阴影 计算机中的光照和阴影不能以现实生活中的光照和阴影等同视之.现实生活中有光就必有阴影,一体两面. ...

  6. UE4/5 学习笔记*Note7:关于各种无缝动画的衔接问题_2022/8/14

    无缝动画心得 一.RootMotion动画间的抖动抽搐及解决办法 原因有多种,此处列出部分: 1.动画师做的动画本身就有问题         动画卡顿,缺帧等. 解决办法:切割动画(风险较大,记得备份 ...

  7. 11月15日 作业2,黑洞子弹,子弹发射位置朝着准星方向 UE4斯坦福 学习笔记

    黑洞子弹 ##这里遇到了问题,作业要求两个子弹,但是我跟着教程创建的黑洞子弹射出后不能吸引周围的物体,传送子弹不起作用,需要未来回来修改 创建一个子弹的Base,继承AActor .h文件 prote ...

  8. UE4入门学习笔记(一)准备设计数据的优化处理

    ** 1.准备设计数据以实现最优性能 ** 1.1.DCC的基本创建原理以及流程 为了更好的将我们在DCC制作软件中的建模模型导入到虚幻引擎平台中,Epic官方提供了面向3ds max.SketchU ...

  9. [学习笔记]EMD经验模式分解

    Empirical Mode Decomposition 参考文献:The empirical mode decomposition and the Hilbert spectrum for nonl ...

最新文章

  1. 【转】采用dlopen、dlsym、dlclose加载动态链接库
  2. 冲压模板自动标注LISP_干货满满!超实用冲压模具资料,加薪必看!
  3. 配置 Syslog 守护程序
  4. 【小记录】关于dojo中的on事件
  5. backup ram不稳定 stm32_具备无线能力的STM32,如何让智能手表更加炙手可热?
  6. 数据库提示日志文件不可用
  7. 养成女友?我训练出了一个“杨超越”聊天机器人
  8. 毕设题目:Matlab瑕疵检测
  9. linux sz命令详解,Linux中rz命令和sz命令使用详解大全
  10. arduino 点灯科技 用esp8266 01s 实现wifi控制继电器开关 支持天猫精灵
  11. ROS学习笔记之——PX4开发初入门
  12. 前端验证手机号和座机号号码
  13. 人生短暂,持之以恒地做一件事情就会成功(每当烦躁心急如焚的时候就读读这篇文章吧)--转自孵化恐龙蛋
  14. routing-controllers工作原理解析
  15. 【触动精灵】开发手册学习整理(一)
  16. P2905 [USACO08OPEN]农场危机Crisis on the Farm
  17. 2018.05.29 讨厌培训机构
  18. 关于高可用的系统【转自酷壳】
  19. 短信转发器 SmsForwarder,备用机必备神器,开源免费
  20. css ul li 图标 图片位置定位 背景定位

热门文章

  1. 没网可以用python吗_在没有网络的情况下能自学python吗?
  2. python语言如何软件搬家_python写程序-就像搬家把物品分类放在箱子里
  3. linux open函数使用,linux中open函数使用
  4. excel if函数 android,Excel函数公式:多条件判断你还在用If函数来实现,那就真的Out了...
  5. softmax分类器_[ML] 逻辑回归与 Softmax 回归
  6. c++ 编译添加dll_Windows下osg编译
  7. mysql存储过程中删除定时器_mysql创建存储过程,定时任务,定时删除log 莫大人...
  8. 信息传输计算机服务业,信息传输软件和信息技术服务业包括哪些
  9. 面向对象方法的优势简化软件开发的过程_Java面试题说一说你的对面向过程和面向对象的理解...
  10. Linux 命令行下载命令 Axel 多线程下载