// Update is called once per frame void Update() { if (!hasStarted) { policy_con.StartConnection(ResetShouldSendState); hasStarted = true; } if (!sentExplorationSetting) { SendExplorationSetting(); sentExplorationSetting = true; } if (shouldSendState && !sentEpisodeOver) { RaycastState(); SendState(); shouldSendState = false; } }
void OnPostRender() { if (!hasStarted) { policy_con.StartConnection(ResetShouldSendFrame); Debug.Log("CONNECTED"); hasStarted = true; } if (shouldSendFrame && !sentEpisodeOverFrame) { shouldSendFrame = false; RenderTexture renderTexture = cam.activeTexture; Texture2D tex2d = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.RGB24, false); RenderTexture.active = renderTexture; tex2d.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0); tex2d.Apply(); Color32[] framePixels = tex2d.GetPixels32(); Thread createFrameThread = new Thread(() => CreateFrame(framePixels)); createFrameThread.Start(); } }