游戏对象的移动旋转缩放
生活随笔
收集整理的這篇文章主要介紹了
游戏对象的移动旋转缩放
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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).代碼清單
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對象上運行游戲
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對象上運行游戲
總結
以上是生活随笔為你收集整理的游戏对象的移动旋转缩放的全部內容,希望文章能夠幫你解決所遇到的問題。