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

简单的说,已知:任意法向量A,任意法向量B。求:A向B旋转靠拢N度后的结果。如果AB处于反向,返回vector3.zero,如果AB同向,返回B请帮我完善这个函数:Vec... 简单的说,
已知:任意法向量A,任意法向量B。
求:A向B旋转靠拢N度后的结果。
如果A B 处于反向,返回vector3.zero,如果A B 同向,返回B
请帮我完善这个函数:
Vector3 ApproachToOtherVector(Vector3 baseVector, Vector3 TargetVector, float angle)
{

}
展开
 我来答
愤怒的波导弹
2015-06-02 · TA获得超过588个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:291万
展开全部
其实我不太明白你究竟想要什么……
如果只是返回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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式