我們?yōu)?2D 橫版游戲實現一個 CharacterController2D 的角色控制器時,一般有兩種思路。采用物理引擎模擬和不采用物理引擎模擬。
采用物理引擎實現
這種方法最簡單,所需要的編程工作也最少。直接利用 Rigidbody2D 作為角色,然后通過對它改變速度和施加作用力來控制。
官方公開課教程:
2D Character Controller
B站的視頻搬運
這里給大家提供對應的項目資源,有略作修改。非物理引擎實現
使用物理引擎實現出來的角色控制器,操作起來會顯得角色的行動有點奇怪,并不自然。故大部分2D橫版游戲都是采用非物理引擎實現的方式。游戲這種方法看起來笨,但是效果上可以比物理引擎的實現更好。而且更適合為多變的項目需求量身打造。
官方視頻教程中采用改變Position的方式實現位移,Cast 探測碰撞的方式簡單的做了實現。
2D Platformer Character Controller
B站搬運
資源
另外在Github上發(fā)現一個很不錯的項目,大家可以參考學習。