位置: 编程技术 - 正文

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

  • 物业公司增值税加计扣除
  • 存货跌价准备在财务报表哪里看
  • 小规模不动产租赁增值税税率是多少
  • 红字发票申请表盖什么章
  • 申报表填完后下一步是什么
  • 财务费用属于什么科目借贷方向
  • 贴息为什么要付利息呢
  • 高新技术企业预审要求
  • 物流辅助服务属于什么项目
  • 法院拍卖房法院有什么义务和责任
  • 出口的进项发票如何记账
  • 营改增后企业取得的不动产可以抵扣进项
  • 远洋船员如何征收个人所得税?
  • 金税盘抵扣增值税申报
  • 公司租房可以入公积金吗
  • 房屋使用权转让合法吗
  • 企业筹办期多久
  • 企业公户转别的公司公户他不给开发票怎么操作?
  • 折旧是属于公司成本吗
  • 个税专项扣除有几项
  • 企业分立账务处理办法
  • 更正或作废申报怎么填
  • 本期填写的适用3减1政策的本期发生额大于
  • 为什么叫win7
  • 支付汽车耗材费怎么入账
  • 税收返还如何做账
  • 转让无形资产使用权和所有权的区别
  • b250主板最好的cpu是哪一款
  • php curl_init
  • 增值税的具体内容包括
  • 国有企业所得税政策
  • 登记总账的科目有哪些
  • 一年一度的施瓦本哈尔圣诞市集,德国巴登-符腾堡州 (© sack/Getty Images Plus)
  • vue打包后请求不到数据
  • 俄勒冈zip
  • 先发货再开票
  • 如何搭建python
  • 收到退回残保金怎么做账
  • 购买原材料的运输费计入什么科目
  • python,array
  • 银行流水要去哪里打
  • 电子商业汇票线下清算流程
  • 金碟怎么初始化
  • 年终奖是以工资形式发放吗
  • 工会会费收取
  • 美团算钱
  • 其他收益算主营业务收入吗
  • 财务费用的科目类别是什么
  • sql2008还原
  • 记账凭证基本内容口诀
  • 公司两个股东变更为一个股东,需要交税么
  • 计入税金及附加的税种顺口溜
  • 个人所得税计入应付职工薪酬吗
  • 银行只收不付解除方式
  • 社保缴费基数如何核定
  • 企业未开票收入怎么入账
  • 未取得发票该怎么说明
  • 劳务派遣如何做线上业务
  • 应收账款增加给哪一方
  • 企业营改增税率是多少
  • 普通发票记账联盖章了怎么办
  • 购车的费用包括哪些费用
  • sql server查询
  • centos怎么安装yum源
  • win7电脑dns存在问题怎么修复
  • win8禁用网络之后如何开启
  • nodejs读写json文件
  • python调用bash
  • unity3d的游戏
  • js设置select
  • 基于javascript的毕业设计
  • javascript入门基础
  • 简单的横向棱纹魔杖
  • Unite Beijing 2015大型活动
  • 前后端调用
  • 体检机构 保险
  • 税控盘如何查询上报汇总成功
  • 土地交易的印花税
  • 水资源税征收标准2022
  • 如何在国税网查看社保人员信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设