本科生毕业设计(论文)外文资料译文
( 2022届)
一、译文文本要求 1.外文译文不少于3000汉字; 2.外文译文本文格式参照论文正文规范(标题、字体、字号、图表、原文信息等); 3.外文原文资料信息列文末,对应于论文正文的参考文献部分,标题用“外文原文资料信息”,内容包括: 1)外文原文作者; 2)书名或论文题目; 3)外文原文来源: □出版社或刊物名称、出版时间或刊号、译文部分所在页码 □网页地址 二、外文原文资料(电子文本或数字化后的图片): 1.外文原文不少于10000印刷字符(图表等除外); 2.外文原文若是纸质的请数字化(图片)后粘贴于译文后的原文资料处,但装订时请用纸质原文复印件附于译文后。 |
信息科学与技术学院教务科
外文资料译文规范说明
指导教师意见: 英文论文材料选择合理,与毕业设计论文相关度较高。专业术语、词汇翻译也有较高的准确度。语句通顺,翻译材料与原文有较好的一致性,能够正确表达文献原意。 指导教师签名: 2022年3月2日 |
- 外文资料译文:
基于Unity3D的RVO碰撞避免系统
摘 要
采用交互速度障碍(RVO)方法对游戏引擎Unity3D生成的人群模拟进行避免碰撞处理。采用RVO避碰方法,对同一环境下的多个主体进行了平滑避碰处理。有三种方法
在本实验中,使用RVO避碰技术生成人群模拟。第一种方法包括获取用户对要在虚拟环境中模拟和呈现的每个代理的起始位置、目标位置和速度的输入,并将这些信息导出到一个文件中。第二种方法是将一个预先存在的文件加载到Unity中,以便输入模拟的信息。第三种方法是只从一个代理开始,它不断地移动到随机的目标位置,并且可以被复制以在他的环境中产生更多的代理。本实验与另一种避碰撞方法预测力避碰撞相结合。用户间开发了Ace来选择应该显示哪种防碰撞的方式,以及在Unity中模拟和渲染环境的具体方法。
1.简介
人群模拟包括产生大量实体的运动,虚拟环境中的人物。一些人群模拟的用途很少包括被用于创建紧急疏散模拟,视频游戏人群人工智能行为,以及重现过去的地方来展示人们的行为。在虚拟环境中使用的角色被称为代理,每个角色都有自己的人工智能在各自的环境中发挥作用。根据它们独特的编程,给它们一个设定的路径、目的地和特定的行为。当在同一环境中模拟多个人工智能时,通常必须解决的一个主要问题是避免碰撞-
ance.每个代理必须能够检测对象或其他代理,然后依次能够平滑地偏离路径,以防止碰撞。如果存在两个代理都在相互移动的情况,那么它们也必须以一种有效的方式来避免碰撞。
今年夏天,在明尼苏达大学,我专注于在游戏引擎Unity中实现一种被称为交互速度障碍(RVO)的避碰方法。Unity是一个内置的游戏引擎
一个强大的渲染引擎,使用工具来创建一个交互式的3D环境[克莱顿,2010]。Unity有一个拖放的拖放环境,可以在JavaScript、C和Boo中进行编程。图1概述了我们所采用的高级方法。关于统一中物体的信息将来自环境均值
从用户输入或带有数据文件的信息。基于编码的模拟将开始,Unity将渲染场景、对象和信息,以便用户能够在虚拟环境中查看模型和环境。
图1:从环境(用户输入或数据文件)中检索信息,在Unity中运行模拟和渲染
Unity3D在开发者中越来越受欢迎,并有可能在虚拟环境中使用。Unity与三菱和搅拌机等软件兼容,允许创建的模型被放置在游戏引擎环境中。明尼苏达大学正在进行一个项目,将团结整合到一个虚拟环境中,以重现希腊的古代生活。他们将能够产生结构,计算出能够适合的人数,
重建人们在环境中发挥作用。如果这些人,即虚拟世界中的代理人,在城市中四处走动,那么他们就需要知道如何避免碰撞来继续走在他们的道路上。这就是多代理的RVO方法可以应用的地方。Unity有多种用途,如游戏、模拟,甚至是设计。Unity已被用于机器人设计,通过在Unity中创建一个功能虚拟机器人,然后根据Unity模型实际创建它[马丁利,2012]。Unity的其他用途还包括可以移植到iPhone、安卓系统和个人电脑上的应用程序开发。
- 以前的工作
2.1.人群模拟的实际应用
人群模拟技术已被用于创建紧急情况模拟。社会科学和计算机实现的混合建模使用多代理系统与他们自己的编程行为被用来重现紧急情况的行为。一个反复出现的问题是衡量一群人在真正的紧急恐慌情况下会如何反应。为了获得高度准确的结果,就需要将人们置于真正的紧急情况下。然而,从行人人群中进行观察可以通过显示相同的模式来再现行为。一个也不知道建筑结构的人,会专注于寻找最近的逃生路线,会跟随人群,他们的速度会迅速增加[Almeidaetal.,2013]。这个场景如图2所示。
图2:试图逃离烟雾弥漫的房间的人群
已经创建了一些特定的工具来生成具有紧急疏散环境的环境。一个名为Collabmap的工具可以生成环境,它可以与人群模拟方法相结合来创建虚拟场景、有效性以及疏散建筑需要多长时间[Ramchurn等人,2013]。一些人群模拟软件是针对建筑物以外的特定情况而制作的,例如“从恐怖炸弹袭击的地区”疏散[申达卡,2006]。该实验的创造者专注于他们创建的自己的BDI(信念、欲望、意图)代理框架。
导致发展主要有三个原因。第一:首先测试科学理论和假设;第二,测试设计策略;第三,创造可以理论化的现象[Almeidaetal.,2013]。需要理解人群行为来复制真实人群的行为来进行人群模拟。每个主体也有各种属性来决定他们的行为,包括状态、速度、视觉、反应时间、协作、坚持和知识[Almeida,2013]。视觉是一个依赖于检测障碍和其他因素的方面。这是由于检测方面将应用碰撞的地方。
基于认知、心理和社会学因素的人群模拟实践源于克雷格·W的作品。雷诺兹[雷诺兹,1987]。本文主要研究了他如何实施一群鸟类的行为。他的目标是捕捉行为方面的互动的运动。人们正在采取步骤扩展他对认知行为的理想,试图控制角色知道什么以及知识如何获得[Fungeetal.,1999]。这可以追溯到紧急疏散的知识方面,因为如果一个角色知道最快的逃跑方法,那么他就不会在类似于图2所示的恐慌中跟随人群。
2.2种实时多智能体导航的方法
互反速度障碍(RVO)是一个局部反应性碰撞避免的概念,它隐含地假设其他主体做出了类似的碰撞避免推理[vandenBergetal.,2008]。每个代理都包含关于所有其他代理的当前位置、速度和精确形状的信息。RVO没有给每个代理一个新的速度,以完全避免与其他代理的速度障碍的碰撞,而是引入了一种取当前速度和其他代理的速度障碍外的速度的平均值的方法。这将允许代理选择最接近其当前速度的速度。两种代理都能够获得与首选速度最接近的速度,从而两种代理都承担相等的工作,以成功地避免碰撞。RVO不仅局限于在虚拟环境中使用。避免碰撞也是机器人技术中的一个基本问题[vandenBerg等人,2011]。
对于多个机器人代理的无碰撞运动和平稳运动的问题在当今世界仍然普遍存在。最优互反碰撞避免只是用于多个机器人代理导航的避碰撞方法的一个例子[Snapeetal.,2010]。这种方法和RVO均起源于Veloc-避免未来碰撞的质量障碍(VO)[菲奥里尼和席勒,1998]。
3.基于Unity的RVO
今年夏天,我的项目的目标是实现一个功能齐全的统一项目,可以实现对多个代理的交互速度障碍(RVO)碰撞避免。我首先创建一个由六个立方体和一个平坦地形组成的环境来开始工作。在
编写脚本时,我编码了RVO论文中的各种公式,并将它们实现为Unity[vandenBerg,2008]。
首先,我开始学习Unity的机制,以及如何创建和移动物体。我一开始就使用立方体作为游戏代理,而不是使用人类模型。在弄清楚如何使用Unity编辑器管理对象和脚本之后,我开始在代码中实现RVO公式。
D = |vpreferred minus; vtest| (1)
方程1包含变量D,它表示首选速度减去任意测试速度的大小。对速度进行采样,以找到避免碰撞的最佳速度。我发现测试100个任意速度的样本就足以产生一个良好的运动。这个值被添加到RVO公式的公式2中。
Score = ((w/(tau; 0.001)) D) (2)
分数有一个时间返回到它。分数的最小时间决定了应该采用哪个测试速度。
公式2在我的脚本中包含了分数变量。RVO找到碰撞的最小时间,然后找到最接近它自己的最佳速度,以避免碰撞。这个
分数函数将返回一个时间,返回到分数的最小时间将表明用于计算该分数的测试速度是避免碰撞的最佳速度。tau;表示发生碰撞的时间,并包含每个代理最近发生碰撞的时间。w变量是一个特定的数字,以确定让代理专注于避免碰撞避免或目标位置的重要性。w值越高,物体就越专注于朝向目标前进。w值越低,物体就越容易避免碰撞。
根据以上信息,我们可以找到潜在碰撞的时间长短,如下。首先,我们必须计算方程3、4、5的值,如下所示。
a = (|vtest minus; vobj |) lowast; (|vtest minus; vobj |) (3)
b = 2 lowast; ((|(vtest minus; vobj )|) · (Pcur lowast; Pobj )) (4)
c = |(Pcur minus; PobJ )|2 minus; (rcur lowast; robj ) (5)
公式3、4、5每个都包含关于当前物体位置的信息(Pcur),接近物体的位置(Pobj),这两个物体的半径(rcur, robj),和任意的测试速度(v试验).对象速度(vobj式3中的)是指接近物体的电流速度,而任意速度(v试验)正在进行避碰测试。方程4和5有关于两个物体当前位置的信息,以提供关于碰撞时间的准确信息。这些值将被放入计算碰撞时间的二次公式中。
(t1, t2) = minus;b plusmn; radic;b2 minus; 4ac/2a (6)
其中t1和t2是正解和负解。
tau; = min(t1, t2) (7)
最小值取最小的非负值。作为二次公式的结果,时间可以产生来表示发生碰撞的时间。如果这两个值都是正的,那么较小的值将是存储到最小碰撞时间的值。如果这两个值都不是正的或两者都是负的,则有一个条件设置为不接受时间值,因为这意味着对象不会发生碰撞。如果一个值是负的,而另一个值是正的,那么这意味着它当前正在碰撞。将两个正值的最小时间存储在公式7的tau;中,表示最接近碰撞的时间。鳕鱼后将功能完整的RVO方法输入到Unity中,我使用下面图3所示的立方集运行代码。
图3:使用RVO避碰器的具有随机目标位置的立方体
这些立方体被给予一个随机的位置,当他们到达离目标位置的一小段距离后,他们被给予另一个目标位置来导航。当两个立方体即将发生碰撞时,使用RVO避碰技术,它们能够相互检测,避免碰撞继续朝向目标位置。分配的下一个任务是能够指定立方体的起始位置、结束位置和速度作为输入,然后在游戏环境中运行它,同时仍然应用RVO。我创建了一个GUI界面,允许用户使用图4中显示的这种格式创建他们自己的文本文件。
在Unity中创建的用户界面以这种格式导出一个文件,并获取该信息来创建指定的对象,然后将它们引导到它们的目标位置。下一步是转移到实际的动画模型上,而不是使用立方体作为我的代理。人体模型被导入到统一体的内部,以替换立方体。其中一个问题是调整模型,以面对他们当前的位置和动画。
图4:要在Unity中实现的文件的格式
但这是通过使用在Unity中实现的旋转方法来解决的。在这两个问题解决后,我终于与人类代理避免了RVO碰撞。这一点如下图图5所示。
下一个任务是创建一个
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596362],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。