也不是恶赖引擎,如果不是冲量导致船挺尸(和其他碰撞后弹走的时候也有一段时间的挺尸时间)也不会手忙脚乱的来处理角度问题。
我实在不想去看引擎的代码了。
感谢,但也还是没有欧拉角带角度的计算,算了,我去找引擎里关于船挺尸的原因吧,不挺尸就不会有这个bug,感谢各位的分析和协助 @468179984 @1261414791 @tjoxcode
或者找找挺尸的规律,再或者受到冲量的时候就不允许控制。
我觉得有冲量的时候,不能操控挺好的
大佬,这个在点前进之后,再移方向好像移动方向没有变耶
你感受一下真实的船,也是这样的
应该会随船头有个角度的吧?轨迹照理来说不应该是弧线吗?
临时做的demo…你就当是旋转木马吧
膜拜大佬!!
在将这个demo转为2D和3D同时使用(水面是2D)的时候遇见了问题,和2.46有区别,正在尝试在这个demo中重现场景
ship 2 2.zip (2.6 MB)
在demo中,我把在我项目中的模型默认角度修改成了我的情况,修改后摇杆旋转的角度就出错了,之所以将模型扭成这个角度,是为了配合2D的背景(水面),因为在2.46中,使用2D的shader做水面,性能才能看,才能继续做。
但我不知道为什么在3.32中,如果打开背景(2D sprite),会导致模型不显示,2.46则不会,但意思是对了,也就是模型的默认角度是我现在项目中的情况。
@468179984 旋转缓动的效果很棒,是我想要的缓动效果,但模型不操作的时候会抖。
请给看下当前情况下怎么旋转模型
说的有些不清楚,总结的说下
因为2D的图片做水面,所以镜头只能冲着2D的内容去看,也就是如图的意思
镜头看向UI的位置
而您的demo中本来的镜头方向是向下看,原来的模型旋转是正确的,但镜头一旋转看向UI,模型的旋转自然就不正确了。
为了配合2D水面,只能将船调成符合水面的角度,也只能在将船调成水面角度的前提下,对船进行旋转
如果给模型套个壳(node),如图,并将壳旋转成镜头的角度,那么船的旋转又正确了,好像这也是一个正确的解决方法。
ship 4.zip (2.8 MB)
这个是按照楼上的办法转换后的demo,一直想问的是怎么在不套一个node情况下正确的通过欧拉角旋转船,我之前的计算方法是通过四元数计算角度差后,对船进行旋转,如果想直接设置船的欧拉角旋转似乎计算很复杂
套壳快捷,而且符合编辑器本身的物理特性;
如果不用壳,计算Z轴旋转,需要重新写旋转方法,
代码在 ship01.js update里,
理解清楚每行代码做了什么,也是可以自己写的.
就是调试加修改麻烦点
合力不是已经求出来了吗,Math.atan2(vy, vx) 就可以求出角度了吧
思路错了, 没必要单独求角度。用最后的合力求出角度来直接赋值就好了
我不要软妹币,我要硬汉币,给我硬汉币我就告诉你