# Conflicts:
#	.gitmodules
master
tigerchen 6 years ago
commit 752927cf6b
  1. 217
      Unity-19050-01_ForstCoronation/Assets/Scenes/Ice.unity
  2. 4
      Unity-19050-01_ForstCoronation/Assets/Visual Effect Graphs/frozenVFX.vfx
  3. 2
      Unity-19050-05-BallPool/Assets/Frozen/Frozen_Profiles.meta
  4. 1375
      Unity-19050-05-BallPool/Assets/Frozen/Frozen_Profiles/Composite Camera Profile.asset
  5. 4
      Unity-19050-05-BallPool/Assets/Frozen/Frozen_Profiles/Composite Camera Profile.asset.meta
  6. 15
      Unity-19050-05-BallPool/Assets/Frozen/Frozen_Profiles/Scene Camera Profile.asset
  7. 4
      Unity-19050-05-BallPool/Assets/Frozen/Frozen_Profiles/Scene Camera Profile.asset.meta
  8. 99
      Unity-19050-05-BallPool/Assets/Frozen/Material/Point.mat
  9. 10
      Unity-19050-05-BallPool/Assets/Frozen/Material/Point.mat.meta
  10. 320
      Unity-19050-05-BallPool/Assets/Frozen/PostProcessingProfile.asset
  11. 345
      Unity-19050-05-BallPool/Assets/Frozen/ScenePostProcessingProfile.asset
  12. 537
      Unity-19050-05-BallPool/Assets/Frozen/Script/CharacterBehaviour.cs
  13. 19
      Unity-19050-05-BallPool/Assets/Frozen/Script/FrozenCharacterController.cs
  14. 13
      Unity-19050-05-BallPool/Assets/Frozen/Script/FrozenCharacterController.cs.meta
  15. 161
      Unity-19050-05-BallPool/Assets/Frozen/Script/FrozenScreenToWorldSpace.cs
  16. 163
      Unity-19050-05-BallPool/Assets/Frozen/Script/SceneController.cs
  17. 41
      Unity-19050-05-BallPool/Assets/Frozen/Script/TuioDrawer.cs
  18. 13
      Unity-19050-05-BallPool/Assets/Frozen/Script/TuioDrawer.cs.meta
  19. 221
      Unity-19050-05-BallPool/Assets/Frozen/Shader/DFVolumeParticleUpdate.compute
  20. 10
      Unity-19050-05-BallPool/Assets/Frozen/Shader/DFVolumeParticleUpdate.compute.meta
  21. 99
      Unity-19050-05-BallPool/Assets/Frozen/Shader/FrozenParticleUnlitPoint.shader
  22. 10
      Unity-19050-05-BallPool/Assets/Frozen/Shader/FrozenParticleUnlitPoint.shader.meta
  23. 62
      Unity-19050-05-BallPool/Assets/Frozen/Shader/FrozenUnlitTexture.shader
  24. 39
      Unity-19050-05-BallPool/Assets/Frozen/Shader/FrozenVertexBufferUpdate.compute
  25. 8
      Unity-19050-05-BallPool/Assets/Frozen/Shader/FrozenVertexBufferUpdate.compute.meta
  26. 192
      Unity-19050-05-BallPool/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute
  27. 10
      Unity-19050-05-BallPool/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute.meta
  28. 69
      Unity-19050-05-BallPool/Assets/Frozen/Shader/UnlitColorAlpha.shader
  29. 10
      Unity-19050-05-BallPool/Assets/UnityUtils.meta
  30. 16
      Unity-19050-05-BallPool/Assets/UnityUtils/.gitignore
  31. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty.meta
  32. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile.meta
  33. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor.meta
  34. 31
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/MoveToTargetEditor.cs
  35. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/MoveToTargetEditor.cs.meta
  36. 127
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditor.cs
  37. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditor.cs.meta
  38. 139
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditorAttribute.cs
  39. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileEditorAttribute.cs.meta
  40. 25
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileInspector.cs
  41. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileInspector.cs.meta
  42. 89
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileModelEditor.cs
  43. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCMobileModelEditor.cs.meta
  44. 29
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCNoiseEditor.cs
  45. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/Editor/UCNoiseEditor.cs.meta
  46. 71
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/MoveToTarget.cs
  47. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/MoveToTarget.cs.meta
  48. 32
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobile.cs
  49. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobile.cs.meta
  50. 45
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobileModel.cs
  51. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCMobileModel.cs.meta
  52. 62
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCNoise.cs
  53. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Mobile/UCNoise.cs.meta
  54. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft.meta
  55. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.dll
  56. 24
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.dll.meta
  57. 10760
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.xml
  58. 8
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Newtonsoft/Newtonsoft.Json.xml.meta
  59. 8
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64.meta
  60. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/NativeSpoutPlugin_2_006.dll
  61. 76
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/NativeSpoutPlugin_2_006.dll.meta
  62. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Drawing.dll
  63. 68
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Drawing.dll.meta
  64. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Windows.Forms.dll
  65. 68
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/x86_64/System.Windows.Forms.dll.meta
  66. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/zxing.unity.dll
  67. 24
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/Plugins/zxing.unity.dll.meta
  68. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing.meta
  69. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources.meta
  70. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors.meta
  71. 91
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute
  72. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta
  73. 141
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramRender.shader
  74. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta
  75. 76
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/ParadeRender.shader
  76. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta
  77. 49
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute
  78. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta
  79. 101
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader
  80. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta
  81. 42
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute
  82. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta
  83. 65
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformRender.shader
  84. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta
  85. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI.meta
  86. 63
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/CurveBackground.shader
  87. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta
  88. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png
  89. 59
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta
  90. 118
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/Trackball.shader
  91. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor Resources/UI/Trackball.shader.meta
  92. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor.meta
  93. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Attributes.meta
  94. 16
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs
  95. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta
  96. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models.meta
  97. 42
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs
  98. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta
  99. 71
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AntialiasingModelEditor.cs
  100. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/3rdParty/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta
  101. Some files were not shown because too many files have changed in this diff Show More

