我有一个带有cg着色器的平面,它告诉飞机反映立方体贴图。该行说明了它如何反映立方体贴图:
float3 reflectDir = reflect(viewDirection,v.normalWorld);
如果你看正常,我希望反射为0%,如果你从侧面看正常,我希望反射为100%,我怎么能达到这个目的?现在我举了一个我想要的例子:
答案 0 :(得分:1)
reflectPercent = Vector3.Cross(viewDirection.normalized, normalDirection.normalized).magnitude;
点积是错误的 - 它是另一个向量上向量的投影量。
虽然你可以使用
reflectPercent = Abs(1-Abs(Vector3.Dot(viewDirection.normalized, normalDirection.normalized)));