IEnumerator SetCamConfig(int iCamera, float fov, float offset_x, float offset_y, float offset_z, float rot_x, int img_w, int img_h, int img_d, string img_enc, float fish_eye_x, float fish_eye_y) { CameraSensor cam = null; if (iCamera == 0) { cam = camSensor; } else { cam = camSensorB; if (cam != null && !cam.gameObject.activeInHierarchy) { cam.gameObject.SetActive(true); } } if (cam) { cam.SetConfig(fov, offset_x, offset_y, offset_z, rot_x, img_w, img_h, img_d, img_enc); Fisheye fe = cam.gameObject.GetComponent <Fisheye>(); if (fe != null && (fish_eye_x != 0.0f || fish_eye_y != 0.0f)) { fe.enabled = true; fe.strengthX = fish_eye_x; fe.strengthY = fish_eye_y; } } yield return(null); }
void Start() { cameraSensor = GetComponentInChildren <CameraSensor>(); carState = GetComponent <CarState>(); carController = GetComponent <CarController>(); IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, DeterminePort()); listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); checkpoints = new Checkpoints(); reward = new Reward(checkpoints); // foreach (GameObject gameObject in checkpoints.checkpointsArray) { // Debug.Log(gameObject.name); // } try { listener.Bind(localEndPoint); listener.Listen(1); BeginAccept(); } catch (Exception e) { Debug.LogException(e); } }
public void TestStackingMapping() { // Test grayscale stacked mapping with CameraSensor var cameraSensor = new CameraSensor(new Camera(), 64, 64, true, "grayscaleCamera", SensorCompressionType.PNG); var stackedCameraSensor = new StackingSensor(cameraSensor, 2); Assert.AreEqual(stackedCameraSensor.GetCompressionSpec().CompressedChannelMapping, new[] { 0, 0, 0, 1, 1, 1 }); // Test RGB stacked mapping with RenderTextureSensor var renderTextureSensor = new RenderTextureSensor(new RenderTexture(24, 16, 0), false, "renderTexture", SensorCompressionType.PNG); var stackedRenderTextureSensor = new StackingSensor(renderTextureSensor, 2); Assert.AreEqual(stackedRenderTextureSensor.GetCompressionSpec().CompressedChannelMapping, new[] { 0, 1, 2, 3, 4, 5 }); // Test mapping with number of layers not being multiple of 3 var dummySensor = new Dummy3DSensor(); dummySensor.ObservationSpec = ObservationSpec.Visual(2, 2, 4); dummySensor.Mapping = new[] { 0, 1, 2, 3 }; var stackedDummySensor = new StackingSensor(dummySensor, 2); Assert.AreEqual(stackedDummySensor.GetCompressionSpec().CompressedChannelMapping, new[] { 0, 1, 2, 3, -1, -1, 4, 5, 6, 7, -1, -1 }); // Test mapping with dummy layers that should be dropped var paddedDummySensor = new Dummy3DSensor(); paddedDummySensor.ObservationSpec = ObservationSpec.Visual(2, 2, 4); paddedDummySensor.Mapping = new[] { 0, 1, 2, 3, -1, -1 }; var stackedPaddedDummySensor = new StackingSensor(paddedDummySensor, 2); Assert.AreEqual(stackedPaddedDummySensor.GetCompressionSpec().CompressedChannelMapping, new[] { 0, 1, 2, 3, -1, -1, 4, 5, 6, 7, -1, -1 }); }
public void TestCameraSensor() { foreach (var grayscale in new[] { true, false }) { foreach (SensorCompressionType compression in Enum.GetValues(typeof(SensorCompressionType))) { var width = 24; var height = 16; var camera = Camera.main; var c = new GameObject(); if (ReferenceEquals(null, camera)) { camera = c.AddComponent <Camera>(); } var sensor = new CameraSensor(camera, width, height, grayscale, "TestCameraSensor", compression); var obsWriter = new ObservationWriter(); var obs = sensor.GetObservationProto(obsWriter); Assert.AreEqual((int)compression, (int)obs.CompressionType); var expectedShape = new[] { height, width, grayscale ? 1 : 3 }; Assert.AreEqual(expectedShape, obs.Shape); UnityEngine.Object.DestroyImmediate(c); } } }
/***************************************************/ /*** METHODS ************************/ /***************************************************/ /******** UNITY MESSAGES ************************/ // Use this for initialization void Start() { m_cameraSensor = GetComponent <CameraSensor>(); m_turretSelector = transform.Find("T.O.W.E.L"); m_pew.GetComponent <InflictDamageParticle>().m_damage = SettingsManager.Inst.m_gunDamage; m_gameStateUi = 1; DisplayGameState(); }
void DisableAllCamerasExSensors() { Camera[] cameras = GameObject.FindObjectsOfType <Camera>(); foreach (Camera cam in cameras) { CameraSensor sensor = cam.gameObject.GetComponent <CameraSensor>(); if (sensor != null) { continue; } cam.gameObject.SetActive(false); } }
public void TestObservationType() { var width = 24; var height = 16; var camera = Camera.main; var sensor = new CameraSensor(camera, width, height, true, "TestCameraSensor", SensorCompressionType.None); var spec = sensor.GetObservationSpec(); Assert.AreEqual((int)spec.ObservationType, (int)ObservationType.Default); sensor = new CameraSensor(camera, width, height, true, "TestCameraSensor", SensorCompressionType.None, ObservationType.Default); spec = sensor.GetObservationSpec(); Assert.AreEqual((int)spec.ObservationType, (int)ObservationType.Default); sensor = new CameraSensor(camera, width, height, true, "TestCameraSensor", SensorCompressionType.None, ObservationType.GoalSignal); spec = sensor.GetObservationSpec(); Assert.AreEqual((int)spec.ObservationType, (int)ObservationType.GoalSignal); }
// Update is called once per frame void Update() { if (vehicle != null) { if (!isConnected && vehicle.Connected) { Debug.Log("VehicleAvailable"); Vehicle.INSTANCE = vehicle; if (SpriteToggle.INSTANCE != null) { SpriteToggle.INSTANCE.Appear(); } if (PedalButton.instance != null) { PedalButton.instance.Appear(); } isConnected = true; } if (vehicle.Connected) { pedalInputController.Update(); steeringInputController.Update(); vehicle.SetThrottle(pedalInputController.GetThrottleLevel()); vehicle.SetBrake(pedalInputController.GetBrakeLevel()); vehicle.SetSteeringAngle(steeringInputController.getSteeringAngle()); vehicle.Update(); CameraSensor s = (CameraSensor)vehicle.Sensor(SensorType.SENSOR_TYPE_CAMERA_FRONT); if (s != null) { CameraSensorData d = (CameraSensorData)s.Data; if (d != null) { imageTexture.LoadImage(d.ImageData); cameraDisplay.material.mainTexture = imageTexture; } } } } }
//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); } } }
//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); } } }
void Start() { cameraSensor = GetComponentInChildren <CameraSensor>(); carState = GetComponent <CarState>(); carController = GetComponent <CarController>(); IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, DeterminePort()); listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { listener.Bind(localEndPoint); listener.Listen(1); BeginAccept(); } catch (Exception e) { Debug.LogException(e); } }
void Start() { agent = GetComponent <ITankAgent>(); if (cameraSensor == null) { cameraSensor = GetComponent <CameraSensor>(); } // wire up to UI images normal/segmented based on player 1 or 2 // yeah this isn't pretty, but we just need something quick. int playerNumber = agent.GetPlayerNumber() - 1; // might not need to use this, might be better off manually wiring up for visual agents normalRenderTexture = normalRTs[playerNumber]; segmentedRenderTexture = segmentedRTs[playerNumber]; normalCam.targetTexture = normalRenderTexture; cameraSensor.Camera = normalCam; }
public void TestCameraSensor() { foreach (var grayscale in new[] { true, false }) { foreach (SensorCompressionType compression in Enum.GetValues(typeof(SensorCompressionType))) { var width = 24; var height = 16; var camera = Camera.main; var sensor = new CameraSensor(camera, width, height, grayscale, "TestCameraSensor", compression); var obsWriter = new ObservationWriter(); var obs = sensor.GetObservationProto(obsWriter); Assert.AreEqual((int)compression, (int)obs.CompressionType); var expectedShape = new[] { height, width, grayscale ? 1 : 3 }; Assert.AreEqual(expectedShape, obs.Shape); } } }
IEnumerator SetCamConfig(float fov, float offset_x, float offset_y, float offset_z, float rot_x, int img_w, int img_h, int img_d, string img_enc, float fish_eye_x, float fish_eye_y) { CameraSensor camSensor = carObj.transform.GetComponentInChildren <CameraSensor>(); if (camSensor) { camSensor.SetConfig(fov, offset_x, offset_y, offset_z, rot_x, img_w, img_h, img_d, img_enc); Fisheye fe = camSensor.gameObject.GetComponent <Fisheye>(); if (fe != null && (fish_eye_x != 0.0f || fish_eye_y != 0.0f)) { fe.enabled = true; fe.strengthX = fish_eye_x; fe.strengthY = fish_eye_y; } } yield return(null); }
public PhotoBoothViewModel() { this.cameraSensor = new CameraSensor(KinectSensor.GetDefault()); this.CameraImageSource = this.cameraSensor.Camera; this.cameraSensor.PersonEnters += (s, e) => { this.peoplePresentCount++; if (this.peoplePresentCount == 1) { this.stateMachine.EnterFirstPerson(); } }; this.cameraSensor.PersonLeaves += (s, e) => { this.peoplePresentCount--; if (this.peoplePresentCount == 0) { this.stateMachine.LeaveLastPerson(); } }; this.stateMachine.EnteredWaitingForPresence += (s, e) => { this.OverlayImageSource = null; this.cameraSensor.IsCameraPaused = false; }; this.stateMachine.EnteredCountdown += (s, e) => { SetOverlayImage(); StartCountdownTimer(); }; this.stateMachine.LeftCountdown += (s, e) => { EnsureStoppedCountdownTimer(); }; this.stateMachine.EnteredTakeSnapshot += (s, e) => { this.cameraSensor.IsCameraPaused = true; this.FlashingBackground = true; ImageSaver.SaveImage(this.CameraImageSource, this.OverlayImageSource); }; this.stateMachine.LeftTakeSnapshot += (s, e) => { this.FlashingBackground = false; }; this.stateMachine.EnteredFinished += (s, e) => { this.FullScreenMessage = Properties.Resources.FinishedMessage; }; this.stateMachine.LeftFinished += (s, e) => { this.FullScreenMessage = string.Empty; this.cameraSensor.IsCameraPaused = false; }; }
// Update is called once per frame void Update() { if (vehicle != null) { if (!isConnected && vehicle.Connected) { Debug.Log("VehicleAvailable"); isConnected = true; vehicle.SetGear(GearDirection.GEAR_DIRECTION_FORWARD); } if (vehicle.Connected) { changeUItoDriveMode(); if (Input.GetKeyDown(KeyCode.Q)) { vehicle.SetGear(GearDirection.GEAR_DIRECTION_NEUTRAL); } else if (Input.GetKeyDown(KeyCode.W)) { vehicle.SetGear(GearDirection.GEAR_DIRECTION_FORWARD); } else if (Input.GetKeyDown(KeyCode.E)) { vehicle.SetGear(GearDirection.GEAR_DIRECTION_BACKWARD); } turningAngle = Input.acceleration.x; vehicle.SetSteeringAngle(turningAngle); //vehicle.SetThrottle(Input.GetAxis("Vertical")); //vehicle.SetBrake(Mathf.Clamp01(-Input.GetAxis("Vertical"))); vehicle.SetThrottle(throttle); vehicle.SetBrake(brake); //vehicle.SetSteeringAngle(Input.GetAxis("Horizontal")); vehicle.Update(); CameraSensor s = (CameraSensor)vehicle.Sensor(SensorType.SENSOR_TYPE_CAMERA_FRONT); if (s != null) { CameraSensorData d = (CameraSensorData)s.Data; if (d != null) { imageTexture.LoadImage(d.ImageData); cameraDisplay.material.mainTexture = imageTexture; } } status = vehicle.Status; updateSpeedDisplay(); } } else { setGear.gameObject.SetActive(false); brakeSlider.gameObject.SetActive(false); throtleSlider.gameObject.SetActive(false); shownGear.gameObject.SetActive(false); speed.gameObject.SetActive(false);; } }