一、利用鼠标移动控制相机旋转
void Update()
{
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
//旋转的方法,位置,绕哪个轴旋转,旋转的位移量
//this.transform.RotateAround(this.transform.position, this.transform.up, mouseX);//鼠标左右移动,相机跟随鼠标左右旋转
//鼠标上下移动,相机跟随鼠标上下旋转
this.transform.Rotate(Vector3.right * -mouseY);
}
Edit——project Settings——Input
二、使用角色控制器(增量)控制人物移动
//CharacterController:系统内置角色控制器
private CharacterController character;//定义一个角色控制器变量
private float horizontal;//存放水平方向的值,来自于键盘左右键每按一下产生相应的值
private float vertical;//存放垂直方向的值,来自于键盘上下键每按一下产生相应的值
private Vector3 newPos;//存放人物移动点
// Start is called before the first frame update
void Start()
{
character = transform.GetComponent<CharacterController>();//取得人物身上的角色控制组件
}
// Update is called once per frame
void Update()
{
horizontal = Input.GetAxis("Horizontal");
vertical = Input.GetAxis("Vertical");
newPos = transform.TransformDirection(new Vector3(horizontal, 0, vertical));
character.Move(newPos * Time.deltaTime * 10.0f);
}
Character Controller 角色控制器
三、在场景中绘制辅助物体
public int a = 60;
public int b = 10;
public int c = 0;
public float d = 1.33f;
//OnDrawGizmos:画线框 在场景中显示的画出辅助物体
private void OnDrawGizmos()
{
//Gizmos.color = Color.white; ;//设定绘制的物体颜色为白色
Gizmos.DrawCube(transform.position, new Vector3(3, 3, 5));
Gizmos.DrawWireCube(transform.position, new Vector3(1, 6,1));//绘制一个白色镂空正方体
Gizmos.color = Color.red;//设定绘制的物体颜色为红色
//球的位置,半径
Gizmos.DrawSphere(Vector3.zero, 2);//绘制红色实心球体
Gizmos.color = Color.blue;//设定绘制的物体颜色为蓝色
Gizmos.DrawWireSphere(Vector3.zero, 3);//绘制镂空蓝色球体
Gizmos.color = Color.green;//设定绘制的物体颜色为绿色
//从坐标0的位置画一个角度为60,高度为10,有顶尖
//椎体位置,椎体底面边长,椎体高度,椎体顶面边长
Gizmos.DrawFrustum(transform.position, a, b, c, d);//绘制镂空椎体
}
public Vector3 pos;
//选中时显示辅助线
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.white; ;//设定绘制的物体颜色为白色
Gizmos.DrawCube(transform.position, new Vector3(1, 1, 1));
//Gizmos.DrawWireCube(transform.position, new Vector3(1, 1, 1));//绘制一个白色镂空正方体
Gizmos.color = Color.green;//设定绘制的物体颜色为绿色
//从坐标0的位置画一个角度为60,高度为10,有顶尖
//椎体位置,椎体底面边长,椎体高度,椎体顶面边长
Gizmos.DrawFrustum(transform.position, a, b, c, d);//绘制镂空椎体
}