1.创建一个游戏工程, 命名为PRSGo
2.在Project视图中创建3个文件夹, Scene文件夹、Resources文件夹和Script文件夹
3.将当前场景保存为GameScene
4.创建MoveCube、RotateCube和ScaleCube游戏脚本
5.在Hierarchy视图中创建一个Cube和一个Capsule并把Capsule对象的x改为2
6.Transform组件
(1).任何一个游戏对象在创建的时候都会附带一个Transform组件,并且该组件无法删除
(2).Transform面板一共包含3个属性:Position(位置)、Roatation(旋转)和Scale(缩放)。
7.移动游戏对象
(1).位移函数: void Translate(Vector3 translation, Space relativeTo = Space.Self);
(2).移动transform在translation的方向和距离。
(3).如果relativeTo留空或者设置为Space.Self, 移动被应用相对于变换的自身轴。(当在场景视图选择物体时, x、y和z轴显示)。
(4). 如果相对于Space.World 移动被应用相对于世界坐标系统。
(5).代码清单
9.缩放游戏对象
(1).Transform.localScale = new Vector3(x,y,z)其中Vector3的x为在x轴方向的缩放,y为在y轴方向的缩放,z为在z轴方向的缩放。
(2).整体缩放:transform.localScale *= 1.2f
(3).代码清单
10.旋转游戏对象
(1).旋转: void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
应用一个欧拉角的旋转角度, eulerAngles.z度围绕z轴, eulerAngles.x度围绕x轴, eulerAngles.y度围绕y轴(这样的顺序)。
如果相对于留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴。(当在场景视图选择物体时, x、y和z轴显示), 如果相对于 Space.World 旋转角度被应用围绕世界的x、y、z轴。
(2).围绕旋转: void RotateAround(Vector3 point, Vector3 axis, float angle);
围绕世界坐标的point点的axis旋转该变换angle度。
(3).代码清单
2.在Project视图中创建3个文件夹, Scene文件夹、Resources文件夹和Script文件夹
3.将当前场景保存为GameScene
4.创建MoveCube、RotateCube和ScaleCube游戏脚本
5.在Hierarchy视图中创建一个Cube和一个Capsule并把Capsule对象的x改为2
6.Transform组件
(1).任何一个游戏对象在创建的时候都会附带一个Transform组件,并且该组件无法删除
(2).Transform面板一共包含3个属性:Position(位置)、Roatation(旋转)和Scale(缩放)。
7.移动游戏对象
(1).位移函数: void Translate(Vector3 translation, Space relativeTo = Space.Self);
(2).移动transform在translation的方向和距离。
(3).如果relativeTo留空或者设置为Space.Self, 移动被应用相对于变换的自身轴。(当在场景视图选择物体时, x、y和z轴显示)。
(4). 如果相对于Space.World 移动被应用相对于世界坐标系统。
(5).代码清单
using UnityEngine;
public class MoveCube : MonoBehaviour
{
void Update ()
{
transform.Translate (Vector3.up * Time.deltaTime);
transform.Translate (Vector3.up * Time.deltaTime, Space.World);
}
}
(6).把MoveCube脚本绑定在Cube对象上运行游戏
9.缩放游戏对象
(1).Transform.localScale = new Vector3(x,y,z)其中Vector3的x为在x轴方向的缩放,y为在y轴方向的缩放,z为在z轴方向的缩放。
(2).整体缩放:transform.localScale *= 1.2f
(3).代码清单
using UnityEngine;
public class ScaleCube : MonoBehaviour
{
private int frameCount = 0;
void Update ()
{
frameCount++;
if (frameCount == 50)
{
transform.localScale = new Vector3 (1.5f, 1.5f, 1.5f);
}
if(frameCount == 100)
{
frameCount = 0;
transform.localScale *= 0.5f;
}
}
}
(4).把ScaleCube脚本绑定在Cube对象上运行游戏
10.旋转游戏对象
(1).旋转: void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
应用一个欧拉角的旋转角度, eulerAngles.z度围绕z轴, eulerAngles.x度围绕x轴, eulerAngles.y度围绕y轴(这样的顺序)。
如果相对于留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴。(当在场景视图选择物体时, x、y和z轴显示), 如果相对于 Space.World 旋转角度被应用围绕世界的x、y、z轴。
(2).围绕旋转: void RotateAround(Vector3 point, Vector3 axis, float angle);
围绕世界坐标的point点的axis旋转该变换angle度。
(3).代码清单
using UnityEngine;
public class RotateCube : MonoBehaviour
{
void Update ()
{
transform.Rotate (new Vector3(0, 1, 0));
transform.RotateAround (GameObject.Find ("Capsule").transform.position, Vector3.back, 3);
}
}
(4).把MoveCube脚本绑定在Cube对象上运行游戏