Задержка передчи даных через сокет

Программирование на Юнити.

Задержка передчи даных через сокет

Сообщение HacKeR 09 июн 2011, 21:09

в общем есть вебкамера которая захватывает область лица игрока и передаёт позицию через сокет в юнити. Использую FaceAPI,
в юньке вот такой код цепляю к объекту, который должен поворачиваться.
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class TrackingFace: MonoBehaviour {
private const int listenPort=29129;
        float speed = 10;
       
        UdpClient listener;
        IPEndPoint groupEP;
        float pz,ry,ry_old=0,rz;
        Vector3 newpos;
        void Start() {
               
        listener = new UdpClient(listenPort);
        groupEP = new IPEndPoint(IPAddress.Any, listenPort);
                }
void Update () {
          byte[] receive_byte_array = listener.Receive(ref groupEP);
                  string op=Encoding.ASCII.GetString(receive_byte_array, 0, receive_byte_array.Length);
                  string po=Encoding.ASCII.GetString(receive_byte_array);
                 string[] words=po.Split(' ');
                pz=(float)Convert.ToDouble(words[3]);
                ry=(float)Convert.ToDouble(words[4]);
                rz=(float)Convert.ToDouble(words[5]);
               
               
                gameObject.transform.rotation = Quaternion.Euler(0,0,rz);
                print (rz);
        }
}

но он поворачивается с задержкой примерно в 0.5сек. В чём может быть помеха?
HacKeR
UNIверсал
 
Сообщения: 360
Зарегистрирован: 12 ноя 2010, 21:14

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


cron