基于Unity3D的垃圾分类小游戏的设计与实现
Design and Implementation of a Waste Sorting Game Based on Unity3D
摘要:随着5G时代的到来,新兴科技的发展促进了教育领域的改革,科普产业开始积极探索融合“游戏 + 科普”的方向。本文通过设计并实现一款基于Unity3D的交互式单机垃圾分类小游戏,旨在以游戏化的方式吸引并教育用户进行垃圾分类。本研究首先分析了当前垃圾处理的现状与游戏化教育的必要性,随后详细介绍了游戏的设计理念、开发过程及实现方法。通过用户需求调研确定了游戏机制,包括垃圾分类教育、趣味性和挑战性等主要要素。研究团队对游戏进行了效果测试,结果表明,该游戏有效提高了玩家对垃圾分类的知识理解、参与度及实际分类技能。此外,本研究还探讨了游戏内“变废为宝”的创新设计,进一步增强了教育意义和玩家互动体验。本游戏的开发和测试不仅展示了游戏化教育在环境保护领域的应用潜力,也为今后相关领域的研究和开发提供了宝贵的经验和思路。
Abstract:With the advent of the 5G era, the development of emerging technologies has driven reforms in the field of education. The science popularization industry has actively explored the integration of “games + science popularization”. This paper aims to attract and educate users on waste classification in a gamified way through the design and implementation of an interactive standalone waste classification game based on Unity3D. Firstly, the current situation of waste treatment and the necessity of gamified education are analyzed. Then, the design concept, development process, and implementation methods of the game are elaborated in detail. Through user demands research, the game mechanisms, including waste classification education, entertainment, and challenge elements, are determined. The effectiveness of the game is tested by the research team, demonstrating its ability to effectively improve players’ understanding of waste classification, participation, and practical classification skills. Additionally, innovative designs within the game, such as “turning waste into treasure”, are explored to further enhance educational significance and player interactive experiences. The development and testing of this game not only demonstrate the potential application of gamified education in the field of environmental protection, but also provide valuable experience and insights for future research and development in related areas.
文章引用:王子谦, 孙言, 韦朝彬, 张鑫宇, 李佳豪, 张志祥. 基于Unity3D的垃圾分类小游戏的设计与实现[J]. 软件工程与应用, 2024, 13(3): 376-383. https://doi.org/10.12677/sea.2024.133038

1. 引言

随着群众对环境保护意识的提高,垃圾分类已成为全球性的重要议题。特别是2019年中国实行史上最为严格的生活垃圾分类政策后,此话题更是成为社会广泛讨论的焦点[1]。同样,日本自20世纪80年代起就开始实施垃圾分类政策,如今已是世界领先的国家之一[2]。然而,2023年8月日本政府决定排放福岛核废水入海的事件,再次将环保问题推至公众舆论的风口浪尖[3]。尽管政府持续推行相关政策,但公众对垃圾分类的认知和兴趣依然不足,这在很大程度上限制了垃圾分类效果的发挥。因此,探索更有效的垃圾分类教育方式显得尤为重要。

过去,垃圾分类教育主要通过视频、广播和印刷材料等形式进行。这些传统方法虽然在传播知识方面有效,但缺乏足够的互动性和吸引力,难以激发公众长期的学习兴趣和参与[4]。近年来,游戏化教育方式以其独特的趣味性和互动性,成为传统教育方式的有效补充,同时不受年龄段的限制。特别在环保教育领域,游戏化的垃圾分类教育方法已证明其有效性[5]-[7]

本文旨在探索一种新的垃圾分类教育模式,即通过基于Unity3D引擎开发的交互式单机小游戏,提升公众的垃圾分类知识、参与度及实际操作技能。本研究首先分析了垃圾处理的现状和采用游戏化教育的必要性,并通过文献综述系统梳理了游戏化教育在其他领域的应用情况,指出在垃圾分类教育领域中游戏化教育仍有较大的开发空间。本文将通过对游戏的用户需求进行深入分析,来创新游戏设计思路,并通过综合评估游戏效果来探讨这一新型教育模式的可行性和有效性。

2. 游戏理念及相关研究

2.1. 游戏化创新理念

