可能是双相机的问题,但我不知道这么修改。
就是如图,框框是实际物理碰撞体,但在子弹生成的时候是在实际的坐标,不在显示的位置。有没有大佬帮忙看看
信息量太少,看不懂,不知道你的物理系统怎么选的,也不知道你是怎么控制移动的
自 Cocos3.8中实际位置与显示位置不一致 继续讨论:
我发现要是把小球移动到原来中心位置的话,其碰撞位置与显示位置大致一致,所以就 感觉 像是速度或者是放缩的问题,就感觉实际坐标的移动比显示移动的快,但还是没找到怎么解决,有没有大佬看看
你用脚本控制节点的position来移动的话,用box2d物理系统,它的碰撞体位置不会自动更新,看你的游戏好像可以用不带刚体的Builtin物理系统试试,或者每帧用RigidBody的apply()方法试试
我知道了,我犯了个最蠢的问题,layer的分组错了,CameraMap(就是GameCamera)是用来渲染地图玩家等游戏内容的相机,而MainCamera(就是UICamera)是用来渲染顶层UI的,其对应的layer分组分别是game分组和UI_2D分组,同时深度分别是2和3,先对地图玩家渲染再对UI渲染,我的错误就是把这个流程反过来了,同时相机的layer分组也反了,这就出现以上的问题,在使用跟随玩家的相机CameraMap时导致实际位置与图像所示位置不一致
layer也影响着物理碰撞,层级低的是先渲染的吗?
而我的game层为1,而UI_2D是25,会导致渲染错误吗?
会不会是你创建了2个画布的原因呢
这个没影响,值小的优先渲染






