Unity+vuforia虚拟按键连接MQTTEMQX实现AR+IOTUnity C#代码实现二虚拟按键的按键监听+发布MQTT信息
最近在尝试unity识别出对应图像之后呈现出对应的呈现出对应的虚拟模型;并且出现对应的虚拟按键可供交互;unity连接上自身搭建的EMQX服务器;可发送到对应的信息到EMQX,再由ESP8266/ESP32订阅对应topic接受指令,实现对应的操作。
想写篇文章来记录一下可发的流程,本来是想一篇文章全部写完的,但是发现如果挤在一篇里面篇幅会太长了,所以打算分开几篇去记录。
这篇文章是第二篇,主要介绍虚拟按键的运用以及Unity连接上EMQX并发送对应的指令。下面是这篇文章可以实现的最终效果图。
目录
关于开发软件的搭载以及基础AR功能呈现请参考:
开发环境
Window 10
Unity2021.3.3f1c1
Vuforia Engine 10.7(add-vuforia-package-10-7-2.unitypackage)
手机Android版本
Android12
硬件
ESP32/ESP8266
续前章
建议:
可以安装VScode,更加方便后续Unity脚本的的编写。注意脚本开发的语言是C#。这里附上VScode的下载地址Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/
第一步:导入MQTT库
链接:https://pan.百度.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保存(注意一定要注意保存否则脚本会挂不上去)
第六步:将Unity项目上传到Android手机
具体操作请参考本作者的文章
到此本篇的Unity开发就完成了,接下来就是搭建EMQ私有服务器
第七步:搭建EMQ私有服务器
方法一:直接在EMQ官网下载EMQ个人版
Try EMQ Products for Free (emqx.com)https://www.emqx.com/en/try?product=broker方法二:下载作者对应的EMQ版本(建议使用方法二,因为EMQ好像最近改版了,下载官网的可能与文章操作不符)
链接:https://pan.百度.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接受指令,实现对应的操作。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfifegc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13