如题,在我的角色控制器里,相机是characterbody3d的子节点,所以除了旋转视角是在unhandled_input中处理的,其余都是直接跟随characterbody3d变换位置。
但是characterbody3d是在physics_process里移动的,而每秒物理周期设置的是60,我的显示器刷新率是165hz,帧数也远高于这个,就导致玩家在前后左右移动的时候,相机的滞后抽搐很明显。代码里又有很多涉及上下楼梯的相机平滑、视角上下抖动的功能,都是基于相机直接跟随父级的,不敢乱动。
然后我自己找到了两种解决办法
第一种:锁渲染60帧,这样确实解决了抖动的问题,但是帧数低了
第二种:安装了一个叫smoothing的插件,把smoothing节点设成characterbody3d的子节点,camera3d的父节点或者(camera3d的父节点head)的父节点,这样解决了抖动问题确实变得平滑了,其他功能也没受影响,而且帧数高,但是不知道性能开销怎么样
但是characterbody3d是在physics_process里移动的,而每秒物理周期设置的是60,我的显示器刷新率是165hz,帧数也远高于这个,就导致玩家在前后左右移动的时候,相机的滞后抽搐很明显。代码里又有很多涉及上下楼梯的相机平滑、视角上下抖动的功能,都是基于相机直接跟随父级的,不敢乱动。
然后我自己找到了两种解决办法
第一种:锁渲染60帧,这样确实解决了抖动的问题,但是帧数低了
第二种:安装了一个叫smoothing的插件,把smoothing节点设成characterbody3d的子节点,camera3d的父节点或者(camera3d的父节点head)的父节点,这样解决了抖动问题确实变得平滑了,其他功能也没受影响,而且帧数高,但是不知道性能开销怎么样