介入“垃圾分类”产品设计,将环保理念游戏化,能够有效激发用户的兴趣和参与度。当前垃圾分类小游戏的常规功能设计包括以下几个方面:游戏目标、垃圾分类种类、计分系统、反馈机制、奖励机制、游戏界面、音效与动画等。具体设计可能会根据游戏的主题、目标玩家群体等因素而有所差异。但目前市面上的垃圾分类小游戏设计仅仅在游戏中让玩家学会了垃圾分类知识,不足以加深贯彻玩家们的环保理念[8]-[10]。本游戏不仅包含以上的设计,还增加创意玩法,即变废为宝。结合垃圾分类,利用分类后的可回收垃圾进行环保工艺品制作,使游戏从简单常规的分类游戏丰富为分类、制作类游戏。不仅增加了游戏的挑战性和互动体验性,使游戏更加有趣多元;更重要的是增加了对玩家的环保理念引导,使玩家的目光不局限于垃圾分类知识上,从而引起玩家对垃圾分类这一主题更深刻的思考。

2.2. 用户需求调研

为了深入了解玩家对垃圾分类游戏的期望和需求,包括游戏玩法、教育性质、难度设置等方面,通过在微信小程序问卷星发起了用户需求调研的方式为游戏设计提供关键信息。针对用户需求调研,通过以下步骤进行调研:

1) 研究目的和方法:本研究旨在探究用户对基于Unity3D的垃圾分类小游戏的需求,采用问卷调查的方式进行调研,调研结果如图1所示。

Figure1.User demands for the game

1.用户对游戏的需求

2) 样本描述:共有227名游戏爱好者参与调研,年龄跨度在15~40岁之间,男女比例大致相等。

3) 调研结果展示:用户最关注的是垃圾分类知识教育、游戏趣味性、挑战性和社交互动性。

4) 用户反馈总结:用户普遍对垃圾分类小游戏表示支持,提出改善的建议主要集中在游戏难度调整、奖励机制设计和社交功能完善等方面,如图2所示。

3. 游戏设计思路

根据我国住房和城乡建设部在2019年发布新版生活垃圾分类标准,将垃圾可分为可回收垃圾、厨余垃圾、有害垃圾和其他垃圾[11]-[15]。游戏的设计思路是基于新标准垃圾分类下,玩家操控角色在规定时间内完成垃圾分类和变废为宝两个任务,分别获取不同的积分。在规定时间内,玩家需要把手中的垃圾投放到对应的垃圾桶中可以获得积分,反之扣分。同时,进行“变废为宝”任务,玩家操控角色在操作台上利用可回收垃圾进行工艺品制作,与游戏页面出现的工艺品组合进行比对来获得相应积分。最后玩家可以查看自己的游戏积分、排名。

玩家通过键盘和鼠标这两个输入设备来操纵角色进行游戏,其中通过鼠标来控制角色视角。具体键盘按键功能:W-前进、S-后退、A-向左、D-向右、Esc-游戏暂停。其中,Esc键可调节游戏音量和查看游戏排名。

Figure 2.User suggestions for game improvement

2.用户对游戏的改善建议

4. 系统开发工具介绍

4.1. 虚拟现实开发引擎Unity3D

Unity3D是一款广泛用于游戏开发的跨平台游戏引擎,它提供了丰富的工具和资源,使开发者能够创建高质量、交互性强的游戏和应用程序。Unity3D支持多种平台,包括PC、Web、VR/AR等平台,开发者可以使用同一套代码和资源来构建跨平台的游戏和应用程序,大大减少了开发工作量。同时,提供了直观的编辑器界面和易用的工具,支持所见即所得的编辑方式,开发者可以通过拖拽、组合和调整组件来快速构建游戏场景和交互元素。

4.2. Visual Studio Code

在Unity中,主要使用C#编程语言来编写游戏逻辑和控制代码。Visual Studio Code作为一款免费、轻量级且功能丰富的代码编辑器,在Unity中作为脚本编程工具具有很好的适用性。结合其强大的代码提示、插件功能和调试等功能,开发者可更高效地编写和管理Unity项目中的C#脚本,提高开发效率和质量。

5. 基于Unity3D的游戏开发

5.1. 搭建游戏场景

本游戏基于Unity3D游戏引擎,将游戏场景设置为三维画面。桌子与垃圾桶围成一个矩形空间,游戏角色被设计在此固定空间以方便玩家操作。该项目使用Unity2022.2.2f1c1的3D模板进行创建,创建游戏地板,在Global Volume下创建3D Object->Plane,设置属性Transform->Scaie的x、y、z值,将地板材质改为floor。导入资源,将制作好的3D模型,按照设计图放置在地板上,使用自动创建好的SampleScene作为最终游戏场景,所以将其重命名为GameScene。添加地面、人物和一些游戏物品,调整相机位置,进入Game窗口,在Global Volume上添加override,依次添加Tone Mapping、Color Adjustments、Bloom、Vignette,调整后的配置保存在Global Volume Profile中。

