Unity结合压力计做生长控制项目

本文介绍了一个使用Unity和压力计实现的项目,通过压力计读取数据控制视频播放速度。当投掷特定数量的沙包时,视频播放速度会改变。项目中包含了读取压力计数据、解析JSON配置文件以及根据压力值调整视频播放速度的代码实现。
摘要由CSDN通过智能技术生成

1.安装压力计串口驱动,2可以通过串口助手测试

3打开设备管理器查看串口

 

 

///接受压力计数据:

using System.Collections;
using System.Collections.Generic;
using System.Threading;
using UnityEngine;
using System.ComponentModel;
using System.IO.Ports;
using System.Text.RegularExpressions;
using System.Text;
using System;

public class RecieveSport : MonoBehaviour
{
    private SerialPort sp;
    private Thread recvThread;//线程
    [HideInInspector]
    public float value;

    void Start()
    {
        GameStatus status = LoadJson.LoadJsonFromFile();
        //Debug.Log(status.com);
        sp = new SerialPort(status.com, 9600, Parity.None, 8, StopBits.One);
        //串口初始化  

        if (!sp.IsOpen)
        {
            sp.Open();
        }
        recvThread = new Thread(ReceiveData); //该线程用于接收串口数据  
        recvThread.Start();
   }


    private void ReceiveData()
    {
        try
        {
            string s = "";
            //以行的模式读取串口数据
            while ((s = sp.ReadLine()) != null)
            {

                //去除g
                string[] s1 = s.Split(new char[] { ' ' });
                string ss = s1[0];
                if (ss == null || ss == "") continue;
                 value = float.Parse(ss);
             
            }
        }
        catch (Exception ex)
        {
            Debug.Log(ex);
        }
    }

    void OnApplicationQuit()
    {
        sp.Close();//关闭串口
    }

}

需要注意的是,该脚本写的是子线程开始接受数据,但是发现子线程不能获取Unity身上组件

我另做一个脚本进行数据处理

 

 

需求:是一共有20个沙包,丢前3个沙包,视频播放速度回快些,后三个也会快些,到了一定时间视频自动播放

 

json:

{
  "com": "COM1",

  "oneSha": "60",


  "shabegin1": "1",
  "shaEnd1": "3",
  "playSpeed1": "2",
  "videoEndTime1": "3",


  "shabegin2": "4",
  "shaEnd2": "9",
  "playSpeed2": "1.5",
  "videoEndTime2": "6",


  "shabegin3": "10",
  "shaEnd3": "16",
  "playSpeed3": "3",
  "videoEndTime3": "11",


  "videoName": "Video.mp4",

  "vide

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值