考虑碰撞的情况下控制人物的行走
在考虑碰撞的情况下,控制人物在场景中移动一般有两种方法,一种是利用刚体Rigidbody,然后通过施加力或者改变速度来控制人物的移动,另外一种方法就是利用unity自带的character controller来方便的调用函数直接控制行走。
由于character controller内部好像自带类似于刚体的属性,所以使用这个组件的话就不需要添加刚体了。当然胶囊体碰撞器Capsule Collider还是需要的。
首先添加Capsule Collider组件,根据自己人物模型的大小调整好碰撞器的高度、半径以及中心,然后添加character controller组件,根据Capsule Collider来调整它高度、半径以及中心。
如图:
然后在人物上添加脚本:
using UnityEngine;
using System.Collections;
public class PlayerVillageMove : MonoBehaviour {
// 设置成单例模式,便于调用
public static PlayerVillageMove _instance;
// 角色控制器
CharacterController controller;
// 动画
private Animator anim;
// 移动速度
public