溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

[腳本]Unity3D一些基本功能的腳本

發(fā)布時(shí)間:2020-07-16 16:17:11 來源:網(wǎng)絡(luò) 閱讀:384 作者:蓬萊仙羽 欄目:游戲開發(fā)

Unity3D入門:一

*添加天空盒子:

添加天空盒 有兩種方式 

1 : 在當(dāng)前相機(jī)上添加skybox

2 : 在當(dāng)前場景上添加skybox

上面的兩種方式的結(jié)果是一樣的   第一種方式的優(yōu)勢在于 如果 世界中有多個(gè)攝像機(jī)的話,切換攝像機(jī) 需要看不同的天空 就可以使用這種方式實(shí)現(xiàn)

我們先來試試unity 給我們的提供的天空盒 吧 

要使用 unity 當(dāng)然要先導(dǎo)入天空資源包啦 導(dǎo)入方式 :

assets -> import package ->skyboxes 

然后點(diǎn)擊camera屬性的skybox后面的一個(gè)小圓按鈕(中間有個(gè)實(shí)心的點(diǎn)),然后選擇自己想要的天空盒效果

*動態(tài)創(chuàng)建一排附有剛體屬性的cube:

for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                 GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Cube);
                 goNew.transform.position = new Vector3(i, j, -1);//x,y,z坐標(biāo)
                 goNew.AddComponent<Rigidbody>();
            }
        }

*如果點(diǎn)擊鼠標(biāo),給當(dāng)前剛體添加一個(gè)向前的推力:

if (Input.GetMouseButtonDown(0))
{

this.gameObject.rigidbody.AddForce(Vector3.forward*10,ForceMode.Impulse);//一個(gè)力方向的基本向量,然后乘以倍數(shù),顯得力就大一些

}

*按下鍵盤某鍵,然后程序作出反應(yīng):

var MoveSpeed=5;
var RotateSpeed=20;
function Update () {
if(Input.GetKey(KeyCode.W))
{
this.transform.Translate(Vector3.forward*Time.deltaTime*MoveSpeed);
}
else if(Input.GetKey(KeyCode.S))
{
this.transform.Translate(Vector3.forward*Time.deltaTime*-MoveSpeed);
}
else if(Input.GetKey(KeyCode.A))
{
this.transform.Rotate(Vector3.up*Time.deltaTime*-RotateSpeed);
}
else if(Input.GetKey(KeyCode.D))
{
this.transform.Rotate(Vector3.up*Time.deltaTime*RotateSpeed);
}
}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI