clean up files in BallPool

master
chwan1 6 years ago
parent 2f240e0e6f
commit 650d2ee113
  1. 2226
      Unity-19050-05-BallPool/Assets/Frozen/Frozen.unity
  2. 2
      Unity-19050-05-BallPool/Assets/Frozen/Frozen_Profiles/Scene Camera Profile.asset
  3. 345
      Unity-19050-05-BallPool/Assets/Frozen/PostProcessingProfile.asset
  4. 10
      Unity-19050-05-BallPool/Assets/Frozen/PostProcessingProfile.asset.meta
  5. 345
      Unity-19050-05-BallPool/Assets/Frozen/ScenePostProcessingProfile.asset
  6. 10
      Unity-19050-05-BallPool/Assets/Frozen/ScenePostProcessingProfile.asset.meta
  7. 29
      Unity-19050-05-BallPool/Assets/Frozen/Script/SceneController.cs
  8. 41
      Unity-19050-05-BallPool/Assets/Frozen/Script/TuioDrawer.cs
  9. 13
      Unity-19050-05-BallPool/Assets/Frozen/Script/TuioDrawer.cs.meta
  10. 3
      Unity-19050-05-BallPool/Assets/Frozen/Shader/FrozenUnlitTexture.shader
  11. 3
      Unity-19050-05-BallPool/Assets/Frozen/Shader/UnlitColorAlpha.shader
  12. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty.meta
  13. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile.meta
  14. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor.meta
  15. 31
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/MoveToTargetEditor.cs
  16. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/MoveToTargetEditor.cs.meta
  17. 127
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditor.cs
  18. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditor.cs.meta
  19. 139
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditorAttribute.cs
  20. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditorAttribute.cs.meta
  21. 25
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileInspector.cs
  22. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileInspector.cs.meta
  23. 89
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileModelEditor.cs
  24. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileModelEditor.cs.meta
  25. 29
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCNoiseEditor.cs
  26. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCNoiseEditor.cs.meta
  27. 71
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/MoveToTarget.cs
  28. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/MoveToTarget.cs.meta
  29. 32
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobile.cs
  30. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobile.cs.meta
  31. 45
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobileModel.cs
  32. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobileModel.cs.meta
  33. 62
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCNoise.cs
  34. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCNoise.cs.meta
  35. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft.meta
  36. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.dll
  37. 24
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.dll.meta
  38. 10760
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.xml
  39. 8
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.xml.meta
  40. 8
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins.meta
  41. 8
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64.meta
  42. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/NativeSpoutPlugin_2_006.dll
  43. 76
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/NativeSpoutPlugin_2_006.dll.meta
  44. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Drawing.dll
  45. 68
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Drawing.dll.meta
  46. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Windows.Forms.dll
  47. 68
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Windows.Forms.dll.meta
  48. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/zxing.unity.dll
  49. 24
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/zxing.unity.dll.meta
  50. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing.meta
  51. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources.meta
  52. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors.meta
  53. 91
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute
  54. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta
  55. 141
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramRender.shader
  56. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta
  57. 76
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/ParadeRender.shader
  58. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta
  59. 49
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute
  60. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta
  61. 101
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader
  62. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta
  63. 42
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute
  64. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta
  65. 65
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformRender.shader
  66. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta
  67. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI.meta
  68. 63
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/CurveBackground.shader
  69. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta
  70. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png
  71. 59
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta
  72. 118
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/Trackball.shader
  73. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/Trackball.shader.meta
  74. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor.meta
  75. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Attributes.meta
  76. 16
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs
  77. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta
  78. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models.meta
  79. 42
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs
  80. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta
  81. 71
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AntialiasingModelEditor.cs
  82. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta
  83. 204
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/BloomModelEditor.cs
  84. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/BloomModelEditor.cs.meta
  85. 106
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs
  86. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs.meta
  87. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs
  88. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs.meta
  89. 672
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/ColorGradingModelEditor.cs
  90. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/ColorGradingModelEditor.cs.meta
  91. 22
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs
  92. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs.meta
  93. 37
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs
  94. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs.meta
  95. 16
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/DitheringModelEditor.cs
  96. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/DitheringModelEditor.cs.meta
  97. 86
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs
  98. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs.meta
  99. 24
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/FogModelEditor.cs
  100. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/FogModelEditor.cs.meta
  101. Some files were not shown because too many files have changed in this diff Show More

