지금 자석센서를 가져다대면 유니티에서 큐브가 앞으로 가게하려고합니다.
문제가 리드스위치 하나를 사용하여 큐브 앞으로 조작은 되지만
리드스위치 두개를 사용하여 유니티에서 값을 받으려하는데 어떠한 방식으로 받아야하는지 모르겠습니다.
시리얼 모니터에는 해당 리드스위치마다 값이 다 찍히고 유니티로 값을 넘기기까진하지만 큐브마다 데이터값을 어떻게 주어야하는지는 잘 모르겠습니다 ㅠㅠ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO.Ports;
public class multi_reedSwitch_test2 : MonoBehaviour
{
SerialPort sp = new SerialPort("COM5", 9600);
int val2 = 0;
int acc = 5;
// Use this for initialization
void Start()
{
sp.Open();
sp.ReadTimeout = 1;
}
// Update is called once per frame
void Update()
{
if (sp.IsOpen)
{
try
{
sp.Write("a");
val2 = sp.ReadByte();
if (val2 != 0) Debug.Log(val2);
if ((val2 & 0x01) == 0x01)
{
transform.Translate(Vector3.forward * Time.deltaTime * acc);
Debug.Log("내가 2번");
}
}
}
}
위 소스를 각 큐브마다 적용하였더니 sp.Open 부분에서 포트 여는것때문인지 자꾸 IOException 오류가 납니다.