大香蕉综合在线观看视频-日本在线观看免费福利-欧美激情一级欧美精品性-综合激情丁香久久狠狠

好房網(wǎng)

網(wǎng)站首頁(yè)百科全書 >正文

unity3d入門參考書(unity3d入門教程)

2022-07-02 23:20:05 百科全書來源:
導(dǎo)讀相信目前很多小伙伴對(duì)于unity3d入門教程都比較感興趣,那么小搜今天在網(wǎng)上也是收集了一些與unity3d入門教程相關(guān)的信息來分享給大家,希望能...

相信目前很多小伙伴對(duì)于unity3d入門教程都比較感興趣,那么小搜今天在網(wǎng)上也是收集了一些與unity3d入門教程相關(guān)的信息來分享給大家,希望能夠幫助到大家哦。

1、第二節(jié) 檢測(cè)碰撞下面我們通過簡(jiǎn)單的JavaScript語(yǔ)句來檢測(cè)碰撞,這在制作游戲中是很有用的,比如說檢測(cè)到子彈和敵人的碰撞之后,可以使用我們后來要講到destory命令消滅敵人。這次我們新建一個(gè)Terrain項(xiàng)目,在用Grass貼圖來覆蓋住它,如果你找不到貼圖的話,記得在Asset菜單里找找,看看哪些資源你還沒有引入進(jìn)去。然后再加入一個(gè)Cube項(xiàng)目,我這里叫做PlayerCube,為他加上重力,之后選擇bouncy性質(zhì),然后我們?cè)傩陆ㄒ粋€(gè)Cude,調(diào)整y和z的值讓他變成一堵墻,放置好,命名為Wall,別忘了給Terrain改名為Terrain,之后我們?cè)贏sset菜單中建立一個(gè)JavaScript項(xiàng)目,改名為CollisionDetect,雙擊打開,如果你使用的是Unity 3.5的話,就會(huì)打開MonoDev,這是一個(gè)新工具還是很好用的,在其中新建一個(gè)函數(shù),別管Start和Update函數(shù),我們待會(huì)會(huì)講。加入以下代碼:function OnCollisionEnter(theCollision : Collision){?if(theCollision.gameObject.name=="Terrain"){?Debug.Log("Hit terrain");?}else if(theCollision.gameObject.name=="Wall"){?Debug.Log("Hit the wall");?}如果看不懂這些代碼的話,也沒關(guān)系,JavaScript是最好學(xué)的編程語(yǔ)言,Google一下吧,保存這個(gè)JS文件,然后拖到我們的PlayerCube上。這時(shí)候我們運(yùn)行,就會(huì)看到PlayerCube到處蹦,碰到Terrain的時(shí)候,控制臺(tái)就會(huì)顯示Hit Terrain,碰到wall的時(shí)候就會(huì)顯示Hit the wall。

2、第三節(jié)??檢測(cè)用戶輸入下面我們來講一下如何檢測(cè)用戶的鍵盤和鼠標(biāo)的操作。就用我們上次的那個(gè)場(chǎng)景,這次我們給PlayerCube加上我們可以控制的動(dòng)作。就是通過“wasd”或者上下左右鍵來控制移動(dòng)。請(qǐng)注意,如果要使用這里使用的方法來控制移動(dòng),那么所控制的物體不能夠是一個(gè)物理世界的物體,也就是說你要把RigidBody這個(gè)component刪掉,如果你想要在物理世界里移動(dòng)物體的話,你就需要我們?cè)谙旅鏁?huì)講到的力(force)。首先我們新建一個(gè)JavaScript文件,這里命名為InputDetect吧,輸入下面的代碼:#pragma strict?var Player : GameObject;?function Start () {?}?function Update () {?Player = GameObject.Find("PlayerCube");?if(Input.GetKey(KeyCode.W)){?Debug.Log("Hit w");?Player.transform.Translate(Vector3.forward * 2);?}else if(Input.GetKey(KeyCode.S)){?Debug.Log("Hit s");?Player.transform.Translate(Vector3.back * 2);?}else if(Input.GetKey(KeyCode.A)){?Debug.Log("Hit a");?Player.transform.Translate(Vector3.left * 2);?}else if(Input.GetKey(KeyCode.D)){?Debug.Log("Hit d");?Player.transform.Translate(Vector3.right * 2);

