位置: 编程技术 - 正文

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

  • 累计交税如何计算?
  • 自来水厂会污染水源吗
  • 一般纳税人报税流程详细操作
  • 8月现金收入9月存银行如何做账
  • 什么是一般公共财政预算收入
  • 个税中房屋租赁日期写长跟写短
  • 医疗器械商贸企业成本核酸
  • 买断式贴现是什么业务
  • 国资委无偿划拨资产不上税吗
  • 民办美术高中有哪些
  • 集团财务公司资金管理
  • 政府补贴流程
  • 股东借款 往来款
  • 以固定资产出资设立企业
  • 外协加工分录
  • 工资代扣款项是什么意思
  • 计提水利建设基金的依据
  • 模具维修费用清单表格
  • 税务局返还的代征代扣要交增值税吗
  • 上个月申报错了怎么办
  • 帮你用好小微企业所得税优惠的7个案例
  • 代收代付水电费会计分录
  • 进项税额抵扣欠税后怎么申报
  • 公司股权转让的税费处理
  • 差额税和增值税怎么算
  • 审计报告报备流程
  • 行程单的金额怎么算
  • 车间日常维修费用计入什么科目
  • 税金及附加包括所得税费用吗
  • win10怎么关掉
  • php输出当月日历
  • 网速变慢的原因有哪些
  • win11开机后无法操作
  • win10专区
  • win11电脑怎么设置开机密码
  • 运输发票符合什么要求
  • 总公司给分公司调货
  • php如何实现mysql数据的删除
  • 公司费用报销包括哪些
  • php安装swoole扩展
  • php中单引号和双引号
  • laravel event
  • 工程竣工决算会计账务处理
  • 非一般纳税人怎么报税
  • 资产减值损失属于什么科目借贷方向
  • 财务报表不申报可以领票吗
  • 第6章 分支语句和逻辑运算符
  • 增值税年底抵扣
  • 汇算清缴费用调整怎么做账
  • 预计净残值的计算公式excel
  • 房屋租赁物业费谁承担
  • 成本法下被投资单位其他综合收益变动
  • 为什么要办理外地身份证
  • 债务人对债权人享有
  • 外贸企业面对人民币升值应该采取什么的避险措施
  • 进项发票可以退税吗
  • 固定资产净残值最后怎么处理
  • 工程物资属于存货还是固定资产
  • Linux下MySQL 5.6.27 安装教程
  • win7总是更新怎么办
  • win2008组策略
  • ubuntu系统升级命令
  • linux如何查询
  • linux介绍视频
  • 在windows中用于显示正在运行的程序名称的栏称为
  • win10缺少文件如何修复
  • win7系统本地连接图标不见了
  • win8页面
  • 微软kudo
  • Android游戏开发pdf
  • css中div怎么用
  • django forloop
  • shell函数参数
  • python基础教程 入门教程
  • 用shell脚本创建用户
  • javascript的对象有哪些
  • js浮动窗口
  • 12366纳税服务热线存在的问题
  • 淮北市国家税务总局电话
  • 山东居民养老金是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设