位置: 编程技术 - 正文

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

  • 小规模纳税人进项发票怎么做账
  • 发票税率开错了按什么申报
  • 代发工资记什么科目
  • 增值税普通发票有什么用
  • 小额贷款公司的钱从哪里来
  • 结转税金需要附件吗
  • 高新技术企业如何查询
  • 以旧换新的金子划算吗
  • 员工租房合同
  • 财产租赁所得应缴纳个人所得税
  • 小规模公司可以贷款吗
  • 计提坏账准备的前提条件
  • 筹备费用怎么扣税的
  • 取得进项票当月未认证
  • 汽车装饰装潢税率
  • 小规模纳税人增值税怎么算
  • 小微企业免税销售额和未达起征点销售额区别
  • 物业公司广告位出租怎么入账
  • 员工借款收不回来账务处理
  • 代销商品和代销商品款
  • 跨省银行承兑汇票可以接受吗
  • 打包贷款和出口信贷的区别和联系
  • 华为授权查询系统
  • cmd telnet命令大全
  • php参数过滤封装类
  • php生成php文件
  • php auth_http类库进行身份效验
  • dcs是什么文件夹可以删除吗
  • wifi密码忘记了怎么重新设置密码
  • 非经营业务
  • csinject.exe是什么程序的进程 csinject进程是安全的吗
  • spring boot 接受参数
  • 考拉妈妈打考拉
  • javascript零基础入门书籍
  • css3两种调整背景图片大小的方式
  • logparser命令
  • 资产证券化会计处理案例
  • 银行存款手工明细分类账
  • 净收入是营业收入吗
  • 小企业会计准则会计科目表
  • 哪些税种需要计提吗
  • 暂估库存商品计算怎么算
  • 工厂杂工工资
  • 同一控制下企业合并
  • 项目差旅费可以直接入成本吗
  • 善意取得虚开增值税专用发票处理
  • 累计折旧贷方余额怎么算
  • 汽车销售和租赁业务描述
  • 库存商品一直没有销售怎么办
  • 工程在建工程转固清单
  • 工会经费计提比例是应发工资还是实发工资
  • 印花税每月未计提怎么办
  • 卖二手车买卖
  • 租房子租一半不租了违约金付的,房东不肯退钱怎么办
  • 申报高新技术企业专利有什么要求
  • 预提费用如何预提
  • 为什么要计提工资
  • 常用的sql语句有哪些
  • mysql行锁的作用
  • xp附件游戏
  • ubuntu屏幕截图快捷键
  • 笔记本没有光驱怎么加装固态硬盘
  • centos配置httpd
  • win7电脑连不上wifi怎么办
  • 如何修改apache
  • service.exe是什么
  • centos基本操作命令
  • edxposed 作用域
  • jQuery+HTML5实现弹出创意搜索框层
  • 一键删除通讯录联系人
  • 命令行创建虚拟机
  • jquery获取滚动条位置
  • 七牛云和ucloud
  • Unity destructor Or OnDestory
  • js newyork
  • 使用jquery计算li元素的个数
  • 江苏税务局开票在哪看的
  • 如何给税务局提供发票
  • 四川灵活就业医保每月返多少钱
  • 股权转让查账重点查什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设