這裏有很多U3D資源、U3D培訓視頻、U3D教程、U3D常見問題、U3D項目源碼,我們致力於打造業內unity3d培訓、學習第一品牌
Transform類:
場景中的每一個物體都有一個Transform。用於儲存並操控物體的位置、旋轉和縮放。
自身屬性:Position(位置)Rotation(旋轉)Scale(規模)
一、Transform..Translate平移(x軸,y軸,z軸,參照物(相對於該物體,可不寫))
作用:改變Position的值
兩種種常用的方法:
1、具體座標:Transfrom.Translate(New Vector3(0,0,0))
Vector3(x軸方向,y軸方向,z軸方向)
2、簡碼:Transform.Translate(Vector3.forword)
Vector3.forword |
寫Vector3(0, 0, 1)的簡碼,也就是向z軸 |
Vector3.down |
寫Vector3(0, -1, 0)的簡碼 |
Vector3.left |
寫Vector3(-1, 0, 0)的簡碼 |
Vector3.right |
寫Vector3(1, 0, 0)的簡碼,也就是向x軸。 |
Vector3.back |
寫Vector3(0, 0,- 1)的簡碼 |
Vector3.zero |
寫Vector3(0, 0, 0)的簡碼。 |
Vector3.one |
寫Vector3(1, 1, 1)的簡碼。 |
Vector3.up |
寫Vector3(0, 1, 0)的簡碼,也就是向y軸。 |
二、Transform.Rotate旋轉(x軸,y軸,z軸)
參數和Transform..Translate一樣,不過是沿着那個座標旋轉而不是平移
三、Transform.localScale 自身縮放
//擴大物體的x軸向0.1個單位
transform.localScale += Vector3(1,0,0);
Vector3和Transform.Rotate跟Transform..Translate的用法一樣,都是沿着該方向,不同的這個是沿着該方向闊擴大,"+="號可以換成其他運算符,但是必須是賦值運算,比如"-=",就是縮小。
Input輸入:使用這個類能夠讀取輸入管理器設置的按鍵,以及訪問移動設備的多點觸控或加速感應數據。
三種輸入:鍵盤、鼠標、自定義
鍵盤判斷:Input.GetKey(KeyCode.系統定義的控件名)
E.g
if (Input.GetKey (KeyCode.UpArrow))
print ("up arrow key is held down");
當按下上箭頭鍵時,輸出 -- up arrow key is held down
鼠標判斷:
Input.GetMouseButton(0) |
按下鼠標左鍵 |
Input.GetMouseButton(1) |
按下鼠標右鍵 |
Input.GetMouseButton(2) |
按下鼠標中鍵 |
自定義:Input.GetButton("按鈕名稱")
輸入鍵的名稱如下:
標準鍵:"a", "b", "c" ...
數字鍵: "1", "2", "3", ...
方向鍵:"up", "down", "left", "right"
小鍵盤鍵:"[1]", "[2]", "[3]", "[+]", "[equals]"
修改鍵:"right shift", "left shift", "right ctrl", "left ctrl", "right alt", "left alt", "right cmd", "left cmd"
鼠標按鈕:"mouse 0", "mouse 1", "mouse 2", ...
操縱桿按鈕(從任意操縱桿):"joystick button 0", "joystick button 1", "joystick button 2",
操縱桿按鈕(從指定操縱桿):"joystick button 0", "joystick button 1", "joystick 1 button 0", ...
特殊鍵:"backspace", "tab", "return", "escape", "space", "delete", "enter", "insert", "home", "end", "page up", "page down"
功能鍵:"f1", "f2", "f3", ...
GameObject 遊戲物體:
GameObject.CreatePrimitive()創建基本物體:
作用:創建一個帶有基本網格渲染器和相應碰撞器的遊戲物體
E.g GameObject.CreatePrimitive(PrimitiveType.Plane);創建一個平面
GameObject.Destroy();銷燬
//銷燬遊戲物體
Destroy (gameObject);
/從遊戲物體刪除該腳本實例
Destroy (this);
//從遊戲物體刪除剛體
Destroy (rigidbody);
//加載物體5秒後銷燬遊戲物體
Destroy (gameObject, 5);
GameObject cube= GameObject.Find("");查找
按名字查找:GameObject go=GameObject.Find("club");
按標籤查找:GameObject go=GameObject.FindWithTag("club");
GameObject.Instantiate(被克隆的物體事例 , 克隆的位置 , Quaternion.identity);
TimedeltaTime 增量時間
用法:放在Update()函數中的代碼是以幀來執行的.如果我們需要物體的移動以秒來執行.我們需要將物體移動的值乘以Time.deltaTime。
Random 隨機類
作用:該類用於產生隨機數據
用法:類型 b=Random.Range(最小值,最大值)
E.g int b=Random.Range(1,50) 隨機產生1到50中的一個
Yield
用處:可以實現將一段程序延遲執行或者將其各個部分分佈在一個時間段內連續執行
E.g
Void Start()
{StartCoroutine("Get"); 執行Get()方法列的語句}
IEnumerator Get()
{yield return new WaitForSeconds(3f);//3秒之後執行下面的語句
print("aaaaaaaa");}