Notifications
Article
Periodible:香港中学生制作的化学元素周期表AR棋盘游戏
Published 5 months ago
575
1
香港Unity AR/AR创作大赛于近日落下了帷幕。金奖作品Periodible是一个帮助记忆化学元素周期表的AR棋盘游戏,由来自香港浸会大学附属学校王锦辉中小学的4名初中生历时4月制作完成。
游戏玩法
参照Scrabble拼字游戏的玩法,玩家需要在代表元素周期表元素和一些常用元素组的三角形棋子中,选取自己想要的,拼出一个化合物的分子式。然后用iPad拍摄,通过图像识别分析出是否为真实存在的化合物,并根据难度打分,通过AR形式展现在iPad上并计分,分数高者获胜。游戏共最多支持4个人共同参与,共有200个不同棋子。
需要用到的工具
  • 彩色打印机
  • CoLiDo 3D打印机
  • Adobe Illustrator
  • Fusion 360
  • Unity + Vuforia
  • XCode
人员:4位
  • 2位图像、模型、动画设计
  • 2位程序设计
开发动机

解决困扰每一届学生们学习化学时记忆各类化合物分子式和相关性质的问题。


游戏模板

Scrabble拼字游戏


开发中的学习工具

网络上相关教学视频

开发过程

首先,使用Adobe Illustrator设计元素周期表游戏的棋盘。
棋盘为正六边形,为蜂巢的形状,象征着我们的地球是由元素周期表中的不同元素所组成的。
棋子为等边三角形,正好可以平铺覆盖整个棋盘。每个棋子代表一种元素。
棋盘和棋子的颜色特意选择了和以下元素周期表的配色相同,以体现游戏的主旨,方便理解记忆元素周期表。
游戏初期考虑用2D纸板来设计元素棋子。
一个成员家里有3D打印机,于是决定将棋子做成3D的。
通过使用Fusion360进行棋子的3D建模:
使用ColiDo 3D打印机进行棋子制作:
最早的3D棋子设计如下。棋子上仅用元素符号和质子数做区别。
将这个棋子用Vuforia进行图像识别时发现,图像的Augmentable的星级只有1颗星。
于是尝试通过阅读Vuforia的manual来寻找原因和解决的方法。可是Vuforia学习起来对于队员们过于复杂了,花了时间阅读Manual和别人的经验,都没有在短时间内找到解决的方法。
一次偶然的机会,因为打印的其中一个棋子的边缘处出现了破碎,却在Vuforia的图像识别中获得了4颗星。于是队员们就尝试在每个棋子的3条边缘处均设计出长短不一的缺口来在提高图像识别度的同时,将棋子互相分开。
在处理多个棋子组合在一起的图片识别时,队员们发现,他们使用的Vuforia版本不支持将可识别的棋子区分开后再进行识别的功能,于是我们使用排列组合进行了一次计算。
考虑到游戏的玩家在排列他们的化合物组合时,不会专门按照一定的规律将棋子放好,而棋子的设计每一条边都不一样,所以需要使用排列组合原理对所有的棋子组合方式进行一次计算。
以下是水分子排列过程中,可能出现的组合方式的几个例子:
由此计算出
队员们发现,需要辨识的整体图像数量是非常巨大的。
他们决定先从棋子的数量着手,从源头上进行一次控制。
化合物的种类非常多。http://www.elementalmatter.info/chemical-formulas.htm
队员们将游戏需要考虑的化合物范围缩小到中学生需要掌握的最常见的化合物的知识范围内。从以上整理出来的分子式看,如果可以将常用的诸如H2, H4作为单独的棋子的话,可以大大减少游戏所需的棋子数量。
最后队员们重新设计出了总数为200的以下棋子。字母和组合代表元素/元素组,数字代表游戏中代表该元素的棋子数量。
但是即使把棋子数量减少到200,最终队员们需要上传到Vuforia的database里的图像还是轻松超过了10万张,这个超过了我们学生可以申请到的账号的每月最大上传量(3000张/月),为了能够迅速的完成,最后通过升级到付费用户解决了这个问题以确保程序可以顺利运行。
但是,当我们将最终程序下载到iPad时,我们发现,程序本身还是比较大的,与我们所设置的图像识别数量有关,本次项目很难解决这个问题了。

Unity+Vuforia 开发流程总结

  1. 注册Vuforia, Unity 和Xcode,获取development key
  2. 下载安装Unity,同时安装Vuforia SDK
  3. 创建带有Vuforia AR的Unity Project
  4. 将AR相机加入到Unity的Scene里
  5. 将Development key加入到Project里
  6. 选取AR 相机Object,添加3D Object(原子核)
  7. 在原子核的3D Object下添加另外一个/一些3D Object作为电子
  8. 使用C# Script定义电子运动的椭圆轨道(假设电子依椭圆轨道围绕原子核运动)
  9. 找到Vuforia Target Manager里的目标图像,选择加入database
  10. 将database下载并import进Unity
  11. 将目标图像一一赋予给每个AR Object
  12. 创建Quad,为每个元素添加Video
  13. 添加虚拟按键和Script以触发Video
  14. 将以上内容Export到iOS平台,再使用Xcode将此文件部署到iPad上
  15. 反复试验直到游戏可以顺利运行

Zixi
Unity China - Marketer
11
Comments
铜皮山楂
4 months ago
Programmer
初中生都能够玩这些了,当年我还在漫山遍野找桃吃。。
0