CharacterController控制的物体移动:

  public class playerMove  : MonoBehaviour

{

        public float Speed;

        private CharacterController CC;

        private float x;

        private float y;

         void Start()

        { //定义A D W S键盘控制

//定义第一人称控制器

            CC = GetComponent<CharacterController>();

        }

         void  Update()

       {

//定义A D W S键盘控制

            x = Input.GetAxis("Horizontal");

            y = Input.GetAxis("Vertical");

                            //判断控制器是否移动

            if (x != 0 || y != 0)

            {

                                     //定义移动坐标

                Vector3 movePosition = new Vector3(x, 0, y);

                                     //移动坐标位置偏移量

                Vector3 dir = transform.position + movePosition;

                                     //定义视线视角旋转

                transform.LookAt(dir);

                                     //移动速度坐标

                Vector3 moVector3 = transform.forward * Time.deltaTime * Speed;

                                     //确认人称控制器移动

                CC.Move(moVector3);

            }

         }    

}

注:视角偏移速度  transform.LookAt(dir)可自行确认调节,改变偏转速度。

posted on 2018-08-27 08:46  _萧朗  阅读(785)  评论(0)    收藏  举报