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;
        }
Example #2
0
        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;
        }
Example #3
0
        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);
        }