位置: 编程技术 - 正文

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# 查找字符串)

  • 公司账户转账给个人怎么合理避税?
  • 小额转款
  • 收到税务局汇算清缴通知
  • 生产车间安装监控的目的
  • 无偿划拨资产的入账价值
  • 什么情况下纳税调减
  • 结转损益类收入科目的余额其中主营业务收入
  • 公司收到一次性吸纳就业补贴款怎么分录
  • 企业辅助生产车间
  • 股权转让所得应纳税所得额
  • 增值税专票销货清单模板
  • 租房提前退租违约金国家标准
  • 自产产品销售增值税
  • 小规模企业跨季报税流程
  • 利息保障倍数为负数说明什么
  • 小规模购买农产品
  • 企业所得税的计算公式及实例
  • 收到客户赔偿款计入什么科目
  • 公司补缴印花税的后果
  • 怎么找回windows图片查看器
  • linux限制用户访问文件
  • 外汇账户转账有手续费吗
  • 退休返聘人员报销差旅费
  • 不知道哟
  • 花卉绿萝的养殖方法
  • 增值税常见账务处理方法
  • 交易性金融资产的入账价值
  • yolo系列算法全家桶
  • 快速上手:华硕路由器的wireguard服务器
  • Vue(ref和$refs属性介绍与使用)
  • php中的强制类型转换函数有哪些?
  • 出口退税转内销的话如何算发票金额
  • 当月开出的销项票一定要当月抵扣吗
  • python2多进程
  • 园林绿化企业属于什么行业
  • 长期资产的减值会影响CFO吗
  • mysql添加远程访问
  • 小规模纳税人的条件
  • 材料成本差异的会计分录
  • 本年利润总额是什么
  • 为什么出口退税率低于适用税率
  • 股息分红要交多少税
  • 业务招待费专用会计科目
  • 打官司收到对方的款,如何做账
  • 费用报销单干嘛用
  • 出售设备账务处理
  • 闲置固定资产如何折旧
  • 何为三证合一
  • 管理费用包括哪些
  • 营业收入怎么确定
  • 什么是固定资产的后续支出
  • 小规模纳税人中标一般计税
  • 建账的要点及应注意的问题
  • 在mac上如何使用微信
  • 科普知识大全
  • freebsd与linux
  • win10联想笔记本还原系统
  • 如何重设苹果手机的ID密码
  • linux高级选项
  • pop3是什么意思中文
  • win10预览版好吗
  • 苹果win10更新48%不动了
  • Android开发简单购物界面
  • yarn和npm一起使用冲突
  • Python中lambda的作用
  • 文章标题用几号字体
  • jQuery 实现ajax传入参数含有特殊字符的方法总结
  • win10安装node.js
  • linux的ls-l命令
  • shell函数库
  • python基础入门教程
  • node.js的安装方法
  • 请问木瓜
  • javascript函数调用函数
  • 安卓接口分类
  • android权限管理
  • android简单app实例
  • jquery去重复数组
  • bootstrap steps
  • 慧付钱包app官网下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设