3、第四節(jié) 使用Prefab復(fù)制和控制物體我們可以直接把Prefab看做是個(gè)媽,她能生好多小孩,如果媽媽的DNA變了,小孩的跟著變,就是說你可以用Prefab創(chuàng)建物體,然后通過這個(gè)Prefab修改所有這類物體的性質(zhì),這對(duì)于批量生成的敵人或者NPC來說很有用。首先,先創(chuàng)建一個(gè)Prefab,我這里命名為“Mother”,之后新建一個(gè)Sphere物體,當(dāng)然你也可以建一些其他的物體,之后給這個(gè)Sphere加上你想要的性質(zhì),我加入了RigidBody和Bouncy,之后將Sphere拖到Mother上,你會(huì)發(fā)現(xiàn)mother變藍(lán)了,之后你就可以隨意拖一些mother物體到屏幕上去,你會(huì)發(fā)現(xiàn)所有的Prefab創(chuàng)建出的物體在清單上都是藍(lán)色的,說明他們都有共同的性質(zhì)。當(dāng)然,作用于一個(gè)Prefab上的腳本也會(huì)作用到它的子物體上去。

4、第五節(jié) 使用Destroy命令消滅物體我們游戲中怎么能夠沒有敵人呢?有敵人就得能夠消滅他們,這時(shí)候,我們就會(huì)使用Destroy命令了。在這里,我們使用上次Mother生出來的小球球作為敵銀,一旦我們的PlayerCube碰撞到了小球的話,就是用Destroy讓小球消失。新建一個(gè)JavaScript腳本,輸入以下代碼:#pragma strict?var mother : GameObject;?function Start () {?}?function Update () {?}?function OnCollisionEnter(theCollision : Collision){?mother = GameObject.Find("Mother");?if(theCollision.gameObject.name=="Mother"){?Debug.Log("Hit mother");?Destroy(mother);這段代碼很好懂吧,就是檢驗(yàn)碰撞,然后銷毀碰撞到的Mother物體,別忘了把Destroy的JavaScript文件拖到PlayerCube上去。運(yùn)行一下,就可以看到碰撞到的物體都被消滅了。

本文到此結(jié)束,希望對(duì)大家有所幫助。


版權(quán)說明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!


標(biāo)簽:

熱點(diǎn)推薦
熱評(píng)文章
隨機(jī)文章
日本精品理论在线观看| 欧美成人黄色一区二区三区| 国产亚洲欧美日韩精品一区 | 国产精品第一香蕉视频| 精品香蕉国产一区二区三区| 五月婷婷亚洲综合一区| 欧美成人欧美一级乱黄| 欧美成人精品国产成人综合| 中文字幕日韩欧美亚洲午夜| 99久久国产精品成人观看| 在线欧美精品二区三区| 婷婷一区二区三区四区| 午夜亚洲少妇福利诱惑| 国产欧美日韩精品成人专区| 日本高清不卡一二三区| 欧美成人免费视频午夜色| 高潮少妇高潮久久精品99| 高清国产日韩欧美熟女| 高清在线精品一区二区| 欧美乱码精品一区二区三| 91欧美亚洲精品在线观看| 亚洲一区二区三区一区| 夫妻性生活动态图视频| 日韩精品视频一二三区| 91日韩欧美中文字幕| 九九久久精品久久久精品| 国产亚洲欧美另类久久久| 中文字幕亚洲精品人妻| 日韩精品在线观看完整版| 国产熟女一区二区不卡| 日韩成人动画在线观看| a久久天堂国产毛片精品| 国产成人精品国产亚洲欧洲| 免费啪视频免费欧美亚洲| 自拍偷女厕所拍偷区亚洲综合| 经典欧美熟女激情综合网| 亚洲乱码av中文一区二区三区| 亚洲午夜福利视频在线| 精品国产品国语在线不卡| 男女一进一出午夜视频| 激情亚洲一区国产精品久久|