今天遇到斜坡会滑落,其实这也不是大事,但是越是高,滑落后滑行的越远,这就问题大了。于是网上找了很多相关的解决方案,都不理想。
!用transform移动时遇到斜坡会滑坡的问题。
!用角色控制器解决了滑坡问题(因为限制了斜坡角度)。但有些地方不够理想
第一个函数:SimpleMove()水平输入为转向非平移,想修改平移出现各种bug。
第二个函数:Move()方向键移动直接改变面向,不适合某些项目。修改也是各种问题。
搭配translate使用,也有各种问题,如加入Time.delatime时,角色控制器和translate对数值的判定不一致(这是因为translate和Move都是以帧数计算移动,而SimpleMove是以秒计算),除非不使用Time.delatime的话可以忽略。
!还有一个方法不使用角色控制器,对象使用两个碰撞器(胶囊体),半径不相同,遇到斜坡不会下滑太快太远,并且还能直接爬上很陡的破,自测是70-80度。如果不能爬上去倒是一个解决方案。
!使用角色控制器,再使用刚体会无视地面,这时再添加碰撞器又会悬浮。好尴尬。最好的解决方案是自己实现角色控制器的斜坡限制,这样就可以灵活使用了,目前还不会。
!说的不对的地方还希望留言纠正
!能实现不用角色控制器手写斜坡限制的朋友希望留下代码