欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频,我们致力于打造业内unity3d培训、学习第一品牌。

所谓怪物AI就是指我们为怪物编写一定的算法,使其可以具备一定程度的智能化,以增强游戏的可玩性。在一般的RPG游戏中,怪物通常在一个游戏设定的范围内巡逻,当玩家进入怪物的警戒范围时,怪物就会由巡逻状态转变为攻击状态,向玩家进行攻击,那么,我们今天就来实现一个简单的怪物AI吧,下面我们一起来看代码:

public class AI : MonoBehaviour {

//定义怪物的四种状态:站立、行走、奔跑、无所事事
public const int STATE_STAND=0;
public const int STATE_WALK=1;
public const int STATE_RUN=2;

//怪物当前状态
private int NowState;
//游戏角色
public GameObject Hero;
//怪物思考时间
public const int AI_THINK_TIME=2;
//触发怪物攻击的临界距离
public const int AI_ATTACT_DISTANCE=10;

//上一次思考的时间
private float LastThinkTime;

void Start () 
{

}

void Update () 
{
//当敌人与怪物间的距离小于攻击范围半径的时候
if(Vector3.Distance(transform.position,Hero.transform.position)<AI_ATTACT_DISTANCE)
{
//敌人开始奔跑
this.GetComponent<Animation>().Play("run");
//敌人进入奔跑状态
NowState=STATE_RUN;
//使敌人面向角色
transform.LookAt(Hero.transform);
//向玩家靠近
transform.Translate(Vector3.forward*Time.deltaTime * 5);
}else
{
//当当前时间与上一次思考时间的差值大于怪物的思考时间时怪物开始思考
if(Time.time-LastThinkTime>AI_THINK_TIME)
{
//开始思考
LastThinkTime=Time.time;
//获取0-3之间的随机数字
int Rnd=Random.Range(0,2);
//根据随机数值为怪物赋予不同的状态行为
switch(Rnd)
{
case 0:
//站立状态
this.GetComponent<Animation>().Play("idle");
NowState=STATE_STAND;
break;

case 1:
//行走状态
//使怪物旋转以完成行走动作
Quaternion mRotation=Quaternion.Euler(0,Random.Range(1,5)*90,0);
transform.rotation=Quaternion.Slerp(transform.rotation,mRotation,Time.deltaTime*1000);
//播放动画
this.GetComponent<Animation>().Play("walk");
//改变位置
transform.Translate(Vector3.forward*Time.deltaTime * 3);
NowState=STATE_WALK;
break;

case 2:
//奔跑状态
this.GetComponent<Animation>().Play("run");
transform.Translate(Vector3.forward*Time.deltaTime * 5);
NowState=STATE_RUN;
break;

}
}
}
}

Unity3D怪物基本AI相关推荐

  1. 【原创】Unity3D 怪物散步、战斗、追击 AI

    平时,我们在开发游戏时,都或多或少的要为游戏中的怪物设置 AI 行为,下面这个怪物 AI DEMO 包括了怪物的散步.遇敌.战斗.追踪等 AI,技能提供了几个简单的演示,但是可以无限扩展,希望对你有所 ...

  2. 【cocos2d-x 手游研发----怪物智能AI】

    原创文章,转载请注明出处:http://www.cnblogs.com/zisou/p/cocos2d-xARPG4.html 谈到怪物AI,我觉得就比较话多了,首先理解一下(Artificial I ...

  3. 【LOSOL】怪物及AI设计

    LOSOL怪物及AI设计 引子 怪物设计理念 怪物类型列举 怪物AI简述 怪物AI包括范围 怪物AI设计 结语 引子 怪物在游戏中始终占据着一个极其重要的位置,一个游戏的趣味性很大一部分跟怪物的设计挂 ...

  4. MFC学习笔记之三(粒子系统+怪物简单AI+碰撞检测)

    到上海找到住的地方之后,干的第一件事,就是抓紧时间学习,为了找到工作努力ing... 备注:以下请参考http://blog.csdn.net/hust_xy/article/details/9374 ...

