Unity_常用的一些方法記錄 - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

您當前位置>首頁 » 新聞資(zī)訊 » 技術(shù)分享 >

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;

相關(guān)案例查看更多