您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
69 行
3.1 KiB
69 行
3.1 KiB
using UnityEngine.Serialization;
|
|
using UnityEngine.Experimental.Rendering.HDPipeline;
|
|
using System;
|
|
|
|
namespace UnityEngine.Experimental.Rendering
|
|
{
|
|
[RequireComponent(typeof(ReflectionProbe))]
|
|
public class HDAdditionalReflectionData : MonoBehaviour, ISerializationCallbackReceiver
|
|
{
|
|
[HideInInspector]
|
|
const int currentVersion = 1;
|
|
|
|
[SerializeField, FormerlySerializedAs("version")]
|
|
int m_Version;
|
|
|
|
public ShapeType influenceShape;
|
|
[FormerlySerializedAsAttribute("dimmer")]
|
|
public float multiplier = 1.0f;
|
|
[Range(0.0f, 1.0f)]
|
|
public float weight = 1.0f;
|
|
public float influenceSphereRadius = 3.0f;
|
|
public float sphereReprojectionVolumeRadius = 1.0f;
|
|
public bool useSeparateProjectionVolume = false;
|
|
public Vector3 boxReprojectionVolumeSize = Vector3.one;
|
|
public Vector3 boxReprojectionVolumeCenter = Vector3.zero;
|
|
public float maxSearchDistance = 8.0f;
|
|
public Texture previewCubemap;
|
|
public Vector3 blendDistancePositive = Vector3.zero;
|
|
public Vector3 blendDistanceNegative = Vector3.zero;
|
|
public Vector3 blendNormalDistancePositive = Vector3.zero;
|
|
public Vector3 blendNormalDistanceNegative = Vector3.zero;
|
|
public Vector3 boxSideFadePositive = Vector3.one;
|
|
public Vector3 boxSideFadeNegative = Vector3.one;
|
|
|
|
//editor value that need to be saved for easy passing from simplified to advanced and vice et versa
|
|
// /!\ must not be used outside editor code
|
|
[SerializeField] private Vector3 editorAdvancedModeBlendDistancePositive;
|
|
[SerializeField] private Vector3 editorAdvancedModeBlendDistanceNegative;
|
|
[SerializeField] private float editorSimplifiedModeBlendDistance;
|
|
[SerializeField] private Vector3 editorAdvancedModeBlendNormalDistancePositive;
|
|
[SerializeField] private Vector3 editorAdvancedModeBlendNormalDistanceNegative;
|
|
[SerializeField] private float editorSimplifiedModeBlendNormalDistance;
|
|
[SerializeField] private bool editorAdvancedModeEnabled;
|
|
|
|
public ReflectionProxyVolumeComponent proxyVolumeComponent;
|
|
|
|
public Vector3 boxBlendCenterOffset { get { return (blendDistanceNegative - blendDistancePositive) * 0.5f; } }
|
|
public Vector3 boxBlendSizeOffset { get { return -(blendDistancePositive + blendDistanceNegative); } }
|
|
public Vector3 boxBlendNormalCenterOffset { get { return (blendNormalDistanceNegative - blendNormalDistancePositive) * 0.5f; } }
|
|
public Vector3 boxBlendNormalSizeOffset { get { return -(blendNormalDistancePositive + blendNormalDistanceNegative); } }
|
|
|
|
|
|
public float sphereBlendRadiusOffset { get { return -blendDistancePositive.x; } }
|
|
public float sphereBlendNormalRadiusOffset { get { return -blendNormalDistancePositive.x; } }
|
|
|
|
public void OnBeforeSerialize()
|
|
{
|
|
}
|
|
|
|
public void OnAfterDeserialize()
|
|
{
|
|
if (m_Version != currentVersion)
|
|
{
|
|
// Add here data migration code
|
|
m_Version = currentVersion;
|
|
}
|
|
}
|
|
}
|
|
}
|