09应用输入经理旋转场景--《猿学校课程Unity3d》
为什么极品飞车游戏等。,我们可以通过系统设置非常的方面根据自己喜欢的操作模式设置,有些人喜欢用箭头来控制不喜欢与使用“W,S,A,D”控制,这就解释程序猿不会死在程序写入内部控制,看一眼Unity3d如何让用户在任何时候改变“快捷键”。
长处:不仅便于后期维护,代码。
Edit --Project Settings -- Input 打开输入管理器
前面17组是系统配置的。能够改动或删除。
将Size改为18,新增一组。(名称为Test。相应按键为 a)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd293a2s=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
在公布的程序中。假设要改动相应键,控制面板中默认显示该功能名为Name。
若设置了正值描写叙述名称。即显示功能名为该值。
负按键:比方正按键为 W ,负按键为“S”。它们的返回值分别为1。-1 。
在代码区域进行推断,再实现不同的功能。
备选正负button:第二组实现与第一组功能同样的button。
则这两个键都能够实现同一功能。
脚本代码:
if (Input.GetButton("Test"))
{
}
相当于:
//if (Input.GetKey(KeyCode.A)) //不便于维护
//{
//}
Input.GetAxis("Test");//返回正负键值。
正为。负为-1,没有按下为0
公布的程序,即能够随时改动相应键值
转动场景
1.转动物体
首先创建一个输入管理器
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd293a2s=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
要实现A和Left 键向左转,D和Right键向右转
创建一个物体和一个脚本。将脚本赋给物体。
void Update () {
//Input.GetAxisRaw("TurnLeftOrRight") 当按下A或Left。返回;按下D或Right,返回-1;不按时返回。马上返回
gameObject.transform.Rotate(0, Input.GetAxisRaw("TurnLeftOrRight") * 15 * Time.deltaTime, 0, Space.Self);//松口键时。马上停止
//这时将输入管理器的Sensitivity(灵敏度)由改为
Input.GetAxis("TurnLeftOrRight");
//这样返回值将是变化,比如按下A,将在一定时间内大概从->0.2->0.4…->1变化,这时松开键时。还是马上返回
//这时将输入管理器的Gravity(重力灵敏度)由改为。
//这样,松口按键时,返回值将由"终值"慢慢变化到
}
2.转动视觉
Type 类型。比方以下系统自带的鼠标横向滑动时。Type为Mouse Movement ; Axis 为X axis
……
0.1鼠标平移,镜头绕中心旋转
创建一个新的脚本
void Update () {
gameObject.transform.Rotate(0, Input.GetAxis("Mouse X") * 10, 0, Space.Self);
}
注意不能仅仅能把脚本扔给摄像机,由于上面的代码仅仅改变Y轴的值
应该新创建一个空物体,让它的坐标为(0,0,0)。然后让摄像机成为它的子物体!
将脚本扔给该空物体。就可以实现该摄像机到中心点的距离不变,但随着中心点旋转。
0.2转动鼠标滚轮,镜头伸缩。
创建一个新的脚本,直接扔给摄像机。当镜头视觉对准物体时,(Ctrl+Shift+F)。摄像机的Z轴便是对准物体的,这时这须要移动摄像机改变Z轴的值,就可以实现伸缩镜头效果。
void Update () {
gameObject.transform.Translate(0, 0, Input.GetAxis("Mouse ScrollWheel") * 100 *Time.deltaTime, Space.Self);
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
09应用输入经理旋转场景--《猿学校课程Unity3d》的更多相关文章
- Java初学者作业——编写Java程序,输入一个学生的5门课程的成绩,求其平均分。
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个学生的5门课程的成绩,求其平均分.计算平均成绩,需要将每一门课程的成绩逐步累加到总成绩中,使用 for 循环实现,然后求出平均分. 实现 ...
- unity, 在保持场景根节点Transform不变且Hierarchy结构不变的前提下整体旋转场景
比如我们摆出下面结构: 其Hierarchy如下: 其中根节点road的Transform是如下干净的原始状态: 现在想保持road的Hierarchy和Transform都不变的情况下将road旋转 ...
- Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127 ...
- 在word中输入任意角度旋转图片
Sub 图片旋转任意角度() Dim sha As Shape, isa As InlineShape Static s As Integer Application.ScreenUpdating = ...
- 【转载】Unity中矩阵的平移、旋转、缩放
By:克森 简介 在这篇文章中,我们将会学到几个概念:平移矩阵.旋转矩阵.缩放矩阵.在学这几个基本概念的同时,我们会用到 Mesh(网格).数学运算.4x4矩阵的一些简单的操作.但由于克森也是新手,文 ...
- 剑指Offer面试题:7.旋转数组的最小数字
一.题目:旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2 ...
- Unity3d游戏场景优化杂谈(3)
LOD(Level-of-detail)是最常用的游戏优化技术 .如果你的程序可以定制开发应用LOD的模块,当然 是很美好的事情.不过如果没有也没关系,大家可以使用UniLOD这个第三方的LOD插件. ...
- ASP.NET c# textbox 正则表达式 文本框只允许输入数字(验证控件RegularExpressionValidator )
<input type="text" name="test" onKeyUp="test1.value=(this.value=this.val ...
- 黑盒测试用例设计方法&理论结合实际 -> 场景法
一概念 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流.这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件 ...
随机推荐
- C#获取设备的IP和Mac类
/// <summary> /// 此类用于获得设备的Ip和Mac /// </summary> public class Mac { [DllImport("Iph ...
- JAVA中各种去除空格
1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 String str ...
- 快捷找jar包方式
通过例如以下站点查找jar包: 1.http://www.java2s.com/Code/Jar/o/Downloadorgapacheservicemixbundlescommonslang246j ...
- STM32W108无线传感器网络嵌入式uCOS-II的移植及实时环境监測
基于STM32W108无线开发板,将ucos-ii v2.86内核移植到其上,并加入用户任务.实现对温湿度.超声波.声音.光敏等传感器的控制及实时数据採集. 14.1开发环境说明 硬件:STM32W1 ...
- 构建自己的Java并发模型框架
Java的多线程特性为构建高性能的应用提供了极大的方便,可是也带来了不少的麻烦.线程间同步.数据一致性等烦琐的问题须要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误. 另外.应用逻辑和线程逻辑 ...
- Android 4.0新组件:GridLayout详细说明
于Android 4.0(API 14)它提供了一个新的组件GridLayout,它继承自Linearlayout,用于执行网络格样式布局. 在某些方面,GridLayout与TableLayout和 ...
- lua学习笔记11:lua中的小技巧
lua中的小技巧,即基础lua语言本身的特种,进行一个些简化的操作 一. 巧用or x = x or v 等价于: if not x then x = v end 假设x为nil或false,就给他赋 ...
- ubuntu下安装wine
直接在终端里面输入“sudo apt-get install wine”不要引号,即可安装wine.至于使用它,终端命令就是“wine ....”举个例子,你现在要运行魔兽, 然后你的魔兽的文件夹的位 ...
- linux 手动安装 oracle(转)
Linux下安装Oracle 11 此为参照CU论坛上的高人写的文章并结合自身环境增加了点细节性的东西 操作系统 CentOS 4.2 2.6.11.8内核 安装准备 下载Oracle11安装包 内存 ...
- air mobile andriod ios 页面加载控件
通过最近的研究flex 书写android .ios申请书,我们遇到了一个问题加载页面,我们用flex sdk 12,air 15 无级似android ListView寻呼模块.所以,我和我的同事们 ...