资源简介
用于生成和启用一个代理类型的NavMesh表面的NavMeshSurface。
NavMeshModifier - 基于转换层次结构影响NavMesh区域类型的NavMesh生成。
NavMeshModifierVolume - 影响基于卷的NavMesh区域类型的NavMesh生成。
NavMeshLink - 为一个代理类型连接相同或者不同的NavMesh曲面。

代码片段和文件信息
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.AI;
using NavMeshBuilder = UnityEngine.AI.NavMeshBuilder;
[CanEditMultipleobjects]
[CustomEditor(typeof(NavMeshPrefabInstance))]
class NavMeshPrefabInstanceEditor : Editor
{
SerializedProperty m_FollowTransformProp;
SerializedProperty m_NavMeshDataProp;
public void OnEnable()
{
m_FollowTransformProp = serializedobject.FindProperty(“m_FollowTransform“);
m_NavMeshDataProp = serializedobject.FindProperty(“m_NavMesh“);
}
public override void OnInspectorGUI()
{
var instance = (NavMeshPrefabInstance)target;
var go = instance.gameobject;
serializedobject.Update();
GUI.enabled = false;
EditorGUILayout.PropertyField(m_NavMeshDataProp);
GUI.enabled = true;
EditorGUILayout.PropertyField(m_FollowTransformProp);
EditorGUILayout.Space();
OnInspectorGUIPrefab(go);
serializedobject.ApplyModifiedProperties();
}
void OnInspectorGUIPrefab(Gameobject go)
{
var prefab = PrefabUtility.GetPrefabobject(go);
var path = AssetDatabase.GetAssetPath(prefab);
if (prefab && string.IsNullOrEmpty(path))
{
if (GUILayout.Button(“Select the Prefab asset to bake or clear the navmesh“ Editorstyles.helpBox))
{
Selection.activeobject = PrefabUtility.GetPrefabParent(go);
EditorGUIUtility.Pingobject(Selection.activeobject);
}
}
if (string.IsNullOrEmpty(path))
return;
GUILayout.BeginHorizontal();
GUILayout.Space(EditorGUIUtility.labelWidth);
if (GUILayout.Button(“Clear“))
OnClear();
if (GUILayout.Button(“Bake“))
OnBake();
GUILayout.EndHorizontal();
}
NavMeshData Build(NavMeshPrefabInstance instance)
{
var root = instance.transform;
var sources = new List();
var markups = new List();
NavMeshBuilder.CollectSources(root ~0 NavMeshCollectGeometry.RenderMeshes 0 markups sources);
var settings = NavMesh.GetSettingsByID(0);
var bounds = new Bounds(Vector3.zero 1000.0f * Vector3.one);
var navmesh = NavMeshBuilder.BuildNavMeshData(settings sources bounds root.position root.rotation);
navmesh.name = “Navmesh“;
return navmesh;
}
void OnClear()
{
foreach (var tgt in targets)
{
var instance = (NavMeshPrefabInstance)tgt;
var go = instance.gameobject;
var prefab = PrefabUtility.GetPrefabobject(go);
var path = AssetDatabase.GetAssetPath(prefab);
if (string.IsNullOrEmpty(path))
{
Debug.LogError(“Gameobject: “ + go + “ has no valid prefab path“);
continue;
}
DestroyNavMeshData(path);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\
文件 120 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\.gitignore
目录 0 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\
文件 191 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples.me
目录 0 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\
文件 3497 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Cube.prefab
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Cube.prefab.me
文件 191 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Editor.me
目录 0 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Editor\
文件 4425 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Editor\NavMeshPrefabInstanceEditor.cs
文件 262 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Editor\NavMeshPrefabInstanceEditor.cs.me
文件 191 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials.me
目录 0 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\
文件 2867 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\brightgreen.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\brightgreen.mat.me
文件 2867 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\brown.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\brown.mat.me
文件 3947 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\crosshair.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\crosshair.mat.me
文件 2865 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\floor.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\floor.mat.me
文件 2867 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\green.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\green.mat.me
文件 2863 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\grey.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\grey.mat.me
文件 1036 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\modify_crosshair.png
文件 1184 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\modify_crosshair.png.me
文件 2863 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\red.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\red.mat.me
文件 2849 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\yellow.mat
文件 179 2018-01-02 12:11 NavMeshComponents-2017.2.0f1\Assets\Examples\Materials\yellow.mat.me
............此处省略193个文件信息
- 上一篇:大数据真实数仓项目完整版
- 下一篇:Pygame游戏源代码:超级玛丽.rar
相关资源
- ModelGoon-4.4.1-site.zip
- 右键属性文件校验插件可同时生成十
- ectouch 微信支付插件
- ps插件管家—有效管理插件
- CAD计算板料展开插件
- js万能播放器,网页播放插件实例
- 飞秋插件皮肤
- OPC插件OPC Core Components 2.00 SDK 2.20
- vc编写的通达信插件选股
- 幕墙快速建模与出图犀牛插件.rar
- 图文手把手教你一步步用VC 2010编写通
- 图文手把手教你一步步用VC 2010编写通
- u校园刷课助手(浏览器插件源码)
- 海康威视 WEB无插件开发包 V3.2
- eclipse_jetty9离线插件
- redmine系统agile敏捷插件安装包
- Notepad++最新版tidy2插件仅64位可用
- Notepad++ 32位 jsonview插件
- notepad++文本比较插件32位和64位
- notepad++ json格式化插件
-
notepad++ 对比插件 xm
l格式化插件 -
notepad++包含xm
l tools等插件 - Jsonviewer2 for Notepad++ 64 bit
-
Notepad++xm
l格式化插件和json格式化插 - PDF 插件SNAKE
- 可输入,可检索的下拉框小插件。
- select2 搜索下拉框插件
- site-1.6.5.zipeclipse 安装 svn 插件
- CAD门窗绘图插件
- VS2010、VS2012、VS2013代码自动注释插件
评论
共有 条评论