Unity 相机平移、旋转、缩放
内容不多,一个脚本,直接上代码
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class Move : MonoBehaviour
- {
- float speed = ;
- public float distance_v;
- public float distance_h;
- public float rotation_H_speed = ;
- public float rotation_V_speed = ;
- public float max_up_angle = ; //越大,头抬得越高
- public float max_down_angle = -; //越小,头抬得越低
- private float current_rotation_H; //水平旋转结果
- private float current_rotation_V; //垂直旋转结果
- void LateUpdate()
- {
- // 旋转
- if (Input.GetMouseButton())
- {
- //控制旋转
- current_rotation_H += Input.GetAxis("Mouse X") * rotation_H_speed;
- current_rotation_V += Input.GetAxis("Mouse Y") * rotation_V_speed;
- //current_rotation_V = Mathf.Clamp(current_rotation_V, max_down_angle, max_up_angle); //限制垂直旋转角度
- transform.localEulerAngles = new Vector3(-current_rotation_V, current_rotation_H, 0f);
- transform.Translate(Vector3.back * distance_h, Space.Self);
- transform.Translate(Vector3.up * distance_v, Space.World); //相对于世界坐标y轴向上
- }
- // 平移
- if (Input.GetMouseButton())
- {
- this.transform.Translate(new Vector3(-Input.GetAxis("Mouse X") * rotation_H_speed, -Input.GetAxis("Mouse Y") * rotation_V_speed, 0f));
- }
- }
- // Use this for initialization
- void Start()
- {
- }
- // Update is called once per frame
- void Update()
- {
- // 移动
- if (Input.GetKey(KeyCode.A)) //左移
- {
- transform.Translate(Vector3.left * speed * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.D)) //右移
- {
- transform.Translate(Vector3.right * speed * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.W)) //前移
- {
- transform.Translate(Vector3.forward * speed * Time.deltaTime);
- }
- if (Input.GetKey(KeyCode.S)) //后移
- {
- transform.Translate(Vector3.back * speed * Time.deltaTime);
- }
- // 缩放
- if (Input.GetAxis("Mouse ScrollWheel") != )
- {
- //获取鼠标滚轮的滑动量
- float wheel = Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * ;
- //改变相机的位置
- this.transform.Translate(Vector3.forward * wheel);
- }
- }
- }
Camera
Unity 相机平移、旋转、缩放的更多相关文章
- osg矩阵变换节点-----平移旋转缩放
osg矩阵变换节点-----平移旋转缩放 转自:http://www.cnblogs.com/ylwn817/articles/1973396.html 平移旋转缩放这个三个是osg矩阵操作中,最常见 ...
- osg中使用MatrixTransform来实现模型的平移/旋转/缩放
osg中使用MatrixTransform来实现模型的平移/旋转/缩放 转自:http://www.cnblogs.com/kekec/archive/2011/08/15/2139893.html# ...
- webgl学习笔记三-平移旋转缩放
写在前面 建议先阅读下前面我的两篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 平移 1.关键点说明 顶点着色器需要加上 uniform vec4 u_Translation ...
- 【Qt官方例程学习笔记】Analog Clock Window Example (画笔的平移/旋转/缩放应用)
这个例子演示了如何使用QPainter的转换和缩放特性来简化绘图. 值得学习的: 定时器事件ID检查: 在定时器事件中检查定时器id是比较好的实践. QPainter抗锯齿: We call QPai ...
- 【安卓】自己定义基于onDraw的随意动画(不不过平移/旋转/缩放/alpha)、!
思路: 1.基于时间的显示映射.如:给定度数,显示圆弧,加上时序,就可以有圆弧动画的效果 2.给定时序. 用于驱动动画的一帧帧绘制 方案一.基于ObjectAnimator.动画运作时会调用degre ...
- 【Qt官方例程学习笔记】Raster Window Example(画笔的平移/旋转/缩放应用)
这个例子显示了如何使用QPainter渲染一个简单的QWindow. 值得学习的内容 <QtGui>头文件 #include <QtGui>就可以使用Qt GUI模块中的所有类 ...
- ARFoundation - 实现物体旋转, 平移,缩放
ARFoundation - 实现物体旋转, 平移,缩放 本文目的是为了确定在移动端怎样通过单指滑动实现物体的旋转,双指实现平移和缩放. 前提知识: ARFoundation - touch poin ...
- View的平移、缩放、旋转以及位置、坐标系
原创 2015年05月12日 13:15:29 标签: Android / Scroll / Scale / Translation / Rotation 24733 Android开发中,经常会接触 ...
- 【C#/WPF】Image图片的Transform变换:平移、缩放、旋转
WPF中图像控件Image的变换属性Transform: 平移 缩放 旋转 即要想实现图片的平移.缩放.旋转,是修改它所在的Image控件的Transform变换属性. 下面在XAML中定义了Imag ...
随机推荐
- vue实现tab选项卡切换
上代码: <template> <div class="push"> //点击按钮 <div class="tab&qu ...
- VBA自动点击IE的浏览按钮、自动选择路径、自动关闭打开文件对话框
VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框,VBA才能继续向后运行. 例如下面网址,就有一个文件浏览按钮: ...
- Python的range(n)的用法
Python的range(n) 方法就是: API定义: If you do need to iterate(迭代) over a sequence(一系列) of numbers, the buil ...
- ROS中的日志(log)消息
学会使用日志(log)系统,做ROS大型项目的主治医生 通过显示进程的运行状态是好的习惯,但需要确定这样做不会影响到软件的运行效率和输出的清晰度.ROS 日志 (log) 系统的功能就是让进程生成一些 ...
- 吴裕雄--天生自然 R语言开发学习:R语言的简单介绍和使用
假设我们正在研究生理发育问 题,并收集了10名婴儿在出生后一年内的月龄和体重数据(见表1-).我们感兴趣的是体重的分 布及体重和月龄的关系. 可以使用函数c()以向量的形式输入月龄和体重数据,此函 数 ...
- spring:事务的5大隔离级别,7大传播行为
一.五大隔离级别 ISOLATION_READ_UNCOMMITTED:读未提交 ISOLATION_READ_COMMITTED:读已提交 ISOLATION_REPEATABLE_READ:可重复 ...
- Golang Slice 总结
数组 Go的切片是在数组之上的抽象数据类型,因此在了解切片之前必须要要理解数组.数组类型由指定和长度和元素类型定义.数组不需要显式的初始化:数组元素会自动初始化为零值:Go的数组是值语义.一个数组变量 ...
- Hadoop伪分布式HDFS环境搭建和使用
1.环境要求 Java版本不低于Hadoop要求,并配置环境变量 2.安装 1)在网站hadoop.apache.org下载稳定版本的Hadoop包 2)解压压缩包 检查Hadoop是否可用 hado ...
- SQL提高性能
1.对外键建立索引,大数据量时性能提高明显(建索引可以直接[Merge Join],否则还须在查询时生成HASH表作[Hash Join]) 2.尽量少使用inner join,使用left join ...
- mvn测试常用命令
-Dmaven.test.failure.ignore=true 测试报错忽略 例子: mvn package -DAPP_ENV=dev -Dmaven.test.failure.ignore=t ...