Arm 开发人员 2021年5月19日
三星开发团队与移动和游戏生态系统中的许多公司合作。我们很高兴能支持我们的朋友 Arm,因为他们为希望构建游戏和高性能体验的开发人员带来了及时和相关的内容。这个最佳实践系列将帮助开发人员充分利用三星移动设备上的 3D 硬件。
开发游戏对于开发者来说是一种真正的跨学科的体验,需要技术和创造性的技能才能将他们的游戏项目付诸实践。但通常情况下,一个项目的性能和视觉需求是不一致的。
Arm 是处理器 IP 的领先技术提供商,它开发了艺术家的移动游戏开发最佳实践,游戏开发人员可以学习有关创建面向性能的 3D 资产、2D 资产和移动应用场景的技巧。在剪切这些令人惊叹的视觉效果之前,通过回顾这四个主题(几何、纹理、材料和着色器以及灯光)来获得 Arm 最佳实践的最大益处。
几何形状
为了让项目在尽可能多的设备上表现良好,应尽可能认真对待和优化游戏的几何考虑。本节可识别在移动设备上正确使用几何形状所需的知识。
在移动设备上,您如何使用顶点比几乎任何其他平台都重要。关于如何避免微三角形和长薄三角形的提示是获得性能的第一步。
下一步是使用详细信息级别 (LOD)。LOD 系统使用模型的低聚版本,因为对象离相机更远。这有助于保持顶点倒计时,并控制对象如何看起来远离艺术家。否则,这将留给 GPU,尽最大努力在只有几像素中呈现大量眩晕,从而使项目性能损失惨重。
要了解更多,请查看实时 3D 艺术最佳实践:几何形状。https://developer.arm.com/documentation/102496/latest/
纹理
纹理构成 2D UI,并映射到 3D 对象的表面。了解短信最佳实践可以为您的游戏带来巨大的好处!即使是简单的技术,如纹理别名,在那里你建立多个较小的纹理到一个更大的纹理,可以带来一个项目的主要性能收益。
当应用程序运行时,您应该了解纹理会发生什么情况。导出纹理时,常见的纹理格式为 PNG、JPG 或 TGA 文件。但是,当应用程序运行时,每个纹理都转换为特定的压缩格式,这些格式设计为在 GPU 上读取速度更快。使用 ASTC 纹理压缩选项不仅有助于项目性能,还能让您的纹理看起来更好。
要了解其他纹理最佳实践,如纹理过滤和通道包装,请查看实时 3D 艺术最佳实践:纹理。https://developer.arm.com/solutions/graphics-and-gaming/developer-guides/game-artist-guides/texture-best-practices
材料和着色器
材料和着色器可确定 3D 对象和视觉效果如何显示在屏幕上。熟悉他们做什么以及如何优化它们。
将材料与纹理地图集配对,允许同一场景中的多个对象共享纹理和材料。游戏引擎在将对象绘制到屏幕时会分批进行,从而节省带宽并提高性能。
选择着色器时,请尽可能使用最简单的着色器(如unlit),避免使用不必要的功能。如果您正在编写着色器,请避免复杂的匹配操作(如sin、pow、cos 和noise)。如果您对着色器的性能有疑问,Arm 会提供工具,使用Mali离线着色器编译器对着色器进行剖析。
还有很多东西要学习,所以请查看实时 3D 艺术最佳实践:材料和着色器以了解更多信息。https://developer.arm.com/solutions/graphics-and-gaming/developer-guides/game-artist-guides/material-and-shader-best-practices
灯光
在大多数游戏中,灯光可能是视觉风格中最关键的部分之一。灯光可以设置情绪,引导游戏,并识别威胁和目标。这可以使或打破游戏的视觉效果。但是灯光可能很快与项目的性能需求相悖。为了避免这种艰难的选择,了解静态和动态光、光线优化、如何伪造灯光以及不同类型和设置的光的好处。
通常在移动设备上,当涉及到阴影时,它值得尽可能多地假装。实时阴影是昂贵的!动态对象通常尝试使用带有深色阴影纹理的 3D 网格、平面或四轮,而不是使用动态光。
对于动态游戏对象,如果不能伪造灯光,请使用光探头。这些具有相同的光地图的好处,可以离线计算。光探针存储穿过场景中空格空间的光线。然后,这些数据可用于点亮动态对象,这有助于在视觉上将其与整个场景中的轻映射对象集成。
灯光是一个大话题,有很多可能的优化。阅读更多实时3D艺术最佳实践在统一:灯光。https://developer.arm.com/documentation/102109/latest
Arm和三星设备
Arm 的 Cortex-A CPU 和Mali GPU 为全球智能手机提供动力,Mali GPU 为移动图形提供动力。这意味着你可以找到Arm GPU在流行的三星设备的广泛列表,包括三星GalaxyA51和GalaxyS21.Arm 为为基于Arm的设备开发实时 3D 或 2D 内容的团队提供实用的提示和建议。
手机游戏性能分析从未如此重要
手机游戏每年都在增长!到2020年,其收入为772亿美元。预计2021年及以后,这一部门将继续增长。随着每年推出更多移动设备,您的内容能够在尽可能多的设备上运行非常重要,同时为玩家提供尽可能最好的体验。
艺术家最佳实践只是Arm教材的一部分。除了这些最佳实践,您还可以探索Arm & Unity Presents: 3D Art Optimization for Mobile Applications(https://learn.unity.com/course/3d-art-optimization-for-mobile-gaming-5474)。本课程包括一个可下载的项目,展示了使用最佳实践的许多好处。
有关更高级的用户,请查看 Arm 的Mali GPU 最佳实践指南(https://developer.arm.com/solutions/graphics-and-gaming/developer-guides/advanced-guides/mali-gpu-best-practices),并与Arm Mobile Studio(https://developer.arm.com/tools-and-software/graphics-and-gaming/arm-mobile-studio)了解性能分析。
后续
感谢 Joe Rozek 和 Arm 团队为三星开发人员社区带来了这些伟大的创意。我们希望您在即将推出的手机游戏中实施这些最佳实践。
三星开发人员网站有许多资源,为开发人员希望建立和集成三星设备和服务。通过创建免费帐户或订阅我们的月刊,随时了解最新消息。访问营销资源页面,了解有关推广和分发应用和游戏的信息。最后,我们的开发人员论坛是了解Galaxy生态系统所有相关信息的绝佳方式。