如何在Unity3D中计算“法向量A向任意法向量B旋转,使得两个向量夹角减小N度后的A向量”

2025-03-09 10:53:21
推荐回答(1个)
回答1:

其实我不太明白你究竟想要什么……
如果只是返回zero或者B的话,我只需要判断AB方向就可以了,何苦还要计算旋转呢?
判断方向很容易,可以使用
Vector3.Angle()

靠拢的话,有这样一个函数
public static Vector3 RotateTowards(Vector3 current, Vector3 target, float maxRadiansDelta, float maxMagnitudeDelta);

第一个参数是原向量A,第二个是目标向量B,第三个是角度,第四个设置成0.0f就可以了。
(当然,A,B都是单位向量的话。)
但是这个函数看起来是这样的意思,我并没有实践过。

可参考:http://docs.unity3d.com/ScriptReference/Vector3.RotateTowards.html