基于Unity中国昆曲科普类APP的设计与实现
2021-11-11琳舒后宋
杨 琳舒 后宋 玮
(北京印刷学院新媒体学院,北京 102600)
项目基于Unity制作了一款科普昆曲《牡丹亭》的APP,以游戏及交互的方式,向广大青少年及国风文化爱好者科普了中国传统曲艺并讲述一段凄美的爱情故事。背景结合传统戏曲《牡丹亭》,讲述了官宦之女杜丽娘在花园中睡着后,在梦境中与书生柳梦梅互生爱意,醒后却因终日寻梦不得抑郁而终,最终被柳梦梅拾到生前画像时还魂人间,与其两厢厮守的古代爱情故事。在APP中用户可通过移动设备(如智能手机),以第三人称视角,通过破解不同的关卡推进剧情,在游戏中体验《牡丹亭》的主线剧情,同时科普一些古代传统文化:如七巧板、编钟等。
1 Unity简介
Unity是一款支持跨平台发布的游戏引擎,支持的平台包括Web、MAC、PC、iOS、Android、Play Station3、xbox360、Windows Store、Windows Phone、Blackberry10、Play Station4、Play Station Vita、Play Station Mobile、Samsung Tizen、Xbox One等几乎所有主流游戏平台。所以对于开发者来说,可以大胆选择在 PC机上进行开发和测试,发布到其它平台只需要少许改动即可。
Unity是一个相对成熟的游戏引擎,其强大的能力得到很多开发者的喜爱和认可,随着iOS、Android 智能手机的大量普及,Unity引擎因其强大的功能、良好的可移植性和可视化的开发环境,在手机游戏开发平台得到广泛的应用和传播。
2 基于Unity中国昆曲科普类APP的结构流程分析
2.1 基于Unity中国昆曲科普类APP结构框架
基于Unity中国昆曲科普类APP结构分为四个部分,分别是“梦前”“做梦”“寻梦”“拾画”。其中“梦前”这一部分中有三个场景“私塾学习”“初入花园”“花园游玩”,“做梦”这一部分中有两个场景“秋千小憩”“亭内云雨”,进入“寻梦”这一部分后就到了整个故事的重点,分为“假山寻石”“桃花迷宫”“宫商角徵羽”“作画思君”“彼岸断魂”这五个场景,“拾画”这一部分为故事尾声。
APP整体框架流程如图1所示:
图1 基于Unity中国昆曲科普类APP框架流程图
2.2 基于Unity中国昆曲科普类APP流程分析
进入APP首页后可以选择点击最上方亭子图标正式进入游戏,将以第三人称视角参与杜丽娘通过关卡,完成主线剧情;点击右侧木鱼图标可关闭或开启背景音乐;点击左下方书简图标可查看游戏简介。
选择进入游戏后,首先是进入“梦前”部分,杜丽娘在私塾中学习《诗经·关雎》,点击书桌上的课本后出现交互界面。用户可通过简单的填字游戏,对《关雎》诗词空缺的地方进行选项填补,选择正确后则进入下一场景。“进入花园”后可以看到石桌上的围棋,点击围棋,出现对弈界面。进入放置投壶的空地,点击投壶,出现对于投壶游戏的介绍。走到场景最右侧荡秋千自动进入下一个部分;进入“做梦”部分,第一个场景是杜丽娘在秋千上入梦,出现柳梦梅。通过点击柳梦梅及杜丽娘,来完成二人对词。杜丽娘梦中与柳梦梅前往牡丹亭场景,吟诗作对共赴云雨。接下来进入“寻梦”部分,杜丽娘梦醒后开始在花园场景寻人,而后向前进入 “假山寻石”场景,寻找七片山石碎片,找齐石块后进入七巧板拼图游戏,拼凑成功后进入下一场景。进入“桃花迷宫”场景后,前行进入桃花阵界面。迷宫的关键为蝴蝶,预示了梦境,通过控制蝴蝶成功走出迷宫,才可进入下一场景。进入“宫商角徵羽”场景后,可点击编钟进行弹奏。用户进入“彼岸断魂”场景,彼岸花暗示着杜丽娘寻梦不得,抑郁而终,最后乘船而去。最后进入“拾画”部分,“掘地拾画”场景柳梦梅来到杜丽娘衣冠冢前,挖到杜丽娘生前画像,而后杜丽娘还魂人间,与柳梦梅厮守。
APP交互流程如图2所示:
图2 基于Unity中国昆曲科普类APP交互流程图
3 基于Unity中国昆曲科普类APP的实际制作
3.1 “下棋对弈”功能及关键代码分析
用户进入该场景后,如图3所示,可以看到花园石桌上的围棋,点击围棋出现对弈界面。用户可自行选择是否参与对弈,棋子可根据选择自行摆放。
图3 棋盘对弈
“下棋对弈”功能代码分析:
“下棋对弈”功能是通过点击棋盒可以得到棋子,棋子随着鼠标移动直到点击棋盘所放置的位置上,才落子。若想移动棋子则需要再次点击棋子,直到选择好位置后点击落子。
代码如下:
3.2 “七巧板拼图”功能及关键代码分析
用户继续向前行走来到假山寻找七片山石碎片,如图4所示,寻找石块进入七巧板拼图游戏,拼凑成功后进入下一关卡。
图4 假山寻石
“七巧板拼图”功能代码分析:
“七巧板拼图”功能是通过拖动收集到UI面板上的石块到相应的位置,当松开石块时通过石块是否安置在其应在的位置进行判断,若这块石块的形状与其应在位置的形状相符合则可以放置,若不是则不能放置会回归原位,需要重新拖动进行放置。
代码如下:
3.3 “桃花迷宫”功能及关键代码分析
用户进入桃花阵界面,迷宫的关键为蝴蝶,也预示了梦境。如图5所示,通过控制蝴蝶走出迷宫,方可进入下一环节。
图5 桃花迷宫
“桃花迷宫”功能代码分析:
“桃花迷宫”功能是通过控制蝴蝶的移动使得它成功移动到出口才可以触发开关至下一关,迷宫的墙壁已经设置为不可穿越状态。点击迷宫内任意位置,蝴蝶会根据点击位置设定为其进行移动的方向,并向目标位置直线移动,通过不断点击改变蝴蝶的移动方向来控制它移动至出口位置。
代码如下:
4 结论
本文主要研究了基于Unity中国昆曲科普类APP的设计与实现,对如何将手机APP与中国传统昆曲《牡丹亭》科普内容相结合以及如何利用Unity平台设计、开发APP的技术进行了深入研究。该APP完成了规划的功能,但还需要进一步的优化,如在每个关卡设计一些提示功能会更方便用户的理解。总之,本款科普类APP对中国昆曲的普及起到一定的促进作用。