位置: 编程技术 - 正文

Unity 初级AI躲避障碍物(unity alembic)

编辑:rootadmin
1.引言

推荐整理分享Unity 初级AI躲避障碍物(unity alembic),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity iap,unity游戏ai,unity at,unity iap,unity adjust,unity防止人物穿墙,unity防止人物穿墙,unity躲避障碍物游戏,内容如对您有帮助,希望把文章链接给更多的朋友!

阅读《Unity Game AI programming 》第6章后,感觉躲避障碍物算法不是很给力。为了研究和学习Unity,自己改良躲避障碍物的算法。当然,代码没有优化,不过没关系,抛砖引玉,记录思想,学习交流。

2.与原书算法相比变化:

1.启用物理引擎,使用速度和力解决问题。而不是使用的角度和位置

2.加入沿着障碍物行走,即使障碍物宽度很大或物体向障碍物前进的速度过快,也不会发生穿墙而过现象。

3.为配合沿着障碍物行走,并且显得更自然,引入三个速度与障碍物的交互分区。

3.分享一下示意源码:这个算法依旧存在缺陷,最大问题是运算量较大,并且细节不够丰富,导致物体移动行为不自然。

4.算法详细描述:

当逐渐&#;近障碍物时,首先进入排斥区,对移动物施加障碍物平面法线方向的斥力。再次&#;近改为施加平行于障碍物平面的引导力。若再次&#;近则将移动物体的速度直接更改为平行于障碍物平面的速度。平行于障碍物平面的速度是用向量叉乘以及点乘求得的,Unity向量叉乘遵守左手坐标系,为了让行为更自然需要用点乘纠正方向。

Unity 初级AI躲避障碍物(unity alembic)

当物体沿着障碍物移动时,则不做任何事情,直到脱离障碍物,开始施加向目标点力。若物体没有沿着墙壁前进,并且通向目标一定范围内没有障碍物。则直接更改速度。

若发现目标点畅通无阻则直接更改速度向其前进。

5.注意事项:

把此段代码引入到原书项目中,可test效果。有一个问题需要注意一下,由于移动物体时存在体积的,所以单纯以物体position进行射线检测会在拐角处发生碰撞,为了简化问题,开启移动物体isTrigger选项。

引入简单状态机:

下面是优化可读性的代码,类&#;switch-case状态机,由于运动状态的转换图比较复杂,这里引入一个中央的状态管理器。

游戏编程设计模式-命令模式Unity示例 在游戏编程里面,有一个经常会被用到的设计模式-命令模式。我对设计模式的理解是1、为解决问题而生。2、有大致流程,但是没有固定式3、为了沟通

判断攻击范围 //1、只攻击正前方的单位,向前发射一条射线,攻击碰到的单位RaycastHithit;//range射线的长度,即攻击范围,maskTarget敌方单位的mask,只攻击敌方单位if(Phy

unity商店demo学习:跑酷游戏 本文素材和代码全部来自unityassetstore里面的3DInfiniteRunnerToolkit项目步骤场景一:TitleScene1搭建开始界面场景这个场景是开启游戏的第一个界面,用于选择

标签: unity alembic

本文链接地址:https://www.jiuchutong.com/biancheng/369387.html 转载请保留说明!

上一篇:围绕摄像机旋转(围绕摄像机旋转怎么设置)

下一篇:游戏编程设计模式-命令模式Unity示例(游戏编程设计模拟软件)

  • 购货发票属于什么证据?
  • 普通发票与增值税发票的图片
  • 我们应该怎么做才能成功
  • 合作社收到补贴款如何入账
  • 道路占用挖掘费要交印花税吗
  • 核销贷款收回要冲减资产减值损失吗
  • 生产用的软件
  • 增值税10000交多少税
  • 个人代开普通发票需要出税费吗?
  • 税务季报都报啥
  • 增值税缴纳计入成本吗
  • 退役士兵税收优惠政策
  • 房产报废手续
  • 企业所得税资产总额怎么算出来的呢
  • 购货未能取得发票怎么办
  • 金蝶kis标准版软件操作流程演示
  • 进项构成比例是啥
  • 房屋大修理费用指哪些
  • 金税三期核心征管系统行政处罚
  • 材料验收入库会计分录怎么写计划成本法
  • 挂靠别人的资质进行房屋建筑会计怎样做账?
  • 投资的子公司亏损注销
  • 光伏电站运维费用清单
  • 信息技术费用如何做分录
  • 为什么iphone手机闹钟定了不响
  • 系统托盘右键
  • php编程入门教程
  • mysql 数据源
  • regsrv.exe - regsrv是什么进程 有什么用
  • 2020香港回归23年
  • php umask
  • php基于SQLite实现的分页功能示例
  • php wechat
  • 怎么安装vue环境
  • 原生js实现promise.all
  • vue sse
  • 出租包装物五五摊销法分录例题
  • linux shell
  • php100 jquery教程
  • 冲红发票操作流程
  • 什么叫做归属
  • js方案
  • 盈余公积提取后需要结转吗
  • 固定资产清理怎么做账务处理
  • 工业企业增值税税负多少合理
  • 个人所得税工资薪金包括哪些内容
  • 缴纳社保费出现异常
  • mysql数据库错误日志
  • 高速公路过路费怎么算的
  • 建筑行业怎么确认收入
  • 域名费计入哪个科目
  • 企业购买黄金有限制吗
  • 小企业会计准则主要按照什么计量
  • 小规模减半征收房产税文件
  • 毛利率计算公式
  • 在sql中执行一个创建数据表的脚本文件
  • 怎样设置windows不更新
  • 苹果mac怎么安装win10
  • win7开机后一段时间卡死
  • linux tar -zxf
  • windows7使用
  • js判断浏览器是否为ie
  • django在window部署
  • unity2.5d游戏地图处理
  • jquery选择器的基本语法
  • bat调用vbs脚本
  • jquery怎么判断复选框选中
  • jQuery.ajax实现根据不同的Content-Type做出不同的响应
  • 你知道的,是我的兄弟 我要把天赋
  • python编写api接口
  • python的设置
  • 安卓开发常用代码
  • jquery datatable排序
  • 怎么用python播放音乐
  • 税务系统跨区调动
  • 税务总局33号公告
  • 国家税务总局,湖北省税务局
  • 如何提升基层党建质量
  • 税务异常处理
  • 茶叶出口退税率为什么是9%不是13%
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设