位置: 编程技术 - 正文

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

  • 什么是纳税地点?
  • 两年前的发票可以补开吗
  • 出差人员个人原因延迟返回
  • 房地产开发企业销售自行开发的房地产项目
  • 外商投资合伙企业的性质与特征
  • 股东入股的标准
  • 营业执照三证合一是哪一年开始的
  • 股权转让中土地增值是否交纳个人所得税
  • 代扣代缴增值税是什么意思
  • 小规模纳税人月超10万季度不超30万
  • 增值税普通发票和专用发票有什么区别
  • 印花税的计税依据含增值税吗
  • 变更税务登记证法人需要哪些资料
  • 小规模税务季报都填写哪些表格呢
  • 应交税费未交增值税是什么意思
  • 盈余公积补亏影响资产吗
  • 跨期费用会计处理
  • u盘的重装系统
  • 银行发放贷款银行会计怎么做账务处理
  • 小规模纳税人的增值税怎么算
  • 产品 研发
  • 滴滴代驾报酬
  • 怎么才能快速?
  • PHP:oci_set_prefetch()的用法_Oracle函数
  • 在win7系统中怎样卸载win10?
  • 增值税进项税抵扣销项税
  • 月入2万的10个小生意低成本
  • 估价入库金额怎么来
  • 二手车 交易税费
  • 长期股权投资初始计量和后续计量的区别
  • 为庆祝中秋而摆放的东西
  • yolo xml转txt
  • php利用switch语句判断学生成绩处于哪个区间
  • 第二季度企业所得税怎么计提
  • 增值税纳税人如何界定
  • 酒店客房成本构成
  • php单态模式简单解释
  • 第一章 使用layui的表格和表单
  • 事业单位结余资金管理办法
  • 火车票抵税申报表怎么填
  • python中如何删除文件
  • dedecms仿站如何做
  • 企业出租的存货包括
  • 往来款项的含义
  • 招标押金有规定吗
  • 商品周转率公式
  • 增值税出口退税款缴纳企业所得税吗
  • 增值税专用发票怎么开
  • 其他权益工具包括交易性金融资产吗
  • 自产货物赠送客户账务处理
  • 什么是一般生产要素
  • 企业生育津贴发放细则
  • 损益类科目增加记哪方
  • 赠送货物金额为多少
  • 补缴税务滞纳金
  • 公司支付劳务工资怎么做账
  • sql数据采集
  • centos查看硬盘信息的命令
  • fedora s7
  • 在windows的命令提示符下,命令名在实际输入时规定
  • 如何将iPhone照片导入电脑
  • winex.exe - winex是什么进程
  • cygwin下载教程
  • graphics.dll
  • win7升级win10收费吗
  • windows10如何多选文件
  • 怎么用root登录
  • vi中的命令
  • 激素六项雌二醇30
  • linux userdel
  • js链式编程的原理
  • python脚本怎么编写
  • jq复选框选中触发事件
  • unity开发游戏教程
  • 日历 caldav
  • andriod中SimpleAdapter+listview,点击item 传值事件
  • 安卓 存储权限 访问的地方是哪里
  • 如何加强部门联动协作
  • 网上交车辆购置税怎么交
  • 国税局官网查询平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设