parent
2f240e0e6f
commit
650d2ee113
492 changed files with 883 additions and 43746 deletions
File diff suppressed because it is too large
Load Diff
@ -1,345 +0,0 @@ |
|||||||
%YAML 1.1 |
|
||||||
%TAG !u! tag:unity3d.com,2011: |
|
||||||
--- !u!114 &11400000 |
|
||||||
MonoBehaviour: |
|
||||||
m_ObjectHideFlags: 0 |
|
||||||
m_CorrespondingSourceObject: {fileID: 0} |
|
||||||
m_PrefabInstance: {fileID: 0} |
|
||||||
m_PrefabAsset: {fileID: 0} |
|
||||||
m_GameObject: {fileID: 0} |
|
||||||
m_Enabled: 1 |
|
||||||
m_EditorHideFlags: 0 |
|
||||||
m_Script: {fileID: 11500000, guid: 8a3bdb2cd68f901469e7cc149151eb49, type: 3} |
|
||||||
m_Name: PostProcessingProfile |
|
||||||
m_EditorClassIdentifier: |
|
||||||
debugViews: |
|
||||||
m_Enabled: 1 |
|
||||||
m_Settings: |
|
||||||
mode: 0 |
|
||||||
depth: |
|
||||||
scale: 1 |
|
||||||
motionVectors: |
|
||||||
sourceOpacity: 1 |
|
||||||
motionImageOpacity: 0 |
|
||||||
motionImageAmplitude: 16 |
|
||||||
motionVectorsOpacity: 1 |
|
||||||
motionVectorsResolution: 24 |
|
||||||
motionVectorsAmplitude: 64 |
|
||||||
fog: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
excludeSkybox: 1 |
|
||||||
antialiasing: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
method: 1 |
|
||||||
fxaaSettings: |
|
||||||
preset: 3 |
|
||||||
taaSettings: |
|
||||||
jitterSpread: 0.25 |
|
||||||
sharpen: 1 |
|
||||||
stationaryBlending: 0.95 |
|
||||||
motionBlending: 0.75 |
|
||||||
ambientOcclusion: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
intensity: 1 |
|
||||||
radius: 0.3 |
|
||||||
sampleCount: 10 |
|
||||||
downsampling: 1 |
|
||||||
forceForwardCompatibility: 0 |
|
||||||
ambientOnly: 0 |
|
||||||
highPrecision: 0 |
|
||||||
screenSpaceReflection: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
reflection: |
|
||||||
blendType: 0 |
|
||||||
reflectionQuality: 2 |
|
||||||
maxDistance: 100 |
|
||||||
iterationCount: 256 |
|
||||||
stepSize: 3 |
|
||||||
widthModifier: 0.5 |
|
||||||
reflectionBlur: 1 |
|
||||||
reflectBackfaces: 0 |
|
||||||
intensity: |
|
||||||
reflectionMultiplier: 1 |
|
||||||
fadeDistance: 100 |
|
||||||
fresnelFade: 1 |
|
||||||
fresnelFadePower: 1 |
|
||||||
screenEdgeMask: |
|
||||||
intensity: 0.03 |
|
||||||
depthOfField: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
focusDistance: 10 |
|
||||||
aperture: 5.6 |
|
||||||
focalLength: 50 |
|
||||||
useCameraFov: 0 |
|
||||||
kernelSize: 1 |
|
||||||
motionBlur: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
shutterAngle: 270 |
|
||||||
sampleCount: 10 |
|
||||||
frameBlending: 0 |
|
||||||
eyeAdaptation: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
lowPercent: 45 |
|
||||||
highPercent: 95 |
|
||||||
minLuminance: -5 |
|
||||||
maxLuminance: 1 |
|
||||||
keyValue: 0.25 |
|
||||||
dynamicKeyValue: 1 |
|
||||||
adaptationType: 0 |
|
||||||
speedUp: 2 |
|
||||||
speedDown: 1 |
|
||||||
logMin: -8 |
|
||||||
logMax: 4 |
|
||||||
bloom: |
|
||||||
m_Enabled: 1 |
|
||||||
m_Settings: |
|
||||||
bloom: |
|
||||||
intensity: 1 |
|
||||||
threshold: 1.1 |
|
||||||
softKnee: 0.5 |
|
||||||
radius: 4 |
|
||||||
antiFlicker: 0 |
|
||||||
lensDirt: |
|
||||||
texture: {fileID: 0} |
|
||||||
intensity: 0 |
|
||||||
colorGrading: |
|
||||||
m_Enabled: 1 |
|
||||||
m_Settings: |
|
||||||
tonemapping: |
|
||||||
tonemapper: 1 |
|
||||||
neutralBlackIn: 0.02 |
|
||||||
neutralWhiteIn: 10 |
|
||||||
neutralBlackOut: 0 |
|
||||||
neutralWhiteOut: 10 |
|
||||||
neutralWhiteLevel: 5.3 |
|
||||||
neutralWhiteClip: 10 |
|
||||||
basic: |
|
||||||
postExposure: 0 |
|
||||||
temperature: 0 |
|
||||||
tint: 0 |
|
||||||
hueShift: 0 |
|
||||||
saturation: 1 |
|
||||||
contrast: 1 |
|
||||||
channelMixer: |
|
||||||
red: {x: 1, y: 0, z: 0} |
|
||||||
green: {x: 0, y: 1, z: 0} |
|
||||||
blue: {x: 0, y: 0, z: 1} |
|
||||||
currentEditingChannel: 0 |
|
||||||
colorWheels: |
|
||||||
mode: 1 |
|
||||||
log: |
|
||||||
slope: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
power: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
offset: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
linear: |
|
||||||
lift: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
gamma: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
gain: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
curves: |
|
||||||
master: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 0 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
red: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
green: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
blue: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
hueVShue: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 1 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
hueVSsat: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 1 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
satVSsat: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
lumVSsat: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
e_CurrentEditingCurve: 0 |
|
||||||
e_CurveY: 1 |
|
||||||
e_CurveR: 1 |
|
||||||
e_CurveG: 0 |
|
||||||
e_CurveB: 1 |
|
||||||
userLut: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
lut: {fileID: 0} |
|
||||||
contribution: 1 |
|
||||||
chromaticAberration: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
spectralTexture: {fileID: 0} |
|
||||||
intensity: 0.1 |
|
||||||
grain: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
colored: 1 |
|
||||||
intensity: 0.5 |
|
||||||
size: 1 |
|
||||||
luminanceContribution: 0.8 |
|
||||||
vignette: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
mode: 0 |
|
||||||
color: {r: 0, g: 0, b: 0, a: 1} |
|
||||||
center: {x: 0.5, y: 0.5} |
|
||||||
intensity: 0.45 |
|
||||||
smoothness: 0.2 |
|
||||||
roundness: 1 |
|
||||||
mask: {fileID: 0} |
|
||||||
opacity: 1 |
|
||||||
rounded: 0 |
|
||||||
dithering: |
|
||||||
m_Enabled: 0 |
|
||||||
monitors: |
|
||||||
currentMonitorID: 0 |
|
||||||
refreshOnPlay: 0 |
|
||||||
histogramMode: 3 |
|
||||||
waveformExposure: 0.12 |
|
||||||
waveformY: 0 |
|
||||||
waveformR: 1 |
|
||||||
waveformG: 1 |
|
||||||
waveformB: 1 |
|
||||||
paradeExposure: 0.12 |
|
||||||
vectorscopeExposure: 0.12 |
|
||||||
vectorscopeShowBackground: 1 |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: ff44c5fab81a8cc4daf9eff6f4695c47 |
|
||||||
timeCreated: 1523612465 |
|
||||||
licenseType: Free |
|
||||||
NativeFormatImporter: |
|
||||||
externalObjects: {} |
|
||||||
mainObjectFileID: 11400000 |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,345 +0,0 @@ |
|||||||
%YAML 1.1 |
|
||||||
%TAG !u! tag:unity3d.com,2011: |
|
||||||
--- !u!114 &11400000 |
|
||||||
MonoBehaviour: |
|
||||||
m_ObjectHideFlags: 0 |
|
||||||
m_CorrespondingSourceObject: {fileID: 0} |
|
||||||
m_PrefabInstance: {fileID: 0} |
|
||||||
m_PrefabAsset: {fileID: 0} |
|
||||||
m_GameObject: {fileID: 0} |
|
||||||
m_Enabled: 1 |
|
||||||
m_EditorHideFlags: 0 |
|
||||||
m_Script: {fileID: 11500000, guid: 8a3bdb2cd68f901469e7cc149151eb49, type: 3} |
|
||||||
m_Name: ScenePostProcessingProfile |
|
||||||
m_EditorClassIdentifier: |
|
||||||
debugViews: |
|
||||||
m_Enabled: 1 |
|
||||||
m_Settings: |
|
||||||
mode: 0 |
|
||||||
depth: |
|
||||||
scale: 1 |
|
||||||
motionVectors: |
|
||||||
sourceOpacity: 1 |
|
||||||
motionImageOpacity: 0 |
|
||||||
motionImageAmplitude: 16 |
|
||||||
motionVectorsOpacity: 1 |
|
||||||
motionVectorsResolution: 24 |
|
||||||
motionVectorsAmplitude: 64 |
|
||||||
fog: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
excludeSkybox: 1 |
|
||||||
antialiasing: |
|
||||||
m_Enabled: 1 |
|
||||||
m_Settings: |
|
||||||
method: 1 |
|
||||||
fxaaSettings: |
|
||||||
preset: 2 |
|
||||||
taaSettings: |
|
||||||
jitterSpread: 0.25 |
|
||||||
sharpen: 1.5 |
|
||||||
stationaryBlending: 0.95 |
|
||||||
motionBlending: 0.85 |
|
||||||
ambientOcclusion: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
intensity: 1 |
|
||||||
radius: 0.3 |
|
||||||
sampleCount: 10 |
|
||||||
downsampling: 1 |
|
||||||
forceForwardCompatibility: 0 |
|
||||||
ambientOnly: 0 |
|
||||||
highPrecision: 0 |
|
||||||
screenSpaceReflection: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
reflection: |
|
||||||
blendType: 0 |
|
||||||
reflectionQuality: 2 |
|
||||||
maxDistance: 100 |
|
||||||
iterationCount: 256 |
|
||||||
stepSize: 3 |
|
||||||
widthModifier: 0.5 |
|
||||||
reflectionBlur: 1 |
|
||||||
reflectBackfaces: 0 |
|
||||||
intensity: |
|
||||||
reflectionMultiplier: 1 |
|
||||||
fadeDistance: 100 |
|
||||||
fresnelFade: 1 |
|
||||||
fresnelFadePower: 1 |
|
||||||
screenEdgeMask: |
|
||||||
intensity: 0.03 |
|
||||||
depthOfField: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
focusDistance: 10 |
|
||||||
aperture: 5.6 |
|
||||||
focalLength: 50 |
|
||||||
useCameraFov: 0 |
|
||||||
kernelSize: 1 |
|
||||||
motionBlur: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
shutterAngle: 270 |
|
||||||
sampleCount: 10 |
|
||||||
frameBlending: 0 |
|
||||||
eyeAdaptation: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
lowPercent: 45 |
|
||||||
highPercent: 95 |
|
||||||
minLuminance: -5 |
|
||||||
maxLuminance: 1 |
|
||||||
keyValue: 0.25 |
|
||||||
dynamicKeyValue: 1 |
|
||||||
adaptationType: 0 |
|
||||||
speedUp: 2 |
|
||||||
speedDown: 1 |
|
||||||
logMin: -8 |
|
||||||
logMax: 4 |
|
||||||
bloom: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
bloom: |
|
||||||
intensity: 0.5 |
|
||||||
threshold: 1.1 |
|
||||||
softKnee: 0.5 |
|
||||||
radius: 4 |
|
||||||
antiFlicker: 0 |
|
||||||
lensDirt: |
|
||||||
texture: {fileID: 0} |
|
||||||
intensity: 3 |
|
||||||
colorGrading: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
tonemapping: |
|
||||||
tonemapper: 0 |
|
||||||
neutralBlackIn: 0.02 |
|
||||||
neutralWhiteIn: 10 |
|
||||||
neutralBlackOut: 0 |
|
||||||
neutralWhiteOut: 10 |
|
||||||
neutralWhiteLevel: 5.3 |
|
||||||
neutralWhiteClip: 10 |
|
||||||
basic: |
|
||||||
postExposure: 0 |
|
||||||
temperature: 0 |
|
||||||
tint: 0 |
|
||||||
hueShift: 0 |
|
||||||
saturation: 1 |
|
||||||
contrast: 1 |
|
||||||
channelMixer: |
|
||||||
red: {x: 1, y: 0, z: 0} |
|
||||||
green: {x: 0, y: 1, z: 0} |
|
||||||
blue: {x: 0, y: 0, z: 1} |
|
||||||
currentEditingChannel: 0 |
|
||||||
colorWheels: |
|
||||||
mode: 1 |
|
||||||
log: |
|
||||||
slope: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
power: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
offset: {r: 1, g: 1, b: 1, a: 0} |
|
||||||
linear: |
|
||||||
lift: {r: 0, g: 0, b: 0, a: 0} |
|
||||||
gamma: {r: 0, g: 0, b: 0, a: 0} |
|
||||||
gain: {r: 0, g: 0, b: 0, a: 0} |
|
||||||
curves: |
|
||||||
master: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 0 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
red: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
green: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
blue: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 0 |
|
||||||
value: 0 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
- serializedVersion: 3 |
|
||||||
time: 1 |
|
||||||
value: 1 |
|
||||||
inSlope: 1 |
|
||||||
outSlope: 1 |
|
||||||
tangentMode: 0 |
|
||||||
weightedMode: 0 |
|
||||||
inWeight: 0.33333334 |
|
||||||
outWeight: 0.33333334 |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0 |
|
||||||
m_Range: 1 |
|
||||||
hueVShue: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 1 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
hueVSsat: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 1 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
satVSsat: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
lumVSsat: |
|
||||||
curve: |
|
||||||
serializedVersion: 2 |
|
||||||
m_Curve: [] |
|
||||||
m_PreInfinity: 2 |
|
||||||
m_PostInfinity: 2 |
|
||||||
m_RotationOrder: 4 |
|
||||||
m_Loop: 0 |
|
||||||
m_ZeroValue: 0.5 |
|
||||||
m_Range: 1 |
|
||||||
e_CurrentEditingCurve: 0 |
|
||||||
e_CurveY: 1 |
|
||||||
e_CurveR: 0 |
|
||||||
e_CurveG: 0 |
|
||||||
e_CurveB: 0 |
|
||||||
userLut: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
lut: {fileID: 0} |
|
||||||
contribution: 1 |
|
||||||
chromaticAberration: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
spectralTexture: {fileID: 0} |
|
||||||
intensity: 0.1 |
|
||||||
grain: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
colored: 1 |
|
||||||
intensity: 0.5 |
|
||||||
size: 1 |
|
||||||
luminanceContribution: 0.8 |
|
||||||
vignette: |
|
||||||
m_Enabled: 0 |
|
||||||
m_Settings: |
|
||||||
mode: 0 |
|
||||||
color: {r: 0, g: 0, b: 0, a: 1} |
|
||||||
center: {x: 0.5, y: 0.5} |
|
||||||
intensity: 0.45 |
|
||||||
smoothness: 0.2 |
|
||||||
roundness: 1 |
|
||||||
mask: {fileID: 0} |
|
||||||
opacity: 1 |
|
||||||
rounded: 0 |
|
||||||
dithering: |
|
||||||
m_Enabled: 0 |
|
||||||
monitors: |
|
||||||
currentMonitorID: 0 |
|
||||||
refreshOnPlay: 0 |
|
||||||
histogramMode: 3 |
|
||||||
waveformExposure: 0.12 |
|
||||||
waveformY: 0 |
|
||||||
waveformR: 1 |
|
||||||
waveformG: 1 |
|
||||||
waveformB: 1 |
|
||||||
paradeExposure: 0.12 |
|
||||||
vectorscopeExposure: 0.12 |
|
||||||
vectorscopeShowBackground: 1 |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 1d3b72be06e9f684191b48e995873069 |
|
||||||
timeCreated: 1529832591 |
|
||||||
licenseType: Free |
|
||||||
NativeFormatImporter: |
|
||||||
externalObjects: {} |
|
||||||
mainObjectFileID: 11400000 |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,13 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e14988301cb7dbb4d8025f9576b3d588 |
|
||||||
timeCreated: 1529738981 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
externalObjects: {} |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: dbd10950df0adc94eb7142f72a6c1fc9 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1488792029 |
|
||||||
licenseType: Free |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 32247012452d495479095d8b032264d1 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1491391307 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: dfddeb1649eab3b41ad1f36fcdf69b33 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1483614615 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e75157a9b8f37c04d9c9b2bdf9a50df5 |
|
||||||
timeCreated: 1491383177 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 5196575afbba0794c839d6ac770b6245 |
|
||||||
timeCreated: 1490759449 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 5fa0ef9aaf78b994ea69d3ec599c8402 |
|
||||||
timeCreated: 1490856093 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 0bb82887678dc9f48b86a9b76554abcc |
|
||||||
timeCreated: 1490861006 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 3d2704de689d7d34ba0dcbcaa373c3ca |
|
||||||
timeCreated: 1490858139 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e0ec609def77c4c47a0be67baabb1219 |
|
||||||
timeCreated: 1483614631 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 2f0861ad244603f4bba0741c3aed30c4 |
|
||||||
timeCreated: 1491382781 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 459e7a8a162b1384aa051f3c3b1b8de1 |
|
||||||
timeCreated: 1490759720 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 2b4bb4cbd9017664cae1bbaf931a56ae |
|
||||||
timeCreated: 1490856308 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 83977cbf17e455347b5c2b60d92c4fb5 |
|
||||||
timeCreated: 1490771897 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e78fe1848b0a18c4e9e458a8fbb3980f |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1475564932 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
Binary file not shown.
@ -1,24 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 9b38a4b49602ec0418e6a14675b7f2b2 |
|
||||||
timeCreated: 1457683810 |
|
||||||
licenseType: Pro |
|
||||||
PluginImporter: |
|
||||||
serializedVersion: 1 |
|
||||||
iconMap: {} |
|
||||||
executionOrder: {} |
|
||||||
isPreloaded: 0 |
|
||||||
platformData: |
|
||||||
Any: |
|
||||||
enabled: 1 |
|
||||||
settings: {} |
|
||||||
Editor: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
DefaultValueInitialized: true |
|
||||||
WindowsStoreApps: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,8 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 4c2f0571be9e2da48a1bc280a1317d6d |
|
||||||
timeCreated: 1484278504 |
|
||||||
licenseType: Free |
|
||||||
TextScriptImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,8 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 134f27287120b5a4f88fe738d3847874 |
|
||||||
folderAsset: yes |
|
||||||
DefaultImporter: |
|
||||||
externalObjects: {} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,8 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 300743055358bfc48a753441b44a31e4 |
|
||||||
folderAsset: yes |
|
||||||
DefaultImporter: |
|
||||||
externalObjects: {} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
Binary file not shown.
@ -1,76 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: d10f5e2a5b57a7c40a3f71fb68fc1314 |
|
||||||
PluginImporter: |
|
||||||
externalObjects: {} |
|
||||||
serializedVersion: 2 |
|
||||||
iconMap: {} |
|
||||||
executionOrder: {} |
|
||||||
defineConstraints: [] |
|
||||||
isPreloaded: 0 |
|
||||||
isOverridable: 0 |
|
||||||
isExplicitlyReferenced: 0 |
|
||||||
validateReferences: 1 |
|
||||||
platformData: |
|
||||||
- first: |
|
||||||
Any: |
|
||||||
second: |
|
||||||
enabled: 1 |
|
||||||
settings: {} |
|
||||||
- first: |
|
||||||
Editor: Editor |
|
||||||
second: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: x86_64 |
|
||||||
DefaultValueInitialized: true |
|
||||||
- first: |
|
||||||
Facebook: Win |
|
||||||
second: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
- first: |
|
||||||
Facebook: Win64 |
|
||||||
second: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
- first: |
|
||||||
Standalone: Linux |
|
||||||
second: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
- first: |
|
||||||
Standalone: Linux64 |
|
||||||
second: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: x86_64 |
|
||||||
- first: |
|
||||||
Standalone: LinuxUniversal |
|
||||||
second: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: x86_64 |
|
||||||
- first: |
|
||||||
Standalone: OSXUniversal |
|
||||||
second: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: x86_64 |
|
||||||
- first: |
|
||||||
Standalone: Win |
|
||||||
second: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
- first: |
|
||||||
Standalone: Win64 |
|
||||||
second: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
Binary file not shown.
@ -1,68 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 5833ef58a5a1cf1438080d6b906f142b |
|
||||||
timeCreated: 1491359489 |
|
||||||
licenseType: Free |
|
||||||
PluginImporter: |
|
||||||
serializedVersion: 1 |
|
||||||
iconMap: {} |
|
||||||
executionOrder: {} |
|
||||||
isPreloaded: 0 |
|
||||||
isOverridable: 0 |
|
||||||
platformData: |
|
||||||
Any: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
Exclude Editor: 0 |
|
||||||
Exclude Linux: 1 |
|
||||||
Exclude Linux64: 1 |
|
||||||
Exclude LinuxUniversal: 1 |
|
||||||
Exclude OSXIntel: 1 |
|
||||||
Exclude OSXIntel64: 1 |
|
||||||
Exclude OSXUniversal: 1 |
|
||||||
Exclude Win: 1 |
|
||||||
Exclude Win64: 0 |
|
||||||
Editor: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: x86_64 |
|
||||||
DefaultValueInitialized: true |
|
||||||
OS: Windows |
|
||||||
Linux: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
Linux64: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
LinuxUniversal: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
OSXIntel: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
OSXIntel64: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
OSXUniversal: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
Win: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
Win64: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
WindowsStoreApps: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
Binary file not shown.
@ -1,68 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 7e190d795319c5e4d80414ccd11f5e2e |
|
||||||
timeCreated: 1491359490 |
|
||||||
licenseType: Free |
|
||||||
PluginImporter: |
|
||||||
serializedVersion: 1 |
|
||||||
iconMap: {} |
|
||||||
executionOrder: {} |
|
||||||
isPreloaded: 0 |
|
||||||
isOverridable: 0 |
|
||||||
platformData: |
|
||||||
Any: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
Exclude Editor: 0 |
|
||||||
Exclude Linux: 1 |
|
||||||
Exclude Linux64: 1 |
|
||||||
Exclude LinuxUniversal: 1 |
|
||||||
Exclude OSXIntel: 1 |
|
||||||
Exclude OSXIntel64: 1 |
|
||||||
Exclude OSXUniversal: 1 |
|
||||||
Exclude Win: 1 |
|
||||||
Exclude Win64: 0 |
|
||||||
Editor: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: x86_64 |
|
||||||
DefaultValueInitialized: true |
|
||||||
OS: Windows |
|
||||||
Linux: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
Linux64: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
LinuxUniversal: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
OSXIntel: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
OSXIntel64: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
OSXUniversal: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
Win: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: None |
|
||||||
Win64: |
|
||||||
enabled: 1 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
WindowsStoreApps: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
Binary file not shown.
@ -1,24 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: dd54d6b401aec694696f67716390d453 |
|
||||||
timeCreated: 1479266397 |
|
||||||
licenseType: Pro |
|
||||||
PluginImporter: |
|
||||||
serializedVersion: 1 |
|
||||||
iconMap: {} |
|
||||||
executionOrder: {} |
|
||||||
isPreloaded: 0 |
|
||||||
platformData: |
|
||||||
Any: |
|
||||||
enabled: 1 |
|
||||||
settings: {} |
|
||||||
Editor: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
DefaultValueInitialized: true |
|
||||||
WindowsStoreApps: |
|
||||||
enabled: 0 |
|
||||||
settings: |
|
||||||
CPU: AnyCPU |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 12013f7b8f9acdb4aa44e67fa6c5aa97 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1498216648 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 83715878d3a8db441aa5636641db69a3 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1476176392 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e7358848dd8737c459f4636f1c075835 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1460361782 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,91 +0,0 @@ |
|||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
RWStructuredBuffer<uint4> _Histogram; |
|
||||||
Texture2D<float4> _Source; |
|
||||||
|
|
||||||
CBUFFER_START (Params) |
|
||||||
uint _IsLinear; |
|
||||||
float4 _Res; |
|
||||||
uint4 _Channels; |
|
||||||
CBUFFER_END |
|
||||||
|
|
||||||
groupshared uint4 gs_histogram[256]; |
|
||||||
|
|
||||||
#define GROUP_SIZE 16 |
|
||||||
|
|
||||||
#pragma kernel KHistogramGather |
|
||||||
[numthreads(GROUP_SIZE, GROUP_SIZE,1)] |
|
||||||
void KHistogramGather(uint2 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID) |
|
||||||
{ |
|
||||||
const uint localThreadId = groupThreadId.y * GROUP_SIZE + groupThreadId.x; |
|
||||||
|
|
||||||
if (localThreadId < 256) |
|
||||||
gs_histogram[localThreadId] = uint4(0, 0, 0, 0); |
|
||||||
|
|
||||||
GroupMemoryBarrierWithGroupSync(); |
|
||||||
|
|
||||||
if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) |
|
||||||
{ |
|
||||||
// We want a gamma histogram (like Photoshop & all) |
|
||||||
float3 color = saturate(_Source[dispatchThreadId].xyz); |
|
||||||
if (_IsLinear > 0) |
|
||||||
color = LinearToGammaSpace(color); |
|
||||||
|
|
||||||
// Convert color & luminance to histogram bin |
|
||||||
uint3 idx_c = (uint3)(round(color * 255.0)); |
|
||||||
uint idx_l = (uint)(round(dot(color.rgb, float3(0.2125, 0.7154, 0.0721)) * 255.0)); |
|
||||||
|
|
||||||
// Fill the group shared histogram |
|
||||||
if (_Channels.x > 0u) InterlockedAdd(gs_histogram[idx_c.x].x, 1); // Red |
|
||||||
if (_Channels.y > 0u) InterlockedAdd(gs_histogram[idx_c.y].y, 1); // Green |
|
||||||
if (_Channels.z > 0u) InterlockedAdd(gs_histogram[idx_c.z].z, 1); // Blue |
|
||||||
if (_Channels.w > 0u) InterlockedAdd(gs_histogram[idx_l].w, 1); // Luminance |
|
||||||
} |
|
||||||
|
|
||||||
GroupMemoryBarrierWithGroupSync(); |
|
||||||
|
|
||||||
// Merge |
|
||||||
if (localThreadId < 256) |
|
||||||
{ |
|
||||||
uint4 h = gs_histogram[localThreadId]; |
|
||||||
if (_Channels.x > 0u && h.x > 0) InterlockedAdd(_Histogram[localThreadId].x, h.x); // Red |
|
||||||
if (_Channels.y > 0u && h.y > 0) InterlockedAdd(_Histogram[localThreadId].y, h.y); // Green |
|
||||||
if (_Channels.z > 0u && h.z > 0) InterlockedAdd(_Histogram[localThreadId].z, h.z); // Blue |
|
||||||
if (_Channels.w > 0u && h.w > 0) InterlockedAdd(_Histogram[localThreadId].w, h.w); // Luminance |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Scaling pass |
|
||||||
groupshared uint4 gs_pyramid[256]; |
|
||||||
|
|
||||||
#pragma kernel KHistogramScale |
|
||||||
[numthreads(16,16,1)] |
|
||||||
void KHistogramScale(uint2 groupThreadId : SV_GroupThreadID) |
|
||||||
{ |
|
||||||
const uint localThreadId = groupThreadId.y * 16 + groupThreadId.x; |
|
||||||
gs_pyramid[localThreadId] = _Histogram[localThreadId]; |
|
||||||
|
|
||||||
GroupMemoryBarrierWithGroupSync(); |
|
||||||
|
|
||||||
// Parallel reduction to find the max value |
|
||||||
UNITY_UNROLL |
|
||||||
for(uint i = 256 >> 1; i > 0; i >>= 1) |
|
||||||
{ |
|
||||||
if(localThreadId < i) |
|
||||||
gs_pyramid[localThreadId] = max(gs_pyramid[localThreadId], gs_pyramid[localThreadId + i]); |
|
||||||
|
|
||||||
GroupMemoryBarrierWithGroupSync(); |
|
||||||
} |
|
||||||
|
|
||||||
// Actual scaling |
|
||||||
float4 factor = _Res.y / (float4)gs_pyramid[0]; |
|
||||||
_Histogram[localThreadId] = (uint4)round(_Histogram[localThreadId] * factor); |
|
||||||
} |
|
||||||
|
|
||||||
#pragma kernel KHistogramClear |
|
||||||
[numthreads(GROUP_SIZE, GROUP_SIZE, 1)] |
|
||||||
void KHistogramClear(uint2 dispatchThreadId : SV_DispatchThreadID) |
|
||||||
{ |
|
||||||
if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) |
|
||||||
_Histogram[dispatchThreadId.y * _Res.x + dispatchThreadId.x] = uint4(0u, 0u, 0u, 0u); |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 51b7e4b4448c98f4a849081110fd6212 |
|
||||||
timeCreated: 1459956391 |
|
||||||
licenseType: Pro |
|
||||||
ComputeShaderImporter: |
|
||||||
currentAPIMask: 4 |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,141 +0,0 @@ |
|||||||
Shader "Hidden/Post FX/Monitors/Histogram Render" |
|
||||||
{ |
|
||||||
SubShader |
|
||||||
{ |
|
||||||
ZTest Always Cull Off ZWrite Off |
|
||||||
Fog { Mode off } |
|
||||||
|
|
||||||
CGINCLUDE |
|
||||||
|
|
||||||
#pragma fragmentoption ARB_precision_hint_fastest |
|
||||||
#pragma target 5.0 |
|
||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
StructuredBuffer<uint4> _Histogram; |
|
||||||
float2 _Size; |
|
||||||
uint _Channel; |
|
||||||
float4 _ColorR; |
|
||||||
float4 _ColorG; |
|
||||||
float4 _ColorB; |
|
||||||
float4 _ColorL; |
|
||||||
|
|
||||||
float4 FragSingleChannel(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
const float4 COLORS[4] = { _ColorR, _ColorG, _ColorB, _ColorL }; |
|
||||||
|
|
||||||
float remapI = i.uv.x * 255.0; |
|
||||||
uint index = floor(remapI); |
|
||||||
float delta = frac(remapI); |
|
||||||
float v1 = _Histogram[index][_Channel]; |
|
||||||
float v2 = _Histogram[min(index + 1, 255)][_Channel]; |
|
||||||
float h = v1 * (1.0 - delta) + v2 * delta; |
|
||||||
uint y = (uint)round(i.uv.y * _Size.y); |
|
||||||
|
|
||||||
float4 color = float4(0.1, 0.1, 0.1, 1.0); |
|
||||||
float fill = step(y, h); |
|
||||||
color = lerp(color, COLORS[_Channel], fill); |
|
||||||
return color; |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragRgbMerged(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
const float4 COLORS[3] = { _ColorR, _ColorG, _ColorB }; |
|
||||||
|
|
||||||
float4 targetColor = float4(0.1, 0.1, 0.1, 1.0); |
|
||||||
float4 emptyColor = float4(0.0, 0.0, 0.0, 1.0); |
|
||||||
|
|
||||||
float remapI = i.uv.x * 255.0; |
|
||||||
uint index = floor(remapI); |
|
||||||
float delta = frac(remapI); |
|
||||||
|
|
||||||
for (int j = 0; j < 3; j++) |
|
||||||
{ |
|
||||||
float v1 = _Histogram[index][j]; |
|
||||||
float v2 = _Histogram[min(index + 1, 255)][j]; |
|
||||||
float h = v1 * (1.0 - delta) + v2 * delta; |
|
||||||
uint y = (uint)round(i.uv.y * _Size.y); |
|
||||||
float fill = step(y, h); |
|
||||||
float4 color = lerp(emptyColor, COLORS[j], fill); |
|
||||||
targetColor += color; |
|
||||||
} |
|
||||||
|
|
||||||
return saturate(targetColor); |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragRgbSplitted(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
const float4 COLORS[3] = {_ColorR, _ColorG, _ColorB}; |
|
||||||
|
|
||||||
const float limitB = round(_Size.y / 3.0); |
|
||||||
const float limitG = limitB * 2; |
|
||||||
|
|
||||||
float4 color = float4(0.1, 0.1, 0.1, 1.0); |
|
||||||
uint channel; |
|
||||||
float offset; |
|
||||||
|
|
||||||
if (i.pos.y < limitB) |
|
||||||
{ |
|
||||||
channel = 2; |
|
||||||
offset = 0.0; |
|
||||||
} |
|
||||||
else if (i.pos.y < limitG) |
|
||||||
{ |
|
||||||
channel = 1; |
|
||||||
offset = limitB; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
channel = 0; |
|
||||||
offset = limitG; |
|
||||||
} |
|
||||||
|
|
||||||
float remapI = i.uv.x * 255.0; |
|
||||||
uint index = floor(remapI); |
|
||||||
float delta = frac(remapI); |
|
||||||
float v1 = offset + _Histogram[index][channel] / 3.0; |
|
||||||
float v2 = offset + _Histogram[min(index + 1, 255)][channel] / 3.0; |
|
||||||
float h = v1 * (1.0 - delta) + v2 * delta; |
|
||||||
uint y = (uint)round(i.uv.y * _Size.y); |
|
||||||
|
|
||||||
float fill = step(y, h); |
|
||||||
color = lerp(color, COLORS[channel], fill); |
|
||||||
return color; |
|
||||||
} |
|
||||||
|
|
||||||
ENDCG |
|
||||||
|
|
||||||
// (0) Channel |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragSingleChannel |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
|
|
||||||
// (1) RGB merged |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragRgbMerged |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
|
|
||||||
// (2) RGB splitted |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragRgbSplitted |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
} |
|
||||||
FallBack off |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 965efa32cf2345647a1c987546e08f86 |
|
||||||
timeCreated: 1459956391 |
|
||||||
licenseType: Pro |
|
||||||
ShaderImporter: |
|
||||||
defaultTextures: [] |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,76 +0,0 @@ |
|||||||
Shader "Hidden/Post FX/Monitors/Parade Render" |
|
||||||
{ |
|
||||||
SubShader |
|
||||||
{ |
|
||||||
ZTest Always Cull Off ZWrite Off |
|
||||||
Fog { Mode off } |
|
||||||
|
|
||||||
CGINCLUDE |
|
||||||
|
|
||||||
#pragma fragmentoption ARB_precision_hint_fastest |
|
||||||
#pragma target 5.0 |
|
||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
StructuredBuffer<uint4> _Waveform; |
|
||||||
float4 _Size; |
|
||||||
float _Exposure; |
|
||||||
|
|
||||||
float3 Tonemap(float3 x, float exposure) |
|
||||||
{ |
|
||||||
const float a = 6.2; |
|
||||||
const float b = 0.5; |
|
||||||
const float c = 1.7; |
|
||||||
const float d = 0.06; |
|
||||||
x *= exposure; |
|
||||||
x = max((0.0).xxx, x - (0.004).xxx); |
|
||||||
x = (x * (a * x + b)) / (x * (a * x + c) + d); |
|
||||||
return x * x; |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragParade(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
const float3 red = float3(1.8, 0.03, 0.02); |
|
||||||
const float3 green = float3(0.02, 1.3, 0.05); |
|
||||||
const float3 blue = float3(0.0, 0.45, 1.75); |
|
||||||
float3 color = float3(0.0, 0.0, 0.0); |
|
||||||
|
|
||||||
const uint limitR = _Size.x / 3; |
|
||||||
const uint limitG = limitR * 2; |
|
||||||
|
|
||||||
if (i.pos.x < (float)limitR) |
|
||||||
{ |
|
||||||
uint2 uvI = i.pos.xy; |
|
||||||
color = _Waveform[uvI.y + uvI.x * _Size.y].r * red; |
|
||||||
} |
|
||||||
else if (i.pos.x < (float)limitG) |
|
||||||
{ |
|
||||||
uint2 uvI = uint2(i.pos.x - limitR, i.pos.y); |
|
||||||
color = _Waveform[uvI.y + uvI.x * _Size.y].g * green; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
uint2 uvI = uint2(i.pos.x - limitG, i.pos.y); |
|
||||||
color = _Waveform[uvI.y + uvI.x * _Size.y].b * blue; |
|
||||||
} |
|
||||||
|
|
||||||
color = Tonemap(color, _Exposure); |
|
||||||
color += (0.1).xxx; |
|
||||||
|
|
||||||
return float4(saturate(color), 1.0); |
|
||||||
} |
|
||||||
|
|
||||||
ENDCG |
|
||||||
|
|
||||||
// (0) |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragParade |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
} |
|
||||||
FallBack off |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 5ae1bfc1dd20ac04e8b74aa0f2f12eea |
|
||||||
timeCreated: 1459956391 |
|
||||||
licenseType: Pro |
|
||||||
ShaderImporter: |
|
||||||
defaultTextures: [] |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,49 +0,0 @@ |
|||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
RWStructuredBuffer<uint> _Vectorscope; |
|
||||||
Texture2D<float4> _Source; |
|
||||||
|
|
||||||
CBUFFER_START (Params) |
|
||||||
uint _IsLinear; |
|
||||||
float4 _Res; |
|
||||||
CBUFFER_END |
|
||||||
|
|
||||||
#define GROUP_SIZE 32 |
|
||||||
|
|
||||||
float3 RgbToYUV(float3 c) |
|
||||||
{ |
|
||||||
float Y = 0.299 * c.r + 0.587 * c.g + 0.114 * c.b; |
|
||||||
float U = -0.169 * c.r - 0.331 * c.g + 0.500 * c.b; |
|
||||||
float V = 0.500 * c.r - 0.419 * c.g - 0.081 * c.b; |
|
||||||
return float3(Y, U, V); |
|
||||||
} |
|
||||||
|
|
||||||
#pragma kernel KVectorscope |
|
||||||
[numthreads(GROUP_SIZE,GROUP_SIZE,1)] |
|
||||||
void KVectorscope(uint2 dispatchThreadId : SV_DispatchThreadID) |
|
||||||
{ |
|
||||||
if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) |
|
||||||
{ |
|
||||||
float3 color = saturate(_Source[dispatchThreadId].xyz); |
|
||||||
if (_IsLinear > 0) |
|
||||||
color = LinearToGammaSpace(color); |
|
||||||
|
|
||||||
float3 yuv = RgbToYUV(color); |
|
||||||
|
|
||||||
if (length(yuv.yz) > 0.49) |
|
||||||
yuv.yz = normalize(yuv.yz) * 0.49; |
|
||||||
|
|
||||||
yuv.yz += (0.5).xx; |
|
||||||
uint u = (uint)floor(yuv.y * _Res.x); |
|
||||||
uint v = (uint)floor(yuv.z * _Res.y); |
|
||||||
InterlockedAdd(_Vectorscope[v * _Res.x + u], 1); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
#pragma kernel KVectorscopeClear |
|
||||||
[numthreads(GROUP_SIZE,GROUP_SIZE,1)] |
|
||||||
void KVectorscopeClear(uint2 dispatchThreadId : SV_DispatchThreadID) |
|
||||||
{ |
|
||||||
if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) |
|
||||||
_Vectorscope[dispatchThreadId.y * _Res.x + dispatchThreadId.x] = 0u; |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 45de9ff58691e934c9810dc23de2ba50 |
|
||||||
timeCreated: 1459956391 |
|
||||||
licenseType: Pro |
|
||||||
ComputeShaderImporter: |
|
||||||
currentAPIMask: 4 |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,101 +0,0 @@ |
|||||||
Shader "Hidden/Post FX/Monitors/Vectorscope Render" |
|
||||||
{ |
|
||||||
SubShader |
|
||||||
{ |
|
||||||
ZTest Always Cull Off ZWrite Off |
|
||||||
Fog { Mode off } |
|
||||||
|
|
||||||
CGINCLUDE |
|
||||||
|
|
||||||
#pragma fragmentoption ARB_precision_hint_fastest |
|
||||||
#pragma target 5.0 |
|
||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
StructuredBuffer<uint> _Vectorscope; |
|
||||||
float2 _Size; |
|
||||||
float _Exposure; |
|
||||||
|
|
||||||
float Tonemap(float x, float exposure) |
|
||||||
{ |
|
||||||
const float a = 6.2; |
|
||||||
const float b = 0.5; |
|
||||||
const float c = 1.7; |
|
||||||
const float d = 0.06; |
|
||||||
x *= exposure; |
|
||||||
x = max(0.0, x - 0.004); |
|
||||||
x = (x * (a * x + b)) / (x * (a * x + c) + d); |
|
||||||
return x * x; |
|
||||||
} |
|
||||||
|
|
||||||
float3 YuvToRgb(float3 c) |
|
||||||
{ |
|
||||||
float R = c.x + 0.000 * c.y + 1.403 * c.z; |
|
||||||
float G = c.x - 0.344 * c.y - 0.714 * c.z; |
|
||||||
float B = c.x - 1.773 * c.y + 0.000 * c.z; |
|
||||||
return float3(R, G, B); |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragBackground(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
i.uv.x = 1.0 - i.uv.x; |
|
||||||
float2 uv = i.uv - (0.5).xx; |
|
||||||
float3 c = YuvToRgb(float3(0.5, uv.x, uv.y)); |
|
||||||
|
|
||||||
float dist = sqrt(dot(uv, uv)); |
|
||||||
float delta = fwidth(dist); |
|
||||||
float alphaOut = 1.0 - smoothstep(0.5 - delta, 0.5 + delta, dist); |
|
||||||
float alphaIn = smoothstep(0.495 - delta, 0.495 + delta, dist); |
|
||||||
|
|
||||||
uint2 uvI = i.pos.xy; |
|
||||||
uint v = _Vectorscope[uvI.x + uvI.y * _Size.x]; |
|
||||||
float vt = saturate(Tonemap(v, _Exposure)); |
|
||||||
|
|
||||||
float4 color = float4(lerp(c, (0.0).xxx, vt), alphaOut); |
|
||||||
color.rgb += alphaIn; |
|
||||||
return color; |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragNoBackground(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
i.uv.x = 1.0 - i.uv.x; |
|
||||||
float2 uv = i.uv - (0.5).xx; |
|
||||||
|
|
||||||
float dist = sqrt(dot(uv, uv)); |
|
||||||
float delta = fwidth(dist); |
|
||||||
float alphaOut = 1.0 - smoothstep(0.5 - delta, 0.5 + delta, dist); |
|
||||||
float alphaIn = smoothstep(0.495 - delta, 0.495 + delta, dist); |
|
||||||
|
|
||||||
uint2 uvI = i.pos.xy; |
|
||||||
uint v = _Vectorscope[uvI.x + uvI.y * _Size.x]; |
|
||||||
float vt = saturate(Tonemap(v, _Exposure)); |
|
||||||
|
|
||||||
float4 color = float4((1.0).xxx, vt + alphaIn * alphaOut); |
|
||||||
return color; |
|
||||||
} |
|
||||||
|
|
||||||
ENDCG |
|
||||||
|
|
||||||
// (0) |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragBackground |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
|
|
||||||
// (1) |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragNoBackground |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
} |
|
||||||
FallBack off |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 1c4298cd35ef7834e892898e49d61ecd |
|
||||||
timeCreated: 1461756159 |
|
||||||
licenseType: Pro |
|
||||||
ShaderImporter: |
|
||||||
defaultTextures: [] |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,42 +0,0 @@ |
|||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
RWStructuredBuffer<uint4> _Waveform; |
|
||||||
Texture2D<float4> _Source; |
|
||||||
|
|
||||||
CBUFFER_START (Params) |
|
||||||
uint _IsLinear; |
|
||||||
uint4 _Channels; |
|
||||||
CBUFFER_END |
|
||||||
|
|
||||||
#define COLUMNS 384 |
|
||||||
|
|
||||||
#pragma kernel KWaveform |
|
||||||
[numthreads(1,COLUMNS,1)] |
|
||||||
void KWaveform(uint2 dispatchThreadId : SV_DispatchThreadID) |
|
||||||
{ |
|
||||||
// We want a gamma corrected colors |
|
||||||
float3 color = _Source[dispatchThreadId].rgb; |
|
||||||
if (_IsLinear > 0u) |
|
||||||
color = LinearToGammaSpace(color); |
|
||||||
|
|
||||||
color = saturate(color); |
|
||||||
|
|
||||||
// Convert color & luminance to histogram bins |
|
||||||
const float kColumnsMinusOne = COLUMNS - 1.0; |
|
||||||
uint3 idx_c = (uint3)(round(color * kColumnsMinusOne)); |
|
||||||
uint idx_l = (uint)(round(dot(color.rgb, float3(0.2126, 0.7152, 0.0722)) * kColumnsMinusOne)); |
|
||||||
|
|
||||||
// A lot of atomic operations will be skipped so there's no need to over-think this one. |
|
||||||
uint j = dispatchThreadId.x * COLUMNS; |
|
||||||
if (_Channels.x > 0u && idx_c.x > 0u) InterlockedAdd(_Waveform[j + idx_c.x].x, 1u); // Red |
|
||||||
if (_Channels.y > 0u && idx_c.y > 0u) InterlockedAdd(_Waveform[j + idx_c.y].y, 1u); // Green |
|
||||||
if (_Channels.z > 0u && idx_c.z > 0u) InterlockedAdd(_Waveform[j + idx_c.z].z, 1u); // Blue |
|
||||||
if (_Channels.w > 0u) InterlockedAdd(_Waveform[j + idx_l].w, 1u); // Luminance |
|
||||||
} |
|
||||||
|
|
||||||
#pragma kernel KWaveformClear |
|
||||||
[numthreads(1, COLUMNS, 1)] |
|
||||||
void KWaveformClear(uint2 dispatchThreadId : SV_DispatchThreadID) |
|
||||||
{ |
|
||||||
_Waveform[dispatchThreadId.x * COLUMNS + dispatchThreadId.y] = uint4(0u, 0u, 0u, 0u); |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 9d9b886f7a8fe7b4baf56624c42e3420 |
|
||||||
timeCreated: 1459956392 |
|
||||||
licenseType: Pro |
|
||||||
ComputeShaderImporter: |
|
||||||
currentAPIMask: 4 |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,65 +0,0 @@ |
|||||||
Shader "Hidden/Post FX/Monitors/Waveform Render" |
|
||||||
{ |
|
||||||
SubShader |
|
||||||
{ |
|
||||||
ZTest Always Cull Off ZWrite Off |
|
||||||
Fog { Mode off } |
|
||||||
|
|
||||||
CGINCLUDE |
|
||||||
|
|
||||||
#pragma fragmentoption ARB_precision_hint_fastest |
|
||||||
#pragma target 5.0 |
|
||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
StructuredBuffer<uint4> _Waveform; |
|
||||||
float2 _Size; |
|
||||||
float4 _Channels; |
|
||||||
float _Exposure; |
|
||||||
|
|
||||||
float3 Tonemap(float3 x, float exposure) |
|
||||||
{ |
|
||||||
const float a = 6.2; |
|
||||||
const float b = 0.5; |
|
||||||
const float c = 1.7; |
|
||||||
const float d = 0.06; |
|
||||||
x *= exposure; |
|
||||||
x = max((0.0).xxx, x - (0.004).xxx); |
|
||||||
x = (x * (a * x + b)) / (x * (a * x + c) + d); |
|
||||||
return x * x; |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragWaveform(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
const float3 red = float3(1.4, 0.03, 0.02); |
|
||||||
const float3 green = float3(0.02, 1.1, 0.05); |
|
||||||
const float3 blue = float3(0.0, 0.25, 1.5); |
|
||||||
float3 color = float3(0.0, 0.0, 0.0); |
|
||||||
|
|
||||||
uint2 uvI = i.pos.xy; |
|
||||||
float4 w = _Waveform[uvI.y + uvI.x * _Size.y]; // Waveform data is stored in columns instead of rows |
|
||||||
|
|
||||||
color += red * w.r * _Channels.r; |
|
||||||
color += green * w.g * _Channels.g; |
|
||||||
color += blue * w.b * _Channels.b; |
|
||||||
color += w.aaa * _Channels.a * 1.5; |
|
||||||
color = Tonemap(color, _Exposure); |
|
||||||
color += (0.1).xxx; |
|
||||||
|
|
||||||
return float4(saturate(color), 1.0); |
|
||||||
} |
|
||||||
|
|
||||||
ENDCG |
|
||||||
|
|
||||||
// (0) |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragWaveform |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
} |
|
||||||
FallBack off |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 8b3e43c50424ab2428a9c172843bc66d |
|
||||||
timeCreated: 1459956391 |
|
||||||
licenseType: Pro |
|
||||||
ShaderImporter: |
|
||||||
defaultTextures: [] |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: df37d60cc69b7b04d9705a74938179e7 |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1460627771 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,63 +0,0 @@ |
|||||||
Shader "Hidden/Post FX/UI/Curve Background" |
|
||||||
{ |
|
||||||
CGINCLUDE |
|
||||||
|
|
||||||
#pragma target 3.0 |
|
||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
float _DisabledState; |
|
||||||
|
|
||||||
float3 HsvToRgb(float3 c) |
|
||||||
{ |
|
||||||
float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); |
|
||||||
float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); |
|
||||||
return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragHue(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
float3 hsv = HsvToRgb(float3(i.uv.x, 1.0, 0.2)); |
|
||||||
float4 color = float4((0.0).xxx, 1.0); |
|
||||||
color.rgb = lerp(color.rgb, hsv, smoothstep(0.5, 1.1, 1.0 - i.uv.y)) + lerp(color.rgb, hsv, smoothstep(0.5, 1.1, i.uv.y)); |
|
||||||
color.rgb += (0.15).xxx; |
|
||||||
return float4(color.rgb, color.a * _DisabledState); |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragSat(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
float4 color = float4((0.0).xxx, 1.0); |
|
||||||
float sat = i.uv.x / 2; |
|
||||||
color.rgb += lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, 1.0 - i.uv.y)) + lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, i.uv.y)); |
|
||||||
color.rgb += (0.15).xxx; |
|
||||||
return float4(color.rgb, color.a * _DisabledState); |
|
||||||
} |
|
||||||
|
|
||||||
ENDCG |
|
||||||
|
|
||||||
SubShader |
|
||||||
{ |
|
||||||
Cull Off ZWrite Off ZTest Always |
|
||||||
|
|
||||||
// (0) Hue |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragHue |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
|
|
||||||
// (1) Sat/lum |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragSat |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: b1b2bfb2897659e45983f0c3e7dda2c8 |
|
||||||
timeCreated: 1460970196 |
|
||||||
licenseType: Pro |
|
||||||
ShaderImporter: |
|
||||||
defaultTextures: [] |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
|
Before Width: | Height: | Size: 7.9 KiB |
@ -1,59 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: c0fa58091049bd24394fa15b0b6d4c5a |
|
||||||
timeCreated: 1468326774 |
|
||||||
licenseType: Pro |
|
||||||
TextureImporter: |
|
||||||
fileIDToRecycleName: {} |
|
||||||
serializedVersion: 2 |
|
||||||
mipmaps: |
|
||||||
mipMapMode: 0 |
|
||||||
enableMipMap: 0 |
|
||||||
linearTexture: 1 |
|
||||||
correctGamma: 0 |
|
||||||
fadeOut: 0 |
|
||||||
borderMipMap: 0 |
|
||||||
mipMapFadeDistanceStart: 1 |
|
||||||
mipMapFadeDistanceEnd: 3 |
|
||||||
bumpmap: |
|
||||||
convertToNormalMap: 0 |
|
||||||
externalNormalMap: 0 |
|
||||||
heightScale: 0.25 |
|
||||||
normalMapFilter: 0 |
|
||||||
isReadable: 0 |
|
||||||
grayScaleToAlpha: 0 |
|
||||||
generateCubemap: 0 |
|
||||||
cubemapConvolution: 0 |
|
||||||
cubemapConvolutionSteps: 7 |
|
||||||
cubemapConvolutionExponent: 1.5 |
|
||||||
seamlessCubemap: 0 |
|
||||||
textureFormat: -1 |
|
||||||
maxTextureSize: 2048 |
|
||||||
textureSettings: |
|
||||||
filterMode: -1 |
|
||||||
aniso: 1 |
|
||||||
mipBias: -1 |
|
||||||
wrapMode: 1 |
|
||||||
nPOTScale: 0 |
|
||||||
lightmap: 0 |
|
||||||
rGBM: 0 |
|
||||||
compressionQuality: 50 |
|
||||||
allowsAlphaSplitting: 0 |
|
||||||
spriteMode: 0 |
|
||||||
spriteExtrude: 1 |
|
||||||
spriteMeshType: 1 |
|
||||||
alignment: 0 |
|
||||||
spritePivot: {x: 0.5, y: 0.5} |
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|
||||||
spritePixelsToUnits: 100 |
|
||||||
alphaIsTransparency: 1 |
|
||||||
spriteTessellationDetail: -1 |
|
||||||
textureType: 2 |
|
||||||
buildTargetSettings: [] |
|
||||||
spriteSheet: |
|
||||||
serializedVersion: 2 |
|
||||||
sprites: [] |
|
||||||
outline: [] |
|
||||||
spritePackingTag: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,118 +0,0 @@ |
|||||||
Shader "Hidden/Post FX/UI/Trackball" |
|
||||||
{ |
|
||||||
CGINCLUDE |
|
||||||
|
|
||||||
#include "UnityCG.cginc" |
|
||||||
|
|
||||||
#define PI 3.14159265359 |
|
||||||
#define PI2 6.28318530718 |
|
||||||
|
|
||||||
float _Offset; |
|
||||||
float _DisabledState; |
|
||||||
float2 _Resolution; // x: size, y: size / 2 |
|
||||||
|
|
||||||
float3 HsvToRgb(float3 c) |
|
||||||
{ |
|
||||||
float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); |
|
||||||
float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); |
|
||||||
return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); |
|
||||||
} |
|
||||||
|
|
||||||
float4 CreateWheel(v2f_img i, float crossColor, float offsetColor) |
|
||||||
{ |
|
||||||
const float kHueOuterRadius = 0.45; |
|
||||||
const float kHueInnerRadius = 0.38; |
|
||||||
const float kLumOuterRadius = 0.495; |
|
||||||
const float kLumInnerRadius = 0.48; |
|
||||||
|
|
||||||
float4 color = (0.0).xxxx; |
|
||||||
float2 uvc = i.uv - (0.5).xx; |
|
||||||
float dist = sqrt(dot(uvc, uvc)); |
|
||||||
float delta = fwidth(dist); |
|
||||||
float angle = atan2(uvc.x, uvc.y); |
|
||||||
|
|
||||||
// Cross |
|
||||||
{ |
|
||||||
float radius = (0.5 - kHueInnerRadius) * _Resolution.x + 1.0; |
|
||||||
float2 pixel = (_Resolution.xx - 1.0) * i.uv + 1.0; |
|
||||||
|
|
||||||
float vline = step(floor(fmod(pixel.x, _Resolution.y)), 0.0); |
|
||||||
vline *= step(radius, pixel.y) * step(pixel.y, _Resolution.x - radius); |
|
||||||
|
|
||||||
float hline = step(floor(fmod(pixel.y, _Resolution.y)), 0.0); |
|
||||||
hline *= step(radius, pixel.x) * step(pixel.x, _Resolution.x - radius); |
|
||||||
|
|
||||||
color += hline.xxxx * (1.0).xxxx; |
|
||||||
color += vline.xxxx * (1.0).xxxx; |
|
||||||
color = saturate(color); |
|
||||||
color *= half4((crossColor).xxx, 0.05); |
|
||||||
} |
|
||||||
|
|
||||||
// Hue |
|
||||||
{ |
|
||||||
float alphaOut = smoothstep(kHueOuterRadius - delta, kHueOuterRadius + delta, dist); |
|
||||||
float alphaIn = smoothstep(kHueInnerRadius - delta, kHueInnerRadius + delta, dist); |
|
||||||
|
|
||||||
float hue = angle; |
|
||||||
hue = 1.0 - ((hue > 0.0) ? hue : PI2 + hue) / PI2; |
|
||||||
float4 c = float4(HsvToRgb(float3(hue, 1.0, 1.0)), 1.0); |
|
||||||
color += lerp((0.0).xxxx, c, alphaIn - alphaOut); |
|
||||||
} |
|
||||||
|
|
||||||
// Offset |
|
||||||
{ |
|
||||||
float alphaOut = smoothstep(kLumOuterRadius - delta, kLumOuterRadius + delta, dist); |
|
||||||
float alphaIn = smoothstep(kLumInnerRadius - delta, kLumInnerRadius + delta / 2, dist); |
|
||||||
float4 c = float4((offsetColor).xxx, 1.0); |
|
||||||
|
|
||||||
float a = PI * _Offset; |
|
||||||
if (_Offset >= 0 && angle < a && angle > 0.0) |
|
||||||
c = float4((1.0).xxx, 0.5); |
|
||||||
else if (angle > a && angle < 0.0) |
|
||||||
c = float4((1.0).xxx, 0.5); |
|
||||||
|
|
||||||
color += lerp((0.0).xxxx, c, alphaIn - alphaOut); |
|
||||||
} |
|
||||||
|
|
||||||
return color * _DisabledState; |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragTrackballDark(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
return CreateWheel(i, 1.0, 0.15); |
|
||||||
} |
|
||||||
|
|
||||||
float4 FragTrackballLight(v2f_img i) : SV_Target |
|
||||||
{ |
|
||||||
return CreateWheel(i, 0.0, 0.3); |
|
||||||
} |
|
||||||
|
|
||||||
ENDCG |
|
||||||
|
|
||||||
SubShader |
|
||||||
{ |
|
||||||
Cull Off ZWrite Off ZTest Always |
|
||||||
|
|
||||||
// (0) Dark skin |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragTrackballDark |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
|
|
||||||
// (1) Light skin |
|
||||||
Pass |
|
||||||
{ |
|
||||||
CGPROGRAM |
|
||||||
|
|
||||||
#pragma vertex vert_img |
|
||||||
#pragma fragment FragTrackballLight |
|
||||||
|
|
||||||
ENDCG |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 4bf49309c7ab9eb42a86774d2c09b4fa |
|
||||||
timeCreated: 1460627788 |
|
||||||
licenseType: Pro |
|
||||||
ShaderImporter: |
|
||||||
defaultTextures: [] |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e0e418747b892364db5c5f4451e67ede |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1466586258 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: cc5c690f549b4704eb992a9be781554d |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1466769698 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,16 +0,0 @@ |
|||||||
using System; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
public class PostProcessingModelEditorAttribute : Attribute |
|
||||||
{ |
|
||||||
public readonly Type type; |
|
||||||
public readonly bool alwaysEnabled; |
|
||||||
|
|
||||||
public PostProcessingModelEditorAttribute(Type type, bool alwaysEnabled = false) |
|
||||||
{ |
|
||||||
this.type = type; |
|
||||||
this.alwaysEnabled = alwaysEnabled; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: c21938aa988055347a2271f03a3e731e |
|
||||||
timeCreated: 1466769734 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: d5341d31985da604db4b100f174142ad |
|
||||||
folderAsset: yes |
|
||||||
timeCreated: 1466769808 |
|
||||||
licenseType: Pro |
|
||||||
DefaultImporter: |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,42 +0,0 @@ |
|||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Settings = AmbientOcclusionModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(AmbientOcclusionModel))] |
|
||||||
public class AmbientOcclusionModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
SerializedProperty m_Intensity; |
|
||||||
SerializedProperty m_Radius; |
|
||||||
SerializedProperty m_SampleCount; |
|
||||||
SerializedProperty m_Downsampling; |
|
||||||
SerializedProperty m_ForceForwardCompatibility; |
|
||||||
SerializedProperty m_AmbientOnly; |
|
||||||
SerializedProperty m_HighPrecision; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_Intensity = FindSetting((Settings x) => x.intensity); |
|
||||||
m_Radius = FindSetting((Settings x) => x.radius); |
|
||||||
m_SampleCount = FindSetting((Settings x) => x.sampleCount); |
|
||||||
m_Downsampling = FindSetting((Settings x) => x.downsampling); |
|
||||||
m_ForceForwardCompatibility = FindSetting((Settings x) => x.forceForwardCompatibility); |
|
||||||
m_AmbientOnly = FindSetting((Settings x) => x.ambientOnly); |
|
||||||
m_HighPrecision = FindSetting((Settings x) => x.highPrecision); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_Intensity); |
|
||||||
EditorGUILayout.PropertyField(m_Radius); |
|
||||||
EditorGUILayout.PropertyField(m_SampleCount); |
|
||||||
EditorGUILayout.PropertyField(m_Downsampling); |
|
||||||
EditorGUILayout.PropertyField(m_ForceForwardCompatibility); |
|
||||||
EditorGUILayout.PropertyField(m_HighPrecision, EditorGUIHelper.GetContent("High Precision (Forward)")); |
|
||||||
|
|
||||||
using (new EditorGUI.DisabledGroupScope(m_ForceForwardCompatibility.boolValue)) |
|
||||||
EditorGUILayout.PropertyField(m_AmbientOnly, EditorGUIHelper.GetContent("Ambient Only (Deferred + HDR)")); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 9fcb710e23a5a0546a3b8b0ca28c1720 |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,71 +0,0 @@ |
|||||||
using UnityEngine; |
|
||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Method = AntialiasingModel.Method; |
|
||||||
using Settings = AntialiasingModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(AntialiasingModel))] |
|
||||||
public class AntialiasingModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
SerializedProperty m_Method; |
|
||||||
|
|
||||||
SerializedProperty m_FxaaPreset; |
|
||||||
|
|
||||||
SerializedProperty m_TaaJitterSpread; |
|
||||||
SerializedProperty m_TaaSharpen; |
|
||||||
SerializedProperty m_TaaStationaryBlending; |
|
||||||
SerializedProperty m_TaaMotionBlending; |
|
||||||
|
|
||||||
static string[] s_MethodNames = |
|
||||||
{ |
|
||||||
"Fast Approximate Anti-aliasing", |
|
||||||
"Temporal Anti-aliasing" |
|
||||||
}; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_Method = FindSetting((Settings x) => x.method); |
|
||||||
|
|
||||||
m_FxaaPreset = FindSetting((Settings x) => x.fxaaSettings.preset); |
|
||||||
|
|
||||||
m_TaaJitterSpread = FindSetting((Settings x) => x.taaSettings.jitterSpread); |
|
||||||
m_TaaSharpen = FindSetting((Settings x) => x.taaSettings.sharpen); |
|
||||||
m_TaaStationaryBlending = FindSetting((Settings x) => x.taaSettings.stationaryBlending); |
|
||||||
m_TaaMotionBlending = FindSetting((Settings x) => x.taaSettings.motionBlending); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
m_Method.intValue = EditorGUILayout.Popup("Method", m_Method.intValue, s_MethodNames); |
|
||||||
|
|
||||||
if (m_Method.intValue == (int)Method.Fxaa) |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_FxaaPreset); |
|
||||||
} |
|
||||||
else if (m_Method.intValue == (int)Method.Taa) |
|
||||||
{ |
|
||||||
if (QualitySettings.antiAliasing > 1) |
|
||||||
EditorGUILayout.HelpBox("Temporal Anti-Aliasing doesn't work correctly when MSAA is enabled.", MessageType.Warning); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Jitter", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_TaaJitterSpread, EditorGUIHelper.GetContent("Spread")); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
|
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Blending", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_TaaStationaryBlending, EditorGUIHelper.GetContent("Stationary")); |
|
||||||
EditorGUILayout.PropertyField(m_TaaMotionBlending, EditorGUIHelper.GetContent("Motion")); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
|
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_TaaSharpen); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 2451939fe695c1a408ba688219837667 |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,204 +0,0 @@ |
|||||||
using UnityEngine; |
|
||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Settings = BloomModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(BloomModel))] |
|
||||||
public class BloomModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
struct BloomSettings |
|
||||||
{ |
|
||||||
public SerializedProperty intensity; |
|
||||||
public SerializedProperty threshold; |
|
||||||
public SerializedProperty softKnee; |
|
||||||
public SerializedProperty radius; |
|
||||||
public SerializedProperty antiFlicker; |
|
||||||
} |
|
||||||
|
|
||||||
struct LensDirtSettings |
|
||||||
{ |
|
||||||
public SerializedProperty texture; |
|
||||||
public SerializedProperty intensity; |
|
||||||
} |
|
||||||
|
|
||||||
BloomSettings m_Bloom; |
|
||||||
LensDirtSettings m_LensDirt; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_Bloom = new BloomSettings |
|
||||||
{ |
|
||||||
intensity = FindSetting((Settings x) => x.bloom.intensity), |
|
||||||
threshold = FindSetting((Settings x) => x.bloom.threshold), |
|
||||||
softKnee = FindSetting((Settings x) => x.bloom.softKnee), |
|
||||||
radius = FindSetting((Settings x) => x.bloom.radius), |
|
||||||
antiFlicker = FindSetting((Settings x) => x.bloom.antiFlicker) |
|
||||||
}; |
|
||||||
|
|
||||||
m_LensDirt = new LensDirtSettings |
|
||||||
{ |
|
||||||
texture = FindSetting((Settings x) => x.lensDirt.texture), |
|
||||||
intensity = FindSetting((Settings x) => x.lensDirt.intensity) |
|
||||||
}; |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.Space(); |
|
||||||
PrepareGraph(); |
|
||||||
DrawGraph(); |
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_Bloom.intensity); |
|
||||||
EditorGUILayout.PropertyField(m_Bloom.threshold, EditorGUIHelper.GetContent("Threshold (Gamma)")); |
|
||||||
EditorGUILayout.PropertyField(m_Bloom.softKnee); |
|
||||||
EditorGUILayout.PropertyField(m_Bloom.radius); |
|
||||||
EditorGUILayout.PropertyField(m_Bloom.antiFlicker); |
|
||||||
|
|
||||||
EditorGUILayout.Space(); |
|
||||||
EditorGUILayout.LabelField("Dirt", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_LensDirt.texture); |
|
||||||
EditorGUILayout.PropertyField(m_LensDirt.intensity); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
} |
|
||||||
|
|
||||||
#region Graph |
|
||||||
|
|
||||||
float m_GraphThreshold; |
|
||||||
float m_GraphKnee; |
|
||||||
float m_GraphIntensity; |
|
||||||
|
|
||||||
// Number of vertices in curve |
|
||||||
const int k_CurveResolution = 48; |
|
||||||
|
|
||||||
// Vertex buffers |
|
||||||
Vector3[] m_RectVertices = new Vector3[4]; |
|
||||||
Vector3[] m_LineVertices = new Vector3[2]; |
|
||||||
Vector3[] m_CurveVertices = new Vector3[k_CurveResolution]; |
|
||||||
|
|
||||||
Rect m_RectGraph; |
|
||||||
float m_RangeX; |
|
||||||
float m_RangeY; |
|
||||||
|
|
||||||
float ResponseFunction(float x) |
|
||||||
{ |
|
||||||
var rq = Mathf.Clamp(x - m_GraphThreshold + m_GraphKnee, 0, m_GraphKnee * 2); |
|
||||||
rq = rq * rq * 0.25f / m_GraphKnee; |
|
||||||
return Mathf.Max(rq, x - m_GraphThreshold) * m_GraphIntensity; |
|
||||||
} |
|
||||||
|
|
||||||
// Transform a point into the graph rect |
|
||||||
Vector3 PointInRect(float x, float y) |
|
||||||
{ |
|
||||||
x = Mathf.Lerp(m_RectGraph.x, m_RectGraph.xMax, x / m_RangeX); |
|
||||||
y = Mathf.Lerp(m_RectGraph.yMax, m_RectGraph.y, y / m_RangeY); |
|
||||||
return new Vector3(x, y, 0); |
|
||||||
} |
|
||||||
|
|
||||||
// Draw a line in the graph rect |
|
||||||
void DrawLine(float x1, float y1, float x2, float y2, float grayscale) |
|
||||||
{ |
|
||||||
m_LineVertices[0] = PointInRect(x1, y1); |
|
||||||
m_LineVertices[1] = PointInRect(x2, y2); |
|
||||||
Handles.color = Color.white * grayscale; |
|
||||||
Handles.DrawAAPolyLine(2.0f, m_LineVertices); |
|
||||||
} |
|
||||||
|
|
||||||
// Draw a rect in the graph rect |
|
||||||
void DrawRect(float x1, float y1, float x2, float y2, float fill, float line) |
|
||||||
{ |
|
||||||
m_RectVertices[0] = PointInRect(x1, y1); |
|
||||||
m_RectVertices[1] = PointInRect(x2, y1); |
|
||||||
m_RectVertices[2] = PointInRect(x2, y2); |
|
||||||
m_RectVertices[3] = PointInRect(x1, y2); |
|
||||||
|
|
||||||
Handles.DrawSolidRectangleWithOutline( |
|
||||||
m_RectVertices, |
|
||||||
fill < 0 ? Color.clear : Color.white * fill, |
|
||||||
line < 0 ? Color.clear : Color.white * line |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
// Update internal state with a given bloom instance |
|
||||||
public void PrepareGraph() |
|
||||||
{ |
|
||||||
var bloom = (BloomModel)target; |
|
||||||
m_RangeX = 5f; |
|
||||||
m_RangeY = 2f; |
|
||||||
|
|
||||||
m_GraphThreshold = bloom.settings.bloom.thresholdLinear; |
|
||||||
m_GraphKnee = bloom.settings.bloom.softKnee * m_GraphThreshold + 1e-5f; |
|
||||||
|
|
||||||
// Intensity is capped to prevent sampling errors |
|
||||||
m_GraphIntensity = Mathf.Min(bloom.settings.bloom.intensity, 10f); |
|
||||||
} |
|
||||||
|
|
||||||
// Draw the graph at the current position |
|
||||||
public void DrawGraph() |
|
||||||
{ |
|
||||||
using (new GUILayout.HorizontalScope()) |
|
||||||
{ |
|
||||||
GUILayout.Space(EditorGUI.indentLevel * 15f); |
|
||||||
m_RectGraph = GUILayoutUtility.GetRect(128, 80); |
|
||||||
} |
|
||||||
|
|
||||||
// Background |
|
||||||
DrawRect(0, 0, m_RangeX, m_RangeY, 0.1f, 0.4f); |
|
||||||
|
|
||||||
// Soft-knee range |
|
||||||
DrawRect(m_GraphThreshold - m_GraphKnee, 0, m_GraphThreshold + m_GraphKnee, m_RangeY, 0.25f, -1); |
|
||||||
|
|
||||||
// Horizontal lines |
|
||||||
for (var i = 1; i < m_RangeY; i++) |
|
||||||
DrawLine(0, i, m_RangeX, i, 0.4f); |
|
||||||
|
|
||||||
// Vertical lines |
|
||||||
for (var i = 1; i < m_RangeX; i++) |
|
||||||
DrawLine(i, 0, i, m_RangeY, 0.4f); |
|
||||||
|
|
||||||
// Label |
|
||||||
Handles.Label( |
|
||||||
PointInRect(0, m_RangeY) + Vector3.right, |
|
||||||
"Brightness Response (linear)", EditorStyles.miniLabel |
|
||||||
); |
|
||||||
|
|
||||||
// Threshold line |
|
||||||
DrawLine(m_GraphThreshold, 0, m_GraphThreshold, m_RangeY, 0.6f); |
|
||||||
|
|
||||||
// Response curve |
|
||||||
var vcount = 0; |
|
||||||
while (vcount < k_CurveResolution) |
|
||||||
{ |
|
||||||
var x = m_RangeX * vcount / (k_CurveResolution - 1); |
|
||||||
var y = ResponseFunction(x); |
|
||||||
if (y < m_RangeY) |
|
||||||
{ |
|
||||||
m_CurveVertices[vcount++] = PointInRect(x, y); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
if (vcount > 1) |
|
||||||
{ |
|
||||||
// Extend the last segment to the top edge of the rect. |
|
||||||
var v1 = m_CurveVertices[vcount - 2]; |
|
||||||
var v2 = m_CurveVertices[vcount - 1]; |
|
||||||
var clip = (m_RectGraph.y - v1.y) / (v2.y - v1.y); |
|
||||||
m_CurveVertices[vcount - 1] = v1 + (v2 - v1) * clip; |
|
||||||
} |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
if (vcount > 1) |
|
||||||
{ |
|
||||||
Handles.color = Color.white * 0.9f; |
|
||||||
Handles.DrawAAPolyLine(2.0f, vcount, m_CurveVertices); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: a95f3f10e7e437c49ade656f531b30d2 |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,106 +0,0 @@ |
|||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Mode = BuiltinDebugViewsModel.Mode; |
|
||||||
using Settings = BuiltinDebugViewsModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(BuiltinDebugViewsModel), alwaysEnabled: true)] |
|
||||||
public class BuiltinDebugViewsEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
struct DepthSettings |
|
||||||
{ |
|
||||||
public SerializedProperty scale; |
|
||||||
} |
|
||||||
|
|
||||||
struct MotionVectorsSettings |
|
||||||
{ |
|
||||||
public SerializedProperty sourceOpacity; |
|
||||||
public SerializedProperty motionImageOpacity; |
|
||||||
public SerializedProperty motionImageAmplitude; |
|
||||||
public SerializedProperty motionVectorsOpacity; |
|
||||||
public SerializedProperty motionVectorsResolution; |
|
||||||
public SerializedProperty motionVectorsAmplitude; |
|
||||||
} |
|
||||||
|
|
||||||
SerializedProperty m_Mode; |
|
||||||
DepthSettings m_Depth; |
|
||||||
MotionVectorsSettings m_MotionVectors; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_Mode = FindSetting((Settings x) => x.mode); |
|
||||||
|
|
||||||
m_Depth = new DepthSettings |
|
||||||
{ |
|
||||||
scale = FindSetting((Settings x) => x.depth.scale) |
|
||||||
}; |
|
||||||
|
|
||||||
m_MotionVectors = new MotionVectorsSettings |
|
||||||
{ |
|
||||||
sourceOpacity = FindSetting((Settings x) => x.motionVectors.sourceOpacity), |
|
||||||
motionImageOpacity = FindSetting((Settings x) => x.motionVectors.motionImageOpacity), |
|
||||||
motionImageAmplitude = FindSetting((Settings x) => x.motionVectors.motionImageAmplitude), |
|
||||||
motionVectorsOpacity = FindSetting((Settings x) => x.motionVectors.motionVectorsOpacity), |
|
||||||
motionVectorsResolution = FindSetting((Settings x) => x.motionVectors.motionVectorsResolution), |
|
||||||
motionVectorsAmplitude = FindSetting((Settings x) => x.motionVectors.motionVectorsAmplitude), |
|
||||||
}; |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_Mode); |
|
||||||
|
|
||||||
int mode = m_Mode.intValue; |
|
||||||
|
|
||||||
if (mode == (int)Mode.Depth) |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_Depth.scale); |
|
||||||
} |
|
||||||
else if (mode == (int)Mode.MotionVectors) |
|
||||||
{ |
|
||||||
EditorGUILayout.HelpBox("Switch to play mode to see motion vectors.", MessageType.Info); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Source Image", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_MotionVectors.sourceOpacity, EditorGUIHelper.GetContent("Opacity")); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
|
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Motion Vectors (overlay)", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
|
|
||||||
if (m_MotionVectors.motionImageOpacity.floatValue > 0f) |
|
||||||
EditorGUILayout.HelpBox("Please keep opacity to 0 if you're subject to motion sickness.", MessageType.Warning); |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_MotionVectors.motionImageOpacity, EditorGUIHelper.GetContent("Opacity")); |
|
||||||
EditorGUILayout.PropertyField(m_MotionVectors.motionImageAmplitude, EditorGUIHelper.GetContent("Amplitude")); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
|
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Motion Vectors (arrows)", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_MotionVectors.motionVectorsOpacity, EditorGUIHelper.GetContent("Opacity")); |
|
||||||
EditorGUILayout.PropertyField(m_MotionVectors.motionVectorsResolution, EditorGUIHelper.GetContent("Resolution")); |
|
||||||
EditorGUILayout.PropertyField(m_MotionVectors.motionVectorsAmplitude, EditorGUIHelper.GetContent("Amplitude")); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
CheckActiveEffect(mode == (int)Mode.AmbientOcclusion && !profile.ambientOcclusion.enabled, "Ambient Occlusion"); |
|
||||||
CheckActiveEffect(mode == (int)Mode.FocusPlane && !profile.depthOfField.enabled, "Depth Of Field"); |
|
||||||
CheckActiveEffect(mode == (int)Mode.EyeAdaptation && !profile.eyeAdaptation.enabled, "Eye Adaptation"); |
|
||||||
CheckActiveEffect((mode == (int)Mode.LogLut || mode == (int)Mode.PreGradingLog) && !profile.colorGrading.enabled, "Color Grading"); |
|
||||||
CheckActiveEffect(mode == (int)Mode.UserLut && !profile.userLut.enabled, "User Lut"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void CheckActiveEffect(bool expr, string name) |
|
||||||
{ |
|
||||||
if (expr) |
|
||||||
EditorGUILayout.HelpBox(string.Format("{0} isn't enabled, the debug view won't work.", name), MessageType.Warning); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 760ffebbef2ed644c87940a699eb7fe6 |
|
||||||
timeCreated: 1468237035 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,9 +0,0 @@ |
|||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
[PostProcessingModelEditor(typeof(ChromaticAberrationModel))] |
|
||||||
public class ChromaticaAberrationModelEditor : DefaultPostFxModelEditor |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 8a713f71a0169794a915a081f6242f60 |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,672 +0,0 @@ |
|||||||
using UnityEngine; |
|
||||||
using UnityEngine.PostProcessing; |
|
||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Linq.Expressions; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Settings = ColorGradingModel.Settings; |
|
||||||
using Tonemapper = ColorGradingModel.Tonemapper; |
|
||||||
using ColorWheelMode = ColorGradingModel.ColorWheelMode; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(ColorGradingModel))] |
|
||||||
public class ColorGradingModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
static GUIContent[] s_Tonemappers = |
|
||||||
{ |
|
||||||
new GUIContent("None"), |
|
||||||
new GUIContent("Filmic (ACES)"), |
|
||||||
new GUIContent("Neutral") |
|
||||||
}; |
|
||||||
|
|
||||||
struct TonemappingSettings |
|
||||||
{ |
|
||||||
public SerializedProperty tonemapper; |
|
||||||
public SerializedProperty neutralBlackIn; |
|
||||||
public SerializedProperty neutralWhiteIn; |
|
||||||
public SerializedProperty neutralBlackOut; |
|
||||||
public SerializedProperty neutralWhiteOut; |
|
||||||
public SerializedProperty neutralWhiteLevel; |
|
||||||
public SerializedProperty neutralWhiteClip; |
|
||||||
} |
|
||||||
|
|
||||||
struct BasicSettings |
|
||||||
{ |
|
||||||
public SerializedProperty exposure; |
|
||||||
public SerializedProperty temperature; |
|
||||||
public SerializedProperty tint; |
|
||||||
public SerializedProperty hueShift; |
|
||||||
public SerializedProperty saturation; |
|
||||||
public SerializedProperty contrast; |
|
||||||
} |
|
||||||
|
|
||||||
struct ChannelMixerSettings |
|
||||||
{ |
|
||||||
public SerializedProperty[] channels; |
|
||||||
public SerializedProperty currentEditingChannel; |
|
||||||
} |
|
||||||
|
|
||||||
struct ColorWheelsSettings |
|
||||||
{ |
|
||||||
public SerializedProperty mode; |
|
||||||
public SerializedProperty log; |
|
||||||
public SerializedProperty linear; |
|
||||||
} |
|
||||||
|
|
||||||
static GUIContent[] s_Curves = |
|
||||||
{ |
|
||||||
new GUIContent("YRGB"), |
|
||||||
new GUIContent("Hue VS Hue"), |
|
||||||
new GUIContent("Hue VS Sat"), |
|
||||||
new GUIContent("Sat VS Sat"), |
|
||||||
new GUIContent("Lum VS Sat") |
|
||||||
}; |
|
||||||
|
|
||||||
struct CurvesSettings |
|
||||||
{ |
|
||||||
public SerializedProperty master; |
|
||||||
public SerializedProperty red; |
|
||||||
public SerializedProperty green; |
|
||||||
public SerializedProperty blue; |
|
||||||
|
|
||||||
public SerializedProperty hueVShue; |
|
||||||
public SerializedProperty hueVSsat; |
|
||||||
public SerializedProperty satVSsat; |
|
||||||
public SerializedProperty lumVSsat; |
|
||||||
|
|
||||||
public SerializedProperty currentEditingCurve; |
|
||||||
public SerializedProperty curveY; |
|
||||||
public SerializedProperty curveR; |
|
||||||
public SerializedProperty curveG; |
|
||||||
public SerializedProperty curveB; |
|
||||||
} |
|
||||||
|
|
||||||
TonemappingSettings m_Tonemapping; |
|
||||||
BasicSettings m_Basic; |
|
||||||
ChannelMixerSettings m_ChannelMixer; |
|
||||||
ColorWheelsSettings m_ColorWheels; |
|
||||||
CurvesSettings m_Curves; |
|
||||||
|
|
||||||
CurveEditor m_CurveEditor; |
|
||||||
Dictionary<SerializedProperty, Color> m_CurveDict; |
|
||||||
|
|
||||||
// Neutral tonemapping curve helper |
|
||||||
const int k_CurveResolution = 24; |
|
||||||
const float k_NeutralRangeX = 2f; |
|
||||||
const float k_NeutralRangeY = 1f; |
|
||||||
Vector3[] m_RectVertices = new Vector3[4]; |
|
||||||
Vector3[] m_LineVertices = new Vector3[2]; |
|
||||||
Vector3[] m_CurveVertices = new Vector3[k_CurveResolution]; |
|
||||||
Rect m_NeutralCurveRect; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
// Tonemapping settings |
|
||||||
m_Tonemapping = new TonemappingSettings |
|
||||||
{ |
|
||||||
tonemapper = FindSetting((Settings x) => x.tonemapping.tonemapper), |
|
||||||
neutralBlackIn = FindSetting((Settings x) => x.tonemapping.neutralBlackIn), |
|
||||||
neutralWhiteIn = FindSetting((Settings x) => x.tonemapping.neutralWhiteIn), |
|
||||||
neutralBlackOut = FindSetting((Settings x) => x.tonemapping.neutralBlackOut), |
|
||||||
neutralWhiteOut = FindSetting((Settings x) => x.tonemapping.neutralWhiteOut), |
|
||||||
neutralWhiteLevel = FindSetting((Settings x) => x.tonemapping.neutralWhiteLevel), |
|
||||||
neutralWhiteClip = FindSetting((Settings x) => x.tonemapping.neutralWhiteClip) |
|
||||||
}; |
|
||||||
|
|
||||||
// Basic settings |
|
||||||
m_Basic = new BasicSettings |
|
||||||
{ |
|
||||||
exposure = FindSetting((Settings x) => x.basic.postExposure), |
|
||||||
temperature = FindSetting((Settings x) => x.basic.temperature), |
|
||||||
tint = FindSetting((Settings x) => x.basic.tint), |
|
||||||
hueShift = FindSetting((Settings x) => x.basic.hueShift), |
|
||||||
saturation = FindSetting((Settings x) => x.basic.saturation), |
|
||||||
contrast = FindSetting((Settings x) => x.basic.contrast) |
|
||||||
}; |
|
||||||
|
|
||||||
// Channel mixer |
|
||||||
m_ChannelMixer = new ChannelMixerSettings |
|
||||||
{ |
|
||||||
channels = new[] |
|
||||||
{ |
|
||||||
FindSetting((Settings x) => x.channelMixer.red), |
|
||||||
FindSetting((Settings x) => x.channelMixer.green), |
|
||||||
FindSetting((Settings x) => x.channelMixer.blue) |
|
||||||
}, |
|
||||||
currentEditingChannel = FindSetting((Settings x) => x.channelMixer.currentEditingChannel) |
|
||||||
}; |
|
||||||
|
|
||||||
// Color wheels |
|
||||||
m_ColorWheels = new ColorWheelsSettings |
|
||||||
{ |
|
||||||
mode = FindSetting((Settings x) => x.colorWheels.mode), |
|
||||||
log = FindSetting((Settings x) => x.colorWheels.log), |
|
||||||
linear = FindSetting((Settings x) => x.colorWheels.linear) |
|
||||||
}; |
|
||||||
|
|
||||||
// Curves |
|
||||||
m_Curves = new CurvesSettings |
|
||||||
{ |
|
||||||
master = FindSetting((Settings x) => x.curves.master.curve), |
|
||||||
red = FindSetting((Settings x) => x.curves.red.curve), |
|
||||||
green = FindSetting((Settings x) => x.curves.green.curve), |
|
||||||
blue = FindSetting((Settings x) => x.curves.blue.curve), |
|
||||||
|
|
||||||
hueVShue = FindSetting((Settings x) => x.curves.hueVShue.curve), |
|
||||||
hueVSsat = FindSetting((Settings x) => x.curves.hueVSsat.curve), |
|
||||||
satVSsat = FindSetting((Settings x) => x.curves.satVSsat.curve), |
|
||||||
lumVSsat = FindSetting((Settings x) => x.curves.lumVSsat.curve), |
|
||||||
|
|
||||||
currentEditingCurve = FindSetting((Settings x) => x.curves.e_CurrentEditingCurve), |
|
||||||
curveY = FindSetting((Settings x) => x.curves.e_CurveY), |
|
||||||
curveR = FindSetting((Settings x) => x.curves.e_CurveR), |
|
||||||
curveG = FindSetting((Settings x) => x.curves.e_CurveG), |
|
||||||
curveB = FindSetting((Settings x) => x.curves.e_CurveB) |
|
||||||
}; |
|
||||||
|
|
||||||
// Prepare the curve editor and extract curve display settings |
|
||||||
m_CurveDict = new Dictionary<SerializedProperty, Color>(); |
|
||||||
|
|
||||||
var settings = CurveEditor.Settings.defaultSettings; |
|
||||||
|
|
||||||
m_CurveEditor = new CurveEditor(settings); |
|
||||||
AddCurve(m_Curves.master, new Color(1f, 1f, 1f), 2, false); |
|
||||||
AddCurve(m_Curves.red, new Color(1f, 0f, 0f), 2, false); |
|
||||||
AddCurve(m_Curves.green, new Color(0f, 1f, 0f), 2, false); |
|
||||||
AddCurve(m_Curves.blue, new Color(0f, 0.5f, 1f), 2, false); |
|
||||||
AddCurve(m_Curves.hueVShue, new Color(1f, 1f, 1f), 0, true); |
|
||||||
AddCurve(m_Curves.hueVSsat, new Color(1f, 1f, 1f), 0, true); |
|
||||||
AddCurve(m_Curves.satVSsat, new Color(1f, 1f, 1f), 0, false); |
|
||||||
AddCurve(m_Curves.lumVSsat, new Color(1f, 1f, 1f), 0, false); |
|
||||||
} |
|
||||||
|
|
||||||
void AddCurve(SerializedProperty prop, Color color, uint minPointCount, bool loop) |
|
||||||
{ |
|
||||||
var state = CurveEditor.CurveState.defaultState; |
|
||||||
state.color = color; |
|
||||||
state.visible = false; |
|
||||||
state.minPointCount = minPointCount; |
|
||||||
state.onlyShowHandlesOnSelection = true; |
|
||||||
state.zeroKeyConstantValue = 0.5f; |
|
||||||
state.loopInBounds = loop; |
|
||||||
m_CurveEditor.Add(prop, state); |
|
||||||
m_CurveDict.Add(prop, color); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnDisable() |
|
||||||
{ |
|
||||||
m_CurveEditor.RemoveAll(); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
DoGUIFor("Tonemapping", DoTonemappingGUI); |
|
||||||
EditorGUILayout.Space(); |
|
||||||
DoGUIFor("Basic", DoBasicGUI); |
|
||||||
EditorGUILayout.Space(); |
|
||||||
DoGUIFor("Channel Mixer", DoChannelMixerGUI); |
|
||||||
EditorGUILayout.Space(); |
|
||||||
DoGUIFor("Trackballs", DoColorWheelsGUI); |
|
||||||
EditorGUILayout.Space(); |
|
||||||
DoGUIFor("Grading Curves", DoCurvesGUI); |
|
||||||
} |
|
||||||
|
|
||||||
void DoGUIFor(string title, Action func) |
|
||||||
{ |
|
||||||
EditorGUILayout.LabelField(title, EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
func(); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
} |
|
||||||
|
|
||||||
void DoTonemappingGUI() |
|
||||||
{ |
|
||||||
int tid = EditorGUILayout.Popup(EditorGUIHelper.GetContent("Tonemapper"), m_Tonemapping.tonemapper.intValue, s_Tonemappers); |
|
||||||
|
|
||||||
if (tid == (int)Tonemapper.Neutral) |
|
||||||
{ |
|
||||||
DrawNeutralTonemappingCurve(); |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_Tonemapping.neutralBlackIn, EditorGUIHelper.GetContent("Black In")); |
|
||||||
EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteIn, EditorGUIHelper.GetContent("White In")); |
|
||||||
EditorGUILayout.PropertyField(m_Tonemapping.neutralBlackOut, EditorGUIHelper.GetContent("Black Out")); |
|
||||||
EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteOut, EditorGUIHelper.GetContent("White Out")); |
|
||||||
EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteLevel, EditorGUIHelper.GetContent("White Level")); |
|
||||||
EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteClip, EditorGUIHelper.GetContent("White Clip")); |
|
||||||
} |
|
||||||
|
|
||||||
m_Tonemapping.tonemapper.intValue = tid; |
|
||||||
} |
|
||||||
|
|
||||||
void DrawNeutralTonemappingCurve() |
|
||||||
{ |
|
||||||
using (new GUILayout.HorizontalScope()) |
|
||||||
{ |
|
||||||
GUILayout.Space(EditorGUI.indentLevel * 15f); |
|
||||||
m_NeutralCurveRect = GUILayoutUtility.GetRect(128, 80); |
|
||||||
} |
|
||||||
|
|
||||||
// Background |
|
||||||
m_RectVertices[0] = PointInRect( 0f, 0f); |
|
||||||
m_RectVertices[1] = PointInRect(k_NeutralRangeX, 0f); |
|
||||||
m_RectVertices[2] = PointInRect(k_NeutralRangeX, k_NeutralRangeY); |
|
||||||
m_RectVertices[3] = PointInRect( 0f, k_NeutralRangeY); |
|
||||||
|
|
||||||
Handles.DrawSolidRectangleWithOutline( |
|
||||||
m_RectVertices, |
|
||||||
Color.white * 0.1f, |
|
||||||
Color.white * 0.4f |
|
||||||
); |
|
||||||
|
|
||||||
// Horizontal lines |
|
||||||
for (var i = 1; i < k_NeutralRangeY; i++) |
|
||||||
DrawLine(0, i, k_NeutralRangeX, i, 0.4f); |
|
||||||
|
|
||||||
// Vertical lines |
|
||||||
for (var i = 1; i < k_NeutralRangeX; i++) |
|
||||||
DrawLine(i, 0, i, k_NeutralRangeY, 0.4f); |
|
||||||
|
|
||||||
// Label |
|
||||||
Handles.Label( |
|
||||||
PointInRect(0, k_NeutralRangeY) + Vector3.right, |
|
||||||
"Neutral Tonemapper", EditorStyles.miniLabel |
|
||||||
); |
|
||||||
|
|
||||||
// Precompute some values |
|
||||||
var tonemap = ((ColorGradingModel)target).settings.tonemapping; |
|
||||||
|
|
||||||
const float scaleFactor = 20f; |
|
||||||
const float scaleFactorHalf = scaleFactor * 0.5f; |
|
||||||
|
|
||||||
float inBlack = tonemap.neutralBlackIn * scaleFactor + 1f; |
|
||||||
float outBlack = tonemap.neutralBlackOut * scaleFactorHalf + 1f; |
|
||||||
float inWhite = tonemap.neutralWhiteIn / scaleFactor; |
|
||||||
float outWhite = 1f - tonemap.neutralWhiteOut / scaleFactor; |
|
||||||
float blackRatio = inBlack / outBlack; |
|
||||||
float whiteRatio = inWhite / outWhite; |
|
||||||
|
|
||||||
const float a = 0.2f; |
|
||||||
float b = Mathf.Max(0f, Mathf.LerpUnclamped(0.57f, 0.37f, blackRatio)); |
|
||||||
float c = Mathf.LerpUnclamped(0.01f, 0.24f, whiteRatio); |
|
||||||
float d = Mathf.Max(0f, Mathf.LerpUnclamped(0.02f, 0.20f, blackRatio)); |
|
||||||
const float e = 0.02f; |
|
||||||
const float f = 0.30f; |
|
||||||
float whiteLevel = tonemap.neutralWhiteLevel; |
|
||||||
float whiteClip = tonemap.neutralWhiteClip / scaleFactorHalf; |
|
||||||
|
|
||||||
// Tonemapping curve |
|
||||||
var vcount = 0; |
|
||||||
while (vcount < k_CurveResolution) |
|
||||||
{ |
|
||||||
float x = k_NeutralRangeX * vcount / (k_CurveResolution - 1); |
|
||||||
float y = NeutralTonemap(x, a, b, c, d, e, f, whiteLevel, whiteClip); |
|
||||||
|
|
||||||
if (y < k_NeutralRangeY) |
|
||||||
{ |
|
||||||
m_CurveVertices[vcount++] = PointInRect(x, y); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
if (vcount > 1) |
|
||||||
{ |
|
||||||
// Extend the last segment to the top edge of the rect. |
|
||||||
var v1 = m_CurveVertices[vcount - 2]; |
|
||||||
var v2 = m_CurveVertices[vcount - 1]; |
|
||||||
var clip = (m_NeutralCurveRect.y - v1.y) / (v2.y - v1.y); |
|
||||||
m_CurveVertices[vcount - 1] = v1 + (v2 - v1) * clip; |
|
||||||
} |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
if (vcount > 1) |
|
||||||
{ |
|
||||||
Handles.color = Color.white * 0.9f; |
|
||||||
Handles.DrawAAPolyLine(2.0f, vcount, m_CurveVertices); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void DrawLine(float x1, float y1, float x2, float y2, float grayscale) |
|
||||||
{ |
|
||||||
m_LineVertices[0] = PointInRect(x1, y1); |
|
||||||
m_LineVertices[1] = PointInRect(x2, y2); |
|
||||||
Handles.color = Color.white * grayscale; |
|
||||||
Handles.DrawAAPolyLine(2f, m_LineVertices); |
|
||||||
} |
|
||||||
|
|
||||||
Vector3 PointInRect(float x, float y) |
|
||||||
{ |
|
||||||
x = Mathf.Lerp(m_NeutralCurveRect.x, m_NeutralCurveRect.xMax, x / k_NeutralRangeX); |
|
||||||
y = Mathf.Lerp(m_NeutralCurveRect.yMax, m_NeutralCurveRect.y, y / k_NeutralRangeY); |
|
||||||
return new Vector3(x, y, 0); |
|
||||||
} |
|
||||||
|
|
||||||
float NeutralCurve(float x, float a, float b, float c, float d, float e, float f) |
|
||||||
{ |
|
||||||
return ((x * (a * x + c * b) + d * e) / (x * (a * x + b) + d * f)) - e / f; |
|
||||||
} |
|
||||||
|
|
||||||
float NeutralTonemap(float x, float a, float b, float c, float d, float e, float f, float whiteLevel, float whiteClip) |
|
||||||
{ |
|
||||||
x = Mathf.Max(0f, x); |
|
||||||
|
|
||||||
// Tonemap |
|
||||||
float whiteScale = 1f / NeutralCurve(whiteLevel, a, b, c, d, e, f); |
|
||||||
x = NeutralCurve(x * whiteScale, a, b, c, d, e, f); |
|
||||||
x *= whiteScale; |
|
||||||
|
|
||||||
// Post-curve white point adjustment |
|
||||||
x /= whiteClip; |
|
||||||
|
|
||||||
return x; |
|
||||||
} |
|
||||||
|
|
||||||
void DoBasicGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_Basic.exposure, EditorGUIHelper.GetContent("Post Exposure (EV)")); |
|
||||||
EditorGUILayout.PropertyField(m_Basic.temperature); |
|
||||||
EditorGUILayout.PropertyField(m_Basic.tint); |
|
||||||
EditorGUILayout.PropertyField(m_Basic.hueShift); |
|
||||||
EditorGUILayout.PropertyField(m_Basic.saturation); |
|
||||||
EditorGUILayout.PropertyField(m_Basic.contrast); |
|
||||||
} |
|
||||||
|
|
||||||
void DoChannelMixerGUI() |
|
||||||
{ |
|
||||||
int currentChannel = m_ChannelMixer.currentEditingChannel.intValue; |
|
||||||
|
|
||||||
EditorGUI.BeginChangeCheck(); |
|
||||||
{ |
|
||||||
using (new EditorGUILayout.HorizontalScope()) |
|
||||||
{ |
|
||||||
EditorGUILayout.PrefixLabel("Channel"); |
|
||||||
if (GUILayout.Toggle(currentChannel == 0, EditorGUIHelper.GetContent("Red|Red output channel."), EditorStyles.miniButtonLeft)) currentChannel = 0; |
|
||||||
if (GUILayout.Toggle(currentChannel == 1, EditorGUIHelper.GetContent("Green|Green output channel."), EditorStyles.miniButtonMid)) currentChannel = 1; |
|
||||||
if (GUILayout.Toggle(currentChannel == 2, EditorGUIHelper.GetContent("Blue|Blue output channel."), EditorStyles.miniButtonRight)) currentChannel = 2; |
|
||||||
} |
|
||||||
} |
|
||||||
if (EditorGUI.EndChangeCheck()) |
|
||||||
{ |
|
||||||
GUI.FocusControl(null); |
|
||||||
} |
|
||||||
|
|
||||||
var serializedChannel = m_ChannelMixer.channels[currentChannel]; |
|
||||||
m_ChannelMixer.currentEditingChannel.intValue = currentChannel; |
|
||||||
|
|
||||||
var v = serializedChannel.vector3Value; |
|
||||||
v.x = EditorGUILayout.Slider(EditorGUIHelper.GetContent("Red|Modify influence of the red channel within the overall mix."), v.x, -2f, 2f); |
|
||||||
v.y = EditorGUILayout.Slider(EditorGUIHelper.GetContent("Green|Modify influence of the green channel within the overall mix."), v.y, -2f, 2f); |
|
||||||
v.z = EditorGUILayout.Slider(EditorGUIHelper.GetContent("Blue|Modify influence of the blue channel within the overall mix."), v.z, -2f, 2f); |
|
||||||
serializedChannel.vector3Value = v; |
|
||||||
} |
|
||||||
|
|
||||||
void DoColorWheelsGUI() |
|
||||||
{ |
|
||||||
int wheelMode = m_ColorWheels.mode.intValue; |
|
||||||
|
|
||||||
using (new EditorGUILayout.HorizontalScope()) |
|
||||||
{ |
|
||||||
GUILayout.Space(15); |
|
||||||
if (GUILayout.Toggle(wheelMode == (int)ColorWheelMode.Linear, "Linear", EditorStyles.miniButtonLeft)) wheelMode = (int)ColorWheelMode.Linear; |
|
||||||
if (GUILayout.Toggle(wheelMode == (int)ColorWheelMode.Log, "Log", EditorStyles.miniButtonRight)) wheelMode = (int)ColorWheelMode.Log; |
|
||||||
} |
|
||||||
|
|
||||||
m_ColorWheels.mode.intValue = wheelMode; |
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
if (wheelMode == (int)ColorWheelMode.Linear) |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_ColorWheels.linear); |
|
||||||
WheelSetTitle(GUILayoutUtility.GetLastRect(), "Linear Controls"); |
|
||||||
} |
|
||||||
else if (wheelMode == (int)ColorWheelMode.Log) |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_ColorWheels.log); |
|
||||||
WheelSetTitle(GUILayoutUtility.GetLastRect(), "Log Controls"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
static void WheelSetTitle(Rect position, string label) |
|
||||||
{ |
|
||||||
var matrix = GUI.matrix; |
|
||||||
var rect = new Rect(position.x - 10f, position.y, TrackballGroupDrawer.m_Size, TrackballGroupDrawer.m_Size); |
|
||||||
GUIUtility.RotateAroundPivot(-90f, rect.center); |
|
||||||
GUI.Label(rect, label, FxStyles.centeredMiniLabel); |
|
||||||
GUI.matrix = matrix; |
|
||||||
} |
|
||||||
|
|
||||||
void ResetVisibleCurves() |
|
||||||
{ |
|
||||||
foreach (var curve in m_CurveDict) |
|
||||||
{ |
|
||||||
var state = m_CurveEditor.GetCurveState(curve.Key); |
|
||||||
state.visible = false; |
|
||||||
m_CurveEditor.SetCurveState(curve.Key, state); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void SetCurveVisible(SerializedProperty prop) |
|
||||||
{ |
|
||||||
var state = m_CurveEditor.GetCurveState(prop); |
|
||||||
state.visible = true; |
|
||||||
m_CurveEditor.SetCurveState(prop, state); |
|
||||||
} |
|
||||||
|
|
||||||
bool SpecialToggle(bool value, string name, out bool rightClicked) |
|
||||||
{ |
|
||||||
var rect = GUILayoutUtility.GetRect(EditorGUIHelper.GetContent(name), EditorStyles.toolbarButton); |
|
||||||
|
|
||||||
var e = Event.current; |
|
||||||
rightClicked = (e.type == EventType.MouseUp && rect.Contains(e.mousePosition) && e.button == 1); |
|
||||||
|
|
||||||
return GUI.Toggle(rect, value, name, EditorStyles.toolbarButton); |
|
||||||
} |
|
||||||
|
|
||||||
static Material s_MaterialSpline; |
|
||||||
|
|
||||||
void DoCurvesGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.Space(); |
|
||||||
EditorGUI.indentLevel -= 2; |
|
||||||
ResetVisibleCurves(); |
|
||||||
|
|
||||||
using (new EditorGUI.DisabledGroupScope(serializedProperty.serializedObject.isEditingMultipleObjects)) |
|
||||||
{ |
|
||||||
int curveEditingId = 0; |
|
||||||
|
|
||||||
// Top toolbar |
|
||||||
using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) |
|
||||||
{ |
|
||||||
curveEditingId = EditorGUILayout.Popup(m_Curves.currentEditingCurve.intValue, s_Curves, EditorStyles.toolbarPopup, GUILayout.MaxWidth(150f)); |
|
||||||
bool y = false, r = false, g = false, b = false; |
|
||||||
|
|
||||||
if (curveEditingId == 0) |
|
||||||
{ |
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
bool rightClickedY, rightClickedR, rightClickedG, rightClickedB; |
|
||||||
|
|
||||||
y = SpecialToggle(m_Curves.curveY.boolValue, "Y", out rightClickedY); |
|
||||||
r = SpecialToggle(m_Curves.curveR.boolValue, "R", out rightClickedR); |
|
||||||
g = SpecialToggle(m_Curves.curveG.boolValue, "G", out rightClickedG); |
|
||||||
b = SpecialToggle(m_Curves.curveB.boolValue, "B", out rightClickedB); |
|
||||||
|
|
||||||
if (!y && !r && !g && !b) |
|
||||||
{ |
|
||||||
r = g = b = false; |
|
||||||
y = true; |
|
||||||
} |
|
||||||
|
|
||||||
if (rightClickedY || rightClickedR || rightClickedG || rightClickedB) |
|
||||||
{ |
|
||||||
y = rightClickedY; |
|
||||||
r = rightClickedR; |
|
||||||
g = rightClickedG; |
|
||||||
b = rightClickedB; |
|
||||||
} |
|
||||||
|
|
||||||
if (y) SetCurveVisible(m_Curves.master); |
|
||||||
if (r) SetCurveVisible(m_Curves.red); |
|
||||||
if (g) SetCurveVisible(m_Curves.green); |
|
||||||
if (b) SetCurveVisible(m_Curves.blue); |
|
||||||
|
|
||||||
m_Curves.curveY.boolValue = y; |
|
||||||
m_Curves.curveR.boolValue = r; |
|
||||||
m_Curves.curveG.boolValue = g; |
|
||||||
m_Curves.curveB.boolValue = b; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
switch (curveEditingId) |
|
||||||
{ |
|
||||||
case 1: SetCurveVisible(m_Curves.hueVShue); |
|
||||||
break; |
|
||||||
case 2: SetCurveVisible(m_Curves.hueVSsat); |
|
||||||
break; |
|
||||||
case 3: SetCurveVisible(m_Curves.satVSsat); |
|
||||||
break; |
|
||||||
case 4: SetCurveVisible(m_Curves.lumVSsat); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
GUILayout.FlexibleSpace(); |
|
||||||
|
|
||||||
if (GUILayout.Button("Reset", EditorStyles.toolbarButton)) |
|
||||||
{ |
|
||||||
switch (curveEditingId) |
|
||||||
{ |
|
||||||
case 0: |
|
||||||
if (y) m_Curves.master.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); |
|
||||||
if (r) m_Curves.red.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); |
|
||||||
if (g) m_Curves.green.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); |
|
||||||
if (b) m_Curves.blue.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); |
|
||||||
break; |
|
||||||
case 1: m_Curves.hueVShue.animationCurveValue = new AnimationCurve(); |
|
||||||
break; |
|
||||||
case 2: m_Curves.hueVSsat.animationCurveValue = new AnimationCurve(); |
|
||||||
break; |
|
||||||
case 3: m_Curves.satVSsat.animationCurveValue = new AnimationCurve(); |
|
||||||
break; |
|
||||||
case 4: m_Curves.lumVSsat.animationCurveValue = new AnimationCurve(); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
m_Curves.currentEditingCurve.intValue = curveEditingId; |
|
||||||
} |
|
||||||
|
|
||||||
// Curve area |
|
||||||
var settings = m_CurveEditor.settings; |
|
||||||
var rect = GUILayoutUtility.GetAspectRect(2f); |
|
||||||
var innerRect = settings.padding.Remove(rect); |
|
||||||
|
|
||||||
if (Event.current.type == EventType.Repaint) |
|
||||||
{ |
|
||||||
// Background |
|
||||||
EditorGUI.DrawRect(rect, new Color(0.15f, 0.15f, 0.15f, 1f)); |
|
||||||
|
|
||||||
if (s_MaterialSpline == null) |
|
||||||
s_MaterialSpline = new Material(Shader.Find("Hidden/Post FX/UI/Curve Background")) { hideFlags = HideFlags.HideAndDontSave }; |
|
||||||
|
|
||||||
if (curveEditingId == 1 || curveEditingId == 2) |
|
||||||
DrawBackgroundTexture(innerRect, 0); |
|
||||||
else if (curveEditingId == 3 || curveEditingId == 4) |
|
||||||
DrawBackgroundTexture(innerRect, 1); |
|
||||||
|
|
||||||
// Bounds |
|
||||||
Handles.color = Color.white; |
|
||||||
Handles.DrawSolidRectangleWithOutline(innerRect, Color.clear, new Color(0.8f, 0.8f, 0.8f, 0.5f)); |
|
||||||
|
|
||||||
// Grid setup |
|
||||||
Handles.color = new Color(1f, 1f, 1f, 0.05f); |
|
||||||
int hLines = (int)Mathf.Sqrt(innerRect.width); |
|
||||||
int vLines = (int)(hLines / (innerRect.width / innerRect.height)); |
|
||||||
|
|
||||||
// Vertical grid |
|
||||||
int gridOffset = Mathf.FloorToInt(innerRect.width / hLines); |
|
||||||
int gridPadding = ((int)(innerRect.width) % hLines) / 2; |
|
||||||
|
|
||||||
for (int i = 1; i < hLines; i++) |
|
||||||
{ |
|
||||||
var offset = i * Vector2.right * gridOffset; |
|
||||||
offset.x += gridPadding; |
|
||||||
Handles.DrawLine(innerRect.position + offset, new Vector2(innerRect.x, innerRect.yMax - 1) + offset); |
|
||||||
} |
|
||||||
|
|
||||||
// Horizontal grid |
|
||||||
gridOffset = Mathf.FloorToInt(innerRect.height / vLines); |
|
||||||
gridPadding = ((int)(innerRect.height) % vLines) / 2; |
|
||||||
|
|
||||||
for (int i = 1; i < vLines; i++) |
|
||||||
{ |
|
||||||
var offset = i * Vector2.up * gridOffset; |
|
||||||
offset.y += gridPadding; |
|
||||||
Handles.DrawLine(innerRect.position + offset, new Vector2(innerRect.xMax - 1, innerRect.y) + offset); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Curve editor |
|
||||||
if (m_CurveEditor.OnGUI(rect)) |
|
||||||
{ |
|
||||||
Repaint(); |
|
||||||
GUI.changed = true; |
|
||||||
} |
|
||||||
|
|
||||||
if (Event.current.type == EventType.Repaint) |
|
||||||
{ |
|
||||||
// Borders |
|
||||||
Handles.color = Color.black; |
|
||||||
Handles.DrawLine(new Vector2(rect.x, rect.y - 18f), new Vector2(rect.xMax, rect.y - 18f)); |
|
||||||
Handles.DrawLine(new Vector2(rect.x, rect.y - 19f), new Vector2(rect.x, rect.yMax)); |
|
||||||
Handles.DrawLine(new Vector2(rect.x, rect.yMax), new Vector2(rect.xMax, rect.yMax)); |
|
||||||
Handles.DrawLine(new Vector2(rect.xMax, rect.yMax), new Vector2(rect.xMax, rect.y - 18f)); |
|
||||||
|
|
||||||
// Selection info |
|
||||||
var selection = m_CurveEditor.GetSelection(); |
|
||||||
|
|
||||||
if (selection.curve != null && selection.keyframeIndex > -1) |
|
||||||
{ |
|
||||||
var key = selection.keyframe.Value; |
|
||||||
var infoRect = innerRect; |
|
||||||
infoRect.x += 5f; |
|
||||||
infoRect.width = 100f; |
|
||||||
infoRect.height = 30f; |
|
||||||
GUI.Label(infoRect, string.Format("{0}\n{1}", key.time.ToString("F3"), key.value.ToString("F3")), FxStyles.preLabel); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
EditorGUILayout.HelpBox( |
|
||||||
@"Curve editor cheat sheet:
|
|
||||||
- [Del] or [Backspace] to remove a key |
|
||||||
- [Ctrl] to break a tangent handle |
|
||||||
- [Shift] to align tangent handles |
|
||||||
- [Double click] to create a key on the curve(s) at mouse position |
|
||||||
- [Alt] + [Double click] to create a key on the curve(s) at a given time",
|
|
||||||
MessageType.Info); |
|
||||||
*/ |
|
||||||
|
|
||||||
EditorGUILayout.Space(); |
|
||||||
EditorGUI.indentLevel += 2; |
|
||||||
} |
|
||||||
|
|
||||||
void DrawBackgroundTexture(Rect rect, int pass) |
|
||||||
{ |
|
||||||
float scale = EditorGUIUtility.pixelsPerPoint; |
|
||||||
|
|
||||||
var oldRt = RenderTexture.active; |
|
||||||
var rt = RenderTexture.GetTemporary(Mathf.CeilToInt(rect.width * scale), Mathf.CeilToInt(rect.height * scale), 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); |
|
||||||
s_MaterialSpline.SetFloat("_DisabledState", GUI.enabled ? 1f : 0.5f); |
|
||||||
s_MaterialSpline.SetFloat("_PixelScaling", EditorGUIUtility.pixelsPerPoint); |
|
||||||
|
|
||||||
Graphics.Blit(null, rt, s_MaterialSpline, pass); |
|
||||||
RenderTexture.active = oldRt; |
|
||||||
|
|
||||||
GUI.DrawTexture(rect, rt); |
|
||||||
RenderTexture.ReleaseTemporary(rt); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: c3e3bce1d5c900d4fa7aa0f2b21814cf |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,22 +0,0 @@ |
|||||||
using System.Collections.Generic; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
public class DefaultPostFxModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
List<SerializedProperty> m_Properties = new List<SerializedProperty>(); |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
var iter = m_SettingsProperty.Copy().GetEnumerator(); |
|
||||||
while (iter.MoveNext()) |
|
||||||
m_Properties.Add(((SerializedProperty)iter.Current).Copy()); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
foreach (var property in m_Properties) |
|
||||||
EditorGUILayout.PropertyField(property); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: c15016a7fef58974f91a6a4d6b132d94 |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,37 +0,0 @@ |
|||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Settings = DepthOfFieldModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(DepthOfFieldModel))] |
|
||||||
public class DepthOfFieldModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
SerializedProperty m_FocusDistance; |
|
||||||
SerializedProperty m_Aperture; |
|
||||||
SerializedProperty m_FocalLength; |
|
||||||
SerializedProperty m_UseCameraFov; |
|
||||||
SerializedProperty m_KernelSize; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_FocusDistance = FindSetting((Settings x) => x.focusDistance); |
|
||||||
m_Aperture = FindSetting((Settings x) => x.aperture); |
|
||||||
m_FocalLength = FindSetting((Settings x) => x.focalLength); |
|
||||||
m_UseCameraFov = FindSetting((Settings x) => x.useCameraFov); |
|
||||||
m_KernelSize = FindSetting((Settings x) => x.kernelSize); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.PropertyField(m_FocusDistance); |
|
||||||
EditorGUILayout.PropertyField(m_Aperture, EditorGUIHelper.GetContent("Aperture (f-stop)")); |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_UseCameraFov, EditorGUIHelper.GetContent("Use Camera FOV")); |
|
||||||
if (!m_UseCameraFov.boolValue) |
|
||||||
EditorGUILayout.PropertyField(m_FocalLength, EditorGUIHelper.GetContent("Focal Length (mm)")); |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_KernelSize); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: dc2f388440e9f8b4f8fc7bb43c01cc7d |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,16 +0,0 @@ |
|||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
[PostProcessingModelEditor(typeof(DitheringModel))] |
|
||||||
public class DitheringModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
if (profile.grain.enabled && target.enabled) |
|
||||||
EditorGUILayout.HelpBox("Grain is enabled, you probably don't need dithering !", MessageType.Warning); |
|
||||||
else |
|
||||||
EditorGUILayout.HelpBox("Nothing to configure !", MessageType.Info); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 87377c86d84f49a4e912d37d28353e7f |
|
||||||
timeCreated: 1485179854 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,86 +0,0 @@ |
|||||||
using UnityEngine; |
|
||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Settings = EyeAdaptationModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(EyeAdaptationModel))] |
|
||||||
public class EyeAdaptationModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
SerializedProperty m_LowPercent; |
|
||||||
SerializedProperty m_HighPercent; |
|
||||||
SerializedProperty m_MinLuminance; |
|
||||||
SerializedProperty m_MaxLuminance; |
|
||||||
SerializedProperty m_KeyValue; |
|
||||||
SerializedProperty m_DynamicKeyValue; |
|
||||||
SerializedProperty m_AdaptationType; |
|
||||||
SerializedProperty m_SpeedUp; |
|
||||||
SerializedProperty m_SpeedDown; |
|
||||||
SerializedProperty m_LogMin; |
|
||||||
SerializedProperty m_LogMax; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_LowPercent = FindSetting((Settings x) => x.lowPercent); |
|
||||||
m_HighPercent = FindSetting((Settings x) => x.highPercent); |
|
||||||
m_MinLuminance = FindSetting((Settings x) => x.minLuminance); |
|
||||||
m_MaxLuminance = FindSetting((Settings x) => x.maxLuminance); |
|
||||||
m_KeyValue = FindSetting((Settings x) => x.keyValue); |
|
||||||
m_DynamicKeyValue = FindSetting((Settings x) => x.dynamicKeyValue); |
|
||||||
m_AdaptationType = FindSetting((Settings x) => x.adaptationType); |
|
||||||
m_SpeedUp = FindSetting((Settings x) => x.speedUp); |
|
||||||
m_SpeedDown = FindSetting((Settings x) => x.speedDown); |
|
||||||
m_LogMin = FindSetting((Settings x) => x.logMin); |
|
||||||
m_LogMax = FindSetting((Settings x) => x.logMax); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
if (!GraphicsUtils.supportsDX11) |
|
||||||
EditorGUILayout.HelpBox("This effect requires support for compute shaders. Enabling it won't do anything on unsupported platforms.", MessageType.Warning); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Luminosity range", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_LogMin, EditorGUIHelper.GetContent("Minimum (EV)")); |
|
||||||
EditorGUILayout.PropertyField(m_LogMax, EditorGUIHelper.GetContent("Maximum (EV)")); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Auto exposure", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
float low = m_LowPercent.floatValue; |
|
||||||
float high = m_HighPercent.floatValue; |
|
||||||
|
|
||||||
EditorGUILayout.MinMaxSlider(EditorGUIHelper.GetContent("Histogram filtering|These values are the lower and upper percentages of the histogram that will be used to find a stable average luminance. Values outside of this range will be discarded and won't contribute to the average luminance."), ref low, ref high, 1f, 99f); |
|
||||||
|
|
||||||
m_LowPercent.floatValue = low; |
|
||||||
m_HighPercent.floatValue = high; |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_MinLuminance, EditorGUIHelper.GetContent("Minimum (EV)")); |
|
||||||
EditorGUILayout.PropertyField(m_MaxLuminance, EditorGUIHelper.GetContent("Maximum (EV)")); |
|
||||||
EditorGUILayout.PropertyField(m_DynamicKeyValue); |
|
||||||
|
|
||||||
if (!m_DynamicKeyValue.boolValue) |
|
||||||
EditorGUILayout.PropertyField(m_KeyValue); |
|
||||||
|
|
||||||
EditorGUI.indentLevel--; |
|
||||||
EditorGUILayout.Space(); |
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Adaptation", EditorStyles.boldLabel); |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(m_AdaptationType, EditorGUIHelper.GetContent("Type")); |
|
||||||
|
|
||||||
if (m_AdaptationType.intValue == (int)EyeAdaptationModel.EyeAdaptationType.Progressive) |
|
||||||
{ |
|
||||||
EditorGUI.indentLevel++; |
|
||||||
EditorGUILayout.PropertyField(m_SpeedUp); |
|
||||||
EditorGUILayout.PropertyField(m_SpeedDown); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
} |
|
||||||
|
|
||||||
EditorGUI.indentLevel--; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 489b5c785ba0f614d90c322fa0827216 |
|
||||||
timeCreated: 1467190133 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
@ -1,24 +0,0 @@ |
|||||||
using UnityEngine.PostProcessing; |
|
||||||
|
|
||||||
namespace UnityEditor.PostProcessing |
|
||||||
{ |
|
||||||
using Settings = FogModel.Settings; |
|
||||||
|
|
||||||
[PostProcessingModelEditor(typeof(FogModel))] |
|
||||||
public class FogModelEditor : PostProcessingModelEditor |
|
||||||
{ |
|
||||||
SerializedProperty m_ExcludeSkybox; |
|
||||||
|
|
||||||
public override void OnEnable() |
|
||||||
{ |
|
||||||
m_ExcludeSkybox = FindSetting((Settings x) => x.excludeSkybox); |
|
||||||
} |
|
||||||
|
|
||||||
public override void OnInspectorGUI() |
|
||||||
{ |
|
||||||
EditorGUILayout.HelpBox("This effect adds fog compatibility to the deferred rendering path; enabling it with the forward rendering path won't have any effect. Actual fog settings should be set in the Lighting panel.", MessageType.Info); |
|
||||||
EditorGUILayout.PropertyField(m_ExcludeSkybox); |
|
||||||
EditorGUI.indentLevel--; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 44a64b44ec891d24b96ed84d958c3d4f |
|
||||||
timeCreated: 1487335049 |
|
||||||
licenseType: Pro |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue