- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unity中的时间控制 - 关卡创建
本文会探讨如何在Unity中使用时间控制进行关卡创建。在探讨之前,可以观看视频了解拥有时间控制玩法的解谜游戏《Lintrix》:
因为与《Lintrix》拥有同样的时间控制玩法的游戏并不多见,因此本文以《Lintrix》为例,说明如何在Unity中实现该功能,以及它可以有哪些应用。 我们将以Unity引擎为例,并使用Unity相关的术语,但其概念也适用于其他引擎。
时间控制对创建关卡的意义
为什么要用时间控制来辅助创建关卡呢?这样设计的主要契机是:第一,《Lintrix》团队有成员在创建动画编辑器方面具有丰富经验;第二,Unity有一个时间轴,可以查看场景在任何时刻的表现。
?
我们希望状态和属性,比如Unity对象的Transforms,可依赖于时间,并且能够跳转到特定时刻,因为如果这样的话,正常进行游戏的时候,所有对象都将拥有相应的状态。
?
就游戏本身而言,因为《Lintrix》是确定性的游戏,所以可以很好地利用时间轴来实现时间控制。《Lintrix》场景的许多对象都在游戏进行时移动,并且它们彼此之间的相对位置非常重要,像时间轴这样的工具可以帮助关卡设计者更容易理解该关卡在游戏中的样子,以便在编辑器中进行创建。另外在大多数情况下,我们也很容易编辑某个时刻的关卡,从而让所有的对象在某个具体时间点定位或旋转,并且当时间设置为零或开始移动时,对象会自动重新计算其位置。
我们提供了快捷键以便于对时间进行前进和后退操作。之后,关卡创建不仅是摆放物体后运行,更多的是向前或向后跳跃,以及重新定位对象,所以这些物体在关卡的任意时刻都要保持在其预先设计的位置。
这在《Lintrix》游戏中非常有用:一方面,希望玩家能够连接晶体来消灭所有的敌人;另一方面,又不希望这些连接会覆盖其他晶体或者彼此重叠。
如何避免对象碰撞
实际上,在开发《Lintrix》游戏的过程中,重叠是个大问题,因为当场景中大多数对象移动时,很难防止它们过早碰撞。 大部分时间会出现类似这种糟糕的效果:
为了理解物体如何移动,我们添加了移动轨迹。它让敌人在晶体之间移动而不碰撞的问题更加容易避免。
它也可用于可视化晶体运动。
我们在创建关卡时使用时间控制进行“计时”。 这里的计时表示调整关卡某些部分的运动,使得在关卡运行时物体早点或晚点出现。 有时甚至希望来回移动所有的动作。 例如,在关卡开始时可以预留给玩家一些时间,以便他们能够预估将会发生的景象。 使用时间轴可以轻松地将时间移至负值,并将此新时间设为零表示开始。
?
因为在编辑器模式下更新时间的脚本被添加到控制时间的对象,如果想要启用或禁用对象上更改时间的效果,只需启用或禁用此脚本,并使它们响应或忽略时间的更改。
实现方法
下面我们一起来看看如何在Unity中实现该功能。
创建接口
首先创建一个非常简单的接口,让所有需要随时间变化的脚本都实现这个接口:
定义时间操控实体
这个时间操控实体可以为一组实现了ITimeChanging接口的对象调用这些方法。 实体接口如下:
在编辑器模式中,有一个可以让用户直接在运行模式下控制时间的脚本。如下图所示,你可以看到关卡控制器通过它的Update()来增加时间。
示例项目下载链接:
/alexander91/timelineExample
为时间控制添加物体响应
我们设置了一个时间轴管理器,允许跳转到不同的时刻。?以及几个带有线性运动(LineMovement)脚本的立方体,LineMovement脚本继承自ITimeChaning,并监听TimeManager中的时间改变(AddTime),可以在监视器面板设置这个立方体以给定速度朝预定方向移动,代码如下:
综上所述,编辑器自定义时间控制工具非常适用于确定性的游戏,这将让整个工作流程分外轻松。 另外,如果游戏中的动作很简单,也可以很容易在编辑器中提供各种选项。
总结
希望本文介绍的利用时间控制进行关卡创建的方法可以给你带来启发。之后我们还将继续介绍如何使用时间控制功能来改善游戏体验,并帮助我们更好地进行测试,敬请期待!
您可能关注的文档
- GMDSS通用操作员岗位适任训练课程 GMDSS通信业务-船用VHF设备 GMDSS通用操作员岗位适任训练课程资源库-文本文件28-《GMDSS通信业务》-项目8-船用VHF设备.docx
- GMP 任务二:工艺用水的相关要求 2.电子教案(项目四工艺用水的相关要求.doc
- GNSS定位测量 卫星导航定位系统组成 电子教材-地面监控部分.doc
- H3CSE Security认证(社会培训) 网络协议 IP路由.doc
- H3CSE(H3C构建安全优化的智能广域网) H3CSE(H3C构建安全优化的智能广域网) 390实习案例23.doc
- HCNA Security认证(社会培训)冗余资源 HCNA Security认证(社会培训)冗余资源 防火墙安全策略配置.docx
- Illustrator图形绘制 图表与符号的应用 第6章教案.doc
- IP网络技术 7.1 任务一:ACL技术配置及其应用 11、ACL访问控制列表(中兴设备).doc
- J2EE课程体系_前端&JavaWeb全套教材 第一节HTML Html作业1.docx
- Java程序设计(新) 学生实训任务单 学生实训任务单.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 初中数学教师晋升高级(一级)职称水平考试模拟试卷(四).docx
- 销售清单一式两联售货清单单据通用A5.docx
- 初中数学教师晋升高级(一级)职称水平考试试卷(一).docx
- 格列佛游记(中英对照).pdf
- 第三单元整体教学设计-【大单元教学】2023-2024学年八年级语文上册名师备课系列(统编版).pdf
- 第18课 白鸽相伴 本真相随——《我的白鸽》导学案-2024-2025学年七年级语文上册同步高效课堂(统编版2024).docx
- (2024秋)部编版七年级语文上册《我的白鸽》教案.docx
- 麻醉中的咳嗽引起并发症的处理.pptx
- Unit 4 Time to celebrate 大单元整体教学设计 外研版2024七年级上册教学评一体化.docx
- 销售发票管理明细表.xlsx VIP
文档评论(0)