Exemple #1
0
 // 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;
     }
 }
Exemple #2
0
    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();
        }
    }