Я нахожу странную проблему, когда пишу код в UWP.
Я использую протокол sockect UDP для отправки координат гололинсу.
Координата похожа на "1.0_1.0_1.0", он был отправлен в виде строки и будет обрезан в соответствии с «_», затем координата будет использоваться для управления перемещением сферы.
Прежде всего, все работает правильно в редакторе единиц.
Но в гололенах, например, я получаю только "1.0_1.0_1.0", но не могу изменить его на vector3:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HoloToolkit.Unity;
#if !UNITY_EDITOR
using System;
using Windows.Foundation;
#endif
public class pre : MonoBehaviour
{
public TextMesh tm = null;
public TextMesh tmmm = null;
public GameObject sphere;
string test;
public void ResponseToUDPPacket(string incomingIP, string incomingPort, string data)
{
string[] centre = data.Split('_');
float[] num= new float[3];
if (tm != null)
tm.text = data;
num[0] = float.Parse(centre[0]);
num[1] = float.Parse(centre[1]);
num[2] = float.Parse(centre[2]);
Debug.Log(num[1]);
if (tmmm != null)
tmmm.text = num[1].ToString();
sphere.transform.position = new Vector3(num[0], num[1], num[2]);
//var headPosition = Camera.main.transform.position;
//headPosition.z = headPosition.z+10;
//sphere1.transform.position = headPosition;
}
}
Я использую две тестовые сетки, чтобы показать результат,«data» - это строка, которую я получил, первая «tm» не имеет проблем. Например, она будет показывать «1.0_1.0_1.0».
Но «tmm», которая получаетсясогласно num [1] никогда не работает.
Я думал, что это проблема UWP.
НО !!!!!!!!!!!!!!!!!!!!!!!Я отправляю строку UDP программой на c ++, но когда я использую программное обеспечение (UDPsender или что-то подобное) для отправки строки вручную, проблема в гололинсе исчезла!
Но я не думаю, что есть проблемав моей C ++ программе, потому что, по крайней мере, он хорошо работает в редакторе Unity.
Есть ли у кого-нибудь представление о проблеме?