当前位置:   article > 正文

Unity shader Reflect 取反问题_shader取相反

shader取相反

再次感谢 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的第一个参数我们需要的是 入射方向,即相机位置 朝向 顶点位置 的方向,所以我们需要取反

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/83424
推荐阅读
相关标签
  

闽ICP备14008679号