unity脑电游戏的制作-脑电的获取步骤三
2021/5/17 18:58:01
本文主要是介绍unity脑电游戏的制作-脑电的获取步骤三,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在unity中的代码
在unity工程中新建一个脚本,脚本中的代码如下:
using System; using System.Collections; using System.Collections.Generic; using System.IO.Ports; using System.Threading; using UnityEngine; using UnityEngine.UI; public class connect : MonoBehaviour { public SerialPort COM = new SerialPort();//初始化serialport类的新实例,用于获取串行端口资源 public Text PoorSignal; public Text Attention; public Text Meditation; void Start() { COM.BaudRate = 9600;//波特率 COM.PortName = "COM3";//端口名 COM.DataBits = 8;//数据位 COM.ReadTimeout = 5000; COM.Open();//打开一个新的串行端口连接 StartCoroutine(DataReceived()); // COM.DataReceived += new SerialDataReceivedEventHandler(COM_DataReceived); } IEnumerator DataReceived() { while(true) { Rec(); yield return new WaitForSeconds(0.5f); } } /// <summary> /// 脑电的获取 /// </summary> private void Rec() { try { int n = COM.BytesToRead; byte[] numArray = new byte[this.COM.BytesToRead]; COM.Read(numArray, 0, n); if (numArray.Length == 0) return; else { Debug.Log("numarry长度是:" + numArray.Length); } if (numArray[0] == (byte)170 && numArray[1] == (byte)170) { Debug.Log("进入"); if(numArray.Length==36) { int num = 0; num = Convert.ToInt32(numArray[4]); Debug.Log("信号值是:" + num); PoorSignal.text= num.ToString(); int attention = 0; attention = Convert.ToInt32(numArray[32]); Debug.Log("专注值是:" + attention); Attention.text = attention.ToString(); int meditation = 0; meditation= Convert.ToInt32(numArray[34]); Debug.Log("放松值是:" + meditation); Meditation.text = meditation.ToString(); else { return; } } COM.DiscardInBuffer(); } catch (Exception ex) { throw ex; } } public void ClosePort() { try { COM.Close(); } catch(Exception ex) { Debug.Log(ex.Message); } } private void OnApplicationQuit() { ClosePort(); } }
运行时会出现的问题:
1.命名空间的引入:
在下面界面中选择程序包,安装using System.IO.Ports程序包。
2.unity中需要进行相关的设置:
将Api Compatibility Level设置为4.0,相对应的命名空间才能正确引入。
完成以上步骤,就可以从脑电设备中获取数据,并在unity中进行使用开发。
这篇关于unity脑电游戏的制作-脑电的获取步骤三的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30java最新版本是什么,有什么特性?-icode9专业技术文章分享
- 2024-11-30[开源]27.8K star!这款 Postman 替代工具太火了!
- 2024-11-30Gzip 压缩入门教程:轻松掌握文件压缩技巧
- 2024-11-29开源工具的魅力:让文档管理更“聪明”
- 2024-11-29Release-it开发入门教程
- 2024-11-29Rollup 插件入门教程:轻松掌握模块打包
- 2024-11-29从零到一,产品经理如何玩转项目管理和团队协作
- 2024-11-29如何通过精益生产管理工具帮助项目团队实现精准进度控制?
- 2024-11-29低代码应用开发课程:新手入门与基础教程
- 2024-11-29入门指南:全栈低代码开发课程