---
title: "Unity2019或者更高版本，有没有办法把二维坐标（无y值） 转换到 NavMesh上的点。"
author: "石心.Yong"
published_by: "Perrin Yong"
canonical: https://www.pystone.net/notes/uwa-answer-navmesh-point-from-two-dimensional-coordinate/
type: note
content_role: source
source_type: "source"
visibility: public
id_stability: rename-stable
source_path: "10-计算机、信息技术与工程/05-游戏图形与运行时/我的UWA问答/2021-05-13 - Unity2019或者更高版本，有没有办法把二维坐标（无y值） 转换到 NavMesh上的点。.md"
content_hash: d529bcfa47f28ce2b1716a62d93d8c97321ee81364962156aa8721aeaa4efd0d
knowledge_version: 224c990773de.5fa8af6e39fa
site_commit: 224c990773de166d23a886306577dd90379529ce
notes_commit: 5fa8af6e39fa3891d1b9b4832bfa6c4e0ecaaf0a
---
# Unity2019或者更高版本，有没有办法把二维坐标（无y值） 转换到 NavMesh上的点。

> **note · 我的 UWA 问答**
> 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者；回答保留当时语境，技术结论可能受 Unity 版本、平台和项目条件限制。

## 问题

老问题了，NavMesh不能直接用射线打，所以鼠标点击位置和无高度位置难以精确转换到NavMesh上。

早期的解决方式要么是用 NavMesh.CalculateTriangulation构造一个碰撞体，但是这样会因为丢失HeightMap而丢失精度；

要么是保留生成NavMesh用的mesh自行生成一个优化模型，这么做又容易出现错误。

已经是几年前的老问题了，不知道现在Unity版本有没有什么好的办法解决点击确定移动位置以及无高度坐标对到NavMesh的点。

- 提问者：欧月松
- 提问时间：2021-05-12 04:45:49

## 我的回答

貌似Unity在API上对从NavMesh获取Mesh数据的接口没有什么改进

- 回答时间：2021-05-13 00:51:55
- 最后更新：2021-05-13 01:05:06
- 采纳状态：已采纳

## 来源与关系

- 上位集合：[我的 UWA 问答](https://www.pystone.net/notes/my-uwa-answers/)
- UWA 标签：资源管理、AI
- 原始问题：[Unity2019或者更高版本，有没有办法把二维坐标（无y值） 转换到 NavMesh上的点。](https://answer.uwa4d.com/question/609a7c7d6bb31032f9791664)
- 源页最后更新：2021-05-18 05:55:26