@ -826,82 +826,6 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &782403102
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: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name:
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
rotation:
m_OverrideState: 0
m_Value: 0
min: 0
max: 360
skyIntensityMode:
m_OverrideState: 0
m_Value: 0
exposure:
m_OverrideState: 0
m_Value: 0
multiplier:
m_OverrideState: 0
m_Value: 1
min: 0
upperHemisphereLuxValue:
m_OverrideState: 0
m_Value: 1
min: 0
desiredLuxValue:
m_OverrideState: 0
m_Value: 20000
updateMode:
m_OverrideState: 0
m_Value: 0
updatePeriod:
m_OverrideState: 0
m_Value: 0
min: 0
includeSunInBaking:
m_OverrideState: 0
m_Value: 0
sunSize:
m_OverrideState: 0
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 0
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 0
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 0
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 0
m_Value: {r: 0.369, g: 0.349, b: 0.341, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 0
m_Value: 1
--- !u!1 &1111578216
GameObject:
m_ObjectHideFlags: 0
@ -956,9 +880,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_ExecuteInEditor: 1
m_Bindings:
- {fileID: 1111578217}
- {fileID: 1111578222}
- {fileID: 1111578227}
- {fileID: 1111578217}
m_VisualEffect: {fileID: 1111578220}
--- !u!73398921 &1111578219
VFXRenderer:
@ -1489,8 +1413,10 @@ MonoBehaviour:
target: {fileID: 2032731583}
emitter: {fileID: 1324214445}
button: {fileID: 1859907171}
growingSpeed: 0.015
stat:
growingSpeed: 0.015
fadeSpeed: 0
smooth: 0
--- !u!4 &1482770261
Transform:
m_ObjectHideFlags: 0
@ -1505,6 +1431,82 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1611372839
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: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name:
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
rotation:
m_OverrideState: 0
m_Value: 0
min: 0
max: 360
skyIntensityMode:
m_OverrideState: 0
m_Value: 0
exposure:
m_OverrideState: 0
m_Value: 0
multiplier:
m_OverrideState: 0
m_Value: 1
min: 0
upperHemisphereLuxValue:
m_OverrideState: 0
m_Value: 1
min: 0
desiredLuxValue:
m_OverrideState: 0
m_Value: 20000
updateMode:
m_OverrideState: 0
m_Value: 0
updatePeriod:
m_OverrideState: 0
m_Value: 0
min: 0
includeSunInBaking:
m_OverrideState: 0
m_Value: 0
sunSize:
m_OverrideState: 0
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 0
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 0
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 0
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 0
m_Value: {r: 0.369, g: 0.349, b: 0.341, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 0
m_Value: 1
--- !u!1 &1743590121
GameObject:
m_ObjectHideFlags: 0
@ -1699,6 +1701,63 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1840994726
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1056807493977812, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_Name
value: ConfigurationServer
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_RootOrder
value: 12
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4601478661674938, guid: 6143453941a05b54582f835773a10d58, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6143453941a05b54582f835773a10d58, type: 3}
--- !u!1 &1859907171
GameObject:
m_ObjectHideFlags: 0
@ -1808,7 +1867,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Profile: {fileID: 11400000, guid: 61403f0eeedb6b84fafb386b66e1edae, type: 2}
m_StaticLightingSkyUniqueID: 2
m_SkySettings: {fileID: 782403102}
m_SkySettings: {fileID: 1611372839}
m_SkySettingsFromProfile: {fileID: -3409118194237871670, guid: 61403f0eeedb6b84fafb386b66e1edae,
type: 2}
--- !u!114 &1937584651

@ -4353,7 +4353,7 @@ MonoBehaviour:
m_Parent: {fileID: 114350483966674976}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots:
@ -13490,7 +13490,7 @@ MonoBehaviour:
m_Parent: {fileID: 114350483966674976}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots:

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 134f27287120b5a4f88fe738d3847874
guid: b7807ab95cf695941b9ebf15b67dff8c
folderAsset: yes
DefaultImporter:
externalObjects: {}

@ -1,7 +1,5 @@
fileFormatVersion: 2
guid: 1d3b72be06e9f684191b48e995873069
timeCreated: 1529832591
licenseType: Free
guid: b984c3d9099d24744bc6ed30a79377cb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

@ -0,0 +1,15 @@
%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: 8e6292b2c06870d4495f009f912b9600, type: 3}
m_Name: Scene Camera Profile
m_EditorClassIdentifier:
settings: []

@ -1,7 +1,5 @@
fileFormatVersion: 2
guid: ff44c5fab81a8cc4daf9eff6f4695c47
timeCreated: 1523612465
licenseType: Free
guid: c1e12c1d60f973e4ebfaf6f3e3facc02
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

@ -1,99 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Point
m_Shader: {fileID: 4800000, guid: 44b738c16dcfd5445b9019d3c98e1a3c, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BlendOp: 0
- _BumpScale: 1
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _ColorMode: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DistortionBlend: 0.5
- _DistortionEnabled: 0
- _DistortionStrength: 1
- _DistortionStrengthScaled: 0
- _DstBlend: 0
- _Emission: 1.01
- _EmissionEnabled: 0
- _FlipbookMode: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _InvFade: 1
- _LightingEnabled: 0
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Size: 0.01
- _SmoothnessTextureChannel: 0
- _SoftParticlesEnabled: 0
- _SoftParticlesFarFadeDistance: 1
- _SoftParticlesNearFadeDistance: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 0.24699998, g: 0.534646, b: 1, a: 1}
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 56457e5f2df74a44c933b2791da81324
timeCreated: 1519897176
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

