制作动态材质
根据项目需要,在教学模式中,需要实时的显示哪些关节是做对的,哪些关节是做错的,要用不同的颜色区分。所以需要将自发光的小球附上一个动态材质,使得在不同的情况下发出不同颜色的光。
根据角色Mesh上的HighLight Material来创建动态材质,创建之后保存此动态实例,最后更改HighLight的颜色。
结果:
实现后处理描边效果
在《Real Time Rendering, third edition》一书中,作者把描边算法分成了5种类型。
1、基于观察角度与表面法线的轮廓渲染。缺点很明显。
2、过程式几何轮廓渲染。即先渲染背面,通过顶点压平等手段,渲染轮廓线,之后渲染正面。优点:快速有效,适合大多数模型,缺点:不合适和立方体之类的平整模型。
3、基于图像处理的轮廓线渲染。通过边缘监测来判断轮廓。
4、基于轮廓检测的轮廓线渲染。同时监测相邻的2个面法线值得正负是否相反。
5、以上方法结合。
除此之外还有:
6、沿法线方向放大模型(vs)并用描边色渲染(ps)正常渲染模型
7、直接模糊模板
使用Sobel算子进行边缘深度检测,实际上是两次卷积。一次水平方向上的,一次垂直方向上的。得到一张黑底白边的图,与原材质混合,性能消耗极低,只需在 Blendables 部分将一个或多个后期处理材质指定到后期处理体积域上。首先按下 + 添加新的槽, 在 Content Browser 中选择一个材质,然后按下左箭头进行指定。利用后期处理体积域可轻松在多个后期处理材质之间设置柔和过渡。使用一个标记为 unbound 的体积域,该体积将作用于全局而无视边界。在延迟渲染器中,首先渲染 GBuffer,然后使用 GBuffer 属性 计算所有灯光(延迟),可在后期处理中使用这些缓冲。