位置: 编程技术 - 正文

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

  • 月末存款余额
  • 转账支付水电费属于什么会计科目
  • 装修费用如何入账
  • 总分机构 分总机构
  • 资金结存期末余额方向
  • 销售成本包括销售部门
  • 企业的内部银行
  • 转登记纳税人留抵退税政策
  • 小规模残疾人交多少税收
  • 会务费税前扣除材料
  • 职工教育经费怎么花
  • 人力资源服务费发票可以抵扣吗
  • 转让不动产增值税计算
  • 劳动局仲裁支付的补偿怎么做账?
  • 小规模建筑企业预缴税款
  • 劳保用品会计科目是什么
  • 代扣代缴手续费企业所得税
  • 开餐饮发票的经营范围是怎样的?
  • 单位互换房产税收优惠政策
  • 企业出租收入增值税税率
  • 开票金额小于付款金额,怎么办理
  • 纳税人如何网上申请预填报服务
  • 高新企业国家补助收入怎么入账
  • 辅导期纳税人预缴增值税
  • 门店关闭费用怎么处理
  • 设计费计入成本
  • 营改增后融资租赁税率
  • 第三方贴现分录
  • 打车进项可以抵扣吗
  • 差额征收增值税如何申报
  • 预售房款预缴企税怎么算
  • 2020最新win10密钥
  • win10双系统修改名称
  • 新会计规定工会会计制度
  • 银行保证金账务处理流程
  • 附有退货条款的销售
  • php教程全集
  • 斯塔尔德
  • 个人所得税如何计算
  • 加计抵减是适用什么税率
  • 第一季度季初资产总额和第一季度季末同一个数吗
  • unet bn
  • 班迪录屏软件录制框怎样在ppt上一直指定
  • 公司请的临时工
  • erphpdown插件安装教程
  • ps卸载没反应
  • 固定资产减值准备计入什么科目
  • 财务报表逾期了两个月有罚款吗
  • 土地扣除项目金额
  • MySQL中Nested-Loop Join算法小结
  • 佣金代扣代缴增值税如何计算
  • 失控票要在抵扣当月转出吗
  • 非货币性资产交换以公允价值为基础进行计量
  • 小型商贸企业
  • 企业合并发生的审计费用,评估费用
  • 公司购买食品怎么入账
  • 公司名下的车怎样领免检标志
  • 评估价值高于账面价值怎么账务处理
  • 工程材料如何管理
  • 如何理解出口退税的意义
  • 单身租房子
  • win8系统本地连接在哪
  • linux 操作系统
  • frameworkservic.exe是什么进程 有什么作用 frameworkservic进程查询
  • linux虚拟机怎么查看目录
  • jQuery插件实现静态HTML验证码校验
  • nodejs的express框架详解
  • jquery easyui 教程
  • Android startActivities()的使用
  • jquery给复选框赋值
  • jquery事件的响应
  • 浅谈python
  • Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
  • 好看的手写字纯文字
  • 国家税务总局2019年45号公告解读
  • 怎么向税局举报
  • 成都高新区税务局办税服务厅电话
  • 如何落实保密制度规定措施
  • 山东发票认证勾选平台网址
  • 牛力扳手怎么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设