Unity_常用的一些方法記錄
發表時間:2020-10-18
發布人:葵宇科技
浏覽次數:52
Unity_常用的一些方法記錄
- 1.通(tōng)過物體名字查找遊戲物體
- 2.查找對象中(zhōng)的組件
- 3.調用其他對象下(xià)組件中(zhōng)的方法
- 4.打印數據
- 5.獲得/設置物體的locaiton、rotation、scale
- 6.兩點間的距離(lí)
- 7.unity與web間(webgl/webplayer)的傳輸:傳出、傳入
- 8.lerp插值運算
- 9.修改物體的材質
- 10.将變量暴露給編輯器(qì),方便在編輯器(qì)中(zhōng)手動(dòng)修改
1.通(tōng)過物體名字查找遊戲物體
GameObject.Find(“Cube”);//查找名為Cube的遊戲物體
GameObject.Find(“GameObject/Canvas/Text”);//可(kě)以指定路(lù)徑位置
2.查找對象中(zhōng)的組件
GameObject.GetComponent<組件名稱>();
3.調用其他對象下(xià)組件中(zhōng)的方法
GameObject.Find(“腳本所在的物體的名字”).SendMessage(“函數名”); //能調用public和(hé)private類型函數
GameObject.Find(“腳本所在的物體的名字”).GetComponent<腳本名>().函數名(); //隻能調用public類型函數
4.打印數據
Debug.Log(“打印内容”);
5.獲得/設置物體的locaiton、rotation、scale
- 位置:
Vector3 player_postion = this.transform.position;// 獲取Player變量指定的對象的(X,Y,Z)
// 獲取X,Y,Z值
float x = player_postion.x;
float y = player_postion.y;
float z = player_postion.z;
//設置位置
// 1.直接賦值
this.transform.position = player_postion;
// 2.在某GameObject的基礎上加
this.transform.position = new Vector3(player_postion.x, player_postion.y + 7.79F, player_postion.z - 15);
//或者是
this.transform.position = player_postion + new Vector3(0, 7.79F, -15);
- 旋轉:
this.transform.eulerAngles //獲得旋轉
this.transform.localEulerAngles=new Vector3(float Pitch,float Yaw,float Roll); //設置絕對旋轉
- 縮放:
this.transform.localScale //獲得縮放
this.transform.localScale = new Vector3(x, y,z);//修改縮放
6.兩點間的距離(lí)
Vector3.Distance(a,b) //a和(hé)b是兩個(gè)點的坐(zuò)标position值
7.unity與web間(webgl/webplayer)的傳輸:傳出、傳入
- 傳出:
在unity中(zhōng)寫如(rú)下(xià)調用語句:
Application.ExternalCall( “SayHello”, “The game says hello!” );
在html中(zhōng)定義函數如(rú)下(xià)
function SayHello(args){
alert(args);
}
- 傳入:
在unity中(zhōng)定義函數如(rú)下(xià),并将帶有FunctionName函數的腳本綁定到Main Camera中(zhōng)
HTML中(zhōng)寫:
SendMessage(“Main Camera”, “FunctionName”, 參數);//向unity中(zhōng)的Main Camera對象下(xià)的FunctionName函數傳入參數
SendMessage方法隻能傳遞一個(gè)參數,不然會報錯,所以通(tōng)常傳遞多個(gè)參數的時候,将數據組成json數據,以string的形式傳入
8.lerp插值運算
從A點過渡到B點
Transform.position = Vector3.Lerp(A點坐(zuò)标, B點坐(zuò)标, alpha);//alpha過渡值:0時取A,1時取B,将alpha從0過渡到1即可(kě)
9.修改物體的材質
this.GetComponent().material = 新材質;
10.将變量暴露給編輯器(qì),方便在編輯器(qì)中(zhōng)手動(dòng)修改
C#中(zhōng)将變量設置為公開:
public flaot f;
public Vector3 position;