日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Raywenderlich:寻迹

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Raywenderlich:寻迹 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 使用算法
  • NavMeshSurface
  • 將 Player 排除在 Navmest 的 include layer
  • 從 Navmesh 剔除物體
  • 移動(dòng) Player
  • 修改路徑權(quán)重

使用算法

A* (or A-star)

NavMeshSurface

  • 打開 SampleScene, 創(chuàng)建空物體,重命名為 Navmesh, 并且在新建的 Navmesh 上添加腳本 NavMeshSurface 組件, 點(diǎn)擊該組件的 Bake 按鈕:
  • 將 Player 排除在 Navmest 的 include layer

  • 選擇 Hierarchy - Player ,點(diǎn)擊右側(cè)的 Layer , 增加 Layer 層,并重命名為 Player。


  • 重新選擇 Player 的 layer 層:

    選擇 Yes, change children 。

  • 選擇 Navmesh , 去掉 include layers 的 Player 。

  • 從 Navmesh 剔除物體

  • 要告知 Navmesh ,不可以在 Corner 和 Water 上面移動(dòng)。

    分別選擇 Corner 和 Water , 添加組件:
    • 勾選 Override Area, Area Type 選擇 Not Walkable

    移動(dòng) Player

  • 選擇 Player , 添加 Nav Mesh Agent。設(shè)置:

  • 在 RW / Scripts 下創(chuàng)建腳本 PlayerMovement.cs 腳本。將腳本掛載到 Player 身上。運(yùn)行游戲,可以移動(dòng) Player 了。

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI;public class PlayerMovement : MonoBehaviour {private Camera _camera;private NavMeshAgent _agent;// Start is called before the first frame updatevoid Start(){_camera = Camera.main;_agent = GetComponent<NavMeshAgent>();}// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)){Ray ray = _camera.ScreenPointToRay(Input.mousePosition);if (Physics.Raycast(ray, out RaycastHit hit)){_agent.SetDestination(hit.point);}}} }
  • 修改路徑權(quán)重

  • 打開 Window - AI - Navigation :
  • 如果要修改 Water 的權(quán)重, 選擇 Water :
  • [1] pathfinding-with-navmesh-getting-started

    總結(jié)

    以上是生活随笔為你收集整理的Raywenderlich:寻迹的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。