最近在尝试unity识别出对应图像之后呈现出对应的呈现出对应的虚拟模型;并且出现对应的虚拟按键可供交互;unity连接上自身搭建的EMQX服务器;可发送到对应的信息到EMQX,再由ESP8266/ESP32订阅对应topic接受指令,实现对应的操作。
想写篇文章来记录一下可发的流程,本来是想一篇文章全部写完的,但是发现如果挤在一篇里面篇幅会太长了,所以打算分开几篇去记录。
这篇文章是第一篇,主要是简单地介绍了Unity和Vuforia的下载使用,并且实现初步的识别图片并呈现对应的3D模型。接下来几篇会介绍虚拟按键的运用以及Unity连接上EMQX并发送对应的指令。下面是这篇文章可以实现的最终效果图。
目录
开发环境
Window 10
Unity2021.3.2f1c1
Vuforia Engine 10.7(add-vuforia-package-10-7-2.unitypackage)
手机Android版本
Android12
硬件
ESP32/ESP8266
第一步:下载Unity
点进去选个人版,下载就好,下载之后那个个人许可证可以一直申请的
下载后双击打开Unity应用,编辑安装栏,下载安装相应的Unity编辑器
在Unity编辑器模块里面要添加Android的模块,不然不可以开发到手机里面
安装完编辑器后就可以点开项目,去创建对应的项目了
上面那个“启用PlasticSCM并同意政策条款”不用勾选
如果它说许可证过期的话,直接去个人那里选择管理许可证,然后创建个人许可证就好
第二步:加载Vuforia
进去之后,下载选择第一个"Add Vuforia Engine to...",然后下载完之后会出现对应的.unitypackage后缀文件。然后直接双击点开就会自动加载进入Unity已经打开的项目里面(切记要先打开对应的Unity项目里面才可以导入)
第三步:借助Vuforia在Unity中导入对应图片
先点击log in,然后去注册Vuforia账户(邮箱注册就好)
然后点击Develop,然后点击Get Basic创建一个自己的ID
记住上面那个专属的KEY,接下来要复制到Unity对应的框里面
在Unity内点击Window后点击Vuforia Configuration
第四步:通过Vuforia导入对应特定图片
然后会生成对应的.unitypackage后缀文件,然后再在已打开Unity项目的基础上打开此文件,就会自动导入到Unity项目中
全选然后点击import就彳亍
第五步:在图片上实现虚拟模型的呈现
打开Unity项目,然后在下面的文件列表找到Image Targets这个文件夹,并且将其拖动至左边的场景栏
点击场景栏里面的ImageTargets文件夹设置其属性
找到下面的脚本,Type选择From Datebase;Datebase选择自己刚刚在Vuforia添加的用户文件名字;最后选择对应的image
然后就会在场景里面出现对应的图片
然后在左边的场景列表栏中,如下图右键创建一个Cube的3D模型
最后将Cube拖动进入ImageTargets场景文件里面,并在场景中调整图片与物体的相对位置即可在图片中呈现出对应的3D Cube模型
第六步:项目上传到Android手机上
在unity里面点击file后再点击Build Settings,然后选择Android再点击左下角的Player Settings进去设置
然后在Player里面选中安卓的logo,并找到Other Setting
最后按照下图进行选择
下一步将Android手机连接上电脑的USB插口,并且开启开发者选项
第一次下载的话还有一个调试的选项,如果没有Build的按钮就先点击那个按钮,然后等一会弄完就会出现Build And Run的选项了,接下来就直接点击Build And Run的按钮就OK了。手机可能还要接收同意安装。
本文就介绍到这里,下一篇会介绍Unity的虚拟按键应用以及通过虚拟按键监听借助MQTT传输信息。
谢谢大家的观看!!!本人为小萌新作者,目前正在基础的海洋连滚带爬的摸索,立志成为大佬。希望发文记录一下的学习历程,如何有大哥发现出文章有问题欢迎积极提出。如果志同道合之友希望一起钻研这一方面的欢迎一起讨论,欢迎在评论区积极分享意见,如果有想和作者进一步探讨的朋友可以加我QQ:2640514807
本文为作者独立编写
本BLOG上所有的原创文章未经本人许可,不得用于商业用途及传统媒体。网络媒体转载请注明出处,否则属于侵权行为。