// Update is called once per frame void Update() { string activity = car.GetActivity(); if (writer != null) { writer.WriteLine(string.Format("{0},{1},{2},{3}", frameCounter.ToString(), activity, car.GetSteering().ToString(), car.GetThrottle().ToString())); } if (camSensor != null) { Texture2D image = camSensor.GetImage(); ImageSaveJob ij = new ImageSaveJob(); ij.filename = Application.dataPath + string.Format("/../log/{0}_{1,8:D8}.png", activity, frameCounter); ij.bytes = image.EncodeToPNG(); lock (this) { imagesToSave.Add(ij); } if (maxFramesToLog != -1 && frameCounter >= maxFramesToLog) { Shutdown(); this.gameObject.SetActive(false); } } frameCounter = frameCounter + 1; }
//Save the camera sensor to an image. Use the suffix to distinguish between cameras. void SaveCamSensor(CameraSensor cs, string prefix, string suffix) { if (cs != null) { Texture2D image = cs.GetImage(); ImageSaveJob ij = new ImageSaveJob(); if (UdacityStyle) { ij.filename = GetUdacityStyleImageFilename(); ij.bytes = image.EncodeToJPG(); } else if (DonkeyStyle) { ij.filename = GetDonkeyStyleImageFilename(); ij.bytes = image.EncodeToJPG(); } else if (DonkeyStyle2) { ij.filename = GetDonkey2StyleImageFilename(); ij.bytes = image.EncodeToJPG(); } else if (SharkStyle) { ij.filename = GetSharkStyleImageFilename(); ij.bytes = image.EncodeToJPG(); } else { ij.filename = Application.dataPath + string.Format("/../log/{0}_{1,8:D8}{2}.png", prefix, frameCounter, suffix); ij.bytes = image.EncodeToPNG(); } lock (this) { imagesToSave.Add(ij); } } }
void SendNewImage() { if (camSensor != null) { Texture2D image = camSensor.GetImage(); byte[] bytes = image.GetRawTextureData(); client.SendData(bytes); state = State.WaitingForSteering; if (sensorPreview != null) { sensorPreview.texture = image; } } }
//Save the camera sensor to an image. Use the suffix to distinguish between cameras. void SaveCamSensor(CameraSensor cs, string prefix, string suffix) { if (cs != null) { Texture2D image = cs.GetImage(); ImageSaveJob ij = new ImageSaveJob(); ij.filename = Application.dataPath + string.Format("/../log/{0}_{1,8:D8}{2}.png", prefix, frameCounter, suffix); ij.bytes = image.EncodeToPNG(); lock (this) { imagesToSave.Add(ij); } } }
//Save the camera sensor to an image. Use the suffix to distinguish between cameras. void SaveCamSensor(CameraSensor cs, string prefix, string suffix) { if (cs != null) { Texture2D image = cs.GetImage(); ImageSaveJob ij = new ImageSaveJob(); ij.filename = GetImageFileName(); ij.bytes = image.EncodeToJPG(); lock (this) { imagesToSave.Add(ij); } } }