分類:Unity、C#、VS2015 學習
建立日期:2016-04-20 spa
Unity引擎提供了豐富的組件和類庫,爲遊戲開發提供了很是大的便利,熟練掌握和使用這些API,對於遊戲開發的效率提升很重要。 3d
這一節咱們主要學習Transform的基本用法。本節例子的運行效果以下: code
場景中的每個物體都有一個Transform。 orm
Transform組件決定了遊戲對象的位置、方向和縮放比例,若是但願在遊戲中更新玩家位置、設置相機觀察角度,都免不了要和Transform組件打交道。 對象
每個Transform能夠有一個父級,容許你分層次應用位置、旋轉和縮放。能夠在Hierarchy面板查看層次關係。他們也支持計數器(enumerator),所以你可使用循環遍歷子物體。例如: blog
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public void Awake() { foreach (Transform child in transform) { child.position += Vector3.up * 10.0F; } } }
一、成員變量遊戲
二、方法 遊戲開發
例如(C#腳本): 開發
void Update() { //相對於自身座標系統沿z軸向前移動物體(1單位/秒) transform.Translate(0, 0, Time.deltaTime); //在世界座標系中向上移動物體(1單位/秒) transform.Translate(0, Time.deltaTime, 0, Space.World); //相對於攝像機向右移動物體(1單位/秒) transform.Translate(Vector3.right * Time.deltaTime, Camera.main.transform); //相對於自身座標系統向右移動物體(1單位/秒) transform.Translate(Time.deltaTime, 0, 0, Camera.main.transform); }
其中,relativeTo的選項有:
Space.Self--默認。相對於變換的自身軸移動。
Space.World--(當在場景視圖選擇物體時,x、y和z軸顯示)相對於世界座標系統移動。
一、運行Unity,打開ch06Demos工程。
二、在Assets下添加名爲6.4的子文件夾,而後在該文件夾下建立一個名爲Scene6_4.unity的場景:
三、雙擊打開該場景。
四、向場景中添加一個圓柱體(Cylinder),並將其Y軸縮放改成5:
五、再向場景中添加一個lifangt(Cube),而後將X、Y、Z縮放係數全改成2:
六、調整攝像機位置,讓圓柱體和立方體呈現出合適的大小:
七、在6.4文件夾中建立一個文件名爲Demo4_1.cs的C#腳本:
八、雙擊Demo4_1,它就會自動啓動VS2015,在VS2015中將Demo4_1.cs改成下面的代碼並保存:
using UnityEngine; using System.Collections; public class Demo4_1 : MonoBehaviour { public GameObject cube; public GameObject cylinder; void OnGUI() { if (GUILayout.Button("向左移動Cube")) { cube.transform.Translate(new Vector3(-0.5f, 0f, 0f)); } if (GUILayout.Button("向右移動Cube")) { cube.transform.position = cube.transform.position + new Vector3(0.5f, 0f, 0f); } if (GUILayout.Button("放大Cube")) { cube.transform.localScale *= 1.2f; } if (GUILayout.Button("縮小Cube")) { cube.transform.localScale *= 0.8f; } if (GUILayout.Button("旋轉Cube")) { cube.transform.Rotate(new Vector3(0, 10, 0)); } if (GUILayout.Button("圍繞圓柱旋轉Cube")) { cube.transform.RotateAround(cylinder.transform.position, Vector3.up, 10); } } }
九、切換到Unity,向場景中添加一個空的GameObject,而後將腳本拖放到檢視器視圖中,再將Cube和Cylinder分別拖放到腳本對應的屬性下(賦初值):
十、按【播放】按鈕,便可看到下面的預覽效果:
屢次單擊不一樣的按鈕或者同一個按鈕,分別觀察變化。