File diff suppressed because it is too large Load Diff

@ -38,7 +38,7 @@ MonoBehaviour:
value: {fileID: 0} value: {fileID: 0}
defaultState: 1 defaultState: 1
tonemapper: tonemapper:
overrideState: 0 overrideState: 1
value: 0 value: 0
toneCurveToeStrength: toneCurveToeStrength:
overrideState: 0 overrideState: 0

@ -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:

@ -51,13 +51,11 @@ namespace UltraCombos.Frozen
float target_rate = 0.0f; float target_rate = 0.0f;
public UnityEvent onSceneStandby = new UnityEvent(); public UnityEvent onSceneStandby = new UnityEvent();
public UnityEvent onSceneDay = new UnityEvent(); public UnityEvent onSceneDay = new UnityEvent();
public UnityEvent onSceneNight = new UnityEvent(); public UnityEvent onSceneNight = new UnityEvent();
[SerializeField, Header("Debug")] [SerializeField, Header("Debug")]
bool mode = false;
float stamp = 0.0f; float stamp = 0.0f;
private void Start() private void Start()
@ -84,34 +82,14 @@ namespace UltraCombos.Frozen
if (state == State.Standby) if (state == State.Standby)
{ {
target_rate = 0.0f; target_rate = 0.0f;
if (GetKeyDown(KeyCode.DownArrow))
{
GoDay();
}
} }
else if (state == State.Day) else if (state == State.Day)
{ {
target_rate = 0.0f; target_rate = 0.0f;
if (GetKeyDown(KeyCode.UpArrow))
{
GoStandby();
}
else if (GetKeyDown(KeyCode.DownArrow))
{
GoNight();
}
} }
else if (state == State.Night) else if (state == State.Night)
{ {
target_rate = 1.0f; target_rate = 1.0f;
if (GetKeyDown(KeyCode.UpArrow))
{
GoStandby();
}
else if (GetKeyDown(KeyCode.DownArrow))
{
GoStandby();
}
} }
rate = Mathf.Lerp(rate, target_rate, 0.02f); rate = Mathf.Lerp(rate, target_rate, 0.02f);
@ -132,12 +110,6 @@ namespace UltraCombos.Frozen
} }
} }
private bool GetKeyDown(KeyCode key)
{
return Input.GetKeyDown(key);
}
public void GoStandby() public void GoStandby()
{ {
state = State.Standby; state = State.Standby;
@ -156,7 +128,6 @@ namespace UltraCombos.Frozen
state = State.Night; state = State.Night;
onSceneNight.Invoke(); onSceneNight.Invoke();
} }
} }
} }

@ -1,41 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TuioDrawer : MonoBehaviour
{
List<Button> buttons;
void Start()
{
//var btn = GetComponentInChildren<Button>();
//btn.gameObject.SetActive(false);
buttons = new List<Button>();
//buttons.Add(btn);
buttons.AddRange(GetComponentsInChildren<Button>());
}
void Update()
{
foreach (var btn in buttons)
{
btn.gameObject.SetActive(false);
}
var touches = TUIOManager.Instance.touches;
int i = 0;
foreach (var t in touches.Values)
{
if (i < buttons.Count)
{
buttons[i].gameObject.SetActive(true);
var rt = buttons[i].transform as RectTransform;
rt.anchoredPosition = t.position;//.Scale(new Vector2(1280, 800));
i++;
}
}
}
}

