有js版和c#(不会),可供大家选择
鼠标左键,摄像头旋转(c#版)
using UnityEngine;
using System.Collections;
public class control : MonoBehaviour {
public float roate_Speed=200.0f;//旋转速度
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButton(0)){
//Debug.Log("射线取得对象");
float mousX = Input.GetAxis("Mouse X") * roate_Speed;//得到鼠标横向移动距离
float mousY = Input.GetAxis("Mouse Y") * roate_Speed;//得到鼠标纵向移动距离
// 绕Y轴旋转
transform.RotateAround (Vector3.zero, Vector3.up, mousX * Time.deltaTime);
// 绕x轴旋转(效果不是很好,使用时可注掉)
transform.RotateAround (Vector3.zero, Vector3.right, -mousY * Time.deltaTime);
}
}
}
鼠标滚轮调整摄像头与模型间距离
c#版
using UnityEngine;
using System.Collections;
public class carmera : MonoBehaviour {
public float minFov = 15f;
public float maxFov = 90f;
public float sensitivity = 10f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float fov = Camera.main.fieldOfView;
fov += -Input.GetAxis("Mouse ScrollWheel") * sensitivity;
fov = Mathf.Clamp(fov, minFov, maxFov);
Camera.main.fieldOfView = fov;
}
}
javascript版
#pragma strict
var viewSpeed=5;
// 与模型最近距离
var minFov=8.0;
// 与模型最远距离
var maxFov=100.0;
var fov:float;
function Start () {
}
function Update () {
if(Input.GetAxis("Mouse ScrollWheel")) {
// 从当前位置进行变更
fov = this.GetComponent.<Camera>().fieldOfView;
//Debug.Log("检测到滑轮"+Input.GetAxis("Mouse ScrollWheel"));
fov -= Input.GetAxis("Mouse ScrollWheel") * viewSpeed;
fov = Mathf.Clamp(fov, minFov, maxFov);
this.GetComponent.<Camera>().fieldOfView = fov;
}
}
版权声明:本文为CSDN博主「董金锁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011713224/article/details/42486985
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。