我们为 2D 横版游戏实现一个 CharacterController2D 的角色控制器时,一般有两种思路。采用物理引擎模拟和不采用物理引擎模拟。
-
采用物理引擎实现
这种方法最简单,所需要的编程工作也最少。直接利用 Rigidbody2D 作为角色,然后通过对它改变速度和施加作用力来控制。
官方公开课教程:
2D Character Controller
B站的视频搬运
这里给大家提供对应的项目资源,有略作修改。 -
非物理引擎实现
使用物理引擎实现出来的角色控制器,操作起来会显得角色的行动有点奇怪,并不自然。故大部分2D横版游戏都是采用非物理引擎实现的方式。游戏这种方法看起来笨,但是效果上可以比物理引擎的实现更好。而且更适合为多变的项目需求量身打造。
官方视频教程中采用改变Position的方式实现位移,Cast 探测碰撞的方式简单的做了实现。
2D Platformer Character Controller
B站搬运
资源
另外在Github上发现一个很不错的项目,大家可以参考学习。
网友评论