protected override void Initialize() { Controller = GetComponentInParent <IAgentController>(); activeRT = new RenderTexture(Width, Height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) { dimension = TextureDimension.Tex2D, antiAliasing = 1, useMipMap = false, useDynamicScale = false, wrapMode = TextureWrapMode.Clamp, filterMode = FilterMode.Bilinear }; activeRT.Create(); Camera = GetComponentInChildren <Camera>(); Camera.targetTexture = activeRT; Camera.fieldOfView = FieldOfView; Camera.nearClipPlane = MinDistance; Camera.farClipPlane = MaxDistance; Camera.gameObject.GetComponent <HDAdditionalCameraData>().hasPersistentHistory = true; passId = new ShaderTagId("SimulatorSegmentationPass"); SegmentationCamera.fieldOfView = FieldOfView; SegmentationCamera.nearClipPlane = MinDistance; SegmentationCamera.farClipPlane = DetectionRange; SegmentationCamera.gameObject.GetComponent <HDAdditionalCameraData>().customRender += OnSegmentationRender; SegmentationCamera.gameObject.GetComponent <HDAdditionalCameraData>().hasPersistentHistory = true; renderTarget = SensorRenderTarget.Create2D(Width, Height, GraphicsFormat.R8G8B8A8_UNorm); SegmentationCamera.targetTexture = renderTarget; minX = new ComputeBuffer(256, sizeof(uint)); maxX = new ComputeBuffer(256, sizeof(uint)); minY = new ComputeBuffer(256, sizeof(uint)); maxY = new ComputeBuffer(256, sizeof(uint)); AAWireBoxes = gameObject.AddComponent <AAWireBox>(); AAWireBoxes.Camera = Camera; AAWireBoxes.IgnoreUpdates = true; }
void Start() { activeRT = new RenderTexture(Width, Height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) { dimension = UnityEngine.Rendering.TextureDimension.Tex2D, antiAliasing = 1, useMipMap = false, useDynamicScale = false, wrapMode = TextureWrapMode.Clamp, filterMode = FilterMode.Bilinear }; activeRT.Create(); Camera = GetComponentInChildren <Camera>(); Camera.targetTexture = activeRT; Camera.fieldOfView = FieldOfView; Camera.nearClipPlane = MinDistance; Camera.farClipPlane = MaxDistance; SolidAABox = gameObject.AddComponent <AAWireBox>(); SolidAABox.Camera = Camera; }
private void Start() { activeRT = new RenderTexture(Width, Height, 24, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) { dimension = UnityEngine.Rendering.TextureDimension.Tex2D, antiAliasing = 1, useMipMap = false, useDynamicScale = false, wrapMode = TextureWrapMode.Clamp, filterMode = FilterMode.Bilinear }; activeRT.Create(); Camera = GetComponentInChildren <Camera>(); Camera.targetTexture = activeRT; Camera.fieldOfView = FieldOfView; Camera.nearClipPlane = MinDistance; Camera.farClipPlane = MaxDistance; AAWireBoxes = gameObject.AddComponent <AAWireBox>(); AAWireBoxes.Camera = Camera; nextSend = Time.time + 1.0f / Frequency; var radHFOV = 2 * Mathf.Atan(Mathf.Tan(Camera.fieldOfView * Mathf.Deg2Rad / 2) * Camera.aspect); degHFOV = Mathf.Rad2Deg * radHFOV; BoxCollider camBoxCollider = cameraRangeTrigger.GetComponent <BoxCollider>(); camBoxCollider.center = new Vector3(0, 0, DetectionRange / 2f); camBoxCollider.size = new Vector3(2 * Mathf.Tan(radHFOV / 2) * DetectionRange, 3f, DetectionRange); cameraRangeTrigger.SetCallbacks(OnCollider, OnCollider, OnColliderExit); }