  5. Cocos2d-x怪物智能AI怪物也有智商--之游戏开发《赵云要格斗》(6) cocos2dx 3.3移植版

    源码:git@github.com:baidang201/ARPG_Zhaoyun.git 本文将主要来讲讲游戏开发中的怪物智能,一个好的游戏一般怪物都要分等级,这样我们游戏玩起来才有意思,怪物如果智 ...

  6. 怪物智能AI系统详解

    技术扫盲贴)揭开游戏设计的神秘面纱------游戏怪物NPC 的人工智能分析        在游戏中, 如果只有玩家操控的角色在游戏世界里孤单的产生一系列行为, 而没有其他任何可以和玩家角色形成交互活 ...

  7. Cocos2d-x怪物智能AI怪物也有智商----之游戏开发《赵云要格斗》(6)

           这里是Evankaka的博客,欢迎大家前来讨论与交流------       转载请注明出处http://blog.csdn.net/evankaka/article/details/4 ...

  8. unity怪物攻击玩家减血_Unity3D 战斗系统中的怪物简单AI(简单AOI)

    AI With Monster In Battle System Introduction 一款RPG的战斗模块中,怪物AI是又一基础单元.在经典的即时战斗中,比较简单的流程是角色进入怪物的仇恨范围- ...

  9. Unity游戏开发 怪物巡逻AI

    本人游戏策划一枚,爱好游戏设计开发 今天实现的内容是怪物AI,看了一些网上的AI,不是特别符合我的需求,于是就自己研究了一种AI,大致和魔兽类的RPG游戏效果差不多. AI效果如下: 1. 将怪物分为 ...

  10. Cocos2d-X 3.4版-怪物的AI《赵云要格斗》

    引述Evankaka博客关于怪物AI的描述,如下: 低级怪物---一般是不能动的怪物,固定在原处,不断的发动攻击,然后根据英雄的方位,不断改变子弹的朝左还是朝向,如游戏中的炮台等.         中 ...

最新文章

  1. Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
  2. Android静态安全检测 - WebView明文存储密码
  3. bose耳机信号断续_挥汗如雨的夏季将至,5款运动型蓝牙耳机安利给你
  4. 常用批处理命令总结之Find和FindStr
  5. jenkins上linux-gradle机器对android执行shell签名apk
  6. 转载------------java equals 方法
  7. KVM Disk Cache简析
  8. python认证考试mac_Mac OS 平台使用 Python 和 Docker 创建测试用 Https Server
  9. 使用Expression实现数据的任意字段过滤(1)
  10. minio  nginx 配置
  11. 如何限制计算机用户的登录时间,电脑怎么设置上网时间有限制
  12. 第6课:scratch3的作品如何转换成exe文件
  13. 服务器系统小米随身wifi,Mac OS10.13正常使用的小米随身WIFI无线驱动 | 陳松's 博客...
  14. github客户端教程
  15. 运维人员的三种层次:看看你是背锅侠,还是闪修侠?
  16. Mac电脑专业音乐制作Logic Pro X中文
  17. 计算机桌面上的图标如何删除,怎么删除电脑桌面上的图标啊?
  18. Zeppelin Job monitor打开
  19. MaxEnt软件的安装
  20. 【Windows10下.sh文件的运行】‘bash’ is not recognized as an internal or external command

热门文章

  1. 坦克大战Netty网络联机版项目笔记
  2. 微软bi报表服务器,安装 Power BI 报表服务器
  3. 使用U盘安装win7系统遇到“缺少所需的 CD/DVD 驱动器设备驱动程序”解决办法
  4. 怀旧小虎队 谨防挂马网站和极虎病毒
  5. echarts3D地球点击事件无效
  6. 第一讲 OC简介及基本语法
  7. 如何提升售后盈利能力
  8. div内li标签间距_css怎样让li间距增大?
  9. Get_Web_banner(批量获取网站banner)
  10. AI 之路、回顾 2021,展望 2022 :当代青年的小烦恼