Beispiel #1
0
        protected virtual void Update()
        {
            SensorCamera.fieldOfView   = FieldOfView;
            SensorCamera.nearClipPlane = MinDistance;
            SensorCamera.farClipPlane  = MaxDistance;

            if (Distorted)
            {
                CheckDistortion();
            }

            while (Tasks.Count > 0 && Tasks.Peek().IsCompleted)
            {
                Tasks.Dequeue();
            }

            CheckTexture();
            CheckCapture();

            if (CameraInfoPublish != null)
            {
                InitCameraInfoData();
            }

            ReadbackPool.Process();
        }
Beispiel #2
0
        private void CheckCapture()
        {
            if (Time.time >= NextCaptureTime)
            {
                RenderCamera();
                ReadbackPool.StartReadback(PointCloudBuffer);

                if (NextCaptureTime < Time.time - Time.deltaTime)
                {
                    NextCaptureTime = Time.time + 1.0f / RotationFrequency;
                }
                else
                {
                    NextCaptureTime += 1.0f / RotationFrequency;
                }
            }

            ReadbackPool.Process();
        }