5.2. 角色控制器

5.2.1. 控制角色移动技术

在创建角色时,为避免直接创建一个胶囊体然后修改缩放、偏移等属性,三轴不相等的缩放或一些位置的偏移可能会让原本的代码逻辑出现问题。选择创建多个项目包,将视觉效果与逻辑分开,如图3所示。因此,先选择创建一个空物体,在空物体上写逻辑,然后在空物体之下再创建一个胶囊体作为的角色,通过这个空物体做视觉的修改。

Figure3.Game production creation

3.游戏制作创建

首先创建Idle.anim,拖入Animator面板,右击Entry->Make Transition指向Idle;打开Animation面板,做出角色的头部上下移动的动画,然后创建Walk.anim,同样拖入Animator面板,右击Idle->Make Transition指向Walk,取消勾选Has Exit Time,Parameters中添加IsWalking参数,同时Conditions中将IsWalking设为True,同样地,右击Walk->Make Transition指向Ilde,取消Has Exit Time,oCnditions中设置IsWalking为False,Walk动画在Idle的基础上添加身体的上下移动,同时加快速度。

5.2.2. 角色碰撞检测

设置角色进行碰撞检测,在场景中放置一个Cube,确保这个Cube带有Box Collider组件。在控制角色位置发生变化的脚本Player.cs中,从角色的原点出发,向移动方向发出一条射线,射线长度大于角色的大小时才可以移动,并在后续完善碰撞检测脚本。

5.3. 游戏道具

5.3.1. 游戏道具分类

根据不同类别的垃圾特性设计了对应的道具,如纸张、塑料瓶、易拉罐、果皮等。通过介绍道具在游戏中的应用方式,如加分形式、减分形式等,以增加游戏的趣味性和挑战性。

5.3.2. 游戏角色对道具的触发

在场景中创建一个空物体,命名为ClearCounter,在ClearCounter上添加一个Box Collider组件,调整到合适大小,这样角色就可以和柜台发生碰撞了。利用Raycast处理角色与柜台的交互,在Player.cs中开始写角色与柜台交互的代码,同时需给柜台添加脚本。

添加Interact Action,添加一个Action,命名为Interact,绑定E键,在GameInput.cs中委托Interact Action添加一个调用的函数Interact_performed(),启动游戏,按下E键,可以看到控制台输出了对应按键的相关信息。最后在Interact Action调用的函数Interact_performed()中添加EventHandler委托,在Player.cs中为该委托添加具体的交互行为,运行游戏按E进行交互,可以得到显示Interact。

6. 游戏功能展示

6.1. UI界面介绍

基于Unity开发的垃圾分类小游戏,其UI界面设计简洁直观(见图4),旨在提供良好的用户体验,同时强化垃圾分类的教育意义。以下是该游戏UI界面的主要元素:

1) 垃圾桶图像以及四个分类标签(可回收垃圾、有害垃圾、厨余垃圾和其他垃圾);

2) 桌子(用于放不同类型的垃圾);

3) 屏幕提示(告诉玩家如何变废为宝);

4) 绿色勾号和红色叉号(用于表示玩家选择的正确或错误);

5) 分数显示(用于显示玩家的得分)。

Figure4.Game start interface

4.游戏开始界面

整个UI界面色彩搭配和谐,图标和文字清晰可读,确保玩家能够快速上手并享受游戏的乐趣。

6.2. 功能展示——垃圾分类

当玩家将垃圾拖拽到正确的垃圾桶时,屏幕中央显示一个绿色的勾号表示分类成功,并加一分;如果分类错误,则显示红色的叉号并扣一分,如图5所示。

Figure5.Game judgment function

5.游戏判断功能

6.3. 功能展示——变废为宝

在Unity垃圾分类小游戏中实现“变废为宝”功能不仅有教育意义,还可以增加游戏的趣味、培养玩家的责任感和促进可持续发展意识,如图6所示。玩家根据其(变废为宝)合成列表,先从各橱柜拿出对应材料,再制作台合成物品,最后在圆形托盘上集齐物品,再放进传送带检查,如果正确,则消除列表中一个选项,反之报错,重新再来,如图7所示。

