using UnityEngine.Rendering; using UnityEngine.Serialization; namespace UnityEngine.Experimental.Rendering.HDPipeline { [ExecuteInEditMode] public abstract class HDProbe : MonoBehaviour, ISerializationCallbackReceiver { [SerializeField, FormerlySerializedAs("proxyVolumeComponent"), FormerlySerializedAs("m_ProxyVolumeReference")] ReflectionProxyVolumeComponent m_ProxyVolume = null; [SerializeField] InfluenceVolume m_InfluenceVolume; [SerializeField, FormerlySerializedAsAttribute("dimmer"), FormerlySerializedAsAttribute("m_Dimmer"), FormerlySerializedAsAttribute("multiplier")] float m_Multiplier = 1.0f; [SerializeField, FormerlySerializedAsAttribute("weight")] [Range(0.0f, 1.0f)] float m_Weight = 1.0f; [SerializeField] ReflectionProbeMode m_Mode = ReflectionProbeMode.Baked; [SerializeField] ReflectionProbeRefreshMode m_RefreshMode = ReflectionProbeRefreshMode.OnAwake; /// ProxyVolume currently used by this probe. public ReflectionProxyVolumeComponent proxyVolume { get { return m_ProxyVolume; } } /// InfluenceVolume of the probe. public InfluenceVolume influenceVolume { get { return m_InfluenceVolume; } private set { m_InfluenceVolume = value; } } /// Multiplier factor of reflection (non PBR parameter). public float multiplier { get { return m_Multiplier; } } /// Weight for blending amongst probes (non PBR parameter). public float weight { get { return m_Weight; } } /// The capture mode. public virtual ReflectionProbeMode mode { get { return m_Mode; } set { m_Mode = value; } } /// Refreshing rate of the capture for Realtime capture mode. public virtual ReflectionProbeRefreshMode refreshMode { get { return m_RefreshMode; } set { m_RefreshMode = value; } } <<<<<<< HEAD void Awake() ======= internal void Awake() >>>>>>> HDRP/staging { if (influenceVolume == null) influenceVolume = new InfluenceVolume(); influenceVolume.Init(this); } void ISerializationCallbackReceiver.OnBeforeSerialize() { } void ISerializationCallbackReceiver.OnAfterDeserialize() { influenceVolume.Init(this); } internal virtual void UpdatedInfluenceVolumeShape(Vector3 size, Vector3 offset) { } } }