/// <summary> /// Format The original data from engine /// </summary> private string Analysis(YSNode[] node, float[] facePose, float[] exp, YSNode[] unity_p3dUserFace) { trackerData.reset(); trackerData.mirror = source.getMirror(); // mirror[platformId]; trackerData.videoRotation = source.getRotation(); // trackRotation[platformId]; for (int i = 0; i < NUM_MASK_MODEL_78; i++) { Vector3 temp = new Vector3(node[i].x / staticVideoWidth, node[i].y / staticVideoHeight, 0); //node[i].z trackerData.node.Add(temp); } for (int i = 0; i < NUM_POSE_6; i++) { trackerData.facePose [i] = facePose[i]; } for (int i = 0; i < EM_NUM_TOTAL; i++) { trackerData.exp [i] = trackerData.exp[i] * 0.7f + exp[i] * 0.2f; } for (int i = 0; i < NUM_FACE_PROPERTY; i++) { trackerData.p3dnode.Add(new Vector3(unity_p3dUserFace[i].x, unity_p3dUserFace[i].y, unity_p3dUserFace[i].z)); } return("0"); }
public static Vector3 GetPosition(string name) { if (name == null) { Debug.LogError("[FduClusterInput]Tracker name can not be null"); return(Vector3.zero); } if (!_instance._trackerMap.ContainsKey(name)) { if (_instance.isMaster) { SerializeData _data = new SerializeData(); _data.name = name; _data.type = FduClusterInputType.Tracker; TrackerData tData = new TrackerData(); tData.reset(); _instance._sendList.Add(_data); _instance._trackerMap.Add_overlay(name, tData); } return(Vector3.zero); } else { return(_instance._trackerMap[name].getPosValue()); } }
public static void SetQuaternion(string name, Quaternion value) { if (name == null) { Debug.LogError("[FduClusterInput]Tracker name can not be null"); return; } if (!_instance.isMaster) { return; } if (!_instance._trackerMap.ContainsKey(name)) { if (_instance.isMaster) { SerializeData _data = new SerializeData(); _data.name = name; _data.type = FduClusterInputType.Tracker; TrackerData tData = new TrackerData(); tData.reset(); tData.setRotValue(value); _instance._sendList.Add(_data); _instance._trackerMap.Add_overlay(name, tData); } } else { _instance._trackerMap[name].setRotValue(value); } }
public override NetworkState.NETWORK_STATE_TYPE Deserialize() { NetworkState.NETWORK_STATE_TYPE state = NetworkState.NETWORK_STATE_TYPE.SUCCESS; int count = BufferedNetworkUtilsClient.ReadInt(ref state); for (int i = 0; i < count; ++i) { string name = BufferedNetworkUtilsClient.ReadString(ref state); FduClusterInputType type = (FduClusterInputType)BufferedNetworkUtilsClient.ReadByte(ref state); switch (type) { case FduClusterInputType.Axis: float fvalue = BufferedNetworkUtilsClient.ReadFloat(ref state); if (!_axisMap.ContainsKey(name)) { AxisData _data = new AxisData(); _data.reset(); _data.setValue(fvalue); _axisMap.Add(name, _data); } else { _axisMap[name].setValue(fvalue); } break; case FduClusterInputType.Button: bool bvalue = BufferedNetworkUtilsClient.ReadBool(ref state); if (!_buttonMap.ContainsKey(name)) { ButtonData _data = new ButtonData(); _data.reset(); _data.setValue(bvalue); _buttonMap.Add(name, _data); } else { _buttonMap[name].setValue(bvalue); } break; case FduClusterInputType.Tracker: Vector3 v3Value = BufferedNetworkUtilsClient.ReadVector3(ref state); Quaternion quValue = BufferedNetworkUtilsClient.ReadQuaternion(ref state); if (!_trackerMap.ContainsKey(name)) { TrackerData _data = new TrackerData(); _data.reset(); _data.setPosValue(v3Value); _data.setRotValue(quValue); _trackerMap.Add(name, _data); } else { _trackerMap[name].setPosValue(v3Value); _trackerMap[name].setRotValue(quValue); } break; } } //if(!BufferedNetworkUtilsClient.ReadString(ref state).Equals("ClusterInputMgrEndFlag")) //{ // Debug.LogError("Wrong end!"); //} //StartCoroutine(swapValueCo()); return(state); }