位置: 编程技术 - 正文

Unity3D怪物基本AI(unity怪物自动攻击)

编辑:rootadmin
欢迎来到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=;//上一次思考的时间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)*,0);transform.rotation=Quaternion.Slerp(transform.rotation,mRotation,Time.deltaTime*);//播放动画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(unity怪物自动攻击),希望有所帮助,仅作参考,欢迎阅读内容。

Unity3D怪物基本AI(unity怪物自动攻击)

文章相关热门搜索词:unity3d打怪游戏,unity 怪物ai,unity 怪物ai,unity击中怪物加一分,unity 怪物ai,unity3d怪物击退代码,unity3d怪物击退代码,unity 怪物ai,内容如对您有帮助,希望把文章链接给更多的朋友!

C#找到子物体的父对象 this.transform.parent.gameObject可以用在点击按钮,然后关闭整个父物体另外,transform好像用处挺大的,以后多注意

Unity3D音频的制作 音频监听与音频源组件游戏的音频可以分为背景音乐与环境音效两种。Unity3D中目前支持的音频剪辑中有四种音乐式。Mp3、Ogg:合适较长音频,作为背景

unity开发相关环境(vs、MonoDevelop)windows平台编码问题 (原地址):

标签: unity怪物自动攻击

本文链接地址:https://www.jiuchutong.com/biancheng/377275.html 转载请保留说明!

上一篇:Unity界面、地形和光源、材质、预设体(unity地形少了三个键)

下一篇:C#找到子物体的父对象(c# 查找字符串)

  • 不动产租赁需要预缴增值税吗
  • 缴纳城镇土地使用税标准
  • 垃圾袋发票类别是什么
  • 可供出售金融资产计入什么科目
  • 行政事业单位餐标
  • 商业银行退出
  • 补计提上一年度费用
  • 预提费用入账依据
  • 进项税发票不认证可以吗
  • 增值税发票季报
  • 在境外施工由国家承担吗
  • 特朗普政府公布大力度减税方案
  • 电梯按几年摊销
  • 技术服务费发票需要备注吗
  • 如何填制记账凭证总结
  • 公司房租押金收不回来账务处理
  • 午餐补贴多少钱
  • 免税店购物需要满足什么条件
  • 即征即退的增值税计入其他收益吗
  • 哪些费用可以做研发费用
  • 合伙企业合伙人数量
  • 预付账款流程
  • 收到完税凭证怎么做账
  • 完税凭证遗失后怎么处理
  • CoverDesigner.exe是一个安全进程吗 CoverDesigner进程查询
  • 现行小规模纳税人增值税税率
  • 所得税时间性差异与暂时性差异
  • 投资性房地产的主要构成内容为
  • 会计财务报表的编制步骤
  • smarty模板注入
  • vue引入网络js
  • gpt40
  • 老师不干了可以从事什么行业
  • 注意!PHP 7中不要做的10件事
  • mkdir命令怎么用
  • 固定资产怎么盘点最快
  • 残保金工资总额是计提还是实发
  • 公司捐款怎样抵扣
  • 为什么盈余公积减少,未分配利润增加
  • mongodb性能测试
  • 没进项发票开销项发票是可以吗?
  • 普通发票的后续怎么开
  • 红字发票冲销的申请表是税务局开吗
  • 用友t6操作流程
  • 固定资产公司
  • 实际利率法如何理解
  • 印花税计入相关资产成本吗
  • 非正常损失的进项税
  • 经营一家淘宝店需要多少钱
  • 企业间借款利息最新规定
  • 进项发票可以退税吗
  • 售后回租含手续费吗
  • 住宿发票没有写天数
  • 外贸企业需要取得什么资质
  • 锅炉设备销售
  • 企业建账的法律规定
  • 修改windows host文件
  • 大白菜U盘安装原版XP系统教程精细版
  • macbook恢复macos
  • win7破解版和正版的区别
  • centos 安装方法
  • android yield
  • perl and
  • opengl编程实例
  • 用球体模拟天空的游戏
  • vue基于什么
  • 表单元素的基本语法
  • 前端js优化
  • jquery.cookie.js用法实例详解
  • 自定义图片制作软件
  • 有效的沟通的好处
  • python 字符
  • js动态创建script标签
  • JavaScript的函数中只能写一条代码语句
  • 进程间的通信方
  • js判断iframe是否加载完成
  • 安卓activity类
  • 陕西省税务局机关服务中心
  • 河北国税网上办税云厅手机
  • 加拿大的环保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设