Unity2D角色控制器

我们为 2D 横版游戏实现一个 CharacterController2D 的角色控制器时,一般有两种思路。采用物理引擎模拟和不采用物理引擎模拟。

  • 采用物理引擎实现
    这种方法最简单,所需要的编程工作也最少。直接利用 Rigidbody2D 作为角色,然后通过对它改变速度和施加作用力来控制。
    官方公开课教程:
    2D Character Controller
    B站的视频搬运
    这里给大家提供对应的项目资源,有略作修改。

  • 非物理引擎实现
    使用物理引擎实现出来的角色控制器,操作起来会显得角色的行动有点奇怪,并不自然。故大部分2D横版游戏都是采用非物理引擎实现的方式。游戏这种方法看起来笨,但是效果上可以比物理引擎的实现更好。而且更适合为多变的项目需求量身打造。

官方视频教程中采用改变Position的方式实现位移,Cast 探测碰撞的方式简单的做了实现。
2D Platformer Character Controller
B站搬运
资源

另外在Github上发现一个很不错的项目,大家可以参考学习。

你可能感兴趣的:(Unity2D角色控制器)