void Awake() { if (instance == null) { instance = this; } InitProcessor(); }
void DisposeProcessor() { nuitrack.Nuitrack.onIssueUpdateEvent -= OnIssuesUpdate; if (instance == this) { instance = null; } if (borders != null) { for (int i = 0; i < 3; i++) { Destroy(borders[i]); } } }
void Initialize() { if (initialized) { return; } initialized = true; occludedUserCols = new Color[userCols.Length]; userCurrentCols = new Color[userCols.Length]; for (int i = 0; i < userCols.Length; i++) { userCurrentCols[i] = userCols[i]; float[] hsv = new float[3]; Color.RGBToHSV(userCols[i], out hsv[0], out hsv[1], out hsv[2]); hsv[2] *= 0.25f; occludedUserCols[i] = Color.HSVToRGB(hsv[0], hsv[1], hsv[2]); occludedUserCols[i].a = userCols[i].a; } issuesProcessor = IssuesProcessor.Instance; nuitrack.OutputMode mode = NuitrackManager.DepthSensor.GetOutputMode(); frameStep = mode.XRes / hRes; if (frameStep <= 0) { frameStep = 1; // frameStep should be greater then 0 } hRes = mode.XRes / frameStep; depthToScale = meshScaling * 2f * Mathf.Tan(0.5f * mode.HFOV) / hRes; visMat = new Material(visualizationMaterial); InitMeshes( ((mode.XRes / frameStep) + (mode.XRes % frameStep == 0 ? 0 : 1)), ((mode.YRes / frameStep) + (mode.YRes % frameStep == 0 ? 0 : 1)), mode.HFOV ); }
void Start() { issuesProcessor = IssuesProcessor.Instance; }