位置: 编程技术 - 正文

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示例(游戏编程设计模拟软件)

  • 每月计提什么费用
  • 收入准则范围内
  • 翻唱歌曲发行时怎么把原唱名字改了
  • 出口退税综合服务平台广东
  • 房租不能开发票怎样入账
  • 什么情况下要安起搏器
  • 发生费用是什么意思
  • 住房公积金比例一般是多少
  • 增值税普通发票怎么开
  • 高新技术企业预审要求
  • 少提的税金如何做账
  • 研发物资
  • 金融业融资租赁
  • 员工工作服计入劳保费吗
  • 湖北个体户网上申报
  • 个人收到支票如何做账
  • 进口货物如何缴增值税
  • 利润分配财务处理
  • win11如何在开机的时候进入安全模式
  • 赠送产品如何计入成本
  • 进口关税增值税计算公式
  • 在公司发明的东西专利权归谁
  • 应收账款怎么做会计分录
  • vue click触发两次
  • php运用的技术php开发有哪些实用的技术
  • 冰上的卷羽鹈鹕,希腊凯尔基尼湖 (© Guy Edwardes/Minden Pictures)
  • 小企业会计准则
  • yii2组件的理解
  • 基于springboot的毕设
  • 商品销售成本怎样计算
  • typescriptlang
  • node js m1
  • 借管理费用贷应交税费个人所得税
  • controller层,service层,dao
  • nodejs如何与前端交互
  • 计算机视觉竞赛很重要吗
  • 微信随机红包表情包怎么弄
  • 一般户需要做账报税吗
  • 研发支出什么时候转管理费用
  • 股权转让怎么查
  • 普通发票增量需要什么资料
  • 织梦怎么改文字
  • python导入模块的语句
  • 个人劳务费可以开什么类目?
  • 金蝶可以自动结转增值税吗
  • 小额支出没有发票怎么办
  • sqlserver 15247
  • sql语句取并集
  • 如何免费用别人家的wifi
  • 企业福利费账务处理
  • 住宿费用抵扣税款会计分录
  • 未分配利润可以弥补亏损吗
  • 银行汇票使用方法
  • 道路施工企业的上级监管部门是谁
  • 预付卡开不征税发票
  • 建账时应考虑的问题包括下列哪三项
  • sqlserver连接到服务器
  • windows z
  • win10 10月更新
  • 苹果mac os x 怎么样使用光盘
  • centos7搜索
  • conf文件用什么软件打开
  • w7系统cf怎么调烟雾头
  • microsoft ime进程
  • 错误代码0x8007007B
  • win7系统设备管理器没有端口
  • win8操作
  • w8系统一键恢复
  • win10系统自带功能
  • jquery操作html代码
  • 音频焦点是什么
  • textview在哪
  • javascript基于什么的语言
  • 如何大小写字母转换
  • shell脚本批处理
  • gpu解码视频
  • js取反运算符
  • jquery动态添加的元素怎么添加事件
  • 应税消费品通过什么科目核算
  • 推动税务系统全面从严
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设