資源描述:
《Unity3D游戲開發(fā)之自動(dòng)尋徑等.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Unity3D游戲開發(fā)之自動(dòng)尋徑等自動(dòng)尋徑指的就是點(diǎn)擊場(chǎng)景上的一個(gè)位置,角色就會(huì)自動(dòng)尋路過去。中間可能會(huì)有很多的障礙物,角色會(huì)自動(dòng)繞過障礙物,最終達(dá)到終點(diǎn)。?Navigation:定位,導(dǎo)航?首先先來實(shí)現(xiàn)巨魔自動(dòng)尋徑的功能,先在視圖中創(chuàng)建地形和障礙物(障礙物可以用cube來代替),然后倒入巨魔?!竟放賹W(xué)習(xí)網(wǎng)】然后點(diǎn)擊window---Navigation,這樣在屬性欄的旁邊就會(huì)出現(xiàn)Navigation欄。然后設(shè)置各個(gè)物體的屬性:地面和障礙物:然后烘培尋路網(wǎng)格:巨魔:????最后給巨魔添加腳本,代碼如下:1.????NavMeshAgentag
2、ent;2.????voidStart(){3.????????agent=GetComponent();4.??????????????}5.6.????voidUpdate(){7.????????RaycastHithit;8.????????if(Input.GetMouseButtonDown(0)){9.????????????Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);10.????????????if(Physics.Raycas
3、t(ray,outhit)){11.????????????????agent.SetDestination(hit.point);12.????????????????????????????}13.????????????????????}14.???????????}還可以實(shí)現(xiàn)巨魔的走和跑,在代碼中添加:1.Animatoranim;2.voidStart(){3.???????anim=GetComponent();4.????}5.voidUpdate(){6.????????if(agent.remaining
4、Distance==0)??7.????????{??8.????????????AnimationToIdle();??9.????????}??10.????????else??11.????????{??12.????????????AnimationToWalk();??13.????????}??14.??????}15.publicvoidAnimationToIdle(){16.????????anim.SetFloat("idle",1F);17.????????anim.SetFloat("walk",0.0F);18.??
5、??????anim.SetFloat("run",0F);19.????}20.publicvoidAnimationToWalk(){21.????????anim.SetFloat("run",0.0F);22.????????anim.SetFloat("idle",0F);23.????????anim.SetFloat("walk",1.0F);24.????}25.}最后把腳本拖放到巨魔上。寵物跟隨在游戲中,主角的身邊總是跟著自己的魔寵,我們也來實(shí)驗(yàn)一下,下面我用球來代替魔寵。代碼如下:1.publicTransformtarg
6、et;2.????privateNavMeshAgentagent;3.????voidStart(){4.????????agent=GetComponent();5.????}1.????voidUpdate(){2.????????if(target!=null){3.????????????agent.destination=target.position;4.????????}5.????}把腳本拖放到魔寵上,并且給魔寵添加NavMeshAgent設(shè)置障礙物?如圖,在添加一個(gè)cube充當(dāng)障礙物設(shè)置cube
7、的屬性:???????這樣在巨魔到達(dá)障礙物時(shí)就走不過去。高空下落游戲中經(jīng)常有從山上或者是墻上跳下的人物,我也來實(shí)驗(yàn)一下這功能。選中要跳落的地點(diǎn),點(diǎn)擊障礙物,在右側(cè)欄中進(jìn)行設(shè)置:??設(shè)置完成后出現(xiàn)如下場(chǎng)景:尋路網(wǎng)格層把Navigation里面Bake的Drop?Height的值設(shè)為0,取消勾選Navigation里面Object的OffMeshLink?Generatic,點(diǎn)擊Bake;在Navigation里面Layers創(chuàng)建兩個(gè)Layers(LayersUp,LayersDown)-->Bake設(shè)置巨魔屬性:一定要注意,創(chuàng)建了兩個(gè)Layer
8、s,選中兩條路徑,所選的路徑的Navigation里面的Navigation?Layer也要改變:這樣才能實(shí)現(xiàn)巨魔有選擇性的尋路。NavMeshAgent屬性解釋: