有没有要求船旋转到目标角度需要缓动旋转。而不是直接设置
如果能有缓动那就更好了,摇杆操作船本身就不合理,应该是方向盘,也就是船舵,这样摇杆转到哪里,船头立刻转到哪里的方式本身体验就不好,但我又没有办法写出缓动的方法来
如果可以直接设置。如果不计算角度差。直接计算遥感角度。直接代入到船的角度不可以吗?
对对,我就是想达到这样的效果
就像这种,直接把摇杆角度代入,写出船的角度
但我不知道具体怎么写,因为船本身的旋转属性不是 X0 Y0 Z0,而是X=0 Y=90
Z =90
你这个只有一个绕一个轴的方向旋转。也不存在欧拉角触发万向锁的问题。直接用欧拉角去算就好了。不用四元素。船的默认角度多了90.其实也可以换算。你假设还不知道。直接再外层再包一层空节点。旋转属性都是0 .或者直接找美术让他给你调整模型。
y90 和 z90的原因是为了 让2D的水背景和 3D船 统一,这样移动船只需考虑X和Y轴,没有Z轴的事了,但旋转起来我彻底乱了,一团浆糊。
调整模型我现在有点恐惧,因为要用blender去调整,还要调整节点,搞刚体等,最重要的是2.4.6的fbx导入很乱,导入一次贴图就丢一次,还要一个个的绑,gtlf也没法用,还只能fbx
额。。直接把遥感角度设置给模型的欧拉角。如果不对。你看一下是不是正好相反或者怎么样。去-90或者+90 或者+180 -180
试过了,this.shipNode.eulerAngles = cc.v3(0, -this.current_angle, 0);
以这样的形式,x从90 -90 180 -180 Z 从90 -90 180 -180 都写过,
最好的情况是
this.shipNode.eulerAngles = cc.v3(0, -this.current_angle, -180);
还贴合点
船自身旋转对了,但船90度栽在水面里。
如果
this.shipNode.eulerAngles = cc.v3(0, -this.current_angle + 90, -180);
也不是恶赖引擎,如果不是冲量导致船挺尸(和其他碰撞后弹走的时候也有一段时间的挺尸时间)也不会手忙脚乱的来处理角度问题。
我实在不想去看引擎的代码了。
感谢,但也还是没有欧拉角带角度的计算,算了,我去找引擎里关于船挺尸的原因吧,不挺尸就不会有这个bug,感谢各位的分析和协助 @468179984 @1261414791 @tjoxcode
或者找找挺尸的规律,再或者受到冲量的时候就不允许控制。
我觉得有冲量的时候,不能操控挺好的
大佬,这个在点前进之后,再移方向好像移动方向没有变耶
你感受一下真实的船,也是这样的
应该会随船头有个角度的吧?轨迹照理来说不应该是弧线吗?
临时做的demo…你就当是旋转木马吧
膜拜大佬!!
在将这个demo转为2D和3D同时使用(水面是2D)的时候遇见了问题,和2.46有区别,正在尝试在这个demo中重现场景