热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

《Unity5.x游戏开发实战》一2.8游戏测试

本节书摘来异步社区《Unity5.x游戏开发实战》一书中的第2章,第2.8节,作者:AlanThorn译者:李华峰责编&#x

本节书摘来异步社区《Unity 5.x游戏开发实战》一书中的第2章,第2.8节,作者: Alan Thorn 译者: 李华峰 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 游戏测试

至此,已经完成第一个Unity游戏了!现在是时候来运行一下这个游戏了。Unity中游戏的测试过程首先是单击工具栏上的“Play”按钮,然后以游戏者的视觉角度来进行游戏,以此来查看该游戏能否正常工作。除了进行游戏以外,还可以使用调试模式,在整个游戏进行过程中时刻观察着对象Inspector面板处所有公共和私有变量值的变化,以此来保证在游戏过程中所有变量的值都不会超出正常范围。激活调试模式的方法是,单击对象检查(Inspector)面板右上角的菜单图标,并从出现的上下文菜单中选中“Debug”选项,如图2.32所示。


32

激活调试模式以后,检查(Inspector)面板的变量和组件的外观可能发生改变,通常情况下,可以一个更详细和更准确的方式来查看这些变量,另外,还可以看到所有的私有变量。图2.33所示的就是在调试模式下看到的变换(Transform)组件。


33

在游戏运行时,另一个十分有用的工具是Stats面板,可以通过在工具栏上单击Stats按钮来将游戏(Game)选项卡切换到统计(Stats)选项卡,如图2.34所示。


34

游戏(Game)选项卡只有在Play模式下才可以使用,在这种模式下,它会详细地显示游戏中的所有关键性能数据统计,例如帧速率(FPS)和内存使用情况。这些数据可以诊断任何可能会影响到游戏的问题。FPS表示每秒中帧(时间单元或者周期)的数量,当然这里并没有办法说什么值是好的FPS值,什么值是差的FPS值,或者某个值是最为合适的FPS值。但是通常认为较高的FPS值要好于较低的FPS值,这是因为较高的FPS值意味着游戏在一秒完成了更多的周期。如果FPS值小于20甚至15,那么很有可能是游戏出现了延迟,因此要花费更多的时间来完成一个周期。很多游戏内部和外部的变量都会影响到FPS。内部因素包括场景中光源的数量、网格对象的顶点密度、指令的数目、代码的复杂度。外部因素包括计算机硬件配置、当前正在运行的程序和进程的数量及硬盘空间的大小等。

简而言之,如果FPS值比较低,那么就意味着在游戏中存在一些需要注意的问题。这个问题的解决需要考虑到很多方面,例如网格是不是过于复杂,它们上面是否有过多的顶点,贴图是不是太大了,游戏中是不是加入了太多的音效等。图2.35所示为一个正常运行的金币采集游戏示例图,这个完整的游戏可以在本书的配套文件中的“Chapter02/End”文件夹中找到。


35




推荐阅读
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • DirectShow Filter 开发指南
    本文总结了 DirectShow Filter 的开发经验,重点介绍了 Source Filter、In-Place Transform Filter 和 Render Filter 的实现方法。通过使用 DirectShow 提供的类,可以简化 Filter 的开发过程。 ... [详细]
  • 说明Python教程正在编写中,欢迎大家加微信sinbam提供意见、建议、纠错、催更。drymail是一个邮件发送库,封装了Python的smtplib ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 使用jqTransform插件美化表单
    jqTransform 是由 DFC Engineering 开发的一款 jQuery 插件,专用于美化表单元素,操作简便,能够美化包括输入框、单选按钮、多行文本域、下拉选择框和复选框在内的所有表单元素。 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 如何高效地将CAJ文档转换为Word格式
    在学术研究和日常工作中,我们有时需要将特定的CAJ格式文档转换为更通用的Word格式。本文将详细介绍如何轻松实现这一转换,帮助用户快速掌握操作步骤。 ... [详细]
  • 本文档提供了 TA-Lib 的安装指南、快速入门、高级应用及各类技术指标的详细介绍。 ... [详细]
author-avatar
爱旅游的星琴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有