制作導航系統目錄
- 導航系統的制作教學
- 地圖的創建
- 小人的創建
- 人物上掛載移動代碼
- 打開Navigation視窗
- 烘焙
- 最后感謝大家支持
導航系統的制作教學
地圖的創建
首先在Unity中隨便用一些物體(立方體)創造一個地形,例如:
地面最好用Terrain,自帶碰撞體
創建時可以根據自己的創意加一些元素,比如跳躍、迷宮、或者自己喜歡的東西
注意:制作完后給所有的立方體都加上碰撞體

小人的創建
地圖創建好之后我們用一個膠囊體代表人,放在地面上,
給膠囊體加上碰撞體和導航組件(NavMeshAgent)

人物上掛載移動代碼
這里用到射線檢測,可以理解為:從滑鼠位置發射一道射線,照射到的第一個可被照射到的物體便是檢測到的物體位置,也就是說點擊哪里小人就會移動到哪里
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class RayMove : MonoBehaviour {
public NavMeshAgent nav;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray,out hit))
{
nav.SetDestination(hit.point);
}
}
}
}
注意:要在Unity中給人物身上的代碼賦值,因為腳本中定義了一個公開的變數 nav
直接將剛剛創建的人物拖動進來

打開Navigation視窗
點擊Window欄,打開下面的Navigation進行烘焙

打開視窗之后是這個樣子


烘焙
選擇地面并且點擊Back面板中的back進行烘焙,成功之后會發現地面等可以走的地方都會變成藍色,這樣嘗試運行一下就可以點擊行走了,并且導航系統會自動尋找最短(耗能最少的)路線,
最后感謝大家支持
隨后推出:導航系統(進階版)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/229306.html
標籤:其他
