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(); }
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(); }