@ -1,320 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {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: 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: 2
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
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: 2
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
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: 2
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
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: 2
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
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,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,537 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace UltraCombos.Frozen
{
public class CharacterBehaviour : MonoBehaviour
{
public List<State> appearSataes = new List<State>();
public float videoStopTime = 1.5f;
public float disappearTime = 5.0f;
public Area area;
public List<Area> appearAreas = new List<Area>();
Vector2 wallRoi;
float origin_height = 0.0f;
[SerializeField]
List<CharacterDummy> specificPositions = new List<CharacterDummy>();
[SerializeField, Range(0, 1)]
float roaming = 0.0f;
float roaming_seed = 0.0f;
[SerializeField]
private RectTransform fakeButton;
private CanvasGroup canvas_group;
[Header("DShow Player")]
[SerializeField]
bool isStandbyLoop = true;
public DShowClip standbyClip;
public List<DShowClip> triggerClips = new List<DShowClip>();
int trigger_clip_index = 0;
public uint triggerFrame = 0;
//[SerializeField]
private DShowMoviePlayer[] players;
[Header("Event")]
[SerializeField]
UnityEvent onTrigger = new UnityEvent();
enum Status
{
TRIGGER = 0,
STANDBY = 1,
SLEEP = 2
}
Status status = Status.SLEEP;
DShowMoviePlayer StatePlayer { get { return players[(int)status]; } }
MeshRenderer StateRenderer { get { return renderers[(int)status]; } }
MeshRenderer[] renderers;
bool isTriggered = false;
Coroutine flow = null;
bool is_alive = false;
const float alive_threshold = 0.5f / 255.0f;
float alive_value = 0.0f;
[SerializeField, Header("Debug")]
bool mode = false;
public string info;
private void Awake()
{
renderers = GetComponentsInChildren<MeshRenderer>();
if (renderers.Length != 2)
Debug.LogWarningFormat("{0} renderer count is {1}", gameObject.name, renderers.Length);
//m_meshRender = GetComponent<MeshRenderer>();
//mat = new Material(Shader.Find("Unlit/ColorTransparent"));
//m_meshRender.material = mat;
origin_height = transform.position.y;
InitialiseDSPlayer();
}
void InitialiseDSPlayer()
{
CreateDSPlayer(triggerClips[0]);
CreateDSPlayer(standbyClip);
players = GetComponentsInChildren<DShowMoviePlayer>();
}
void CreateDSPlayer(DShowClip clip)
{
GameObject triggerObj = new GameObject(clip.name);
triggerObj.transform.parent = this.transform;
var player = triggerObj.AddComponent<DShowMoviePlayer>();
player.VideoAsset = clip;
player.Load();
}
void InitialTouchButton()
{
if (fakeButton != null)
return;
GameObject obj = new GameObject(gameObject.name);
obj.transform.parent = GameObject.Find("Final Canvas").transform;
fakeButton = obj.AddComponent<RectTransform>();
fakeButton.anchorMin = new Vector2(0, 0);
fakeButton.anchorMax = new Vector2(0, 0);
fakeButton.pivot = new Vector2(0.5f, 0.5f);
var standby_scale = renderers[(int)Status.STANDBY].transform.localScale;
fakeButton.sizeDelta = new Vector2(standby_scale.x, standby_scale.y) * FrozenScreenToWorldSpace.Instance.finalPixelsByMeter;
fakeButton.sizeDelta = Vector2.Min(fakeButton.sizeDelta, Vector2.one * 100.0f);
fakeButton.sizeDelta = Vector2.Max(fakeButton.sizeDelta, Vector2.one * 60.0f);
fakeButton.anchoredPosition3D = new Vector3(0, 0, 0);
fakeButton.localScale = Vector3.one;
fakeButton.gameObject.AddComponent<RawImage>();
fakeButton.GetComponent<RawImage>().color = new Color(1, 1, 1, 0);
TouchArea touch_area = fakeButton.gameObject.AddComponent<TouchArea>();
touch_area.PointerDown.AddListener((data) => { Trigger(data); });
touch_area.PointerDrag.AddListener((data) => { Trigger(data); });
canvas_group = fakeButton.gameObject.AddComponent<CanvasGroup>();
canvas_group.blocksRaycasts = true;
canvas_group.interactable = true;
}
private void Start()
{
foreach (var rdr in renderers)
{
rdr.material.mainTextureScale = new Vector2(1, -1);
rdr.material.mainTextureOffset = new Vector2(0, -1);
}
}
private void OnEnable()
{
InitialTouchButton();
ResetFlow();
//standby = true;
//isSleep = false;
//StartCoroutine(PlayStandbyOnStart());
//StartCoroutine(RandomPosNoTriggerOther());
//color = new Color(1, 1, 1, 0);
//StartCoroutine(Sleep());
if (fakeButton != null)
{
fakeButton.gameObject.SetActive(true);
canvas_group.interactable = true;
canvas_group.blocksRaycasts = true;
}
}
private void OnDisable()
{
if (fakeButton != null)
{
fakeButton.gameObject.SetActive(false);
canvas_group.interactable = false;
canvas_group.blocksRaycasts = false;
}
}
public bool Active
{
set
{
if (value) Activate();
else Deactivate();
}
}
public void Activate()
{
if (is_alive)
return;
is_alive = true;
gameObject.SetActive(true);
}
public void Deactivate()
{
if (is_alive == false)
return;
is_alive = false;
}
private void ResetFlow()
{
if (flow != null)
{
StopCoroutine(flow);
flow = null;
}
isTriggered = false;
foreach (var rdr in renderers)
{
rdr.material.color = new Color(1, 1, 1, 0);
rdr.material.SetColor("_TintColor", new Color(1, 1, 1, 0));
}
foreach (var ply in players)
{
ply.Pause();
ply.Frame = 0;
}
if (is_alive)
{
flow = StartCoroutine(Flow());
}
}
IEnumerator Flow()
{
if (mode) info = "setup";
// setup
{
if (specificPositions.Count > 0)
{
SetSpecificPos();
}
else
{
RandomAppearWall();
}
roaming_seed = Random.value * 10.0f;
trigger_clip_index = ++trigger_clip_index % triggerClips.Count;
players[(int)Status.TRIGGER].VideoAsset = triggerClips[trigger_clip_index];
yield return null;
}
if (mode) info = "STANDBY";
// standby
{
canvas_group.interactable = true;
canvas_group.blocksRaycasts = true;
status = Status.STANDBY;
var player = StatePlayer;
player.Loop = isStandbyLoop;
player.Play();
while (isTriggered == false)
{
if (mode) info = "STANDBY is not triggered";
if (player.Loop == false)
{
if (player.IsPlaying == false)
{
//player.Pause();
//player.Frame = player.TotalNumFrames;
if (mode) info = "STANDBY is not triggered and set frame";
}
}
yield return null;
}
}
if (mode) info = "TRIGGER";
// trigger
{
canvas_group.interactable = false;
canvas_group.blocksRaycasts = false;
onTrigger.Invoke();
status = Status.TRIGGER;
var player = StatePlayer;
player.Play();
player.Frame = triggerFrame;
while (player.IsPlaying)
{
if (mode) info = "TRIGGER is playing";
yield return null;
}
player.Pause();
player.Frame = player.TotalNumFrames;
if (mode) info = "TRIGGER is stopped";
yield return new WaitForSeconds(videoStopTime);
}
if (mode) info = "SLEEP";
// sleep
{
status = Status.SLEEP;
yield return new WaitForSeconds(disappearTime);
}
while (renderers[(int)Status.TRIGGER].material.color.a > 0.5f / 255.0f)
{
yield return null;
}
flow = null;
yield return null;
}
void Update()
{
alive_value = Mathf.Lerp(alive_value, is_alive ? 1.0f : 0.0f, Time.deltaTime);
if (is_alive == false && alive_value < alive_threshold)
{
alive_value = 0.0f;
gameObject.SetActive(false);
}
for (int i = 0; i < players.Length; i++)
{
if (players[i].IsPlaying)
{
renderers[i].material.mainTexture = players[i].Texture;
}
}
// standby material
{
float smooth = Time.deltaTime * 2.0f;
if (status != Status.STANDBY && isStandbyLoop == false)
smooth = 1.0f;
float alpha = System.Convert.ToInt32(status == Status.STANDBY);
alpha = Mathf.Min(alpha, alive_value);
var mat = renderers[(int)Status.STANDBY].material;
var col = new Color(1, 1, 1, Mathf.Lerp(mat.color.a, alpha, smooth));
mat.color = col;
mat.SetColor("_TintColor", col);
}
// trigger material
{
float smooth = Time.deltaTime * 2.0f;
if (status == Status.TRIGGER)
smooth = 1.0f;
float alpha = System.Convert.ToInt32(status == Status.TRIGGER);
alpha = Mathf.Min(alpha, alive_value);
var mat = renderers[(int)Status.TRIGGER].material;
var col = new Color(1, 1, 1, Mathf.Lerp(mat.color.a, alpha, smooth));
mat.color = col;
mat.SetColor("_TintColor", col);
}
switch (status)
{
case Status.STANDBY:
{
if (roaming > 0.0f)
{
UpdateRoamingPosition();
UpdateWallRoiFromPosition();
UpdateButtonPos();
}
}
break;
case Status.TRIGGER:
{
}
break;
case Status.SLEEP:
{
}
break;
}
if (mode)
{
if (Input.GetKeyDown(KeyCode.R))
{
ResetFlow();
}
}
if (flow == null)
ResetFlow();
}
void UpdateRoamingPosition()
{
float noise = Mathf.PerlinNoise(Time.time * 0.4f + roaming_seed, roaming_seed) > 0.5f ? 1.0f : -1.0f;
noise *= roaming * Time.deltaTime;
//float padding = transform.localScale.x * 0.5f;
float padding = renderers[(int)Status.TRIGGER].transform.localScale.x * 0.5f;
Vector3 pos = transform.position;
switch (area)
{
case Area.TopWall:
{
float minmax = Mathf.Abs(padding - FrozenScreenToWorldSpace.Instance.width * 0.5f);
float shift = FrozenScreenToWorldSpace.Instance.Position.x;
float x = Mathf.Clamp(pos.x + noise, -minmax + shift, minmax + shift);
transform.position = new Vector3(x, pos.y, pos.z);
}
break;
case Area.LeftWall:
case Area.RightWall:
{
float minmax = Mathf.Abs(padding - FrozenScreenToWorldSpace.Instance.length * 0.5f);
float shift = FrozenScreenToWorldSpace.Instance.Position.z;
float z = Mathf.Clamp(pos.z + noise, -minmax + shift, minmax + shift);
transform.position = new Vector3(pos.x, pos.y, z);
}
break;
}
}
void RandomAppearWall()
{
Vector3 newPos = Vector3.zero;
area = appearAreas[Random.Range(0, appearAreas.Count)];
Quaternion q = new Quaternion();
if (area == Area.LeftWall)
{
newPos.x = -FrozenScreenToWorldSpace.Instance.width / 2;
q.SetLookRotation(Vector3.left);
}
if (area == Area.RightWall)
{
newPos.x = FrozenScreenToWorldSpace.Instance.width / 2;
q.SetLookRotation(Vector3.right);
}
if (area == Area.TopWall)
{
newPos.z = FrozenScreenToWorldSpace.Instance.length / 2;
q.SetLookRotation(Vector3.forward);
}
transform.rotation = q;
transform.position = newPos;// + FrozenScreenToWorldSpace.Instance.Position;
RandomPos();
}
void RandomPos()
{
float minX = renderers[(int)Status.TRIGGER].transform.localScale.x / 2;
#if true
switch (area)
{
case Area.TopWall:
wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.width - minX) / FrozenScreenToWorldSpace.Instance.width;
break;
case Area.LeftWall:
case Area.RightWall:
wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.length - minX) / FrozenScreenToWorldSpace.Instance.length;
break;
}
#else
Vector3 randomPos = transform.localPosition;
if (randomPos.x == 0)
wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.width - minX) / FrozenScreenToWorldSpace.Instance.width;
else
wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.length - minX) / FrozenScreenToWorldSpace.Instance.length;
#endif
wallRoi.y = origin_height / FrozenScreenToWorldSpace.Instance.height;
UpdatePos();
UpdateButtonPos();
}
void UpdatePos()
{
#if true
Vector3 n_pos = transform.position;
switch (area)
{
case Area.TopWall:
n_pos.x = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.width / 2, FrozenScreenToWorldSpace.Instance.width / 2, wallRoi.x);
break;
case Area.LeftWall:
case Area.RightWall:
n_pos.z = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.length / 2, FrozenScreenToWorldSpace.Instance.length / 2, wallRoi.x);
break;
}
n_pos.y = Mathf.Lerp(0.0f, FrozenScreenToWorldSpace.Instance.height, wallRoi.y);
transform.position = n_pos + FrozenScreenToWorldSpace.Instance.Position;
#else
Vector3 n_pos = transform.localPosition;
if (area == Area.TopWall)
n_pos.x = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.width / 2, FrozenScreenToWorldSpace.Instance.width / 2, wallRoi.x);
else
n_pos.z = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.length / 2, FrozenScreenToWorldSpace.Instance.length / 2, wallRoi.x);
n_pos.y = Mathf.Lerp(0, (float)FrozenScreenToWorldSpace.Instance.height, wallRoi.y);
transform.localPosition = n_pos;
#endif
//SetButtonPos();
}
void UpdateButtonPos()
{
//Vector2 newScreenPos = FrozenScreenToWorldSpace.Instance.GetFinalScreenPos(area, wallRoi);
var roi = FrozenScreenToWorldSpace.Instance.GetWallRoiFromPosition(area, renderers[(int)Status.STANDBY].transform.position);
Vector2 newScreenPos = FrozenScreenToWorldSpace.Instance.GetFinalScreenPos(area, roi);
fakeButton.anchoredPosition = newScreenPos;
}
void SetSpecificPos()
{
int pos_index = Random.Range(0, specificPositions.Count);
var dummy = specificPositions[pos_index];
area = dummy.area;
transform.position = dummy.transform.position;
transform.rotation = dummy.transform.rotation;
UpdateWallRoiFromPosition();
UpdateButtonPos();
}
void UpdateWallRoiFromPosition()
{
wallRoi = FrozenScreenToWorldSpace.Instance.GetWallRoiFromPosition(area, transform.position);
}
private void Trigger(PointerEventData data)
{
if (status != Status.STANDBY)
return;
isTriggered = true;
}
}
}

