課程
/Unity 3D
/Unity3D快速入門
怎么讓ai動(dòng)起來啊
2018-01-20
源自:Unity3D快速入門 4-5
正在回答
選擇Window->Navigation,會(huì)出現(xiàn)Navigation的相關(guān)設(shè)置;
選擇場景中構(gòu)成游戲地圖的物體,點(diǎn)擊Navigation下的Object,將Naviga Static選項(xiàng)勾選;
點(diǎn)擊Navigation下的Bake,設(shè)置其中參數(shù),最后點(diǎn)擊右下角的Bake對所選物體進(jìn)行烘焙,烘焙成功后,會(huì)在Scene視窗下看到藍(lán)色網(wǎng)格;
在需要進(jìn)行尋路的游戲物體上添加NavMeshAgent組件以及一個(gè)新的腳本;
腳本:加入U(xiǎn)nityEngine.AI的命名空間,聲明一個(gè)類型為NavMeshAgent類型的變量,在Start方法或者Awake方法中通過GetComponent方法獲取到NavMeshAgent組件,在Update方法中使用變量的SetDestination方法設(shè)定目標(biāo)位置(在腳本中添加一個(gè)共有變量GameObject,將這個(gè)物體的位置作為尋路的目標(biāo)點(diǎn),在上述的SetDestination方法中填入這個(gè)物體的position);
using?System.Collections; using?System.Collections.Generic; using?UnityEngine; using?UnityEngine.AI; public?class?Player?:?MonoBehaviour?{ private?NavMeshAgent?agent; public?GameObject?target; //?Use?this?for?initialization void?Start?()?{ //?獲取NavMeshAgent組件 agent?=?GetComponent<NavMeshAgent>?(); } //?Update?is?called?once?per?frame void?Update?()?{ //?設(shè)定目標(biāo)位置 agent.SetDestination?(target.transform.position); } }
不要忘記將目標(biāo)物體拖到腳本的共有變量target中;
可以做一些其他的設(shè)置,不過這樣就已經(jīng)可以運(yùn)行了,運(yùn)行后的效果就是一個(gè)物體向著一個(gè)目標(biāo)點(diǎn)進(jìn)行移動(dòng)。
舉報(bào)
本課程為Unity 3D入門教程,快速學(xué)會(huì)用Unity開發(fā)游戲
1 回答我想知道他的腿是怎么動(dòng)起來的啊,,,,加了骨骼嗎////?
3 回答怎么制作動(dòng)畫?
1 回答enemy不會(huì)動(dòng)怎么辦
1 回答我左鍵怎么沒法拖動(dòng)
1 回答為什么我按照老師的做了。我的run_forward沒跑起來,運(yùn)行的時(shí)候人物沒動(dòng),可以位移
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-01-29
選擇Window->Navigation,會(huì)出現(xiàn)Navigation的相關(guān)設(shè)置;
選擇場景中構(gòu)成游戲地圖的物體,點(diǎn)擊Navigation下的Object,將Naviga Static選項(xiàng)勾選;
點(diǎn)擊Navigation下的Bake,設(shè)置其中參數(shù),最后點(diǎn)擊右下角的Bake對所選物體進(jìn)行烘焙,烘焙成功后,會(huì)在Scene視窗下看到藍(lán)色網(wǎng)格;
在需要進(jìn)行尋路的游戲物體上添加NavMeshAgent組件以及一個(gè)新的腳本;
腳本:加入U(xiǎn)nityEngine.AI的命名空間,聲明一個(gè)類型為NavMeshAgent類型的變量,在Start方法或者Awake方法中通過GetComponent方法獲取到NavMeshAgent組件,在Update方法中使用變量的SetDestination方法設(shè)定目標(biāo)位置(在腳本中添加一個(gè)共有變量GameObject,將這個(gè)物體的位置作為尋路的目標(biāo)點(diǎn),在上述的SetDestination方法中填入這個(gè)物體的position);