(转)实现AI中LOD优化技术
LOD(Level Of Detail)是3D渲染中用到的概念,按照wikipedia上的翻译,可以译为“细节层次”,它是一种根据与观察点的距离,来减低物体或者模型的复杂度来提升渲染效率的优化技术,因为显而易见的是,当一个物体离我们很远的时候,我们不需要用很复杂的多边形来绘制,只要用一个粗略模型或者低精度的贴图即可,所以在3D渲染中,这是一个很常见的优化技术。
对于AI来说,当一个AI对象离我们很远的时候,其实,它做出什么样的决策,做出什么样的行为,我们并不能“感觉的”到,虽然它的行为可能会对游戏世界有影响,但玩家一般只会专注于离自己比较近的AI行为,所以我们在AI的优化中,也可以采用这种“LOD”的技术,来提升AI部分的运行效率。
我在玩真三国无双的时候,对此非常有感触,虽然我并不知道他是否在AI层做了LOD,但类似于这种大场景,超多NPC的游戏,AI层的LOD的优化技术就非常适合。同样的NPC,当他离玩家不同的距离的时候,我们就可以赋予它不同的AI行为,如下表所示:
- 近:攻击,防御,追踪,掩护,包围,等待,…
- 中:追踪,包围,等待,…
- 远:等待,…
- 近:攻击,防御,追踪,掩护,包围,等待,…(0.1秒决策一次)
- 中:攻击,防御,追踪,掩护,包围,等待,…(1秒决策一次)
- 远:攻击,防御,追踪,掩护,包围,等待,…(5秒决策一次)
我们可以根据需要来混合使用上面两种方式。说到这里,我想大家脑海中会有一个自己的代码实现框架,我也想了一种,可以用到我经常说的行为树的方式来实现,行为树最好的就是可以任意的添加行为分支,所以可以说,对于第一种的LOD实现是天生支持的,我们只要建立三个行为分支表示近,中,远,并且在这三个分支下,挂上不同的候选行为,这样,我们就建立了一棵带LOD优化功能的行为树,如下图:
作者:Finney
Blog:AI分享站(http://www.aisharing.com/)
Email:finneytang@gmail.com
本文欢迎转载和引用,请保留本说明并注明出处
————————————————————————
转载于:https://www.cnblogs.com/wonderKK/p/3543067.html
(转)实现AI中LOD优化技术相关推荐
- Unity教程之再谈Unity中的优化技术
这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体 这一步主要是为了针对性能瓶颈中的" ...
- 【Unity技巧】Unity中的优化技术
写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Un ...
- Unity中的优化技术
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得 ...
- 第16章 Unity中的渲染优化技术
程序优化的第一条准则: 不要优化.程序优化的第二条准则(仅针对专家! 〉: 不要优化. 一一Michael A. Jackson 在进行程序优化的时候,人们经常会引用英国的计算机科学家Michael ...
- JVM虚拟机中优化技术之逃逸分析
目录 编译器优化技术之语言相关的优化技术 简介 前置问题 对象是否都被分配到了堆内存中? 为什么会发生逃逸? 什么是逃逸分析? 逃逸分析原理 什么是方法逃逸? 举例说明: 什么是线程逃逸? 举例说明: ...
- DL之DNN优化技术:神经网络算法简介之数据训练优化【mini-batch技术+etc】
DL之DNN优化技术:神经网络算法简介之数据训练优化[mini-batch技术+etc] 目录 1.mini-batch技术 输出结果 实现代码 1.mini-batch技术 输出结果 实现代码 # ...
- Interview:算法岗位面试—上海某科技公司算法岗位(偏AI算法,国企)技术面试之BN层的认知、BP的推导、GD优化的几种改进等
Interview:算法岗位面试-上海某科技公司算法岗位(偏AI算法,国企)技术面试之BN层的认知.BP的推导.GD优化的几种改进等 导读:关于神经网络,问的比较深,因为博主做过总结,所以用自己的语言 ...
- CDN高级技术专家周哲:深度剖析短视频分发过程中的用户体验优化技术点
摘要: 深圳云栖大会已经圆满落幕,在3月29日飞天技术汇-弹性计算.网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了<海量短视频极速分发>的主题分享,带领我们从视频内容采集.上 ...
- AI:2023年6月9日北京智源大会演讲分享之基础模型前沿技术论坛—《工程化打造AI中的CPU》、《构建一个AI系统:在LLM上应用带有RLHF来推进定制》、《多模态预训练的进展回顾与展望》、《扩展大
AI:2023年6月9日北京智源大会演讲分享之基础模型前沿技术论坛-<工程化打造AI中的CPU>.<构建一个AI系统:在LLM上应用带有RLHF来推进定制>.<多模态预训 ...
- 深度剖析短视频分发过程中的用户体验优化技术点
2018深圳云栖大会已经圆满落幕,在飞天技术汇-弹性计算.网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了<海量短视频极速分发>的主题分享,带领我们从视频内容采集.上传.存储和 ...
最新文章
- 浅谈电子政务门户建设选型经验
- 橡胶支座抗压弹性模量计算公式_囊谦网架生态酒店_网架抗震垫块A诚信商家-桥兴橡胶...
- 计算方法之迭代法求方程根
- 第 39 章 ThinkPHP--CURD 操作
- 试hp服务器不识别网卡一则
- vue2学习计划1-1 浏览器跨域问题
- 漯河首富,一年杀猪5000万头
- php方法参数,关于PHP方法参数的那一些事
- 重启iis与mysql服务器吗_每晚定时重启IIS和数据库服务可节省服务器资源
- pcm2wav matlab,matlab输出pcm格式文件
- 一键生成所有尺寸App Icon
- 《Stacked Hourglass Networks for Human Pose Estimation》
- UVA1445 	 Cubist Artwork
- Python之Pickle学习
- mBio | 海洋所孙超岷组在深海原位验证了微生物介导的单质硫形成新通路
- 2022第七届“数维杯”大学生数学建模夏令营
- 虎书学习笔记3:图形学基础数学(正交基与坐标系、二维梯度)
- 软件测试工程师和技术支持工程师哪个更有钱途,以后会发展更好?
- OSSIM开源安全信息管理系统(一)
- dhcp显示否服务器怎么设置,怎么开启 dhcp服务器配置
热门文章
- 2008 Asia Harbin Regional Contest Online Turn the corner (三分)
- 网管必须熟悉的几个网络DOS命令
- ElasticSearch - 嵌套对象 nested
- SpringBoot 之日志logback使用[简单上手版]
- B 站 CEO 的身份证被上传到 GitHub 了?这个火了
- Spring Boot + PageHelper 实现分页,总结得很全了!
- 如何写一手好 SQL!!!
- 从技术转管理,我做了什么来拯救自己?
- 给 22 岁的自己六点建议
- linux共享文件丢失,linux基础应用(NFS文件共享)