(第二章)Unity3D用键盘控制物体旋转
2014-10-18 13:55
676 查看
今天博主学习了怎么控制一个物体旋转,运用到很简单的几句代码.
在update()中写入这样的代码.
Update:程序每一帧都会调用Update这方法,一秒30帧,游戏是一桢一帧在绘画的。所以在Update中写入对对象的控制方法,程序就能每帧就接受到你的键盘操作进行对应的旋转.而且这是大部分的游戏行为代码在这里执行,除了物理代码。
transform:是指当前对象.
Roate:旋转public void Rotate (Vector3 eulerAngles)里面就唯一个参数,表示要旋转的方向度数,比如Vector3.down*Time.deltaTime*30代表向右旋转Time.deltaTime*30度,因为Untiy用的是左手定则,所以Vector3用的是down属性.
Time:Time 类包含一个非常重要的变量叫deltaTime.这个变量包含从上次调用Update 或FixedUpdate到现在的时间(根据你是放在Update函数还是FixedUpdate函数中).
如果你每帧添加或减少一个值,你需要乘以 Time.deltaTime .在你乘以 Time.deltaTime 的同时你必须明确:你是以每秒10米而不是每帧10米来移动物体.这样你的游戏就会以自己的节奏来运行而不是依赖帧的频率,因而也使游戏中的运动更容易掌握.(每秒10米)代码写法:
另外一个例子,如果你想要每隔一段时间增加光照范围.下面的代码实现的是每秒增加半径2个单位.
当涉及到作用于刚体的力时,通常不乘以 Time.deltaTime .因为引擎已经为你处理了.
Vector3: 三维向量,表示3D的向量和点。这个结构用于在Unity传递3D位置和方向。它也包含做些普通向量运算的函数,下一章介绍
今天的学习到这,本人菜鸟,有不足之处还请路过高手进行补充.
在update()中写入这样的代码.
void Update () { if(Input.GetKey(KeyCode.UpArrow)) { //向上转 //transform代表当前对象 transform.Rotate(Vector3.right*Time.deltaTime*30); } if(Input.GetKey(KeyCode.DownArrow)) { //向下转 transform.Rotate(Vector3.left*Time.deltaTime*30); } if(Input.GetKey(KeyCode.LeftArrow)) { //向左转 transform.Rotate(Vector3.up*Time.deltaTime*30); } if(Input.GetKey(KeyCode.RightArrow)) { //向右转 transform.Rotate(Vector3.down*Time.deltaTime*30); } }
Update:程序每一帧都会调用Update这方法,一秒30帧,游戏是一桢一帧在绘画的。所以在Update中写入对对象的控制方法,程序就能每帧就接受到你的键盘操作进行对应的旋转.而且这是大部分的游戏行为代码在这里执行,除了物理代码。
transform:是指当前对象.
Roate:旋转public void Rotate (Vector3 eulerAngles)里面就唯一个参数,表示要旋转的方向度数,比如Vector3.down*Time.deltaTime*30代表向右旋转Time.deltaTime*30度,因为Untiy用的是左手定则,所以Vector3用的是down属性.
Time:Time 类包含一个非常重要的变量叫deltaTime.这个变量包含从上次调用Update 或FixedUpdate到现在的时间(根据你是放在Update函数还是FixedUpdate函数中).
如果你每帧添加或减少一个值,你需要乘以 Time.deltaTime .在你乘以 Time.deltaTime 的同时你必须明确:你是以每秒10米而不是每帧10米来移动物体.这样你的游戏就会以自己的节奏来运行而不是依赖帧的频率,因而也使游戏中的运动更容易掌握.(每秒10米)代码写法:
10.0 * Time.deltaTime
另外一个例子,如果你想要每隔一段时间增加光照范围.下面的代码实现的是每秒增加半径2个单位.
function Update() { light.range += 2.0 * Time.deltaTime; }
当涉及到作用于刚体的力时,通常不乘以 Time.deltaTime .因为引擎已经为你处理了.
Vector3: 三维向量,表示3D的向量和点。这个结构用于在Unity传递3D位置和方向。它也包含做些普通向量运算的函数,下一章介绍
今天的学习到这,本人菜鸟,有不足之处还请路过高手进行补充.
相关文章推荐
- Unity3D 几个基本动画(控制物体移动、旋转、缩放)
- Unity3D 控制物体移动、旋转、缩放
- 002-实现Unity3d中触摸屏幕控制物体的旋转和缩放 代码实现
- Unity3d 鼠标和键盘控制视角缩放、扩大、平移、旋转
- Unity3D中受键盘控制的物体的简单移动
- [Unity3d]控制物体的旋转以及缩放
- Unity3D 控制物体移动、旋转、缩放
- Unity3D 控制物体移动、旋转、缩放
- [Unity3d]控制物体的旋转以及缩放
- Unity3D 控制物体移动、旋转、缩放
- 【Unity3D】使用鼠标键盘控制Camera视角(即时战略类游戏视角):缩近,拉远,旋转
- Unity3d控制物体的旋转以及缩放
- Unity3d 5.x 学习笔记(2)—— 键盘控制物体移动与转向 (move and rotate)
- Unity3D 控制物体移动、旋转、缩放
- Unity3D 控制物体移动、旋转、缩放
- Unity3D 几个基本动画(控制物体移动、旋转、缩放)
- Unity3d虚拟摇杆控制物体移动及旋转
- Unity3D控制物体前后左右移动、旋转及相机跟随
- Unity3D 控制物体移动、旋转、缩放
- Unity3d鼠标拖拽控制物体720°旋转