参考自:这里
挂在人物上的:MoveController.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveController : MonoBehaviour {
public float speed = 6.0F; //人物移动速度
public float jumpSpeed = 5.0F;
public float gravity = 5.0F;
private Vector3 moveDirection = Vector3.zero;
public float rotatinDamping = 4; //人物旋转的速度
public float mouse1RotateDamping = 4;
public bool cameraIsRotate = true; //判断相机是否跟随人物旋转(点击鼠标左键可观看角色)
private float backgroundRotateValue; //点击鼠标右键,存储鼠标X方向位移
float currentOnClickMouse1AngleY = 0; //鼠标右击时人物当前的Y轴度数
float currentCameraAngleY = 0; //鼠标左击时相机当前的Y轴度数
public GameObject cam; //人物后面的相机
private CharacterController characterContro; //角色控制器组件
// Use this for initialization
void Start()
{
characterContro = this.GetComponent<CharacterController>();
cam = GameObject.Find("Main Camera");
}
// Update is called once per frame
void Update()
{
move();
mouseControllerRotation();
}
void move()
{
CharacterController controller = GetComponent<CharacterController>();
if (controller.isGrounded)
{
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirect