反射角cg unity3D

时间:2015-08-05 14:36:24

标签: unity3d cg

我有一个带有cg着色器的平面,它告诉飞机反映立方体贴图。该行说明了它如何反映立方体贴图:

float3 reflectDir = reflect(viewDirection,v.normalWorld);

  • 正常世界是正常方向

如果你看正常,我希望反射为0%,如果你从侧面看正常,我希望反射为100%,我怎么能达到这个目的?现在我举了一个我想要的例子:

enter image description here

1 个答案:

答案 0 :(得分:1)

reflectPercent = Vector3.Cross(viewDirection.normalized, normalDirection.normalized).magnitude;

点积是错误的 - 它是另一个向量上向量的投影量

虽然你可以使用

reflectPercent = Abs(1-Abs(Vector3.Dot(viewDirection.normalized, normalDirection.normalized)));