unity界面的游戏选项菜单模板:兼容所有渲染管线及输入系统的解决方案

在现代游戏开发中,创建用户友好的设置选项是提升玩家体验的关键。开发者通常需要考虑不同的渲染管线(例如:通用渲染管线 URP,高画质渲染管线 HDRP 和内置渲染管线)以及多种输入系统(旧输入系统和新输入系统)。今天,我们要介绍一个全新的解决方案,旨在提供一个统一的接口来处理这些差异,让开发者可以轻松地为游戏创建选项菜单。

 

包含版本:Settings Game Options – Unified Menu v1.19

一概而论的API:简化设置流程

随着这个工具的引入,您只需一个API(或一个ScriptableObject,如果您喜欢无代码工作流程)。无论您使用哪种渲染管线,该工具都会确保所有设置都能顺利连接,从而轻松应用您的设置。

✔️ 多渲染管线支持

这项资产全面支持 URP、HDRP 和内置渲染管线,您无需进行额外购买,一切尽在一款资产的掌控之中。

✔️ 预定义设置丰富

我们的产品经过实战考验,支持大量预定义设置。无论是音量调节、图像效果还是控制设置,都能轻松应对。

✔️ 输入绑定(旧与新输入系统)

您可以保存和编辑按键绑定,本工具既支持旧输入系统,也支持新输入系统。这样一来,无论您的玩家使用何种设备,我们都可以满足其需求。

✔️ 多平台支持

无论是鼠标、键盘、控制器、游戏手柄还是触控,我们的工具都能够兼容。

无需编程技能的工作流程

这种基于Scriptable Object的工作流程使得即使没有编程经验的开发者也能轻松上手。您可以直接通过Prefab进行修改,而UI库则完全模块化,随时可以根据需要进行调整。如果您不喜欢某个部分,也可以轻松将其剔除。

✔️ PC与控制台样式Prefab

您可以轻松切换不同的Prefab,只需右键点击并选择替换,即可避免繁琐的重新配置。

✔️ 内置本地化支持

我们的工具提供了预定义翻译,且易于与像 I2 Localization 等资产进行扩展。

数据存储与集成

对于用户设置的存储,我们提供了多种选择,包括 PlayerPrefs 和 JSON。通过代码钩子,您可以将其整合到其他存档系统(如 Easy Save)中。

✔️ 支持可视化脚本

并且,我们为希望使用可视化脚本的开发者留出了一个手动设置的空间,整个过程仅需花费约30秒。

✔️ 提供脚本API

对于开发者而言,我们也提供了完整的脚本 API,便于深入集成与扩展。

✔️ UI 工具包支持

支持 Unity 2021.2 及更高版本。尽管当前的UI组件仍在逐步完善中,但所有逻辑均可正常工作。

✔️ 自动保存选项

自动保存功能默认禁用,您可以在提供者上轻松勾选启用。

✔️ 事件组件

通过事件组件,您可以在场景中对设置更改做出反应,而无需编写一行代码。

✔️ 完整源代码附带

作为开发者,我深知无法访问源代码的困扰。因此,我们提供完整源代码,以便您在需要时进行定制。如果您喜欢这款工具,别忘了提醒其他人也来购买。

设置类型列表

我们提供了一系列预定义的自定义设置类型,您也可以发明自己的设置或简单地将原始类型与您游戏中的任何方法连接起来。所有设置均支持 HDRP、URP 和内置渲染器。

  • 基本类型:布尔值、整数、浮点数、字符串 – 这些通用设置使得创建自定义设置变得容易。
  • 颜色:保存和加载任意颜色值。
  • 颜色选项:让用户从一个颜色列表中进行选择。
  • 选项:用户可在有限选项中进行选择,您提供一个名称列表(A、B、C),并获取用户选择的索引(0、1、2)。
  • 组合按键:例如用于按键绑定,支持旧与新按键代码及组合键。

注意事项

关于某些设置,像 “Gamma”、”Ambient Occlusion” 或 “Motion Blur” 等效果需要后期处理效果。如果您使用内置渲染器,必须从包管理器安装 PostProcessing Stack (V2)(Unity 提供的免费包)。避免在移动设备上使用内置的后处理,建议使用 URP 渲染器,它带有专门的后处理栈,并在移动设备上正常工作。

请注意,旧输入系统的控制器支持基于标准的 Xbox 控制器布局。如果您愿意,我建议使用新输入系统,因为它具有更好的控制器抽象。然而如果您固定使用旧系统,则推荐使用 InControl 进行控制器抽象。

可视化脚本(曾用名 BOLT)需要一次性手动设置,约一分钟,详细信息见手册。

对于界面工具包的支持(从 Unity 2021.2 开始)仍处于初步阶段(所有逻辑可以正常工作,但当前可用的 UI 组件较少)。我也在等待 Unity 完成一些 runtime binding 的工作,具体细节可参见手册。

感谢您的支持!希望该工具能够帮助您轻松创建出色的游戏选项菜单,提升您游戏的用户体验。

发表回复

后才能评论