首先创建一个空的游戏体,在给游戏体挂上 Character Controller 组件,为主角添加一个角色控制器组件,这个组件可以实现控制主角移动的同时与场景的碰撞产生交互,不如不会跑到墙里去。
在添加 Rigidbody 组件,同样要取消重力模拟,并选中 Is Kinematic 复选框使其不受物理演算影响,这样才能移动
还有就是摄像机问题:
需要让摄像机伴随主角移动
添加脚本代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 主角组件
/// </summary>
public class Player : MonoBehaviour {
public Transform m_transform;
CharacterController m_ch; // 角色控制器组件
float m_movSpeed = 8.0f; // 角色移动速度
float m_gravity = 10.0f; // 重力
public int m_life = 5; // 生命
Transform m_camTransform; // 摄像机 Transform
Vector3 m_camRot; // 摄像机旋转角度
float m_camHeight = 4.5f; // 摄像机高度(即表示主角高度)
// Use this for initialization
void Start () {
m_transform = this.transform;
m_ch