78 lines
3.2 KiB
C#
78 lines
3.2 KiB
C#
using UnityEngine;
|
|
|
|
namespace UnityEditor.Rendering.HighDefinition
|
|
{
|
|
class SerializedDensityVolume
|
|
{
|
|
public SerializedProperty densityParams;
|
|
public SerializedProperty albedo;
|
|
public SerializedProperty meanFreePath;
|
|
|
|
public SerializedProperty volumeTexture;
|
|
public SerializedProperty textureScroll;
|
|
public SerializedProperty textureTile;
|
|
|
|
public SerializedProperty size;
|
|
|
|
SerializedProperty positiveFade;
|
|
SerializedProperty negativeFade;
|
|
public SerializedProperty editorPositiveFade;
|
|
public SerializedProperty editorNegativeFade;
|
|
public SerializedProperty editorUniformFade;
|
|
public SerializedProperty editorAdvancedFade;
|
|
public SerializedProperty invertFade;
|
|
|
|
public SerializedProperty distanceFadeStart;
|
|
public SerializedProperty distanceFadeEnd;
|
|
|
|
SerializedObject m_SerializedObject;
|
|
|
|
public SerializedDensityVolume(SerializedObject serializedObject)
|
|
{
|
|
m_SerializedObject = serializedObject;
|
|
|
|
densityParams = m_SerializedObject.FindProperty("parameters");
|
|
|
|
albedo = densityParams.FindPropertyRelative("albedo");
|
|
meanFreePath = densityParams.FindPropertyRelative("meanFreePath");
|
|
|
|
volumeTexture = densityParams.FindPropertyRelative("volumeMask");
|
|
textureScroll = densityParams.FindPropertyRelative("textureScrollingSpeed");
|
|
textureTile = densityParams.FindPropertyRelative("textureTiling");
|
|
|
|
size = densityParams.FindPropertyRelative("size");
|
|
|
|
positiveFade = densityParams.FindPropertyRelative("positiveFade");
|
|
negativeFade = densityParams.FindPropertyRelative("negativeFade");
|
|
|
|
editorPositiveFade = densityParams.FindPropertyRelative("m_EditorPositiveFade");
|
|
editorNegativeFade = densityParams.FindPropertyRelative("m_EditorNegativeFade");
|
|
editorUniformFade = densityParams.FindPropertyRelative("m_EditorUniformFade");
|
|
editorAdvancedFade = densityParams.FindPropertyRelative("m_EditorAdvancedFade");
|
|
|
|
invertFade = densityParams.FindPropertyRelative("invertFade");
|
|
|
|
distanceFadeStart = densityParams.FindPropertyRelative("distanceFadeStart");
|
|
distanceFadeEnd = densityParams.FindPropertyRelative("distanceFadeEnd");
|
|
}
|
|
|
|
public void Apply()
|
|
{
|
|
if (editorAdvancedFade.boolValue)
|
|
{
|
|
positiveFade.vector3Value = editorPositiveFade.vector3Value;
|
|
negativeFade.vector3Value = editorNegativeFade.vector3Value;
|
|
}
|
|
else
|
|
{
|
|
positiveFade.vector3Value = negativeFade.vector3Value = new Vector3(
|
|
size.vector3Value.x > 0.00001 ? 1f - ((size.vector3Value.x - editorUniformFade.floatValue) / size.vector3Value.x) : 0f,
|
|
size.vector3Value.y > 0.00001 ? 1f - ((size.vector3Value.y - editorUniformFade.floatValue) / size.vector3Value.y) : 0f,
|
|
size.vector3Value.z > 0.00001 ? 1f - ((size.vector3Value.z - editorUniformFade.floatValue) / size.vector3Value.z) : 0f
|
|
);
|
|
}
|
|
m_SerializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
}
|