位置: 编程技术 - 正文

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

  • 原材料退款的会计分录
  • 待解预算收入税务局退税如何做账
  • 组成计税价格包括什么
  • 可回收再生资源有哪些
  • 销售费用和管理费用和财务费用
  • 股票交易费用计算器
  • 个体户核定5万每个月要交多少税钱
  • 独立核算自负盈亏和统负盈亏怎么选
  • 视同销售计入销售费用能税前扣除吗
  • 房地产开发企业土地增值税清算
  • 财务报表有哪些局限性
  • 商品卖亏的会计分录
  • 过路费发票可以抵扣增值税吗
  • 房租有进项发票能抵扣吗
  • 餐厅开增值税普通发票
  • 建筑业简易征收的适用范围
  • 转让法人要注意什么
  • pdf格式发票怎么打印标准大小
  • 关于土地增值税若干问题的通知
  • 发票普票冲红
  • 没有车船税证明可以年检吗
  • 录入凭证时记账的依据是
  • 销售不动产土地增值税纳税义务时间
  • 如何设置老板键
  • php和aspnet哪个好
  • Windows 11 CO-21H2 22000.194 正式版官方下载地址(附esd微软三语直链下载x64+arm64)
  • 净损益是
  • 进程process
  • php初学者用什么软件
  • 销售不动产税目计缴增值税有哪些
  • 大自然水族馆怎么样
  • gridview用法
  • 销售废旧设备增值税率
  • 土地测绘费用会计科目
  • 微信小程序如何删除
  • 猿创设计科技有限公司
  • timedatectl命令用法
  • phpcms教程
  • 举报民间借贷利息收入所得税
  • 未开票金额怎么报税
  • 采购的技术服务费会计分录
  • 什么是备抵类账户
  • 药店的主营业务类别怎么填
  • 哪些情况下可以使用食品添加剂
  • 外贸企业退税怎么申报
  • 小规模纳税人出租不动产免征增值税
  • 分期购车会计分录小规模
  • 进项税额转出的所有会计分录
  • 采购固定资产怎么做账
  • 企业送给客户的礼品怎么做分录
  • 拍卖土地支付的法律依据
  • 违约投标保证金多少
  • 应付账款的主要风险点
  • 职工薪酬包括的内容
  • 小规模纳税人能抵扣进项税额吗
  • 公司活动费用分录
  • 如何查企业是否有问题
  • php中常用的几个字符
  • mysql 修改值
  • windows server 202
  • 打开本地搜索
  • 歌词特效是怎么弄的
  • Win10 Mobile 10586.312提前体验
  • 服务器不支持密码鉴定
  • win8双系统怎么删除一个
  • win10mobile官网
  • js domcontentloaded
  • set命令应用
  • jquery下拉菜单插件
  • Unity3D事件函数的执行顺序
  • vue分页组件page
  • python模块和包的区别
  • python django运行
  • jquery input checked
  • 杭州电子税务局注册流程
  • 青岛契税优惠
  • 江苏个体户年报怎么填
  • 天津地税自助办税终端
  • 什么是专案审计
  • 全年个人一次性奖金单独计税优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设