最近在尝试unity识别出对应图像之后呈现出对应的呈现出对应的虚拟模型;并且出现对应的虚拟按键可供交互;unity连接上自身搭建的EMQX服务器;可发送到对应的信息到EMQX,再由ESP8266/ESP32订阅对应topic接受指令,实现对应的操作。
想写篇文章来记录一下可发的流程,本来是想一篇文章全部写完的,但是发现如果挤在一篇里面篇幅会太长了,所以打算分开几篇去记录。
这篇文章是第二篇,主要介绍虚拟按键的运用以及Unity连接上EMQX并发送对应的指令。下面是这篇文章可以实现的最终效果图。
目录
开发环境
手机Android版本
硬件
第一步:导入MQTT库
第二步:创建虚拟按键
第三步:配置虚拟按键
第四步:编写虚拟按键对应脚本
第五步:将脚本导入虚拟按键
第六步:将Unity项目上传到Android手机
第七步:搭建EMQ私有服务器
第八步:检验
关于开发软件的搭载以及基础AR功能呈现请参考:
Unity+vuforia虚拟按键连接MQTT(EMQX)实现AR+IOT(Unity C#代码实现)(一)(初步AR实现)_JASON丶LI的博客-CSDN博客https://blog.csdn.net/weixin_61908666/article/details/124869084
Window 10
Unity2021.3.3f1c1
Vuforia Engine 10.7(add-vuforia-package-10-7-2.unitypackage)
Android12
ESP32/ESP8266
续前章
建议:
可以安装VScode,更加方便后续Unity脚本的的编写。注意脚本开发的语言是C#。这里附上VScode的下载地址Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/
链接:https://pan.baidu.com/s/1WsXRYm25qWIDsmvv2Met2w?pwd=4399
提取码:4399
去网盘提取该文件,然后解压
提前打开自身对应Unity项目(需要导入MQTT的Unity项目)
然后在文件夹 \Unity3d_MQTT-master\Packages 里面找到 unity3d_mqtt.unitypackage的脚本文件
双击打开.unitypackage,然后他会出现在Unity项目里面,全选然后点击Import
点击项目场景栏内之前已添加的ImageTarget,然后选择其内名为Image Target Behaviour(Script)的脚本,打开Adanced然后点击Add Virual Button添加虚拟按键,在点击后便会在场景栏ImageTarget内出现名为VirtualButton的按键。
点击VirtualButton后选择其内名为Virtual Button Behaviour(Scriptd)的脚本设置其对应的Name(最好简单有标记性,一会编写脚本需要使用);然后第二个选项为Sensitivity Setting(此对应的为按键识别灵敏度,分为高中低三个程度)最好选择LOW因为识别精度太高容易出BUG。
首先在Unity操作框的下面Assets文件下面创建一个文件夹(我创建的名字是qt。然后如下图,右键文件夹内的空白出Create一个新的C#Script脚本。(注意创建的脚本文件名要与public class MqttEvents : MonoBehaviour的名字保持一致,不然会导致报错)然后输入对应代码(如有需要代码请联系作者或者在添加文末作者QQ要代码 FREE!)
如下图将脚本拖拽进入虚拟按键对应的脚本列表,然后在File点击Save保存(注意一定要注意保存否则脚本会挂不上去)
具体操作请参考本作者的文章
(2条消息) Unity+vuforia虚拟按键连接MQTT(EMQX)实现AR+IOT(Unity C#代码实现)(一)(初步AR实现)_JASON丶LI的博客-CSDN博客_unity vuforia 虚拟按钮https://blog.csdn.net/weixin_61908666/article/details/124869084
到此本篇的Unity开发就完成了,接下来就是搭建EMQ私有服务器
方法一:直接在EMQ官网下载EMQ个人版
Try EMQ Products for Free (emqx.com)https://www.emqx.com/en/try?product=broker方法二:下载作者对应的EMQ版本(建议使用方法二,因为EMQ好像最近改版了,下载官网的可能与文章操作不符)
链接:https://pan.baidu.com/s/1rw-J14pZUT_fp40_yhXjFA?pwd=4399
提取码:4399
下载完成之后,记住EMQ对应的文件路径
接下来win+R然后输入cmd进去命令指令框
然后输入对应的文件夹地址,cd打开文件夹内的bin,最后输入emqx start
(关闭的话同样cd进入bin文件夹,输入emqx stop)
打开浏览器,输入http://127.0.0.1:18083/#/
账号:admin 密码:public
如下图可以从设置那里调整为中文
切记运用Unity项目的Android手机要和搭建EMQ的设备处于同一局域网内
然后EMQ服务器端点击客户端就可以查看设备是否成功连接上EMQ服务器了
本文就介绍到这里,下一篇会介绍Android手机通过Unity发布MQTT指令,再又ESP8266/ESP32订阅对应topic接受指令,实现对应的操作。
谢谢大家的观看!!!本人为小萌新作者,目前正在基础的海洋连滚带爬的摸索,立志成为大佬。希望发文记录一下的学习历程,如何有大哥发现出文章有问题欢迎积极提出。如果志同道合之友希望一起钻研这一方面的欢迎一起讨论,欢迎在评论区积极分享意见,如果有想和作者进一步探讨的朋友可以加我QQ:2640514807
本文为作者独立编写
本BLOG上所有的原创文章未经本人许可,不得用于商业用途及传统媒体。网络媒体转载请注明出处,否则属于侵权行为。