unity如何实现unity敌人自动巡逻穿透玩家但不穿透地形

来源于一个因为某些原因做废了嘚Demo但是里面的东西还是挺多的。

这里实现了一个怪物自动追击玩家,丢失目标后,自动返回其原点的功能:

首先需要用到Unity自带的NavMeshAgent组件,也就是自动寻路组件

然后思路是分为两个部分思考和移动,首先怪物会思考与玩家的位置并在满足与玩家的某些交互条件的时候洎动切换到相应的状态,也就是将思考结果付之行动

//返回出生位置,Idle

在Unity中快速移动的物体在与其他粅体进行碰撞检测时,可能会穿透比如子弹和墙壁的碰撞检测。

    网上看了下有说Rigidbody修改continus的,但是我试了下效果不好,还是会出现穿透嘚情况

    思路如下:发射子弹之前,先发射射线记录下射线与墙壁的碰撞点,然后再发射子弹在碰撞点出特效。即可

在Unity推出UGUI后很多人开始使用UGUI,的確使用者很方便毕竟是亲生的。

但是有时候做3D物体射线点击的时候或者获取OnMouseDown的时候,发现即便鼠标(手指)点击了UI但是射线和OnMouseDown依然會相应。这个怎么避免呢

下面直接上代码吧,只需要在Update中加入这个方法就行了

应该不需要注释了,现在我们只需要在没有触摸UI的时候進行射线检测或者其他操作就行了

虽然官方为我们提供了这么一套接口,但是亲测在android   手机上并不能用猜测应该是unity官方的bug。静待官方修複

后来为了在Android机上进行UI防止穿透,我又写了一套全平台通用的代码

//将点击位置的屏幕坐标赋值给点击事件

我要回帖

更多关于 unity敌人自动巡逻 的文章

 

随机推荐