Matlab and Unity connection

27 次查看(过去 30 天)
Si Yi
Si Yi 2023-2-3
评论: Si Yi 2023-3-26
I am currently working on a project that requires measuring objects in real-time, and developing it into an application using Unity. I would like to know if there is a connection between MatLab and Unity, that enables me to do so.

回答(1 个)

HimeshNayak
HimeshNayak 2023-2-13
Hi Si Yi,
I understand that you want to create a connection between MATLAB and unity to develop an application in Unity.
According to my research, I have come up with the following steps which may help you to connect MATLAB and Unity. We can connect them with the help of TCP.
1) Firstly, in Unity set up a TcpListener that can accept the commands at a particular IP Address and port to which MATLAB will be connected.
The following C# code listens to IP Address 127.0.0.1 with port 55001.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net;
using System.Net.Sockets;
using System.Linq;
using System;
using System.IO;
using System.Text;
public class DemoObject : MonoBehaviour {
   // initialize the communication with MatLab    
   TcpListener listener;
  
void Start() {
   // LISTEN TO MATLAB. Set up unity listening to matlab
       listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 55001);
       listener.Start();
       print("is listening");
   }
}
2) After executing the code. Run the following MATLAB code to connect it to the above-mentioned IP and port so that the commands entered in MATLAB can be reflected in Unity.
% set up the code for communicating with Unity
tcpipClient = tcpclient('127.0.0.1',55001);
set(tcpipClient,'Timeout', 3);
Now the connection has been set up and we can write more code to perform actions such as move an object using arrow keys as shown in the following video.
Regards,
Himesh
  1 个评论
Si Yi
Si Yi 2023-3-26
Hello Himesh,
Thanks for the help. However, I am unable to established the connection. I followed the Youtube video, and did not get any errors or issues. (I also installed PsychToolKit in my MATLAB) But when I attempt to press 'Up' or 'Down', I am unable to command the cylinder in Unity to do so. I believe it is because the handshake is not established. I've also double checked my IP address and port, as well as my firewall is turned off. Unfortunately, I am still unable to get the connection, why is that so?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by