位置: 编程技术 - 正文

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

  • 小规模企业免税怎么做账
  • 公司基本户里的钱有利息吗
  • 固定资产账务处理实操
  • 研发辅助账科目设置
  • 车辆维修费发票清单内容
  • 研发设备可以一次性扣除吗
  • 向境外个人支付咨询费如何算税
  • 新公司开账户需要多少钱
  • 年初未分配利润和年末未分配利润的关系
  • 计提印花税走什么科目
  • 租赁负债的计量
  • 费用类科目分类怎么避免出错
  • 没开发票的收入可以不入账吗
  • 补交以前年度增值税的科目处理
  • 存货盘亏进项税额转出会计分录
  • 公司支付宝扣的钱去哪了
  • 从外面买回来的菜怎么消毒
  • 酒店代金券使用规则
  • 扶贫算出差吗
  • 当期免抵税额和当期免抵退税额
  • 不交增值税当月还需要计提税金吗?
  • 建筑劳务分包一般纳税人可以选择简易计税法吗?
  • 企业定期存款是什么账户类型
  • 当月开票一定要当月入账吗
  • 建筑行业暂估成本的账务处理
  • 工业企业研发产品有哪些
  • 促销费属于现代服务类吗
  • 网店提现要多久能到账
  • 增值税专用发票查询系统官方网站
  • 调整低电量通知怎么设置
  • 公司收回货款会计分录
  • 如何在excel中计算两列数值的差
  • 打印机5b00错误解决
  • nvsvc.exe - nvsvc是什么进程 有什么用
  • 加班费如何做账
  • el-table-column label动态
  • 长期投资有哪些渠道
  • 年底社保怎么交
  • 收到债劵利息会减少吗
  • 差旅费住宿费专票抵扣联贴在哪里
  • 企业已开出的成本怎么算
  • vue sha256加密
  • electron引入vue
  • 应纳税所得额100-300万税率
  • 海外佣金需要交税吗
  • 企业的业务招待费是否可以随意开支
  • 财务核算科目核算流程图
  • 外管证超期
  • 差旅费包括哪些费用
  • 不动产租赁需要资质吗
  • 汇算清缴纳税调整需要做账吗
  • 一般纳税人增值税减免政策2023
  • 业务招待费的企业所得税扣除标准
  • 预计负债的账务处理
  • 医疗保险个人缴纳比例
  • 企业网银年服务费怎么做账
  • 制造费用需要本年累计吗
  • 预付卡开不征税发票
  • 计提人工成本会计分录
  • 建筑业统一发票可以抵扣吗
  • 单位购入车辆能抵扣吗
  • 代理进口业务会计分录
  • 商业银行存款业务规则
  • win7系统权限设置
  • win8/10whql
  • win7旗舰版关闭强制签名
  • 多屏协同苹果系统有吗
  • mac中的快捷键大全
  • mac 怎么复制文件
  • linux内核模块命令
  • Win10预览版更新弹窗如何关闭
  • 怎么在win7系统看蓝牙
  • windows 8/10whql
  • js实现日历效果
  • javascriptweb
  • javascript中函数
  • xcopy /s /e
  • js获取当前日期并格式化
  • js简单实现鼠标移动后面文字也移动
  • 手机 日常应用 单核 多核
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设