查看: 11495|回复: 6
打印 上一主题 下一主题

[提问] 用NavMeshAgent寻路时如何检测到character controller碰撞

[复制链接]
回帖奖励 10 可用积分 回复本帖可获得 5 可用积分奖励! 每人限 1 次
may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-9-25 02:31:30 |只看该作者 |倒序浏览
pstatus"> 本帖最后由 may 于 2013-9-25 02:49 编辑

我在用unity自带的寻路系统时,给游戏角色添加了一个NavMeshAgent组件,然后又给它添加了一个character controller组件,然后寻路的时候,前面有一个正方体带boxcollider组件,这个正方体挡住了角色的路径,可是为什么角色会穿过去,请问寻路时如何检测到character controller碰撞,我知道是要用Move(),但是具体是什么思路?
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

12

主题

2

听众

657

积分

初级设计师

Rank: 3Rank: 3

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2013-9-26 14:23:53 |只看该作者

回帖奖励 +5 可用积分

设定正方体为障碍物没有?NavMesh组件中有这个功能
回复

使用道具 举报

1

主题

3

听众

371

积分

设计实习生

Rank: 2

纳金币
40
精华
0

最佳新人

板凳
发表于 2013-9-27 17:10:22 |只看该作者

回帖奖励 +5 可用积分

这个好像只能在烘培路径时设置吧,碰撞物不烘路径,就行了,有参数可以设置我记得,如果有路径,碰撞似乎是不管用
回复

使用道具 举报

无效楼层,该帖已经被删除

2

主题

3

听众

411

积分

设计实习生

Rank: 2

纳金币
69
精华
0

最佳新人

5#
发表于 2013-10-1 22:32:35 |只看该作者

回帖奖励 +5 可用积分

简单。为什么会穿过去,因为那个cube不是navMeshAgent,Unity的寻路除了会考虑烘培时候设定的障碍之外,就只处理NavMeshAgent之间的碰撞,效果上类似两个Rigidbody。
你想额外处理碰撞,而且还要不受NavMeshAgent干扰,只需要用一个新GameObject,挂上碰撞盒和处理OnTriggerEnter消息的脚本,或者挂上Rigidbody和处理OnCollisionEnter消息的脚本。原本的NavMeshAgent不管是是作为这个GameObject的父物体还是子物体都行。
回复

使用道具 举报

0

主题

1

听众

57

积分

设计初学者

Rank: 1

纳金币
15
精华
0

活跃会员 灌水之王

6#
发表于 2013-11-12 09:48:33 |只看该作者

回帖奖励 +5 可用积分

danteh 发表于 2013-10-1 21:59
角色不要直接作为NavMeshAgent的object,单独用一个cube,或者空物体来做,而角色是更随NavObject ...

这个方法好,盗走
回复

使用道具 举报

0

主题

1

听众

57

积分

设计初学者

Rank: 1

纳金币
3
精华
0
7#
发表于 2015-10-10 13:04:50 |只看该作者

回帖奖励 +5 可用积分

给移动的障碍  加上 NavMeshObstacle组件就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-16 09:45 , Processed in 0.434924 second(s), 38 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部