本文主要是介绍SahderGraph 实现广告牌,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
此时:2020.1.30
已经具有一定的线性代数知识+图形学知识。 本次尝试 在Shader Graph中实现 广告牌效果。
如图,左边为默认Shader 。右边为 广告牌效果,它会时刻 朝向 摄像机。
原理:
利用线性组合 。 我们需要求得一个旋转矩阵。 此旋转矩阵 3x3 。
线性组合的三个向量 分别为:
- 顶点指向 摄像机(这里取负方向,因为Quad z轴负方向 才是 Quad 的 三角法线方向。)
- 叉乘 (1的结果向量 和 (0,1,0))得到右方向
- 叉乘(2,1的结果向量)得到 上方向。
这里注意 Unity中,使用左手坐标系。
实践:
途中,由于View Direction 在 Vertex 阶段 为 “undeclared identifier(未标识符)“,因此这里需要自己计算一下,并进行 坐标转化。
这篇关于SahderGraph 实现广告牌的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!