@ -1,19 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FrozenCharacterController : MonoBehaviour {
public static FrozenCharacterController Instance { get { return instance; } }
private static FrozenCharacterController instance;
private void Awake()
{
instance = this;
}
}

@ -1,13 +0,0 @@
fileFormatVersion: 2
guid: 7e9aa98273b5dc84189684d4767d23b4
timeCreated: 1524475879
licenseType: Free
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,161 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public enum Area
{
LeftWall,
RightWall,
TopWall,
Floor
}
public class FrozenScreenToWorldSpace : MonoBehaviour {
public static FrozenScreenToWorldSpace Instance {
get {
/*
if (instacnce == null && GameObject.Find("FrozenScreenToWorldSpace").GetComponent<FrozenScreenToWorldSpace>() != null)
instacnce = GameObject.Find("FrozenScreenToWorldSpace").GetComponent<FrozenScreenToWorldSpace>();
else
instacnce = new GameObject("FrozenScreenToWorldSpace").AddComponent<FrozenScreenToWorldSpace>();
*/
return instacnce;
}
}
private static FrozenScreenToWorldSpace instacnce;
public float width = 8;
public float length = 5;
public float height = 3;
public float blackLength = 0.89f;
public float PixelsByMeter = 360;
public float finalPixelsByMeter = 90;
[System.Serializable]
public class RenderTextureROI
{
public float X;
public float Y;
public float ROI_X;
public float ROI_Y;
public RenderTextureROI(float x, float y, float roi_x, float roi_y)
{
X = x;
Y = y;
ROI_X = roi_x;
ROI_Y = roi_y;
}
public RenderTextureROI() { }
}
[SerializeField]
RenderTextureROI LeftWall = new RenderTextureROI();
[SerializeField]
RenderTextureROI TopWall = new RenderTextureROI();
[SerializeField]
RenderTextureROI RightWall = new RenderTextureROI();
[SerializeField]
RenderTextureROI Floor = new RenderTextureROI();
Dictionary<Area, RenderTextureROI> RenderTextureROIList = new Dictionary<Area, RenderTextureROI>();
Dictionary<Area, Plane> wallPlaneList = new Dictionary<Area, Plane>();
private float totalLength;
private float totalWidth;
private void Awake()
{
instacnce = this;
InitailROISetting();
}
void InitailROISetting()
{
totalLength = height * 2 + width;
totalWidth = height + length + blackLength;
LeftWall = new RenderTextureROI(0, height / totalWidth, height / totalLength, length / totalWidth);
RightWall = new RenderTextureROI((height + width) / totalLength, height / totalWidth, height / totalLength, length / totalWidth);
TopWall = new RenderTextureROI((height) / totalLength, 0, width / totalLength, height / totalWidth);
Floor = new RenderTextureROI(height / totalLength, height / totalWidth, width / totalLength, length / totalWidth);
RenderTextureROIList.Add(Area.LeftWall, LeftWall);
RenderTextureROIList.Add(Area.RightWall, RightWall);
RenderTextureROIList.Add(Area.TopWall, TopWall);
RenderTextureROIList.Add(Area.Floor, Floor);
wallPlaneList.Add(Area.LeftWall, new Plane(Vector3.right, new Vector3(-width * 0.5f, 0, 0)));
wallPlaneList.Add(Area.RightWall, new Plane(Vector3.left, new Vector3(width * 0.5f, 0, 0)));
wallPlaneList.Add(Area.TopWall, new Plane(Vector3.back, new Vector3(0, 0, length * 0.5f)));
}
public RenderTextureROI GetROI(Area area)
{
if (RenderTextureROIList.ContainsKey(area))
return RenderTextureROIList[area];
return null;
}
public Plane GetWallPlane(Area area)
{
if (wallPlaneList.ContainsKey(area))
return wallPlaneList[area];
return new Plane();
}
public Vector2 GetFinalScreenPos(Area area, Vector2 wallROI)
{
if(!RenderTextureROIList.ContainsKey(area))
return Vector2.zero;
RenderTextureROI textureROI = GetROI(area);
Vector2 currenPos = Vector2.zero;
if (area == Area.LeftWall)
{
float x = textureROI.X + (1 - wallROI.y) * textureROI.ROI_X;
float y = textureROI.Y + (1 - wallROI.x) * textureROI.ROI_Y;
currenPos = new Vector2(x, y);
}
if (area == Area.RightWall)
{
float x = textureROI.X + wallROI.y * textureROI.ROI_X;
float y = textureROI.Y + (1 - wallROI.x) * textureROI.ROI_Y;
currenPos = new Vector2(x, y);
}
if (area == Area.TopWall)
{
float x = textureROI.X + wallROI.x * textureROI.ROI_X;
float y = textureROI.Y + (1 - wallROI.y) * textureROI.ROI_Y;
currenPos = new Vector2(x, y);
}
currenPos = new Vector2(currenPos.x * Screen.width, ( 1 - currenPos.y) * Screen.height);
return currenPos;
}
public Vector2 GetWallRoiFromPosition(Area area, Vector3 position)
{
position -= transform.position;
Vector2 roi = Vector2.zero;
switch (area)
{
case Area.TopWall:
{
roi.x = (position.x + width * 0.5f) / width;
roi.y = position.y / height;
}
break;
case Area.LeftWall:
{
roi.x = (position.z + length * 0.5f) / length;
roi.y = position.y / height;
}
break;
case Area.RightWall:
{
roi.x = (position.z + length * 0.5f) / length;
roi.y = position.y / height;
}
break;
}
return roi;
}
public Vector3 Position { get { return transform.position; } }
}