Figure6.“Turning waste into treasure”

6.“变废为宝”

Figure7.Task judgment function of “turning waste into treasure”

7.“变废为宝”任务判断功能

为了增加了游戏的紧张感和挑战性,游戏界面右上角有一个计时器,其作用是显示游戏剩余时间。在屏幕顶部放置一个积分器,显示玩家当前得分。当倒计时结束时,代表游戏结束。游戏结束页面显示成功变废为宝的数量和垃圾分类的得分,左边显示玩家排行榜,如图8所示。

Figure8.Game end interface

8.游戏结束页面

7. 总结

网络时代,人类行为痕迹被书写、留存、记录、上载、传播、读取、观看、回溯的可能性大为增加。网络空间因“网络游戏”而进一步拓展,人类“个人–社会”关系的基本格局随之而变,“游戏”越来越多地介入其中,形成“个人–游戏–社会”的关系链条,充实乃至部分替代传统的“个人–组织–社会”关系格局[16][17]。在本案例中,通过Unity软件设计垃圾分类小游戏,能够使玩家潜移默化地学习垃圾分类知识,了解垃圾分类对资源利用产生的重要性。该研究打破了传统的垃圾分类教育方式,能够在垃圾分类教育上产生更大的影响力。电子游戏在垃圾分类教育知识的普及将会发挥越来越重要的作用。

基金项目

江苏省高校大学生创新创业训练计划项目“垃圾分类交互式单机小游戏设计”(项目编号:202313993023Y)。

参考文献

[1] 陈颖. 日本垃圾分类政策对我国的启示[J]. 河北环境工程学院学报, 2020, 30(1): 8-11.
[2] 黄楚新. 日本核污染水排海事件舆情传播研判[J]. 人民论坛, 2023(18): 78-81.
[3] 吴婧予. VR技术在垃圾分类宣传教育中的应用实践[J]. 科技与创新, 2020(24): 157-158.
[4] 许鹏飞, 贾银洁, 孟杉, 等. 游戏化教育在留学生培养中的应用[J]. 电脑编程技巧与维护, 2023(12): 35-38.
[5] 胡彤. 游戏化学习在高校教育应用中的发展机遇与挑战[J]. 才智, 2022(20): 163-166.
[6] 任健. 基于HTML5的初等中文水平游戏化教学资源设计研究[D]: [硕士学位论文]. 杭州: 浙江科技大学, 2024.
https://doi.org/10.27840/d.cnki.gzjkj.2024.000090
[7] 毛高锋. 游戏化教育在小学数学教学中的应用策略[J]. 试题与研究, 2022(21): 10-12.
[8] 解银玲, 朱成林. VR垃圾分类科普体验系统的设计与实现[J]. 电脑知识与技术, 2022, 18(29): 39-41.
[9] 李淳, 孙婧, 张瑞丰, 等. “互联网 + 垃圾分类”产品的游戏化设计策略研究[J]. 包装工程, 2024, 45(4): 166-180.
[10] 刘树林, 杨艳瑜. 基于Construct 3的益智类游戏设计与开发——以垃圾分类为例[J]. 现代信息科技, 2022, 6(21): 12-16.
[11] 垃圾分类新标准[J]. 湖南农业, 2019(9): 40.
[12] 刘芳, 李倩, 唐敏俊, 等. 我国垃圾分类发展探索[J]. 轻工标准与质量, 2023(1): 113-114.
[13] 林雯雯, 张胜权, 吴峰, 等. 城市生活垃圾资源化利用标准化现状与对策研究[J]. 中国标准化, 2023(3): 73-77.
https://doi.org/10.3969/j.issn.1002-5944.2023.03.011
[14] 李慧, 蒋兢, 周红缨, 等. 城市生活垃圾分类治理标准化路径初探[J]. 中国标准化, 2023(23): 114-117.
https://doi.org/10.3969/j.issn.1002-5944.2023.23.015
[15] 杜汝涛. Unity3D射击类游戏的开发[J]. 电脑编程技巧与维护, 2022(10): 141-144.
[16] 中国互联网信息中心. CNNIC第48次《中国互联网络发展状况统计报告》[EB/OL].
https://www.cnnic.cn/n4/2022/0401/c136-5278.html, 202-04-10.
[17] 王水雄. 从“游戏社会化”到“社会游戏化”——网络时代的游戏化社会来临[J]. 探索与争鸣, 2019(10): 148-156+160+2.

为你推荐


Baidu
map