通过欧拉角设置物体的角度问题

也不是恶赖引擎,如果不是冲量导致船挺尸(和其他碰撞后弹走的时候也有一段时间的挺尸时间)也不会手忙脚乱的来处理角度问题。
我实在不想去看引擎的代码了。


我的是laya cocos应该差不多了。

感谢,但也还是没有欧拉角带角度的计算,算了,我去找引擎里关于船挺尸的原因吧,不挺尸就不会有这个bug,感谢各位的分析和协助 @468179984 @1261414791 @tjoxcode

或者找找挺尸的规律,再或者受到冲量的时候就不允许控制。

我觉得有冲量的时候,不能操控挺好的

RF93X%Z1ULTAGN8)O}XC4 R5QA~E~4WLN(F4JFSX@Z(V M{W5Y7DP0@5@UHGW87IVN8
额。是这样吗?我这边挺正常的。

Cocos Creator | NewProject 你看看是不是你要的效果
项目发你了 cocos 3.3.2版本的
ship.zip (2.5 MB)

2赞

大佬,这个在点前进之后,再移方向好像移动方向没有变耶

你感受一下真实的船,也是这样的

应该会随船头有个角度的吧?轨迹照理来说不应该是弧线吗?

临时做的demo…你就当是旋转木马吧 :cold_sweat:

膜拜大佬!!

在将这个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) 就可以求出角度了吧

思路错了, 没必要单独求角度。用最后的合力求出角度来直接赋值就好了

我不要软妹币,我要硬汉币,给我硬汉币我就告诉你

https://store.cocos.com/app/detail/3147
这个有3d要摇杆,挺多实例的