@ -1,163 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UltraCombos.Utility;
namespace UltraCombos.Frozen
{
public enum State
{
Standby,
Day,
Night,
}
public class SceneController : Singleton<SceneController>
{
public State state = State.Standby;
public float standbyTime = 10.0f;
[Range(0, 1)]
public float rate = 0.0f;
// [SerializeField]
// UniformBlendedStructuredBuffer uniform;
//[SerializeField]
public List<Material> spaceMaterials = new List<Material>();
[SerializeField, Range(0.0f, 0.1f)]
float daySnowSize = 0.01f;
[SerializeField, Range(0.0f, 0.1f)]
float nightSnowSize = 0.01f;
[SerializeField]
Material snowMaterial;
// [SerializeField]
// BlendedCosineGradient cosineGradient;
// [SerializeField]
// KinectOpticalFlow kinect;
[SerializeField]
float nightKinectAmount = 30.0f;
// [SerializeField]
// ParticleViewerProcedural particleViewer;
[SerializeField, Range(0, 1)]
float dayParticleRate = 1.0f;
List<CharacterBehaviour> characters;
float target_rate = 0.0f;
public UnityEvent onSceneStandby = new UnityEvent();
public UnityEvent onSceneDay = new UnityEvent();
public UnityEvent onSceneNight = new UnityEvent();
[SerializeField, Header("Debug")]
bool mode = false;
float stamp = 0.0f;
private void Start()
{
var cbs = FindObjectsOfType<CharacterBehaviour>();
characters = new List<CharacterBehaviour>(cbs);
//debug = false;
}
private void Update()
{
if (standbyTime > 0.0f)
{
if (state == State.Standby)
{
if (Time.time - stamp > standbyTime)
{
stamp = Time.time;
GoDay();
}
}
}
if (state == State.Standby)
{
target_rate = 0.0f;
if (GetKeyDown(KeyCode.DownArrow))
{
GoDay();
}
}
else if (state == State.Day)
{
target_rate = 0.0f;
if (GetKeyDown(KeyCode.UpArrow))
{
GoStandby();
}
else if (GetKeyDown(KeyCode.DownArrow))
{
GoNight();
}
}
else if (state == State.Night)
{
target_rate = 1.0f;
if (GetKeyDown(KeyCode.UpArrow))
{
GoStandby();
}
else if (GetKeyDown(KeyCode.DownArrow))
{
GoStandby();
}
}
rate = Mathf.Lerp(rate, target_rate, 0.02f);
// uniform.rate = rate;
foreach (var mat in spaceMaterials)
mat.SetFloat("_Rate", rate);
//snowMaterial.SetFloat("_Size", Mathf.Lerp(0.0f, snowSize, rate));
snowMaterial.SetFloat("_Size", Mathf.Lerp(daySnowSize, nightSnowSize, rate));
// cosineGradient.rate = rate;
// kinect.kinectAmount = Mathf.Lerp(1.0f, nightKinectAmount, rate);
// particleViewer.VertexCount = (int)(Mathf.Lerp(dayParticleRate, 1.0f, rate) * particleViewer.buffer.count);
foreach (var chr in characters)
{
chr.Active = chr.appearSataes.Contains(state);
}
}
private bool GetKeyDown(KeyCode key)
{
return Input.GetKeyDown(key);
}
public void GoStandby()
{
state = State.Standby;
onSceneStandby.Invoke();
stamp = Time.time;
}
public void GoDay()
{
state = State.Day;
onSceneDay.Invoke();
}
public void GoNight()
{
state = State.Night;
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:

@ -1,221 +0,0 @@
#pragma kernel CSMain
#include "UnityCG.cginc"
#include "../../ParticleWorks/Shader/Inc/Defines.cginc"
#include "../../ParticleWorks/Shader/Inc/Math.cginc"
#include "../../ParticleWorks/Shader/Noise/noise3Dgrad.cginc"
#include "../../ParticleWorks/Shader/ParticleUniforms.cginc"
CBUFFER_START(Variables)
float timeStep;
float timeValue;
float bufferCount;
int home_count;
float3 coeffsA;
float3 coeffsB;
float3 coeffsC;
float3 coeffsD;
float4 FluidGridDim;
float4 FluidGridRoot;
float4 FluidGridSize;
CBUFFER_END
RWStructuredBuffer<Particle> ssbo;
RWStructuredBuffer<ParticleUniforms> uniform_buffer;
RWStructuredBuffer<float4> home_position_buffer;
RWStructuredBuffer<float4> home_velocity_buffer;
RWStructuredBuffer<float3> fluid_velocity_buffer;
Texture3D<float4> DFVolume;
SamplerState samplerDFVolume;
float4 SampleVolume(float3 p)
{
return DFVolume.SampleLevel(samplerDFVolume, p, 0);
}
[numthreads(WORK_GROUP_SIZE, 1, 1)]
void CSMain(uint3 id : SV_DispatchThreadID)
{
uint idx = id.x;
Particle p = ssbo[idx];
float4 home_position = (home_count > 0) ? home_position_buffer[p.seed * home_count] : float4(0, 0, 0, 1);
float4 home_velocity = (home_count > 0) ? home_velocity_buffer[p.seed * home_count] : float4(0, 0, 0, 1);
ParticleUniforms uni = uniform_buffer[0];
float factor = p.color.a;
float3 acc = float3(0, 0, 0);
float3 F = float3(0, 0, 0);
if (home_count > 0)
{
float duration = uni.lifeDuration * (1.0f + factor * uni.lifeVariation);
float current_life = p.life * duration + timeStep;
//bool is_reset = false;
//if (current_life > duration)
//{
// current_life -= duration;
// is_reset = true;
//}
//if (is_reset || p.life < 0.0f)
if (current_life > duration && uni.lifeDuration > 0.1f)
{
current_life -= duration;
//if (isEmit == 0 && current_life > 0.0) current_life -= duration;
p.position = home_position.xyz;
p.color.rgb = float3(1, 1, 1);
p.velocity = home_velocity.xyz * 20.0f * pow(length(home_velocity.xyz), 2.0f);
//p.velocity = forceDirection * 3.0f;
}
p.life = current_life / duration;
}
// noise
{
//float n_seed = p.seed * 0.12f;
//float time_seed = timeValue * noiseTimeScale;
float3 np = p.position * uni.noiseFrequency;
float3 n1, n2;
snoise(np, n1);
snoise(np + float3(uni.noiseSeed, p.seed * 0.12f, timeValue * uni.noiseTimeScale), n2);
F = cross(n1, n2);
acc += F * uni.noiseStrength;
}
// convergence
{
F = -p.position;
acc += F * uni.convergence;
}
// home as tangential
{
F = cross(p.position, float3(0, 1, 0));
float d = clamp(abs(p.position.y), 1, 100);
F = normalize(F) * 10.0f / pow(d, 2 * 2);
acc += F * uni.homeStrength;
}
// force
{
F = float3(0, 0, 0);
if (length(uni.forceDirection) > 0.1f)
F = normalize(uni.forceDirection) * 10.0f;
acc += F * uni.forceStrength;
}
// impulse
{
//F = uni.impulsePosition - p.position;
//float mag = F.x*F.x + F.y*F.y + F.z*F.z;
//float rad2 = uni.impulseRadius * uni.impulseRadius;
//acc += F * exp(-mag / rad2) * uni.impulseStrength;
}
// fluid
{
float3 dim = ((p.position - FluidGridRoot) / FluidGridSize) * FluidGridDim;
dim = clamp(dim, float3(0, 0, 0), FluidGridDim - 1);
int idx = (int)dim.x + (int)dim.y * FluidGridDim.x + (int)dim.z * FluidGridDim.x * FluidGridDim.y;
float3 F = fluid_velocity_buffer[idx].xyz * 5.0f;
acc += F * uni.impulseStrength;
}
float3 volume_cc = float3(0.0, 0.424, 2.853);
// volume
{
//float3 volume_dim = float3(50, 50, 50);
//float3 dim = ((p.position - FluidGridRoot) / FluidGridSize) * volume_dim;
//dim = clamp(dim, float3(0, 0, 0), volume_dim - 1);
//int idx = (int)dim.x + (int)dim.y * volume_dim.x + (int)dim.z * volume_dim.x * volume_dim.y;
float4 df = SampleVolume((p.position - FluidGridRoot) / FluidGridSize);
float3 F = -df.xyz * pow(saturate(df.w / 1.0), 1.0 / 2.2) * 0.9;
float3 np = p.position * uni.noiseFrequency;
float3 n1 = float3(0, 0, 0);
snoise(np + float3(uni.noiseSeed, p.seed, timeValue * 5.0), n1);
//F = float3(0, 0, 0);
//F += cross(-df.xyz, float3(0, -1, 0)) * (1.0 - saturate(df.w / 0.1)) * 0.95;
F += cross(-df.xyz, n1) * (1.0 - saturate(df.w / 0.1)) * 0.15;
//float4 data = volume_data[idx];
//float3 F = -data.xyz * pow(data.w, 2.2);
//F += cross(-data.xyz, float3(1, 0, 0)) * (1.0 - saturate(data.w)) * 0.1;
//if (data.w < 0.1) F += data.xyz * 10.0;
//float3 F = lerp(cross(data.xyz, p.velocity), -data.xyz, saturate(data.w));
acc += F * 10.0;
//float th = 0.01;
//acc += float3(1, 0, 0) * (1.0 - saturate(df.w / th)) * 12.0;
if (abs(p.position.z - volume_cc.z) < 0.8)
acc += float3(1, 0, 0) * 7.0;
}
acc *= uni.movement;
p.velocity += acc * timeStep;
{
float4 df = SampleVolume((p.position - FluidGridRoot) / FluidGridSize);
float th = 0.01;
float3 dp = p.position - df.xyz * df.w;
p.velocity = lerp(df.xyz, p.velocity, saturate(df.w / th));
if (dot(p.position - dp, volume_cc - dp) > 0.0) p.position = dp + df.xyz * th;
}
p.position += p.velocity * timeStep;
//float damping = lerp(0.965f, 0.985f, p.seed) * velocityDamping;
p.velocity *= lerp(0.965f, 0.985f, p.seed) * uni.velocityDamping;
// calculate rotate quat
{
float vel = length(p.velocity);
float a = (1 + factor) * vel * 0.05f;
float4 q = quat_from_axis_angle(normalize(p.velocity + float3(0, FLT_EPSILON, 0)), a);
q = quat_mult(p.quat, q);
q = normalize(q);
p.quat = lerp(p.quat, q, saturate(vel - 0.01f));
}
// calculate model matrix
{
float size = uni.geomSize * lerp(1, pow(1.0f - saturate(p.life), 1.0f / 2.2f), any(uni.lifeDuration));
size *= lerp(0.5, 1.0, p.seed);
if (idx > (uint)(uni.numRate * bufferCount) || (p.life < 0.0f && uni.lifeDuration > 0.1f))
{
size = 0.0f;
}
float4x4 mat = make_translation_matrix(p.position);
mat = mul(mat, quat_to_rotation_matrix(p.quat));
mat = mul(mat, make_scaling_matrix(size));
p.model_matrix = mat;
}
// ground collision
{
float3 pos = mul(p.model_matrix, float4(p.position, 1.0f)).xyz;
pos = p.position;
if (pos.y < 0.0f)
{
p.velocity.y = abs(p.velocity.y) * 0.8f;
p.position.y = 0.0f;
}
}
// cosine gradient
{
float t = (uni.lifeDuration > 0.1f) ? clamp(p.life, 0.0f, 1.0f) : factor;
half3 rgb = cosine_gradient(coeffsA, coeffsB, coeffsC, coeffsD, t);
#if !defined(UNITY_COLORSPACE_GAMMA)
rgb = GammaToLinearSpace(rgb);
#endif
p.color.rgb = rgb;
}
ssbo[id.x] = p;
}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 8233b22e9c5d09d43ab3350ff5ed572a
timeCreated: 1513318067
licenseType: Free
ComputeShaderImporter:
externalObjects: {}
currentAPIMask: 4
userData:
assetBundleName:
assetBundleVariant:

@ -1,99 +0,0 @@
Shader "UltraCombos/Frozen/ParticleUnlitPoint"
{
Properties
{
_Emission("Emission", Range(0, 5)) = 0.0
_Size("Size", Range(0.0, 0.1)) = 0.01
}
SubShader
{
Tags{ "RenderType" = "Opaque" }
LOD 100
Blend OneMinusDstColor One
//Blend One One
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma geometry geom
#pragma fragment frag
#pragma multi_compile_fog
#include "../../ParticleWorks/Shader/Inc/Defines.cginc"
#include "UnityCG.cginc"
struct v2g
{
float4 vertex : SV_POSITION;
float4 color : COLOR;
};
struct g2f
{
float4 vertex : SV_POSITION;
float2 uv : TEXCOORD;
float4 color : COLOR;
UNITY_FOG_COORDS(1)
};
fixed4 _Color;
half _Emission;
half _Size;
float4x4 model_matrix;
#ifdef SHADER_API_D3D11
StructuredBuffer<Particle> ssbo;
#endif
v2g vert(appdata_base v, uint vid : SV_VertexID)
{
v2g o = (v2g)0;
#ifdef SHADER_API_D3D11
o.vertex = mul(model_matrix, float4(ssbo[vid].position, 1.0));
o.vertex.w = ssbo[vid].life;
o.color = ssbo[vid].color;
#endif
return o;
}
[maxvertexcount(3)]
void geom(point v2g input[1], inout TriangleStream<g2f> OutputStream)
{
float3 position = input[0].vertex.xyz;
position = UnityObjectToViewPos(position);
float size = _Size * pow(saturate(1.0f - input[0].vertex.w), 1.0f / 2.2f);
const int side = 3;
g2f o = (g2f)0;
o.color = input[0].color;
float delta_a = UNITY_PI * 2.0f / side;
for (int i = 0; i < side; i++)
{
float a = delta_a * i;
float x = cos(-a);
float y = sin(-a);
o.vertex = mul(UNITY_MATRIX_P, float4(position + float3(x * size, y * size, 0), 1.0f));
o.uv = float2(x, y);
UNITY_TRANSFER_FOG(o, o.vertex);
OutputStream.Append(o);
}
OutputStream.RestartStrip();
}
fixed4 frag(g2f i) : SV_Target
{
clip(0.5f / sqrt(2.0f) - length(i.uv));
fixed4 col = i.color;
col.rgb *= 1 + _Emission;
UNITY_APPLY_FOG(i.fogCoord, col);
return col;
}
ENDCG
}
}
}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 44b738c16dcfd5445b9019d3c98e1a3c
timeCreated: 1519897326
licenseType: Free
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

@ -1,62 +0,0 @@
Shader "UltraCombos/Frozen/Unlit/Texture"
{
Properties
{
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Color("Color",Color) = (1,1,1,1)
[Toggle] _isGamma("is Gamma", Float) = 0
}
SubShader
{
//Tags { "RenderType"="Opaque" }
Tags{ "Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True" }
LOD 100
ZWrite Off
Cull off
Blend SrcAlpha OneMinusSrcAlpha
//Blend One OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _Color;
float _Rate;
float _isGamma;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 frag_color = tex2D(_MainTex, i.uv);
frag_color.rgb = lerp(frag_color.rgb, GammaToLinearSpace(frag_color.rgb), _isGamma);
return frag_color * _Color;
}
ENDCG
}
}
}

