Unity中解决“SetDestination“ can only be called on an active agent that has been placed on a NavMesh
发布日期:2021-06-30 19:58:36
浏览次数:3
分类:技术文章
本文共 485 字,大约阅读时间需要 1 分钟。
一:前言
在使用导航组件时如果报错:"SetDestination" can only be called on an active agent that has been placed on a NavMesh,这个报错信息的重点其实并不在导航组件是否active
二:原因
游戏运行后使用Instantiate方式将实例化物体,再改变其初始位置,使得物体在实例化的一瞬间距离导航网格过远,使得导航失效
GameObject go = Instantiate(prefab);go.transform.position = new Vector3(1, 2, 3);
三:解决方法(三种)
——在实例化的同时设置位置
GameObject go = Instantiate(prefab, new Vector3(1, 2, 3), Quaternion.identity);
——将物体身上的导航组件先关闭,在设置好位置后在开启
——判断物体是否在导航网格上,如果不在就纠正位置
if(agent.isOnNavMesh){ agent.Warp(pos);}
转载地址:https://liuhaowen.blog.csdn.net/article/details/117636710 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月18日 20时08分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
sql注入总结学习
2019-04-30
leetcode46 全排列
2019-04-30
leetcode121 买卖股票的最佳时机
2019-04-30
leetcode 122 买卖股票的最佳时机II
2019-04-30
leetcode 309 最佳买卖股票含冷冻期
2019-04-30
leetcode 714 买卖股票的最佳时机含手续费
2019-04-30
leetcode3 无重复字符的最长子串
2019-04-30
leetcode 1143. 最长公共子序列
2019-04-30
leetcode 83. 删除排序链表中的重复元素
2019-04-30
智能体 Intelligent Agent
2019-04-30
Network Compression网络压缩(一)
2019-04-30
Python 之 histogram直方图
2019-04-30
Python 之 Scatter散点图
2019-04-30
Python实现决策树 Desision Tree & 可视化
2019-04-30
决策树 Decision tree
2019-04-30
nominal和ordinal & 数据处理中四种基本数据类型
2019-04-30
Grid SearchCV(网格搜索)& Python实现
2019-04-30