首页> 中文学位 >基于Unity3D平台的内存研究与分析——内存中队列算法的研究与应用
【6h】

基于Unity3D平台的内存研究与分析——内存中队列算法的研究与应用

代理获取

目录

声明

第一章绪论

1.1.研究背景

1.2.研究目标

1.3.研究意义

1.4.研究方法

1.5.论文结构

第二章Unity3D

2.1.视图 - Views

2.1.1. 控制台视图

2.1.2. 场景视图

2.1.3. 项目视图

2.1.4. 层级视图

2.1.5. 检视视图

2.1.6. 游戏视图

2.2.Unity3D中的主要元素

2.2.1. 游戏对象(Game Objects)

2.2.2. 变形组件(transform)

2.2.3. 碰撞组件(Collider)

2.2.4. 摄像机与地形系统

2.3.Unity3D中的时间概念

2.4.Unity3D中方法的执行顺序

2.5.本章小结

第三章基础队列测试

3.1.基础队列介绍

3.1.1. FIFO– 先进先出队列

3.1.2. LIFO– 后进先出队列

3.1.3. 短任务优先队列

3.1.4. 随机队列

3.2.实验目标与评测标准

3.3.数学模型

3.4.实验方案

3.5.实验平台

3.6.项目设计与执行

3.6.1. 项目架构

3.6.2. UI界面

3.6.3. 项目初始化

3.6.4. 项目运行时

3.6.5. 记录结果

3.6.6. 项目主体类图

3.7.测试结果与分析

3.7.1. 数据分析工具

3.7.2. 统计学基础知识

3.7.3. 统计分析结果

3.8.本章小结

第四章优化与提高

4.1.队列比较

4.2.算法原理

4.3.算法实现

4.3.1. 结构变动

4.3.2. 算法核心代码

4.4.统计分析结果

4.5.NPC之间的协作

4.5.1. Petri网

4.5.2. 动态均衡分配任务

4.5.3. 核心代码

4.6.本章小结

第五章应用示例

5.1.游戏中的应用

5.1.1. 业务应用

5.1.2. 服务器开发应用

5.2.其它领域中的应用

5.3.本章小结

第六章总结

6.1.实验结论

6.2.实验贡献

6.3.个人收获

参考文献

致谢

攻读学位期间发表的学术论文

展开▼

摘要

如今的大多数游戏中都会涉及到人工智能,其中的一些非玩家角色(NPC)尤其需要依靠人工智能去自主地完成一些任务,为了完成这些任务,NPC角色必定会在内存中存储这部分任务信息,以何种队列方式存储及读取这些任务数据是每一个游戏项目中都会碰到的问题。
  实验采用Unity3D软件设置了一个虚拟的环境,NPC按照一定的方式完成被布置在该空间中的各种不同任务。实验首先关注的是最常用的四种内存队列(短任务优先,随机,先进先出和后进先出),观察 NPC在这些不同的队列算法下完成任务的表现。为了作出准确地评价,特别定义了吞吐量,延时性和公平性这三项性能指标。每一种队列都将在三种不同的任务发布频率下测试10轮,最终结果将被导入到统计软件中分析。
  实验结合统计学知识对测试结果进行了显著性方差分析及F值校验,结果显示P值小于0.01,证明实验具有统计学意义。统计概要表明使用短任务优先的队列吞吐量最大,而采用后进先出原则的队列延时性最好,以公平性这一指标来看采用随机原则则是最佳选择。基于这些结论,以兼顾三项性能指标为目的,重新设计了多级反馈式队列,该队列算法通过一定的任务划分及动态调整后,能较好地综合各基本队列算法的优点。经过同等条件下地测试表明采用新算法的队列拥有更好的综合性能以及应付更复杂人物组合的能力。除了单个NPC处理任务时的性能分析以外,对多个NPC之间的协作关系也进行了研究,并提供了具体的数据模型和解决方案。
  实验的结论可以帮助程序员在游戏中面对多任务处理的情况下,更好地利用内存处理各种不同的任务,减少开发时间,提高游戏运行效率与可玩性。研究成果不仅可以应用于游戏领域中,在大多数需要处理多任务的传统行业领域中也有一定的应用前景。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号