public float f_speed = 10f;
public float h_speed = 1f;
public float groundDis = 0.1f;
public float skyDis = 50f;
public Camera camera;
// Use this for initialization
void Start () {
camera = Camera.main;
rota = camera.transform.eulerAngles;
}
// Update is called once per frame
void Update () {
//鼠标右键
if(Input.GetMouseButton(1)){
rota.y += Input.GetAxis ("Mouse X") * x_speed;
rota.x -= Input.GetAxis ("Mouse Y") * y_speed;
Quaternion q = Quaternion.Euler (rota);
camera.transform.rotation = q;
}
//滚轮滑动
float middle = Input.GetAxis ("Mouse ScrollWheel");
camera.transform.position += -Vector3.up * middle * m_speed + (Vector3.forward * middle * f_speed);
//空格键上升
if(Input.GetKey(KeyCode.Space)){
middle = -0.1f;
camera.transform.position += -Vector3.up * middle * m_speed ;// (Vector3.forward * middle * f_speed);
}
//Ctrl键位下降
if(Input.GetKey(KeyCode.LeftControl)){
middle = 0.1f;
camera.transform.position += Vector3.down * middle * m_speed ;//+ (Vector3.forward * middle * f_speed);
}
//WASD
float h = Input.GetAxis ("Horizontal");
float v = Input.GetAxis ("Vertical");
camera.transform.position += camera.transform.right * h * h_speed;
camera.transform.position += camera.transform.forward * v;
clamp ();
}
//限制上升下降的的高度和底端
private void clamp(){
Vector3 upUp;
upUp = camera.transform.position;
upUp.y = Mathf.Clamp (upUp.y,groundDis,skyDis);
camera.transform.position = upUp;
}
}
unity3d鼠标键盘漫游场景的转载修改版
最新推荐文章于 2023-08-14 01:35:33 发布