123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- using IFramework.Net;
- using IFramework;
- using IFramework.Net.Udp;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Text;
- using UnityEngine;
- namespace IFramework.Custom
- {
- public class UDPManger : MonoBehaviour
- {
- //#if !TEST
- private int serverPort = 16898;
- private int clientPort = 16897;
- private int buffClientPort = 16896;
- //#elif TEST
- //private int serverPort = 12345;
- //private int clientPort = 12346;
- //#endif
- public static UDPManger Instance;
- //private UDPClientProvider cameraClient;
- private bool initChaos = false;
- private bool alreadySendIp = false;
- private string buffClientIp = "";
- private void Awake()
- {
- Instance = this;
- Debug.Log("Version:" + Application.version);
- }
- void Start()
- {
- //cameraClient = new UDPClientProvider();
- //StartCoroutine(SendSDKData());
- }
- private void ClientBuffCallback(SegmentToken session)
- {
- Debug.Log("(客户端Buff)收到消息:" + Encoding.UTF8.GetString(session.Data.buffer, session.Data.offset,
- session.Data.size));
- }
- IEnumerator SendSDKData()
- {
- while(true)
- {
- yield return new WaitForEndOfFrame();
- SendCameraData();
- }
- }
- /// 获取时间戳
- public long GetTimeStampSecond()
- {
- TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
- try
- {
- return Convert.ToInt64(ts.TotalSeconds);
- }
- catch(Exception ex)
- {
- Debug.Log($"GetTimeStampSecond Error = {ex}");
- return 0;
- }
- }
- private bool SendIp()
- {
- if(!initChaos)
- return false;
- //TextureHelper.initTcp(buffClientIp, buffClientPort);
- return true;
- }
- public void SendCamerBuff(byte[] data)
- {
- Debug.LogError("CameraBuff:" + data.ToString());
- ;
- if(!initChaos)
- return;
- if(data != null)
- {
- //cameraBuffClient.ClientSend(data.ToString());
- }
- }
- public void SendCameraData()
- {
- if(initChaos)
- {
- //DataFromSDK data = GetHDMPoseData();
- //data.timestamp = GetTimeStampSecond();
- //data.virtualkey = -1;
- //data.hand_points = null;
- //string json = JsonUtil.Serialize(data);
- //cameraClient.ClientSend(json);
- }
- }
- public void SendVirtualkey(int virtualkey)
- {
- Debug.LogError("virtualkey:" + virtualkey);
- if(initChaos)
- {
- //DataFromSDK data = GetHDMPoseData();
- //data.timestamp = GetTimeStampSecond();
- //data.virtualkey = virtualkey;
- //data.hand_points = null;
- //string json = JsonUtil.Serialize(data);
- //cameraClient.ClientSend(json);
- }
- }
- public void SendHandPose(string gesture)
- {
- if(initChaos)
- {
- //DataFromSDK data = GetHDMPoseData();
- //data.timestamp = GetTimeStampSecond();
- //data.virtualkey = -1;
- //data.hand_points = gesture;
- }
- }
- //private OriginDataFromSDK GetOriginData()
- //{
- // OriginDataFromSDK data = new OriginDataFromSDK();
- // data.headPose = ARFrame.HeadPose;
- // data.fovs = ARFrame.CameraParams.fov;
- // data.left = ARFrame.CameraParams.leftProjection;
- // data.right = ARFrame.CameraParams.rightProjection;
- // return data;
- //}
- //public DataFromSDK GetHDMPoseData()
- //{
- // DataFromSDK data = new DataFromSDK();
- // Vector4 pose_v1 = HMDPoseTracker.Instance.centerCamera.cameraToWorldMatrix.GetColumn(0);
- // Vector4 pose_v2 = HMDPoseTracker.Instance.centerCamera.cameraToWorldMatrix.GetColumn(1);
- // Vector4 pose_v3 = HMDPoseTracker.Instance.centerCamera.cameraToWorldMatrix.GetColumn(2);
- // Vector4 pose_v4 = HMDPoseTracker.Instance.centerCamera.cameraToWorldMatrix.GetColumn(3);
- // data.camera_pose = new float[,] {
- // {pose_v1.x,pose_v1.y,pose_v1.z,pose_v1.w },
- // {pose_v2.x,pose_v2.y,pose_v2.z,pose_v2.w},
- // {pose_v3.x,pose_v3.y,pose_v3.z,pose_v3.w },
- // {pose_v4.x,pose_v4.y,pose_v4.z,pose_v4.w }
- //};
- // Vector4 left_v1 = HMDPoseTracker.Instance.leftCamera.cameraToWorldMatrix.GetColumn(0);
- // Vector4 left_v2 = HMDPoseTracker.Instance.leftCamera.cameraToWorldMatrix.GetColumn(1);
- // Vector4 left_v3 = HMDPoseTracker.Instance.leftCamera.cameraToWorldMatrix.GetColumn(2);
- // Vector4 left_v4 = HMDPoseTracker.Instance.leftCamera.cameraToWorldMatrix.GetColumn(3);
- // data.left_eye_transform = new float[,]{
- // { left_v1.x,left_v1.y,left_v1.z,left_v1.w},
- // { left_v2.x,left_v2.y,left_v2.z,left_v2.w},
- // { left_v3.x,left_v3.y,left_v3.z,left_v3.w},
- // { left_v4.x,left_v4.y,left_v4.z,left_v4.w}
- // };
- // Vector4 right_v1 = HMDPoseTracker.Instance.rightCamera.cameraToWorldMatrix.GetColumn(0);
- // Vector4 right_v2 = HMDPoseTracker.Instance.rightCamera.cameraToWorldMatrix.GetColumn(1);
- // Vector4 right_v3 = HMDPoseTracker.Instance.rightCamera.cameraToWorldMatrix.GetColumn(2);
- // Vector4 right_v4 = HMDPoseTracker.Instance.rightCamera.cameraToWorldMatrix.GetColumn(3);
- // data.right_eye_transform = new float[,] {
- //{right_v1.x,right_v1.y,right_v1.z,right_v1.w},
- //{right_v2.x,right_v2.y,right_v2.z,right_v2.w},
- //{right_v3.x,right_v3.y,right_v3.z,right_v3.w },
- //{right_v4.x,right_v4.y,right_v4.z,right_v4.w }
- //};
- // data.origin_positon = new float[] {
- // ARFrame.HeadPose.position.x,
- // ARFrame.HeadPose.position.y,
- // ARFrame.HeadPose.position.z
- //};
- // data.origin_rotation = new float[] {
- // ARFrame.HeadPose.rotation.x,
- // ARFrame.HeadPose.rotation.y,
- // ARFrame.HeadPose.rotation.z,
- // ARFrame.HeadPose.rotation.w
- //};
- // return data;
- //}
- private void Update()
- {
- if(initChaos)
- {
- if(!alreadySendIp)
- {
- alreadySendIp = SendIp();
- }
- }
- }
- private void OnApplicationQuit()
- {
- //cameraClient.Dispose();
- //UDPServer.Instance.Dispose();
- //cameraBuffClient.Dispose();
- }
- }
- }
|