星球移动 北半球正常,南半球出现人物在南极点一直旋转

  • Creator 版本:

  • 目标平台:

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

let q1 = new Quat();

    let q2 = new Quat();

    let u1 = v3();

    let u2 = v3();

    let u3 = v3();

    this.node.getPosition(u1);//获取自己位置

    this.adsorb.getPosition(u2);//获取目标位置

    Vec3.subtract(u3,u1,u2);//获取自己指向目标的向量

    Quat.rotationTo(q1, v3(0, 1, 0), u3.normalize());//将自己旋转到法线

    this.node.setRotation(q1); //设置旋转

  this.node.translate(v3(0,0,0.1));  //设置移动
 
 //出现问题:北半球移动正常,南半球移动不正常,容易往南极点运行,并且达到南极点市,人物会原地一直旋转。

Quat.rotationTo(q1, v3(0, 1, 0), u3.normalize());//将自己旋转到法线
u3.normalize() == v3(0,-1,0)
主要是这行,我发现q1 一直以两个值来回跳动