unity之自動(dòng)尋徑_第1頁
unity之自動(dòng)尋徑_第2頁
unity之自動(dòng)尋徑_第3頁
unity之自動(dòng)尋徑_第4頁
unity之自動(dòng)尋徑_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、自動(dòng)尋徑自動(dòng)尋徑MMO - Massively Multiplayer Online,大型多人在線。 策略類或戰(zhàn)略類(MMOSLG) 動(dòng)作類(MMOACT)。 冒險(xiǎn)類(MMOAVG)。 模擬類游戲(MMOSG) 運(yùn)動(dòng)類(MMOSPT) 賽車類(MMORCG) 角色扮演類(MMORPG)現(xiàn)在的大部分mmo游戲都有了自動(dòng)尋路功能。點(diǎn)擊場景上的一個(gè)位置,角色就會(huì)自動(dòng)尋路過去。中間可能會(huì)有很多的障礙物,角色會(huì)自動(dòng)繞過障礙物,最終達(dá)到終點(diǎn)。使用Unity來開發(fā)手游,自動(dòng)尋路可以有很多種實(shí)現(xiàn)方式。我們要實(shí)現(xiàn)一個(gè)功能:點(diǎn)擊場景中的一個(gè)位置,角色可以自動(dòng)尋路過去。角色會(huì)繞過各種復(fù)雜的障礙,找到一條理論上”最短

2、路徑“。自動(dòng)尋徑1.創(chuàng)建地形2.添加角色3.創(chuàng)建多個(gè)障礙物,盡量擺的復(fù)雜一點(diǎn),來檢查Navmesh 的可用性和效率。4.選中地形,在Navigation窗口中,設(shè)置Navigation Static巨魔自動(dòng)尋徑5.依次選中障礙物,在avigation窗口中,設(shè)置Navigation Static6.Navigation窗口中,選擇Bake(烘焙)界面,點(diǎn)擊Bake按鈕,進(jìn)程場景烘焙,就可以烘焙出尋路網(wǎng)格了7.為角色添加NavMeshAgent組件。Component-Navigation-Nav Mesh Agent8.為角色新增一個(gè)腳本PlayerController.cs,實(shí)現(xiàn)點(diǎn)擊目標(biāo),自

3、動(dòng)尋路功能巨魔自動(dòng)尋徑private NavMeshAgent agent;private Animator anim;void Start() agent = GetComponent(); anim = GetComponent();void Update() RaycastHit hit;if (Input.GetMouseButtonDown(0) Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (Physics.Raycast(ray, out hit)agent.SetDestination(hit.po

4、int); 巨魔自動(dòng)尋徑/播放動(dòng)畫,判斷是否到達(dá)了目的地,播放空閑或者跑步動(dòng)畫 if (agent.remainingDistance = 0) AnimationToIdle(); else AnimationToWalk(); public void AnimationToIdle()anim.SetFloat(idle, 1F);anim.SetFloat(walk, 0.0F);anim.SetFloat(run, 0F);巨魔自動(dòng)尋徑public void AnimationToWalk()anim.SetFloat(run, 0.0F);anim.SetFloat(idle, 0F

5、);anim.SetFloat(walk, 1.0F);巨魔自動(dòng)尋徑.角色身上的Nav Mesh Agent 組件Radius 半徑: 代理的半徑(僅用于尋路目的,可以跟實(shí)際對(duì)象的半徑大小不一樣,一般比實(shí)際對(duì)象的半徑大)。Speed 速度: 代理可以周游世界,走向它的目的地的最大移動(dòng)速度。巨魔自動(dòng)尋徑Acceleration 加速度: 最大加速度。Angular Speed 角速度: 最高轉(zhuǎn)速(度/秒)。Stopping distance 制動(dòng)距離:制動(dòng)距離。到目的地的距離小于這個(gè)值,代理減速。Auto Traverse OffMesh Link 自動(dòng)遍歷OffMesh鏈接:自動(dòng)移動(dòng)并關(guān)閉Of

6、fMeshLinksAuto Repath 自動(dòng)重新尋路:如果現(xiàn)有的部分已失效,獲得新的路徑Height 高度:代理的高度(用于調(diào)試圖形)。Base offset 基本偏移:碰撞幾何體相對(duì)于實(shí)際幾何體垂直的偏移。Obstacle Avoidance Type 障礙躲避類型 :躲避的質(zhì)量水平。NavMesh Walkable 導(dǎo)航網(wǎng)格行走:指定代理可以遍歷的導(dǎo)航網(wǎng)格層類型。巨魔自動(dòng)尋徑寵物跟隨 public Transform target;private NavMeshAgent agent;void Start () agent = GetComponent();void Update ()

7、 if (target!= null) agent.destination=target.position;把腳本給寵物,為寵物添加NavMeshAgent,target為巨魔寵物跟隨Navmesh Obstacle之前我們都是用固定的物體作為障礙物,然后烘焙場景。Unity還提供了動(dòng)態(tài)的障礙物。任何一個(gè)GameObject都可以添加Navmesh Obstacle組件,變成一個(gè)障礙物。具體步驟是Component-Navigation-Navmesh Obstacle.它有兩個(gè)屬性:半徑和高度,可以設(shè)置跟你的物品差不多的體積大小。巨魔從高空跳下 1、設(shè)置Navigation里面Bake的Drop Height的值 2、勾選Navigation里面Object的OffMeshLink Generatic 3、Bake巨魔選擇性的行走1、把Navigation里面Bake的Drop Height的值設(shè)為02、取消勾選Navigation里面Object的OffMeshLink Generatic3、Bake4、在Navigation里面Layers創(chuàng)建兩個(gè)Layers(LayersUp LayersDown)-Bake5、選中巨魔,設(shè)置巨魔屬性(NavMesh Walk

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論