@ -1,39 +0,0 @@
#pragma kernel CSMain
#include "UnityCG.cginc"
#include "../../ParticleWorks/Shader/Inc/Defines.cginc"
struct Vertex
{
float3 position;
float3 normal;
float4 color;
float4 uv;
//float2 uv2;
//float4 tangent;
};
RWStructuredBuffer<Particle> ssbo;
RWStructuredBuffer<Vertex> origin_buffer;
RWStructuredBuffer<Vertex> vertex_buffer;
[numthreads(WORK_GROUP_SIZE, 1, 1)]
void CSMain(uint3 id : SV_DispatchThreadID)
{
Vertex o = origin_buffer[id.x];
Vertex v = vertex_buffer[id.x];
int index = o.uv.z;
Particle p = ssbo[index];
v.position = mul(p.model_matrix, float4(o.position.xzy, 1)).xyz;
v.normal = mul((float3x3)p.model_matrix, o.normal);
v.color = p.color;
v.uv = float4(o.uv.xy, p.seed, 0);
float space_height = 3.0;
float limit_height = 0.1;
v.position.y = saturate(v.position.y / space_height) * limit_height;
vertex_buffer[id.x] = v;
}

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 12722f65bf7d89d448b703b34b9e4dcb
ComputeShaderImporter:
externalObjects: {}
currentAPIMask: 4
userData:
assetBundleName:
assetBundleVariant:

