使用Unity为基于arduino的控制台开发游戏

图片
你好极客时代!
今天,我将告诉您一个关于我如何创建一个基于arduino的简单游戏机并在我最喜欢的游戏引擎Unity中为其创建一个简单游戏的不太有趣的故事。

游戏类


近四年来,我一直在流行的Unity游戏引擎(以前称为Unity3D)上开发游戏。在此期间,我设法为移动设备以及大量的多用户项目创建了一些小型游戏。
这个区域对我来说非常有趣,并且在其中工作非常愉快。

设备


但是有时候有一种尝试新事物的愿望,在这些日子中,我决定尝试arduino。
如何创建自己的设备以及如何对它们编程对我来说变得非常有趣。为什么是arduino?在Internet上,甚至在相同的枢纽和极客时代,都有很多关于为什么值得使用arduino的帖子。但我注意到,对我而言,选择arduino的决定性因素是易用性。

如何结合呢?


进入互联网后,我发现了一个用户如何组装他的基于arduino的简单游戏机,为它配备84x48像素小型LCD显示器并在上面写了几个简单游戏的记录:乒乓球和打砖块。
这项开发对我来说非常有趣,因此我决定基于atmega328微控制器创建我的游戏机版本。

控制台本身


首先,我设计并制造了用于便携式控制台的LUT欧姆印刷电路板。这是一个错误-起初有必要在调试板上测试程序,例如arduino uno,因为我没有预见到能够快速方便地将程序上传到控制器的功能。而且我在电路本身上也犯了一个错误,可以用电线固定它,但这仍然很可惜。
当我意识到自己错了之后,我通过面板将按钮连接到arduino uno,然后直接连接了屏幕。
这是发生了什么:

图片
图片

现在开始游戏


为了创建游戏,我决定使用Unity游戏引擎。我没有将Mono C#的编译器编写为arduino的程序,但我决定编写一组脚本,使用它们可以轻松地构建游戏。
我将所有脚本分为3组-动作,条件和组合器。
我认为不需要解释操作和条件的目的,但是对于我需要的组合器,我将进行解释。组合器检查条件是否满足,然后执行操作。
该算法根据脚本,或者更确切地说,它们的存在和组合,为arduino创建程序。

图片

什么样的游戏?


我决定从简单的事情开始。您知道什么是简单游戏?是的-乒乓球。但是我决定不打乒乓球,而是换一个。-有一个球拍,一个球和一个墙,而不是第二个球拍。
我从一个书面的构造函数组装它,编译它并上传到控制器。作品!

现在让我们整理一切


当游戏开始并且我玩够了时,我认为值得重新制作电路板,使用smd组件并清除所有不必要的东西,使它看起来更漂亮。我重新布线并制作了电路板。
就是这样

图片
图片

源代码


源代码非常简单。
Unity的作用-在编辑器中,用户从ui对象收集游戏,将动作脚本,条件和组合器挂在它们上。
编译器的工作(parser.cs脚本)-运行所有对象,查看它们的脚本,并将代码段添加到build.ino文件的文本中,这些代码段负责在微控制器中执行这些脚本的类似物。

链接到资源-drive.google.com/open?id=0B5INc3_98cSJMEMxZmlWUTh1Ukk
在游戏开始时进行编译。并将其保存在Assets / build / text / builded.ino文件夹中,
该草图也应上传到控制器。

在押


我想说这很有趣。
我有机会将自己的任何两项活动结合在一起-游戏开发和设备创建。
我希望这也使您感兴趣,现在您还将制作自己的炫酷设备=)

Source: https://habr.com/ru/post/zh-CN382327/


All Articles