@ -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:

@ -13,8 +13,9 @@
LOD 100 LOD 100
ZWrite Off ZWrite Off
Cull off Cull off
Blend SrcAlpha OneMinusSrcAlpha // Blend SrcAlpha OneMinusSrcAlpha
//Blend One OneMinusSrcAlpha //Blend One OneMinusSrcAlpha
Blend SrcAlpha OneMinusSrcAlpha, Zero One
Pass Pass
{ {

@ -16,7 +16,8 @@ SubShader {
LOD 100 LOD 100
ZWrite Off ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha // Blend SrcAlpha OneMinusSrcAlpha
Blend SrcAlpha OneMinusSrcAlpha, Zero One
Pass { Pass {
CGPROGRAM CGPROGRAM

@ -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,31 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
namespace UnityEngine.UCMobile
{
using Settings = MoveToTarget.Settings;
[UCMobileEditorAttribute(typeof(MoveToTarget))]
public class MoveToTargetEditor : UCMobileModelEditor
{
SerializedProperty Move_target;
SerializedProperty smooth;
SerializedProperty slow_down_range;
public override void OnEnable()
{
title = "MoveToTarget";
smooth = FindSetting((Settings x) => x.smooth);
slow_down_range = FindSetting((Settings x) => x.slow_down_range);
Move_target = FindSetting((Settings x) => x.target);
}
public override void OnInspectorGUI()
{
EditorGUILayout.PropertyField(Move_target);
EditorGUILayout.PropertyField(slow_down_range);
EditorGUILayout.PropertyField(smooth);
}
}
}

@ -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,127 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEditor.PostProcessing;
using UnityEngine.UCMobile;
using System;
using System.Reflection;
using System.Linq;
[CustomEditor(typeof(UCMobile))]
public class UCMobileEditor : Editor
{
GUIStyle header;
Dictionary<UCMobileModelEditor, UCMobileModel> m_CustomEditors = new Dictionary<UCMobileModelEditor, UCMobileModel>();
public void OnEnable()
{
if (target == null)
return;
var assembly = typeof(UCMobileEditor).Assembly;
var editorTypes = assembly.GetTypes()
.Where(x => x.IsDefined(typeof(UCMobileEditorAttribute), false));
var customEditors = new Dictionary<Type, UCMobileModelEditor>();
foreach (var editor in editorTypes)
{
var attr = (UCMobileEditorAttribute)editor.GetCustomAttributes(typeof(UCMobileEditorAttribute), false)[0];
var effectType = attr.type;
var alwaysEnabled = attr.alwaysEnabled;
var editorInst = (UCMobileModelEditor)Activator.CreateInstance(editor);
editorInst.alwaysEnabled = alwaysEnabled;
editorInst.profile = target as UCMobile;
editorInst.inspector = this;
customEditors.Add(effectType, editorInst);
}
var baseType = target.GetType();
var property = serializedObject.GetIterator();
while (property.Next(true))
{
if (!property.hasChildren)
continue;
var type = baseType;
var srcObject = UnityEngine.UCMobile.ReflectionUtils.GetFieldValueFromPath(serializedObject.targetObject, ref type, property.propertyPath);
if (srcObject == null)
continue;
UCMobileModelEditor editor;
if (customEditors.TryGetValue(type, out editor))
{
var effect = (UCMobileModel)srcObject;
if (editor.alwaysEnabled)
effect.enabled = editor.alwaysEnabled;
m_CustomEditors.Add(editor, effect);
editor.target = effect;
editor.serializedProperty = property.Copy();
editor.OnPreEnable();
}
}
}
public override void OnInspectorGUI()
{
header = new GUIStyle("ShurikenModuleTitle")
{
font = (new GUIStyle("Label")).font,
border = new RectOffset(15, 7, 4, 4),
fixedHeight = 22,
contentOffset = new Vector2(20f, -2f)
};
foreach (var editor in m_CustomEditors)
{
EditorGUI.BeginChangeCheck();
EditorGUILayout.Separator();
GUILayout.BeginHorizontal();
SerializedProperty IsEnable = editor.Key.serializedProperty.FindPropertyRelative("m_Enabled");
SerializedProperty IsUsed = editor.Key.serializedProperty.FindPropertyRelative("IsUsed");
var rect = GUILayoutUtility.GetRect(16f, 20f, header);
GUI.Box(rect, editor.Key.title, header);
var toggleRect = new Rect(rect.x + 4f, rect.y + 1f, 12f, 12f);
IsUsed.boolValue = GUI.Toggle(toggleRect, IsUsed.boolValue, editor.Key.title);
GUILayout.EndHorizontal();
var e = Event.current;
if (e.type == EventType.MouseDown)
{
if (toggleRect.Contains(e.mousePosition))
{
e.Use();
}
else if (rect.Contains(e.mousePosition))
{
IsEnable.boolValue = !IsEnable.boolValue;
e.Use();
}
}
if (IsEnable.boolValue)
{
using (new EditorGUI.DisabledGroupScope(!IsEnable.boolValue))
{
EditorGUILayout.Separator();
editor.Key.OnInspectorGUI();
EditorGUILayout.Separator();
}
}
if (EditorGUI.EndChangeCheck())
editor.Value.OnValidate();
editor.Key.serializedProperty.serializedObject.ApplyModifiedProperties();
}
EditorGUILayout.Separator();
}
}

@ -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,139 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Reflection;
using System.Linq.Expressions;
using System.Text;
namespace UnityEngine.UCMobile
{
public class UCMobileEditorAttribute : Attribute
{
public readonly Type type;
public readonly bool alwaysEnabled;
public UCMobileEditorAttribute(Type type, bool alwaysEnabled = false)
{
this.type = type;
this.alwaysEnabled = alwaysEnabled;
}
}
public static class ReflectionUtils
{
static Dictionary<KeyValuePair<object, string>, FieldInfo> s_FieldInfoFromPaths = new Dictionary<KeyValuePair<object, string>, FieldInfo>();
public static FieldInfo GetFieldInfoFromPath(object source, string path)
{
FieldInfo field = null;
var kvp = new KeyValuePair<object, string>(source, path);
if (!s_FieldInfoFromPaths.TryGetValue(kvp, out field))
{
var splittedPath = path.Split('.');
var type = source.GetType();
foreach (var t in splittedPath)
{
field = type.GetField(t, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
if (field == null)
break;
type = field.FieldType;
}
s_FieldInfoFromPaths.Add(kvp, field);
}
return field;
}
public static string GetFieldPath<T, TValue>(Expression<Func<T, TValue>> expr)
{
MemberExpression me;
switch (expr.Body.NodeType)
{
case ExpressionType.Convert:
case ExpressionType.ConvertChecked:
var ue = expr.Body as UnaryExpression;
me = (ue != null ? ue.Operand : null) as MemberExpression;
break;
default:
me = expr.Body as MemberExpression;
break;
}
var members = new List<string>();
while (me != null)
{
members.Add(me.Member.Name);
me = me.Expression as MemberExpression;
}
var sb = new StringBuilder();
for (int i = members.Count - 1; i >= 0; i--)
{
sb.Append(members[i]);
if (i > 0) sb.Append('.');
}
return sb.ToString();
}
public static object GetFieldValue(object source, string name)
{
var type = source.GetType();
while (type != null)
{
var f = type.GetField(name, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
if (f != null)
return f.GetValue(source);
type = type.BaseType;
}
return null;
}
public static object GetFieldValueFromPath(object source, ref Type baseType, string path)
{
var splittedPath = path.Split('.');
object srcObject = source;
foreach (var t in splittedPath)
{
var fieldInfo = baseType.GetField(t, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
if (fieldInfo == null)
{
baseType = null;
break;
}
baseType = fieldInfo.FieldType;
srcObject = GetFieldValue(srcObject, t);
}
return baseType == null
? null
: srcObject;
}
public static object GetParentObject(string path, object obj)
{
var fields = path.Split('.');
if (fields.Length == 1)
return obj;
var info = obj.GetType().GetField(fields[0], BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
obj = info.GetValue(obj);
return GetParentObject(string.Join(".", fields, 1, fields.Length - 1), obj);
}
}
}

@ -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,25 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
namespace UnityEngine.UCMobile
{
[CustomEditor(typeof(UCMobile))]
public class UCMobileInspector : Editor
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
}

@ -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,89 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq.Expressions;
using UnityEditor;
using UnityEngine;
namespace UnityEngine.UCMobile
{
public class UCMobileModelEditor
{
public string title;
public UCMobileModel target { get; internal set; }
public SerializedProperty serializedProperty { get; internal set; }
protected SerializedProperty m_SettingsProperty;
protected SerializedProperty m_EnabledProperty;
internal bool alwaysEnabled = false;
internal UCMobile profile;
internal UCMobileEditor inspector;
internal void OnPreEnable()
{
m_SettingsProperty = serializedProperty.FindPropertyRelative("m_Settings");
m_EnabledProperty = serializedProperty.FindPropertyRelative("m_Enabled");
OnEnable();
}
public virtual void OnEnable()
{ }
public virtual void OnDisable()
{ }
internal void OnGUI()
{
GUILayout.Space(5);
/*
var display = alwaysEnabled
? EditorGUIHelper.Header(serializedProperty.displayName, m_SettingsProperty, Reset)
: EditorGUIHelper.Header(serializedProperty.displayName, m_SettingsProperty, m_EnabledProperty, Reset);
if (display)
{
EditorGUI.indentLevel++;
using (new EditorGUI.DisabledGroupScope(!m_EnabledProperty.boolValue))
{
OnInspectorGUI();
}
EditorGUI.indentLevel--;
}
*/
}
void Reset()
{
var obj = serializedProperty.serializedObject;
Undo.RecordObject(obj.targetObject, "Reset");
//target.Reset();
EditorUtility.SetDirty(obj.targetObject);
}
public virtual void OnInspectorGUI()
{ }
public void Repaint()
{
inspector.Repaint();
}
protected SerializedProperty FindSetting<T, TValue>(Expression<Func<T, TValue>> expr)
{
return m_SettingsProperty.FindPropertyRelative(ReflectionUtils.GetFieldPath(expr));
}
protected SerializedProperty FindSetting<T, TValue>(SerializedProperty prop, Expression<Func<T, TValue>> expr)
{
return prop.FindPropertyRelative(ReflectionUtils.GetFieldPath(expr));
}
}
}

@ -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,29 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
namespace UnityEngine.UCMobile
{
using Settings = UCNoise.Settings;
[UCMobileEditorAttribute(typeof(UCNoise))]
public class UCNoiseEditor : UCMobileModelEditor
{
SerializedProperty pos_scale;
SerializedProperty time_scale;
public override void OnEnable()
{
title = "Noise";
pos_scale = FindSetting((Settings x) => x.pos_scale);
time_scale = FindSetting((Settings x) => x.time_scale);
}
public override void OnInspectorGUI()
{
EditorGUILayout.PropertyField(pos_scale);
EditorGUILayout.PropertyField(time_scale);
}
}
}

@ -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,71 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UnityEngine.UCMobile
{
[Serializable]
public class MoveToTarget : UCMobileModel {
[SerializeField]
Settings m_Settings = Settings.defaultSettings;
[Serializable]
public struct Settings
{
[Tooltip("slow down range to target")]
public float slow_down_range;
[Tooltip("speed smooth")]
[Range(0,1)]
public float smooth;
[Tooltip("Move Target")]
public Transform target;
public static Settings defaultSettings
{
get
{
return new Settings
{
slow_down_range = 1,
smooth = 1
};
}
}
}
public Settings settings
{
get { return m_Settings; }
set { m_Settings = value; }
}
public override void DoBehavier(GameObject obj)
{
if (settings.target == null)
return;
Vector3 to_target_dir = settings.target.position - obj.transform.position;
float dist = to_target_dir.magnitude;
float dist_weight = Mathf.Min(1.0f, dist / settings.slow_down_range);
to_target_dir.Normalize();
Vector3 new_dir = (settings.target.position - obj.transform.position).normalized * (1.0f - dist_weight);
Vector3 _direction = obj.transform.forward;
_direction += (new_dir - _direction) * Mathf.Min(1.0f, Time.deltaTime / 0.1f);
_direction.Normalize();
Vector3 vel = _direction * settings.smooth * dist_weight;
obj.transform.position += vel * Time.deltaTime;
}
public override void Reset()
{
throw new NotImplementedException();
}
}
}

@ -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,32 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UnityEngine.UCMobile
{
public class UCMobile : MonoBehaviour
{
public UCNoise ucNoise = new UCNoise();
public MoveToTarget moveTotarget = new MoveToTarget();
private List<UCMobileModel> mobileList;
// Use this for initialization
void Start()
{
mobileList = new List<UCMobileModel>();
mobileList.Add(ucNoise);
mobileList.Add(moveTotarget);
}
// Update is called once per frame
void Update()
{
foreach(UCMobileModel mobile in mobileList)
{
if (mobile.IsUsed)
mobile.DoBehavier(gameObject);
}
}
}
}

@ -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,45 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
namespace UnityEngine.UCMobile
{
[Serializable]
public abstract class UCMobileModel
{
[SerializeField, GetSet("used")]
public bool IsUsed;
[SerializeField, GetSet("enabled")]
bool m_Enabled;
public bool enabled
{
get { return m_Enabled; }
set
{
m_Enabled = value;
if (value)
OnValidate();
}
}
public abstract void DoBehavier(GameObject obj);
public abstract void Reset();
public virtual void OnValidate()
{ }
}
public sealed class GetSetAttribute : PropertyAttribute
{
public readonly string name;
public bool dirty;
public GetSetAttribute(string name)
{
this.name = name;
}
}
}

@ -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,62 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using SimplexNoise;
using System;
namespace UnityEngine.UCMobile
{
[Serializable]
public class UCNoise : UCMobileModel
{
[Serializable]
public struct Settings
{
[Tooltip("pos scale with noise")]
public float pos_scale;
[Tooltip("time scale with noise")]
public float time_scale;
public static Settings defaultSettings
{
get
{
return new Settings
{
pos_scale = 1,
time_scale = 1
};
}
}
}
[SerializeField]
Settings m_Settings = Settings.defaultSettings;
public Settings settings
{
get { return m_Settings; }
set { m_Settings = value; }
}
public Vector3 _calc_perlin_dir(Vector3 _position)
{
Vector3 noise_pos = _position * m_Settings.pos_scale;
float noise_time = Time.time * m_Settings.time_scale;
float vx = Noise.Generate(noise_pos.x + noise_time, noise_pos.y, noise_pos.z);
float vy = Noise.Generate(noise_pos.x, noise_pos.y + noise_time, noise_pos.z);
float vz = Noise.Generate(noise_pos.x, noise_pos.y, noise_pos.z + noise_time);
return new Vector3(vx, vy, vz);
}
public override void Reset()
{
throw new NotImplementedException();
}
public override void DoBehavier(GameObject obj)
{
obj.transform.position += _calc_perlin_dir(obj.transform.position);
}
}
}

@ -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:

@ -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:

@ -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:

@ -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:

@ -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:

@ -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:

@ -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:

Binary file not shown.

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…
Cancel
Save