@ -1,192 +0,0 @@
#pragma kernel CSMain
#include "UnityCG.cginc"
#include "../../ParticleWorks/Shader/Inc/Defines.cginc"
#include "../../ParticleWorks/Shader/Inc/Math.cginc"
#include "../../ParticleWorks/Shader/Noise/noise3Dgrad.cginc"
#include "../../ParticleWorks/Shader/ParticleUniforms.cginc"
CBUFFER_START(Variables)
float timeStep;
float timeValue;
float bufferCount;
float3 coeffsA;
float3 coeffsB;
float3 coeffsC;
float3 coeffsD;
float4 FluidGridDim;
float4 FluidGridRoot;
float4 FluidGridSize;
CBUFFER_END
RWStructuredBuffer<Particle> ssbo;
RWStructuredBuffer<ParticleUniforms> uniform_buffer;
StructuredBuffer<int> home_count_buffer;
StructuredBuffer<float4> home_position_buffer;
StructuredBuffer<float4> home_velocity_buffer;
StructuredBuffer<float3> fluid_velocity_buffer;
float rand(float2 co)
{
return frac(sin(dot(co.xy, float2(12.9898, 78.233))) * 43758.5453);
}
float rand(float a, float b)
{
return rand(float2(a, b));
}
[numthreads(WORK_GROUP_SIZE, 1, 1)]
void CSMain(uint3 id : SV_DispatchThreadID)
{
int home_count = home_count_buffer[0];
uint idx = id.x;
Particle p = ssbo[idx];
float4 home_position = (home_count > 0) ? home_position_buffer[p.seed * home_count] : float4(0, 0, 0, 1);
float4 home_velocity = (home_count > 0) ? home_velocity_buffer[p.seed * home_count] : float4(0, 0, 0, 1);
ParticleUniforms uni = uniform_buffer[0];
float3 acc = float3(0, 0, 0);
float3 F = float3(0, 0, 0);
if (home_count > 0)
{
float duration = uni.lifeDuration * (1.0f + p.seed * uni.lifeVariation);
float current_life = p.life * duration + timeStep;
//bool is_reset = false;
//if (current_life > duration)
//{
// current_life -= duration;
// is_reset = true;
//}
//if (is_reset || p.life < 0.0f)
if (current_life > duration && uni.lifeDuration > 0.1f)
{
current_life -= duration;
//if (isEmit == 0 && current_life > 0.0) current_life -= duration;
p.position = home_position.xyz;
p.color.rgb = float3(1, 1, 1);
//p.velocity = home_velocity.xyz * 20.0f * pow(length(home_velocity.xyz), 2.0f);
p.velocity = home_velocity.xyz * 100.0f;// * uni.homeStrength;
//p.velocity = forceDirection * 3.0f;
}
p.life = current_life / duration;
}
// noise
{
//float n_seed = p.seed * 0.12f;
//float time_seed = timeValue * noiseTimeScale;
float3 np = p.position * uni.noiseFrequency;
float3 n1, n2;
snoise(np, n1);
snoise(np + float3(uni.noiseSeed, p.seed * 0.12f, timeValue * uni.noiseTimeScale), n2);
F = cross(n1, n2);
acc += F * uni.noiseStrength;
}
// convergence
{
F = -p.position;
acc += F * uni.convergence;
}
// home as tangential
/*
{
F = cross(p.position, float3(0, 1, 0));
float d = clamp(abs(p.position.y), 1, 100);
F = normalize(F) * 10.0f / pow(d, 2 * 2);
acc += F * uni.homeStrength;
}
*/
// force
{
F = float3(0, 0, 0);
if (length(uni.forceDirection) > 0.1f)
F = normalize(uni.forceDirection) * 10.0f;
acc += F * uni.forceStrength;
}
// impulse
{
//F = uni.impulsePosition - p.position;
//float mag = F.x*F.x + F.y*F.y + F.z*F.z;
//float rad2 = uni.impulseRadius * uni.impulseRadius;
//acc += F * exp(-mag / rad2) * uni.impulseStrength;
}
// fluid
{
float3 dim = ((p.position - FluidGridRoot) / FluidGridSize) * FluidGridDim;
dim = clamp(dim, float3(0, 0, 0), FluidGridDim - 1);
int idx = (int)dim.x + (int)dim.y * FluidGridDim.x + (int)dim.z * FluidGridDim.x * FluidGridDim.y;
float3 F = fluid_velocity_buffer[idx].xyz * 5.0f;
acc += F * uni.impulseStrength;
}
acc *= uni.movement;
p.velocity += acc * timeStep;
p.position += p.velocity * timeStep;
//float damping = lerp(0.965f, 0.985f, p.seed) * velocityDamping;
p.velocity *= lerp(0.965f, 0.985f, p.seed) * uni.velocityDamping;
// calculate rotate quat
{
float vel = length(p.velocity);
float a = (1 + p.seed) * vel * 0.05f;
float4 q = quat_from_axis_angle(normalize(p.velocity + float3(0, FLT_EPSILON, 0)), a);
q = quat_mult(p.quat, q);
q = normalize(q);
p.quat = lerp(p.quat, q, saturate(vel - 0.01f));
}
// calculate model matrix
{
//float life = saturate(p.life);
//float th = 0.05f;
//size = (life < th) ? (life / th) : ((1.0 - life) / (1.0 - th));
//size = lerp(1, sin(size * UNITY_HALF_PI), any(uni.lifeDuration));
float size = sin(saturate(p.life / 0.1f) * UNITY_HALF_PI);
size = lerp(1, size, any(uni.lifeDuration));
size *= uni.geomSize * lerp(0.5, 1.0, rand(p.seed, 5.4687));
if (idx > (uint)(uni.numRate * bufferCount) || (p.life < 0.0f && uni.lifeDuration > 0.1f))
{
size = 0.0f;
}
float4x4 mat = make_translation_matrix(p.position);
//mat = mul(mat, quat_to_rotation_matrix(p.quat));
mat = mul(mat, quat_to_rotation_matrix(float4(0, p.quat.y, 0, 1)));
mat = mul(mat, make_scaling_matrix(size));
p.model_matrix = mat;
}
// ground collision
{
float3 pos = mul(p.model_matrix, float4(p.position, 1.0f)).xyz;
pos = p.position;
if (pos.y < 0.0f)
{
p.velocity.y = abs(p.velocity.y) * 0.8f;
p.position.y = 0.0f;
}
}
// cosine gradient
{
float t = (uni.lifeDuration > 0.1f) ? clamp(p.life, 0.0f, 1.0f) : rand(p.seed, 1.2487);
half3 rgb = cosine_gradient(coeffsA, coeffsB, coeffsC, coeffsD, t);
#if !defined(UNITY_COLORSPACE_GAMMA)
rgb = GammaToLinearSpace(rgb);
#endif
p.color.rgb = rgb;
}
p.color.a = cos(saturate(p.life) * UNITY_HALF_PI);
ssbo[id.x] = p;
}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: d6604fabdbb13e9428c849c59feccdac
timeCreated: 1513318067
licenseType: Free
ComputeShaderImporter:
externalObjects: {}
currentAPIMask: 4
userData:
assetBundleName:
assetBundleVariant:

@ -1,69 +0,0 @@
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
// Unlit alpha-blended shader.
// - no lighting
// - no lightmap support
// - no per-material color
Shader "Unlit/ColorTransparent" {
Properties {
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Color("Color",Color) = (1,1,1,1)
}
SubShader {
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
LOD 100
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata_t {
float4 vertex : POSITION;
float2 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f {
float4 vertex : SV_POSITION;
float2 texcoord : TEXCOORD0;
UNITY_FOG_COORDS(1)
UNITY_VERTEX_OUTPUT_STEREO
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _Color;
v2f vert (appdata_t v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.vertex = UnityObjectToClipPos(v.vertex);
o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.texcoord) * _Color;
UNITY_APPLY_FOG(i.fogCoord, col);
return col;
}
ENDCG
}
}
}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: e52c8400fbaa7a849827061bc1854a54
folderAsset: yes
timeCreated: 1524209419
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,16 +0,0 @@
/obj
/bin/*
!/bin/data/*
*.opensdf
*.sdf
*.suo
/Library
/Temp
/Assets/UnityVS.meta
/Assets/UnityVS/Editor
/Assets/UnityVS/Editor.meta
/Assets/UC.meta
/*.CSharp.*
/*.csproj
/*.sln

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

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save