赞
踩
再次感谢 Sole 大佬
有些文字表达是很抽象的 可能对于大佬们很简单,不过像我们这些刚学习的人来说,a-b 等于 B指向A这种数学表达 就很清楚明白了
float3 view_dir = normalize(_WorldSpaceCameraPos.xyz - i.pos_world);
float3 reflect_dir = reflect(-view_dir,normal_dir);
有时在想求这个反射方向的时候要 视脚方向 为啥要求反?
首先应该明确的是法线方向是向外的,然后看下面的这张图
t1 - t2 的方向 等于 t2 朝向t1 的方向
然后我们再来看 _WorldSpaceCameraPos.xyz - i.pos_world 这个公式,根据上面的计算可得:
_WorldSpaceCameraPos.xyz - i.pos_world 的方向 等于 顶点位置 朝向 相机位置 的方向,即下面绿色线 V
最后Reflect的第一个参数我们需要的是 入射方向,即相机位置 朝向 顶点位置 的方向,所以我们需要取反
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。