Unity 3d 鼠标滚轮控制摄像头
2015-01-07 09:18
357 查看
菜鸟初学unity3d 需要的效果,鼠标左键绕中心模型旋转摄像机,滚轮调整摄像头与模型距离,右键暂时保留
因为有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;
}
}
如果发现什么问题大家可以评论,共同进步吗!
因为有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;
}
}
如果发现什么问题大家可以评论,共同进步吗!
相关文章推荐
- Unity 方向控制及鼠标滚轮代码控制
- Unity鼠标自由查看3D物体之控制摄相机Camera
- Unity学习3 鼠标滚轮控制摄像机远近
- 【Unity 3D学习】获取鼠标滑动方向(上下左右)-控制摄像机围绕物体旋转
- 【Unity 3D学习】鼠标点击控制人物移动到目标位置
- 鼠标滚轮控制图片大小
- jQuery实现的鼠标滚轮控制图片缩放功能实例
- unity 鼠标控制第一人称视角及键盘控制移动
- unity 用鼠标控制相机绕着物体旋转脚本
- 鼠标滚轮控制panel滚动条
- unity 手游 3D人物的移动控制
- 相机跟随和鼠标滚轮控制缩放
- Unity 3D——虚拟场景中的飞行摄像头
- Unity 3D 第九课 粒子的控制
- 鼠标滚轮控制网页横向移动实现思路
- Unity 3D 一个简单的角色控制脚本
- 鼠标滚轮控制图片大小。
- js实现鼠标滚轮控制图片缩放效果的方法
- 【Unity 3D】学习笔记四十六:输入与控制——键盘事件
- Unity 3d 摄像头