示例#1
0
 public void SetBoundingVolume(Vector3 origin, Vector3 extents)
 {
     if (m_MeshSubsystem == null)
     {
         return;
     }
     m_MeshSubsystem.SetBoundingVolume(origin, extents);
 }
        /// <summary>
        /// Applies the configured observation extents.
        /// </summary>
        protected virtual void ConfigureObserverVolume()
        {
            if (meshSubsystem == null ||
                (oldObserverOrigin == ObserverOrigin &&
                 oldObservationExtents == ObservationExtents &&
                 oldObserverVolumeType == ObserverVolumeType))
            {
                return;
            }

            using (ConfigureObserverVolumePerfMarker.Auto())
            {
                // Update the observer
                switch (ObserverVolumeType)
                {
                case VolumeType.AxisAlignedCube:
                    meshSubsystem.SetBoundingVolume(ObserverOrigin, ObservationExtents);
                    break;

                default:
                    Debug.LogError($"Unsupported ObserverVolumeType value {ObserverVolumeType}");
                    break;
                }

                oldObserverOrigin     = ObserverOrigin;
                oldObservationExtents = ObservationExtents;
                oldObserverVolumeType = ObserverVolumeType;
            }
        }