顶点色概述
转载自顶点色
顶点颜色(Vertex Color)是很常见的概念,就是在模型顶点上指定的颜色。在实际情况中,由于多个面共用一个顶点,因此一个顶点的颜色取决于具体在哪个面上。由于顶点颜色数量少而产生的精度问题,顶点颜色常用于贴图、材质混合而不是直接用于模型颜色渲染。
我们有以下几种方式给模型赋予顶点颜色:
在Blender中绘制顶点颜色。
在游戏引擎编辑器中,通过笔刷绘制顶点颜色。
在代码中赋予顶点颜色。
除去第三种暂且不谈,前两种在实际应用中是非常常见的用法。
在3D建模软件中绘制顶点颜色
在3d建模软件中绘制顶点颜色常用于将不同的部位刷成不同的颜色,以便于在其它流程中方便的区分材质。绘制好顶点颜色后又有几种不同的用法:
直接导入引擎制作材质,用不同的顶点色区域应用到分层材质上。
烘焙出ID Map,用贴图采样区分区域并应用到分层材质上。
烘焙出ID Map,在Substance Painter中对材质图层应用蒙版。
ID Map可以通过Vertex Color在Blender或者Substance Painter中烘焙。也可以通过纯色材质在Blender中烘焙,可以直接烘焙成贴图,或者烘焙到Vertex Color,不过这将会造成模型具有多个材质ID,烘焙完成后需要删除,比较麻烦。
在UE4中用笔刷绘制顶点颜色
直接在引擎中用笔刷绘制颜色常见于关卡地图制作中,使用了顶点颜色来存储不同通道的图层信息。例如亮暗程度,粗糙度,图层混合Alpha值等。最常见的例子是制作路面的水坑,墙面的污泥、苔藓的混合等,配合高度图可以表现出很好的效果。
材质蓝图
顶点位移动画
顶点着色器
本质是一段shader程序。接受输入给输出
在顶点位移方面:将本地坐标转换成世界坐标,并能够应用偏移
世界场景位置偏移:使用顶点着色器实现,不用cpu参与,也就是cpu计算碰撞等东西的时候,物体位置仍然是原来的,但是在视觉效果上可以把模型画偏。对于顶点数高的模型做这个还是有较大性能消耗。
移动动画
缩放动画
因为要判定物体是否在视口内被渲染出来用的是物体原本的位置,在渲染–>边界缩放,调大一点
旋转(绕哪个轴转就哪个轴不动)
直接旋转