1
0
mirror of https://github.com/AcChosen/VR-Stage-Lighting.git synced 2024-11-23 23:21:07 +01:00

Quest Compatibility Update

-Added toggle to disable depth light requirements for VRSL shaders on a per scene basis for Quest compatibility
-Added toggle to remove 2D and 3D noise effects from volumetric shaders to reduce their overhead on quest.
-Implmented many toggles as keywords for static branching instead of dynamic branching to improve performance slightly.
-Slight performance improvement on volumetric shaders.
-Fixed 3D noise time bug
This commit is contained in:
AcChosen 2022-11-27 12:32:21 -05:00
parent d05c0654d1
commit df3b4e3875
47 changed files with 1424 additions and 710 deletions

View File

@ -221,6 +221,21 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3151432740593531817, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: m_IsOn
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3151432740593531817, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: m_Navigation.m_Mode
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3151432740593531817, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
value: _CheckDepthLightStatus
objectReference: {fileID: 0}
- target: {fileID: 4902972101965582961, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: m_AnchorMax.x
@ -596,6 +611,16 @@ PrefabInstance:
propertyPath: tiltRangeTarget
value: -180
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: _volumetricNoise
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: _requireDepthLight
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: serializationData.Prefab
@ -1147,6 +1172,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0.000015258789
objectReference: {fileID: 0}
- target: {fileID: 2881618057933502406, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: band
@ -1173,6 +1203,11 @@ PrefabInstance:
value:
objectReference: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
- target: {fileID: 5925805451780157428, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7970878009445922391, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_Name
@ -1407,7 +1442,7 @@ PrefabInstance:
- target: {fileID: 8370683083737037791, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9957226
value: 0.9953993
objectReference: {fileID: 0}
- target: {fileID: 8370683083737037791, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -1417,7 +1452,7 @@ PrefabInstance:
- target: {fileID: 8370683083737037791, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.09239346
value: 0.095813654
objectReference: {fileID: 0}
- target: {fileID: 8370683084096826084, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -1523,7 +1558,7 @@ PrefabInstance:
- target: {fileID: 8370683084189262413, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalPosition.x
value: 0.38
value: 0.41
objectReference: {fileID: 0}
- target: {fileID: 8370683084189262413, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -1533,27 +1568,32 @@ PrefabInstance:
- target: {fileID: 8370683084189262413, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalPosition.z
value: 2.03
value: 2.11
objectReference: {fileID: 0}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.04348758
value: 0.044308264
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.08151921
value: -0.084953025
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.4686644
value: -0.46031496
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.8785313
value: -0.8825701
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2aa50be2d32099842af2903a918a56f7, type: 3}
@ -1743,6 +1783,11 @@ PrefabInstance:
propertyPath: m_LocalPosition.z
value: -2.43
objectReference: {fileID: 0}
- target: {fileID: 672503850487982185, guid: dd0fe316ce2ca824ead0901561087fd3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 672503850984956575, guid: dd0fe316ce2ca824ead0901561087fd3,
type: 3}
propertyPath: m_LocalRotation.w
@ -2032,6 +2077,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.data[6]
value:
objectReference: {fileID: 361300295}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
@ -2233,6 +2283,11 @@ PrefabInstance:
propertyPath: m_LocalPosition.z
value: -2.56
objectReference: {fileID: 0}
- target: {fileID: 672503850487982185, guid: dd0fe316ce2ca824ead0901561087fd3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 672503850984956575, guid: dd0fe316ce2ca824ead0901561087fd3,
type: 3}
propertyPath: m_LocalRotation.w
@ -2514,6 +2569,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0.000015258789
objectReference: {fileID: 0}
- target: {fileID: 2881618057933502406, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: lightColorTint.b
@ -2535,6 +2595,11 @@ PrefabInstance:
value:
objectReference: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
- target: {fileID: 5925805451780157428, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7970878009445922391, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_Name
@ -2719,6 +2784,11 @@ PrefabInstance:
propertyPath: m_LocalPosition.z
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
@ -3178,12 +3248,12 @@ PrefabInstance:
type: 3}
propertyPath: DynamicMaterials.Array.data[8]
value:
objectReference: {fileID: 2100000, guid: 3dc789fcff109bd4a8ed838655c5fe85, type: 2}
objectReference: {fileID: 2100000, guid: e27b434902443f34a9e2c103795abbf3, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[9]
value:
objectReference: {fileID: 2100000, guid: e27b434902443f34a9e2c103795abbf3, type: 2}
objectReference: {fileID: 2100000, guid: 3dc789fcff109bd4a8ed838655c5fe85, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[10]
@ -3208,17 +3278,17 @@ PrefabInstance:
type: 3}
propertyPath: DynamicMaterials.Array.data[14]
value:
objectReference: {fileID: 2100000, guid: 29935870faf4e494299fc9c75a5be2f6, type: 2}
objectReference: {fileID: 2100000, guid: cf4505a08a0a93d4c9bee38264bd2d73, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[15]
value:
objectReference: {fileID: 2100000, guid: cf4505a08a0a93d4c9bee38264bd2d73, type: 2}
objectReference: {fileID: 2100000, guid: 1e5e69646ccc2ef4294992a17022832b, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[16]
value:
objectReference: {fileID: 2100000, guid: 1e5e69646ccc2ef4294992a17022832b, type: 2}
objectReference: {fileID: 2100000, guid: 29935870faf4e494299fc9c75a5be2f6, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[17]
@ -3243,17 +3313,17 @@ PrefabInstance:
type: 3}
propertyPath: DynamicMaterials.Array.data[21]
value:
objectReference: {fileID: 2100000, guid: df8af7c6b49d2b94392404c2f3a87cc5, type: 2}
objectReference: {fileID: 2100000, guid: 547d40805583e1c458aa8baf22f77ba5, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[22]
value:
objectReference: {fileID: 2100000, guid: 547d40805583e1c458aa8baf22f77ba5, type: 2}
objectReference: {fileID: 2100000, guid: 8036e184e66d8d54da31bdefb608f58e, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[23]
value:
objectReference: {fileID: 2100000, guid: 8036e184e66d8d54da31bdefb608f58e, type: 2}
objectReference: {fileID: 2100000, guid: df8af7c6b49d2b94392404c2f3a87cc5, type: 2}
- target: {fileID: 6759095419728963412, guid: 8894fa7e4588a5c4fab98453e558847d,
type: 3}
propertyPath: DynamicMaterials.Array.data[24]
@ -3322,7 +3392,7 @@ PrefabInstance:
- target: {fileID: 8370683083737037791, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.99583685
value: 0.99233353
objectReference: {fileID: 0}
- target: {fileID: 8370683083737037791, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -3332,7 +3402,7 @@ PrefabInstance:
- target: {fileID: 8370683083737037791, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.09115339
value: -0.12358903
objectReference: {fileID: 0}
- target: {fileID: 8370683084096826084, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -3423,7 +3493,7 @@ PrefabInstance:
- target: {fileID: 8370683084189262413, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalPosition.x
value: -0.36
value: -0.42
objectReference: {fileID: 0}
- target: {fileID: 8370683084189262413, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -3433,7 +3503,7 @@ PrefabInstance:
- target: {fileID: 8370683084189262413, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalPosition.z
value: 1.95
value: 1.66
objectReference: {fileID: 0}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
@ -3443,22 +3513,22 @@ PrefabInstance:
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
value: -0.044285353
value: -0.063444
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.x
value: 0.079672664
value: 0.10606152
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.48381165
value: -0.50941294
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.87041223
value: -0.85160106
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2aa50be2d32099842af2903a918a56f7, type: 3}
@ -3684,6 +3754,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.data[5]
value:
objectReference: {fileID: 7890732830020983326}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
@ -4020,6 +4095,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.data[5]
value:
objectReference: {fileID: 401837026}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
@ -4210,6 +4290,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0.000015258789
objectReference: {fileID: 0}
- target: {fileID: 2881618057933502406, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: lightColorTint.b
@ -4231,6 +4316,11 @@ PrefabInstance:
value:
objectReference: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
- target: {fileID: 5925805451780157428, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7970878009445922391, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_Name
@ -4350,6 +4440,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0.000015258789
objectReference: {fileID: 0}
- target: {fileID: 2881618057933502406, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: lightColorTint.b
@ -4371,6 +4466,11 @@ PrefabInstance:
value:
objectReference: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
- target: {fileID: 5925805451780157428, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7970878009445922391, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_Name
@ -5155,6 +5255,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0.000015258789
objectReference: {fileID: 0}
- target: {fileID: 2881618057933502406, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: lightColorTint.b
@ -5176,6 +5281,11 @@ PrefabInstance:
value:
objectReference: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
- target: {fileID: 5925805451780157428, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7970878009445922391, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_Name
@ -5351,6 +5461,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7203171348618848644, guid: 269647a339f4d1c47951638c83aa839b,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7346385784703776053, guid: 269647a339f4d1c47951638c83aa839b,
type: 3}
propertyPath: serializedProgramAsset
@ -5575,6 +5690,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.data[6]
value:
objectReference: {fileID: 1930212409}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8370683084744376644, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_LocalRotation.w
@ -5895,6 +6015,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0.000015258789
objectReference: {fileID: 0}
- target: {fileID: 2881618057933502406, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: band
@ -5921,6 +6046,11 @@ PrefabInstance:
value:
objectReference: {fileID: 4628212643147990498, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
- target: {fileID: 5925805451780157428, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7970878009445922391, guid: 161d81f8a11b22d42ae4e81f522939d3,
type: 3}
propertyPath: m_Name
@ -6113,6 +6243,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-AudioLink-DiscoBall
objectReference: {fileID: 0}
- target: {fileID: 4247945514636141393, guid: a7acda2f5fe7dfd4aaa49ec10a2d5586,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5548051813897782700, guid: a7acda2f5fe7dfd4aaa49ec10a2d5586,
type: 3}
propertyPath: serializationData.Prefab
@ -7420,6 +7555,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.data[5]
value:
objectReference: {fileID: 0}
- target: {fileID: 8370683084247272370, guid: 2aa50be2d32099842af2903a918a56f7,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2aa50be2d32099842af2903a918a56f7, type: 3}
--- !u!1001 &9043110790762904854
@ -7515,6 +7655,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 180.00002
objectReference: {fileID: 0}
- target: {fileID: 672503850487982185, guid: dd0fe316ce2ca824ead0901561087fd3,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1089010062832540286, guid: dd0fe316ce2ca824ead0901561087fd3,
type: 3}
propertyPath: targetToFollow

View File

@ -472,6 +472,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5825422817945746806, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6606377100955968320, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_RootOrder
@ -664,6 +669,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 5-Alt)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &269083155 stripped
@ -741,6 +751,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 0-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -893,6 +908,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 3-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -1260,6 +1280,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3561410614008698204, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8117001334545528025, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_Name
@ -1368,6 +1393,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5825422817945746806, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6606377100955968320, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_RootOrder
@ -1530,6 +1560,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 3)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -1794,6 +1829,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 1)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -2010,6 +2050,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 6-Alt)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &674297278 stripped
@ -2202,6 +2247,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3561410614008698204, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8117001334545528025, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_Name
@ -2457,6 +2507,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5825422817945746806, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6606377100955968320, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_RootOrder
@ -2603,6 +2658,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 0)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -2818,6 +2878,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 4)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &912224517 stripped
@ -3126,6 +3191,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 2-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -3555,6 +3625,11 @@ PrefabInstance:
propertyPath: m_Name
value: Directional Light (For Depth)
objectReference: {fileID: 0}
- target: {fileID: 353812187978428513, guid: dc2b8d13712a0f3488413e49afae73ef,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef,
type: 3}
propertyPath: m_RootOrder
@ -3779,6 +3854,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3561410614008698204, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8117001334545528025, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_Name
@ -4069,6 +4149,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 5)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &1526241255 stripped
@ -4270,6 +4355,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 4-Alt)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &1549262145 stripped
@ -4711,6 +4801,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 6)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &1636251377 stripped
@ -4985,6 +5080,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 2)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -5244,6 +5344,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 1-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -5700,6 +5805,11 @@ PrefabInstance:
propertyPath: tiltRangeTarget
value: -180
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: _requireDepthLight
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: serializationData.Prefab
@ -6321,6 +6431,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-DiscoBall-H (Sector 39)
objectReference: {fileID: 0}
- target: {fileID: 7053024667453560164, guid: 22192b7ad03f22a4db578b035fdca38d,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7053024667453560171, guid: 22192b7ad03f22a4db578b035fdca38d,
type: 3}
propertyPath: _syncMethod
@ -6481,17 +6596,17 @@ PrefabInstance:
- target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643,
type: 3}
propertyPath: m_LocalPosition.x
value: -0.28
value: -1.42
objectReference: {fileID: 0}
- target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643,
type: 3}
propertyPath: m_LocalPosition.y
value: -0.02
value: -0.77
objectReference: {fileID: 0}
- target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 1590388465911483962, guid: 8c5b2abb4f158154cad77f35b9ce2643,
type: 3}

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: cf72b39105aa84d45a5a1dcc2af9722c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -398,6 +398,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5825422817945746806, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6606377100955968320, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_RootOrder
@ -590,6 +595,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 5-Alt)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &269083155 stripped
@ -667,6 +677,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 0-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -824,6 +839,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 3-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -1192,6 +1212,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3561410614008698204, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8117001334545528025, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_Name
@ -1300,6 +1325,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5825422817945746806, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6606377100955968320, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_RootOrder
@ -1462,6 +1492,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 3)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -1726,6 +1761,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 1)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -1942,6 +1982,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 6-Alt)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &674297278 stripped
@ -2134,6 +2179,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3561410614008698204, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8117001334545528025, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_Name
@ -2389,6 +2439,11 @@ PrefabInstance:
propertyPath: publicVariablesUnityEngineObjects.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5825422817945746806, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6606377100955968320, guid: b3e8ff051cc2d684aa255ceccce9b96f,
type: 3}
propertyPath: m_RootOrder
@ -2541,6 +2596,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 0)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -2756,6 +2816,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 4)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &912224517 stripped
@ -3064,6 +3129,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 2-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -3493,6 +3563,11 @@ PrefabInstance:
propertyPath: m_Name
value: Directional Light (For Depth)
objectReference: {fileID: 0}
- target: {fileID: 353812187978428513, guid: dc2b8d13712a0f3488413e49afae73ef,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1895161030725929991, guid: dc2b8d13712a0f3488413e49afae73ef,
type: 3}
propertyPath: m_RootOrder
@ -3717,6 +3792,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3561410614008698204, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8117001334545528025, guid: e9dde3e86ccb8ca4bb4ecbe35a6fa7b1,
type: 3}
propertyPath: m_Name
@ -4007,6 +4087,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 5)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &1526241255 stripped
@ -4208,6 +4293,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 4-Alt)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &1549262145 stripped
@ -4649,6 +4739,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-ParLight-H (Sector 6)
objectReference: {fileID: 0}
- target: {fileID: 8473887432807896544, guid: 946b3c09cfa93244c90a4b0ac7764b44,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 946b3c09cfa93244c90a4b0ac7764b44, type: 3}
--- !u!4 &1636251377 stripped
@ -4923,6 +5018,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 2)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -5182,6 +5282,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Mover-Spotlight-H (Sector 1-Invert)
objectReference: {fileID: 0}
- target: {fileID: 6935407641794089727, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7730740239420329161, guid: f5be3cfe3f15bfb4e9477904c5af9daf,
type: 3}
propertyPath: m_RootOrder
@ -5638,11 +5743,21 @@ PrefabInstance:
propertyPath: tiltRangeTarget
value: -180
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: _volumetricNoise
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: isUsingAudioLink
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: _requireDepthLight
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5595631434132784427, guid: dedfba01424b93148b3d9a42e95ed2f7,
type: 3}
propertyPath: serializationData.Prefab
@ -6264,6 +6379,11 @@ PrefabInstance:
propertyPath: m_Name
value: VRSL-DMX-Static-DiscoBall-H (Sector 39)
objectReference: {fileID: 0}
- target: {fileID: 7053024667453560164, guid: 22192b7ad03f22a4db578b035fdca38d,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7053024667453560171, guid: 22192b7ad03f22a4db578b035fdca38d,
type: 3}
propertyPath: _syncMethod

View File

@ -10,7 +10,8 @@ Material:
m_Name: VRSL-AudioLink-StandardMover-VolumetricMat
m_Shader: {fileID: 4800000, guid: a9ae9924e60e8b04293b700af7aba257, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _ENABLESPIN_ON _GOBOBEAMSPLITENABLE_ON
_TOGGLEMAGICNOISE_ON _USERAWGRID_ON
_MAGIC_NOISE_ON _MAGIC_NOISE_ON_ON _TOGGLEMAGICNOISE_ON _USEDEPTHLIGHT_ON _USERAWGRID_ON
_USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -149,8 +150,9 @@ Material:
- _IntersectionMod: 10
- _IsEven: 0
- _LMStrength: 1
- _LensMaxBrightness: 10
- _LensMaxBrightness: 2
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MagicNoiseScale: 2.5
- _MaxConeLength: 1
- _MaxMinPanAngle: 0
@ -158,16 +160,17 @@ Material:
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _Noise2Power: 0.9
- _Noise2Power: 0.856
- _Noise2Stretch: 2.5
- _Noise2StretchInside: 2.5
- _Noise2X: 0
- _Noise2Y: 7.5
- _Noise2Z: 1
- _NoisePower: 0.75
- _NoisePower: 0.797
- _NoiseSeed: 420
- _NumBands: 4
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -215,6 +218,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -124,6 +124,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -124,6 +124,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -10,7 +10,8 @@ Material:
m_Name: VRSL-AudioLink-WashMover-VolumetricMat
m_Shader: {fileID: 4800000, guid: e94b1a2d8b9ef034da37a82c4fb64b60, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLECOLORTEXTURESAMPLE_ON _ENABLEOSC_ON _ENABLESPIN_ON
_GOBOBEAMSPLITENABLE_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON
_GOBOBEAMSPLITENABLE_ON _MAGIC_NOISE_ON _TOGGLEMAGICNOISE_ON _USEDEPTHLIGHT_ON
_USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -151,6 +152,7 @@ Material:
- _LMStrength: 1
- _LensMaxBrightness: 1.5
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MagicNoiseScale: 2.5
- _MaxConeLength: 1
- _MaxMinPanAngle: 0
@ -158,7 +160,7 @@ Material:
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _Noise2Power: 0.935
- _Noise2Power: 0.844
- _Noise2Stretch: 1.5
- _Noise2StretchInside: 1.5
- _Noise2X: 0
@ -168,6 +170,7 @@ Material:
- _NoiseSeed: 420
- _NumBands: 4
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -215,6 +218,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -10,7 +10,7 @@ Material:
m_Name: VRSL-StandardMover-VolumetricMat-HQ-Legacy
m_Shader: {fileID: 4800000, guid: 67a0beb6b3a31dc4e8b2d2344df6a994, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLECOMPATIBILITYMODE_ON _ENABLEOSC_ON _GOBOBEAMSPLITENABLE_ON
_TOGGLEMAGICNOISE_ON _USERAWGRID_ON
_MAGIC_NOISE_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -146,12 +146,14 @@ Material:
- _LegacyGoboRange: 0
- _LensMaxBrightness: 60
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MaxConeLength: 1
- _MaxMinPanAngle: 90
- _MaxMinTiltAngle: -90
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _NineUniverseMode: 0
- _Noise2Power: 0.9
- _Noise2Stretch: 2
- _Noise2StretchInside: 1.75
@ -161,6 +163,7 @@ Material:
- _NoisePower: 0.75
- _NoiseSeed: 420
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -204,6 +207,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -9,8 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: VRSL-StandardMover-VolumetricMat-HQ-Horizontal
m_Shader: {fileID: 4800000, guid: 67a0beb6b3a31dc4e8b2d2344df6a994, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _GOBOBEAMSPLITENABLE_ON _TOGGLEMAGICNOISE_ON
_USERAWGRID_ON
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _GOBOBEAMSPLITENABLE_ON _MAGIC_NOISE_ON
_MAGIC_NOISE_ON_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -146,6 +146,7 @@ Material:
- _LegacyGoboRange: 0
- _LensMaxBrightness: 60
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MaxConeLength: 1
- _MaxMinPanAngle: 90
- _MaxMinPanAngleInstanced: 180
@ -154,6 +155,7 @@ Material:
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _NineUniverseMode: 0
- _Noise2Power: 0.9
- _Noise2Stretch: 2
- _Noise2StretchInside: 1.75
@ -163,6 +165,7 @@ Material:
- _NoisePower: 0.75
- _NoiseSeed: 420
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -206,6 +209,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -10,7 +10,7 @@ Material:
m_Name: VRSL-StandardMover-VolumetricMat-HQ-Vertical
m_Shader: {fileID: 4800000, guid: 67a0beb6b3a31dc4e8b2d2344df6a994, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _ENABLESPIN_ON _ENABLEVERTICALMODE_ON
_GOBOBEAMSPLITENABLE_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON
_GOBOBEAMSPLITENABLE_ON _MAGIC_NOISE_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -146,12 +146,14 @@ Material:
- _LegacyGoboRange: 0
- _LensMaxBrightness: 60
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MaxConeLength: 1
- _MaxMinPanAngle: 90
- _MaxMinTiltAngle: -90
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _NineUniverseMode: 0
- _Noise2Power: 0.85
- _Noise2Stretch: 2
- _Noise2StretchInside: 1.75
@ -161,6 +163,7 @@ Material:
- _NoisePower: 0.75
- _NoiseSeed: 420
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -204,6 +207,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -10,7 +10,7 @@ Material:
m_Name: VRSL-WashMover-VolumetricMat-HQ-Legacy
m_Shader: {fileID: 4800000, guid: da75de52174b0924f9a93e9a37146aed, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLECOMPATIBILITYMODE_ON _ENABLEOSC_ON _ENABLESPIN_ON
_TOGGLEMAGICNOISE_ON _USERAWGRID_ON
_MAGIC_NOISE_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -146,12 +146,14 @@ Material:
- _LegacyGoboRange: 0
- _LensMaxBrightness: 1
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MaxConeLength: 1
- _MaxMinPanAngle: 90
- _MaxMinTiltAngle: -90
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _NineUniverseMode: 0
- _Noise2Power: 0.75
- _Noise2Stretch: 2
- _Noise2StretchInside: 1.5
@ -161,6 +163,7 @@ Material:
- _NoisePower: 0.75
- _NoiseSeed: 420
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -204,6 +207,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -9,8 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: VRSL-WashMover-VolumetricMat-HQ-Horizontal
m_Shader: {fileID: 4800000, guid: da75de52174b0924f9a93e9a37146aed, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _ENABLESPIN_ON _TOGGLEMAGICNOISE_ON
_USERAWGRID_ON
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _ENABLESPIN_ON _MAGIC_NOISE_ON
_TOGGLEMAGICNOISE_ON _USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -146,13 +146,15 @@ Material:
- _LegacyGoboRange: 0
- _LensMaxBrightness: 1
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MaxConeLength: 4.97
- _MaxMinPanAngle: 90
- _MaxMinTiltAngle: -90
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _Noise2Power: 0.96
- _NineUniverseMode: 0
- _Noise2Power: 0.887
- _Noise2Stretch: 2
- _Noise2StretchInside: 1.5
- _Noise2X: 0
@ -161,6 +163,7 @@ Material:
- _NoisePower: 0.75
- _NoiseSeed: 420
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -204,6 +207,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -10,7 +10,7 @@ Material:
m_Name: VRSL-WashMover-VolumetricMat-HQ-Vertical
m_Shader: {fileID: 4800000, guid: da75de52174b0924f9a93e9a37146aed, type: 3}
m_ShaderKeywords: _DNENABLER_NONE _ENABLEOSC_ON _ENABLESPIN_ON _ENABLEVERTICALMODE_ON
_TOGGLEMAGICNOISE_ON _USERAWGRID_ON
_MAGIC_NOISE_ON _TOGGLEMAGICNOISE_ON _USERAWGRID_ON _USE_DEPTH_LIGHT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
@ -146,12 +146,14 @@ Material:
- _LegacyGoboRange: 0
- _LensMaxBrightness: 1
- _LightProbeMethod: 0
- _MAGIC_NOISE_ON: 1
- _MaxConeLength: 1
- _MaxMinPanAngle: 90
- _MaxMinTiltAngle: -90
- _Metallic: 0.501
- _ModX: 0
- _ModY: 0
- _NineUniverseMode: 0
- _Noise2Power: 0.75
- _Noise2Stretch: 1
- _Noise2StretchInside: 1
@ -161,6 +163,7 @@ Material:
- _NoisePower: 0.75
- _NoiseSeed: 420
- _PanInvert: 0
- _PotatoMode: 0
- _ProjectionDistanceFallOff: 0.01
- _ProjectionFade: 2.35
- _ProjectionFadeCurve: 1.99
@ -204,6 +207,7 @@ Material:
- _ToggleMagicNoise: 1
- _TriplanarFalloff: 1
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UseRawGrid: 1
- _UseWorldNorm: 0
- _XOffset: 0

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -94,6 +94,7 @@ Material:
- _LightSourceViewSpaceRadius: 0.05
- _Metallic: 0
- _Mode: 0
- _NineUniverseMode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReferenceDistance: 10
@ -109,6 +110,7 @@ Material:
- _UVScale: 1
- _UVSec: 0
- _UniversalIntensity: 1
- _UseDepthLight: 1
- _UsePreMultiplyAlpha: 0
- _UseRawGrid: 1
- _ZWrite: 1

View File

@ -1,157 +0,0 @@
fileFormatVersion: 2
guid: b7181fa79bdfb9d4bbbce178be39dda9
ModelImporter:
serializedVersion: 19301
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: MoverLightMesh-LampFixture
- first:
1: 100004
second: MoverLightMesh-ProjectionPassMesh
- first:
1: 100006
second: MoverLightMesh-VolumetricPassMesh
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: MoverLightMesh-LampFixture
- first:
4: 400004
second: MoverLightMesh-ProjectionPassMesh
- first:
4: 400006
second: MoverLightMesh-VolumetricPassMesh
- first:
21: 2100000
second: MoverLight-LampFixtureMaterial
- first:
21: 2100002
second: MoverLight-ProjectionPassMaterial
- first:
21: 2100004
second: MoverLight-VolumetricPassMaterial
- first:
23: 2300000
second: MoverLightMesh-LampFixture
- first:
23: 2300002
second: MoverLightMesh-ProjectionPassMesh
- first:
23: 2300004
second: MoverLightMesh-VolumetricPassMesh
- first:
33: 3300000
second: MoverLightMesh-LampFixture
- first:
33: 3300002
second: MoverLightMesh-ProjectionPassMesh
- first:
33: 3300004
second: MoverLightMesh-VolumetricPassMesh
- first:
43: 4300000
second: MoverLightMesh-LampFixture
- first:
43: 4300002
second: MoverLightMesh-ProjectionPassMesh
- first:
43: 4300004
second: MoverLightMesh-VolumetricPassMesh
externalObjects: {}
materials:
materialImportMode: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1227,6 +1227,7 @@ MonoBehaviour:
projectionIntensityMax: 1
discoballIntensityMax: 1
laserIntensityMax: 1
volumetricNoiseToggle: {fileID: 0}
isUsingDMX: 1
isUsingAudioLink: 1
DMXMode: 0
@ -1253,6 +1254,7 @@ MonoBehaviour:
tiltRangeTarget: -90
useLegacyStaticLights: 0
useExtendedUniverses: 0
_requireDepthLight: 1
--- !u!114 &5530545822544342666
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -596,6 +596,7 @@ class VRSL_ManagerWindow : EditorWindow {
Vector2 dmxScrollPos, audioLinkScrollPos, mainScrollPos;
private static bool dmxHover, audioLinkHover;
private static bool last9UniverseStatus;
private static bool lastDepthLightRequirement, lastVolumetricNoiseToggle;
private static UnityEngine.Object spotlight_h, spotlight_v, spotlight_l, spotlight_a;
private static UnityEngine.Object washlight_h, washlight_v, washlight_l, washlight_a;
@ -631,7 +632,10 @@ class VRSL_ManagerWindow : EditorWindow {
GetAudioLinkLights(true);
last9UniverseStatus = panel.useExtendedUniverses;
lastDepthLightRequirement = panel.RequireDepthLight;
lastVolumetricNoiseToggle = panel.VolumetricNoise;
MassHideShowProjections();
panel._CheckDepthLightStatus();
}
LoadPrefabs();
//Debug.Log("VRSL Control Panel: Initializing!");
@ -1231,6 +1235,7 @@ class VRSL_ManagerWindow : EditorWindow {
if(panel.isUsingAudioLink)
GetAudioLinkLights(updateBools);
}
}
static void MassApplyPTRange(bool isPan)
@ -1295,6 +1300,85 @@ class VRSL_ManagerWindow : EditorWindow {
}
Debug.Log("Finished Updating Extended Universe Status!");
}
static void MassHideShowProjections()
{
if(panel == null)
{
Debug.Log("Panel not found!");
return;
}
if(panel.isUsingDMX)
{
for(int i = 0; i < universes.Length; i++)
{
if(universes[i] == null)
{
continue;
}
foreach(DMXListItem fixture in universes[i])
{
if(fixture == null)
{
continue;
}
if(fixture.light == null)
{
continue;
}
foreach(MeshRenderer rend in fixture.light.objRenderers)
{
if(rend.gameObject.name.Contains("Projection"))
{
if(rend.gameObject.name.Contains("Fixture"))
{
continue;
}
rend.gameObject.SetActive(lastDepthLightRequirement);
continue;
}
if(rend.gameObject.name.Contains("Disco"))
{
rend.gameObject.SetActive(lastDepthLightRequirement);
continue;
}
}
}
}
}
if(panel.isUsingAudioLink)
{
foreach(AudioLinkListItem fixture in audioLinkLights)
{
if(!fixture.isLaser)
{
if(fixture.light!=null)
{
foreach(MeshRenderer rend in fixture.light.objRenderers)
{
if(rend.gameObject.name.Contains("Projection"))
{
if(rend.gameObject.name.Contains("Fixture"))
{
continue;
}
rend.gameObject.SetActive(lastDepthLightRequirement);
continue;
}
if(rend.gameObject.name.Contains("Disco"))
{
rend.gameObject.SetActive(lastDepthLightRequirement);
continue;
}
}
}
}
}
}
if(hasDepthLight && depthLight != null)
{
depthLight.gameObject.SetActive(lastDepthLightRequirement);
}
}
public class FixturePrefabID
{
public int prefabID;
@ -1374,6 +1458,7 @@ class VRSL_ManagerWindow : EditorWindow {
GameObject instance = (GameObject) PrefabUtility.InstantiatePrefab(obj as GameObject);
Undo.RegisterCreatedObjectUndo (instance, undoMessage);
Selection.SetActiveObjectWithContext(instance, null);
//MassHideShowProjections();
}
private static void ApplyChangesToFixtures(bool acceptChanges, bool initialize, bool closeMenus)
@ -1939,25 +2024,66 @@ class VRSL_ManagerWindow : EditorWindow {
{
EditorGUILayout.ObjectField(Label("Current Local UI Panel", "The Current VRSL Control Panel in the scene. This is where most of the settings for your VRSL enabled scene will be stored."),panel, panel.GetType(), true);
}
if(hasDepthLight)
EditorGUI.EndDisabledGroup();
if(hasLocalPanel && panel != null)
{
EditorGUILayout.ObjectField(Label("Current Depth Light", "The main depth enabled directioanl light in the scene. This ensures that the PC quality lighting effects are working properly."),depthLight, depthLight.GetType(), true);
var so = new SerializedObject(panel);
EditorGUI.indentLevel++;
so.FindProperty("_requireDepthLight").boolValue = EditorGUILayout.ToggleLeft(Label("Require Depth Light (Recommended: Enable on PC. Required: Disable on Quest)", "Require The Depth Texture to be used in this scene. This will remove the requirement for a directional light in the scene to generate a depth texture for the shaders. WARNING: This will remove the ability to use projections and make volumetrics clip through objects more aggressively. Disabling this is required for VRSL to work on Quest."),panel.RequireDepthLight);
so.FindProperty("_volumetricNoise").boolValue = EditorGUILayout.ToggleLeft(Label("Use Volumetric Noise (Recomended: Enable on PC and Disable on Quest)", "Disables both 3D and 2D noise effects on all volumetric VRSL shaders in this scene at the shader level. Disable this for more performance if you do not care for the noise effect. Disabling this is highly recommend for quest."),panel.VolumetricNoise);
EditorGUI.indentLevel--;
so.ApplyModifiedProperties();
if((so.FindProperty("_requireDepthLight").boolValue != lastDepthLightRequirement) || (so.FindProperty("_volumetricNoise").boolValue != lastVolumetricNoiseToggle))
{
#pragma warning disable 0618 //suppressing obsoletion warnings
panel.UpdateProxy();
panel.RequireDepthLight = so.FindProperty("_requireDepthLight").boolValue;
panel.VolumetricNoise = so.FindProperty("_volumetricNoise").boolValue;
panel.ApplyProxyModifications();
#pragma warning restore 0618 //suppressing obsoletion warnings
lastDepthLightRequirement = panel.RequireDepthLight;
lastVolumetricNoiseToggle = panel.VolumetricNoise;
MassHideShowProjections();
}
}
EditorGUI.BeginDisabledGroup(true);
if(hasDepthLight && panel != null)
{
if(panel.RequireDepthLight)
{
EditorGUILayout.ObjectField(Label("Current Depth Light", "The main depth enabled directioanl light in the scene. This ensures that the PC quality lighting effects are working properly."),depthLight, depthLight.GetType(), true);
}
}
EditorGUI.EndDisabledGroup();
mainScrollPos = EditorGUILayout.BeginScrollView(mainScrollPos, false, false);
if(!hasDepthLight)
if(!hasDepthLight && panel != null)
{
EditorGUILayout.BeginVertical();
GUILayout.Label("Please ensure the ''Directional Light (For Depth)'' object is in your scene to ensure your lights work properly!", WarningLabel());
if(GUILayout.Button(Label("Spawn Depth Light Prefab!", "Spawn the VRSL depth light prefab! A directional light that emits no light/shadows, but still enables the camera's depth texture for the scene.")))
if(panel.RequireDepthLight)
{
Debug.Log("VRSL Control Panel: Spawning Depth Light Prefab...");
if(LoadPrefabs())
SpawnPrefabWithUndo(directionalLightPrefab, "Spawn Directional Light", false, false);
//Selection.SetActiveObjectWithContext(PrefabUtility.InstantiatePrefab(directionalLightPrefab as GameObject) ,null);
Repaint();
EditorGUILayout.BeginVertical();
GUILayout.Label("Please ensure the ''Directional Light (For Depth)'' object is in your scene to ensure your lights work properly!", WarningLabel());
if(GUILayout.Button(Label("Spawn Depth Light Prefab!", "Spawn the VRSL depth light prefab! A directional light that emits no light/shadows, but still enables the camera's depth texture for the scene.")))
{
Debug.Log("VRSL Control Panel: Spawning Depth Light Prefab...");
if(LoadPrefabs())
SpawnPrefabWithUndo(directionalLightPrefab, "Spawn Directional Light", false, false);
//Selection.SetActiveObjectWithContext(PrefabUtility.InstantiatePrefab(directionalLightPrefab as GameObject) ,null);
Repaint();
}
EditorGUILayout.EndVertical();
}
}
if(panel != null)
{
if(panel.RequireDepthLight && !hasDepthLight)
{
EditorGUILayout.EndScrollView();
return;
}
else if(!panel.RequireDepthLight)
{
GUILayout.Label("WARNING: Depth Light Requirement Disabled. All projection based shaders (such as spot lights, disco balls, par lights) will no longer work properly! Use at your own risk!", WarningLabel());
}
EditorGUILayout.EndVertical();
}
if(hasLocalPanel && panel != null)
{
@ -2719,11 +2845,6 @@ class VRSL_ManagerWindow : EditorWindow {
#pragma warning restore 0618 //suppressing obsoletion warnings
}
}
if(hasLocalPanel && panel != null)
{
GuiLine();
GUILayout.Label("Fixture List", Title2());
EditorGUILayout.Space(5f);
@ -2754,9 +2875,9 @@ class VRSL_ManagerWindow : EditorWindow {
}
GUILayout.BeginHorizontal();
var so = new SerializedObject(panel);
so = new SerializedObject(panel);
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
Color bg = GUI.backgroundColor;
GUIContent dmxRectText = new GUIContent(ToggleText(panel.isUsingDMX,"DMX (" + dmxCount +")"), "Enable/Disable DMX mode from this scene. This will disable all corresponding DMX render textures and prevent them from updating at runtime.");
Rect dmxRect = GUILayoutUtility.GetRect(dmxRectText, NormalButtonToggle(panel.isUsingDMX, dmxHover));
@ -2785,7 +2906,7 @@ class VRSL_ManagerWindow : EditorWindow {
//so.FindProperty("isUsingAudioLink").boolValue = GUILayout.Toggle(panel.isUsingAudioLink, ToggleText(panel.isUsingAudioLink,"AUDIOLINK"), NormalButtonToggle(panel.isUsingAudioLink, audioLinkHover));
GUI.backgroundColor = bg;
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////

View File

@ -716,6 +716,7 @@ namespace VRSL.EditorScripts
//VRStageLighting_RAW_Laser[] rawLasers = obj.GetUdonSharpComponentsInChildren<VRStageLighting_RAW_Laser>();
VRStageLighting_AudioLink_Laser[] audioLinkLasers = obj.GetUdonSharpComponentsInChildren<VRStageLighting_AudioLink_Laser>();
// VRStageLighting_DMX_Static[] dmxLights = obj.GetUdonSharpComponentsInChildren<VRStageLighting_DMX_Static>();
VRSL_LocalUIControlPanel[] controlPanels = obj.GetUdonSharpComponentsInChildren<VRSL_LocalUIControlPanel>();
#pragma warning restore 0618 //suppressing obsoletion warnings
// if(staticLights != null)
// {
@ -791,6 +792,15 @@ namespace VRSL.EditorScripts
}
}
}
if(controlPanels != null)
{
foreach(VRSL_LocalUIControlPanel panel in controlPanels)
{
panel._CheckDepthLightStatus();
//Debug.Log("AutoChecking Status");
}
}
// if(animatedLights != null)
// {
// foreach(VRStageLighting_Animated_Static fixture in animatedLights)

View File

@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 38
Data: 41
- Name:
Entry: 7
Data:
@ -1379,19 +1379,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: isUsingDMX
Data: volumetricNoiseToggle
- Name: $v
Entry: 7
Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: isUsingDMX
Data: volumetricNoiseToggle
- Name: <UserType>k__BackingField
Entry: 7
Data: 66|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
Data: UnityEngine.UI.Toggle, UnityEngine.UI
- Name:
Entry: 8
Data:
@ -1433,19 +1433,25 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: isUsingAudioLink
Data: isUsingDMX
- Name: $v
Entry: 7
Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: isUsingAudioLink
Data: isUsingDMX
- Name: <UserType>k__BackingField
Entry: 9
Data: 66
Entry: 7
Data: 69|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Boolean, mscorlib
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
Data: 69
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1460,7 +1466,55 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 69|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: isUsingAudioLink
- Name: $v
Entry: 7
Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: isUsingAudioLink
- Name: <UserType>k__BackingField
Entry: 9
Data: 69
- Name: <SystemType>k__BackingField
Entry: 9
Data: 69
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 72|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -1484,13 +1538,13 @@ MonoBehaviour:
Data: DMXMode
- Name: $v
Entry: 7
Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 73|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: DMXMode
- Name: <UserType>k__BackingField
Entry: 7
Data: 71|System.RuntimeType, mscorlib
Data: 74|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Int32, mscorlib
@ -1499,7 +1553,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 71
Data: 74
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1514,13 +1568,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 72|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 75|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 73|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 76|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 10
@ -1529,7 +1583,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 74|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
Data: 77|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
- Name: header
Entry: 1
Data: 0 = Horizontal Mode 1 = Vertical Mode 2 = Legacy Mode
@ -1538,7 +1592,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 75|UnityEngine.RangeAttribute, UnityEngine.CoreModule
Data: 78|UnityEngine.RangeAttribute, UnityEngine.CoreModule
- Name: min
Entry: 4
Data: 0
@ -1568,13 +1622,13 @@ MonoBehaviour:
Data: DMX_CRTS_Horizontal
- Name: $v
Entry: 7
Data: 76|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: DMX_CRTS_Horizontal
- Name: <UserType>k__BackingField
Entry: 7
Data: 77|System.RuntimeType, mscorlib
Data: 80|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.CustomRenderTexture[], UnityEngine.CoreModule
@ -1583,7 +1637,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1598,13 +1652,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 78|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 79|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 82|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 20
@ -1631,16 +1685,16 @@ MonoBehaviour:
Data: DMX_CRTS_Vertical
- Name: $v
Entry: 7
Data: 80|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: DMX_CRTS_Vertical
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SystemType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1655,7 +1709,7 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 84|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -1679,16 +1733,16 @@ MonoBehaviour:
Data: DMX_CRTS_Legacy
- Name: $v
Entry: 7
Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: DMX_CRTS_Legacy
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SystemType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1703,7 +1757,7 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 83|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 86|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -1727,16 +1781,16 @@ MonoBehaviour:
Data: AudioLink_CRTs
- Name: $v
Entry: 7
Data: 84|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: AudioLink_CRTs
- Name: <UserType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SystemType>k__BackingField
Entry: 9
Data: 77
Data: 80
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1751,7 +1805,7 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 85|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 88|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@ -1773,72 +1827,18 @@ MonoBehaviour:
- Name: $k
Entry: 1
Data: fixtureGizmos
- Name: $v
Entry: 7
Data: 86|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: fixtureGizmos
- Name: <UserType>k__BackingField
Entry: 9
Data: 71
- Name: <SystemType>k__BackingField
Entry: 9
Data: 71
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 87|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 88|UnityEngine.HideInInspector, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: panRangeTarget
- Name: $v
Entry: 7
Data: 89|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: panRangeTarget
Data: fixtureGizmos
- Name: <UserType>k__BackingField
Entry: 9
Data: 55
Data: 74
- Name: <SystemType>k__BackingField
Entry: 9
Data: 55
Data: 74
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1880,13 +1880,13 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: tiltRangeTarget
Data: panRangeTarget
- Name: $v
Entry: 7
Data: 92|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: tiltRangeTarget
Data: panRangeTarget
- Name: <UserType>k__BackingField
Entry: 9
Data: 55
@ -1934,19 +1934,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: useLegacyStaticLights
Data: tiltRangeTarget
- Name: $v
Entry: 7
Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: useLegacyStaticLights
Data: tiltRangeTarget
- Name: <UserType>k__BackingField
Entry: 9
Data: 66
Data: 55
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
Data: 55
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -1988,19 +1988,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: useExtendedUniverses
Data: useLegacyStaticLights
- Name: $v
Entry: 7
Data: 98|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: useExtendedUniverses
Data: useLegacyStaticLights
- Name: <UserType>k__BackingField
Entry: 9
Data: 66
Data: 69
- Name: <SystemType>k__BackingField
Entry: 9
Data: 66
Data: 69
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@ -2016,6 +2016,61 @@ MonoBehaviour:
- Name: _fieldAttributes
Entry: 7
Data: 99|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 100|UnityEngine.HideInInspector, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: useExtendedUniverses
- Name: $v
Entry: 7
Data: 101|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: useExtendedUniverses
- Name: <UserType>k__BackingField
Entry: 9
Data: 69
- Name: <SystemType>k__BackingField
Entry: 9
Data: 69
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 102|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 0
@ -2031,6 +2086,128 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _volumetricNoise
- Name: $v
Entry: 7
Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _volumetricNoise
- Name: <UserType>k__BackingField
Entry: 9
Data: 69
- Name: <SystemType>k__BackingField
Entry: 9
Data: 69
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 104|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 105|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 106|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _requireDepthLight
- Name: $v
Entry: 7
Data: 107|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _requireDepthLight
- Name: <UserType>k__BackingField
Entry: 9
Data: 69
- Name: <SystemType>k__BackingField
Entry: 9
Data: 69
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 108|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 109|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 110|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:

View File

@ -41,6 +41,7 @@ namespace VRSL
public UnityEngine.UI.Text masterSliderText, fixtureSliderText, volumetricSliderText, projectionSliderText, discoBallSliderText, laserSliderText, bloomSliderText;
public float fixtureIntensityMax = 1.0f, volumetricIntensityMax = 1.0f, projectionIntensityMax = 1.0f, discoballIntensityMax = 1.0f, laserIntensityMax = 1.0f;
public UnityEngine.UI.Toggle volumetricNoiseToggle;
public bool isUsingDMX = true;
public bool isUsingAudioLink = true;
[Space(10)]
@ -70,9 +71,40 @@ namespace VRSL
public bool useLegacyStaticLights = false;
public bool useExtendedUniverses = false;
[FieldChangeCallback(nameof(VolumetricNoise)), SerializeField]
private bool _volumetricNoise = true;
public bool VolumetricNoise
{
set
{
_volumetricNoise = value;
_CheckDepthLightStatus();
}
get => _volumetricNoise;
}
[FieldChangeCallback(nameof(RequireDepthLight)), SerializeField]
private bool _requireDepthLight = true;
public bool RequireDepthLight
{
set
{
_requireDepthLight = value;
_CheckDepthLightStatus();
_DepthLightStatusReport();
}
get => _requireDepthLight;
}
public void OnEnable()
{
_CheckDepthLightStatus();
}
void Start()
{
_CheckDepthLightStatus();
_SetFinalIntensity();
_SetFixtureIntensity();
_SetVolumetricIntensity();
@ -84,6 +116,43 @@ namespace VRSL
_CheckkExtendedUniverses();
_ForceUpdateVideoSampleTexture();
}
public void _Test()
{
Debug.Log("This is a test");
}
public void _CheckDepthLightStatus()
{
foreach(Material mat in volumetricMaterials)
{
mat.SetInt("_PotatoMode", _volumetricNoise ? 0 : 1);
mat.SetInt("_UseDepthLight", _requireDepthLight ? 1 : 0);
SetKeyword(mat, "_USE_DEPTH_LIGHT", (Mathf.FloorToInt(mat.GetInt("_UseDepthLight"))) == 1 ? true : false);
SetKeyword(mat, "_MAGIC_NOISE_ON", (Mathf.FloorToInt(mat.GetInt("_MAGIC_NOISE_ON"))) == 1 ? true : false);
SetKeyword(mat, "_POTATO_MODE_ON", (Mathf.FloorToInt(mat.GetInt("_PotatoMode"))) == 1 ? true : false);
}
foreach(Material mat in projectionMaterials)
{
mat.SetInt("_UseDepthLight", _requireDepthLight ? 1 : 0);
}
foreach(Material mat in fixtureMaterials)
{
mat.SetInt("_UseDepthLight", _requireDepthLight ? 1 : 0);
}
}
void _DepthLightStatusReport()
{
// if(_requireDepthLight)
// {
// Debug.Log("VRSL Control Panel: Enabling Depth Light Requirement");
// }
// else
// {
// Debug.Log("VRSL Control Panel: Disabling Depth Light Requirement");
// }
}
void EnableCRTS(CustomRenderTexture[] rtArray)
{
@ -270,6 +339,18 @@ namespace VRSL
bloomSliderText.text = Mathf.Round(bloomSlider.value * 100.0f).ToString();
}
}
void SetKeyword(Material mat, string keyword, bool status)
{
if (status)
{
mat.EnableKeyword(keyword);
}
else
{
mat.DisableKeyword(keyword);
}
}
}
#if !COMPILER_UDONSHARP && UNITY_EDITOR

View File

@ -9,29 +9,25 @@ inline float CorrectedLinearEyeDepth(float z, float B)
#endif
return 1.0 / (z/UNITY_MATRIX_P._34 + B);
}
float Fresnel(float3 Normal, float3 ViewDir, float Power)
{
return pow(max(0, dot(normalize(Normal), -ViewDir)), Power);
}
//3D noise based on iq's https://www.shadertoy.com/view/4sfGzS
//HLSL conversion by Orels1~
half Noise(float3 p)
{
float3 i = floor(p); p -= i;
p *= p * (3. - 2. * p);
float2 uv = (p.xy + i.xy + float2(37, 17) * i.z + .5)*0.00390625;
//uv.y *= -1;
float4 uv4 = float4(uv.x, uv.y * -1, 0.0, 0.0);
p.xy = tex2Dlod(_LightMainTex, uv4).yx;
return lerp(p.x, p.y, p.z);
}
const float3x3 m = float3x3( 0.00, 0.80, 0.60,
-0.80, 0.36, -0.48,
-0.60, -0.48, 0.64 );
float Fresnel(float3 Normal, float3 ViewDir, float Power)
{
return pow(max(0, dot(normalize(Normal), -ViewDir)), Power);
}
#ifndef _POTATO_MODE_ON
//3D noise based on iq's https://www.shadertoy.com/view/4sfGzS
//HLSL conversion by Orels1~
half Noise(float3 p)
{
float3 i = floor(p); p -= i;
p *= p * (3. - 2. * p);
float2 uv = (p.xy + i.xy + float2(37, 17) * i.z + .5)*0.00390625;
//uv.y *= -1;
float4 uv4 = float4(uv.x, uv.y * -1, 0.0, 0.0);
p.xy = tex2Dlod(_LightMainTex, uv4).yx;
return lerp(p.x, p.y, p.z);
}
#endif
float4 VolumetricLightingBRDF(v2f i, fixed facePos)
{
@ -67,9 +63,6 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
#endif
half widthNormalized = i.coneWidth/5.5;
//not sure why this was here... Keeping it just in case... it shouldn't do anything technically.
// i.uv.x = saturate(i.uv.x);
// i.uv.y = saturate(i.uv.y);
//Get gobo selection! Getting this in vertex shader seems to cause weird artifacting for some reason!
@ -85,26 +78,35 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
wpos.z = unity_CameraToWorld[2][3];
//Get Gobo Spin speed information
float goboSpinSpeed = IF(checkPanInvertY() == 1, -getGoboSpinSpeed(), getGoboSpinSpeed());
//float goboSpinSpeed = IF(checkPanInvertY() == 1, -getGoboSpinSpeed(), getGoboSpinSpeed());
float goboSpinSpeed = checkPanInvertY() == 1 ? -getGoboSpinSpeed() : getGoboSpinSpeed();
float spinSpeed = UNITY_ACCESS_INSTANCED_PROP(Props,_EnableSpin);
//CREDIT TO DJ LUKIS FOR MIRROR DEPTH CORRECTION
//Get Screen Pos UVs
float perspectiveDivide = 1.0f / i.pos.w;
float4 direction = i.worldDirection * perspectiveDivide;
float2 screenUV = i.screenPos.xy / i.screenPos.w;
//Sampling Depth
float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenUV);
//Correct for mirrors as Eye Depth
depth = CorrectedLinearEyeDepth(depth, direction.w);
//Convert to Raw Depth
depth = (1.0 - (depth * _ZBufferParams.w)) / (depth * _ZBufferParams.z);
//Convert to Linear01 Deppth
depth = Linear01Depth(depth);
#ifdef _USE_DEPTH_LIGHT
float perspectiveDivide = 1.0f / i.pos.w;
float4 direction = i.worldDirection * perspectiveDivide;
float2 screenUV = i.screenPos.xy / i.screenPos.w;
//Sampling Depth
float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenUV);
//Correct for mirrors as Eye Depth
depth = CorrectedLinearEyeDepth(depth, direction.w);
//Convert to Raw Depth
depth = (1.0 - (depth * _ZBufferParams.w)) / (depth * _ZBufferParams.z);
//Convert to Linear01 Deppth
depth = Linear01Depth(depth);
//Attempt to fade cone away when intersecting with another object
float intersectionFade = saturate(((depth * _ProjectionParams.z) - i.screenPos.w));
intersectionFade = lerp(1, intersectionFade, saturate(i.uv.x * _FadeAmt));
#else
float intersectionFade = 1.0;
#endif
//Attempt to fade cone away when intersecting with another object
float intersectionFade = saturate(((depth * _ProjectionParams.z) - i.screenPos.w));
intersectionFade = lerp(1, intersectionFade, saturate(i.uv.x * _FadeAmt));
//Attempt to fade cone away when intersecting with the camera.
//Starts to fade about 1 meter away(x/1). increase divisor to increase distance
@ -121,13 +123,13 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
//Generate gradient for cone.
// #ifndef WASH
half grad = gobo > 1 ? _GradientModGOBO * 0.6f : _GradientMod * 0.8f;
#ifndef _POTATO_MODE_ON
half grad = gobo > 1 ? _GradientModGOBO * 0.6f : _GradientMod * 0.8f;
#else
half grad = gobo > 1 ? _GradientModGOBO * 0.95f : _GradientMod * 0.8f;
#endif
fixed gradientTexture = saturate((pow(-uvMap.x + 1, grad)));
//fixed gradientTexture = saturate((pow(-uvMap.x + 1, 2.25)));
// #else
// float camFadeMod = saturate(1/(i.camAngleLen.y));
// fixed gradientTexture = saturate((pow(-uvMap.x + 1, lerp(2.25, 2.25+(getConeWidth()),camFadeMod))));
// #endif
fixed4 col = gradientTexture.r;
//Calculate View Direction for fading edges.
@ -160,69 +162,76 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
//Combine Gradient with emission color, intersection fade and camera fade.
col = col * emissionTint * cameraFade;
//return cameraFade;
#ifndef _POTATO_MODE_ON
//Generate 2D noise texture, add scroll effect, and map to cone.
float2 texUV = i.uv2;
texUV.x = texUV.x + (_Time.y*0.1) * 0.75;
texUV.y = texUV.y + (_Time.y*0.1) * 0.1;
#if !defined(WASH)
float4 tex = tex2D(_NoiseTex, texUV);
#else
float4 tex = float4(1,1,1,1);
#endif
//Generate 2D noise texture, add scroll effect, and map to cone.
float2 texUV = i.uv2;
texUV.x = texUV.x + (_Time.y*0.1) * 0.75;
texUV.y = texUV.y + (_Time.y*0.1) * 0.1;
#if !defined(WASH)
float4 tex = tex2D(_NoiseTex, texUV);
#else
float4 tex = float4(1,1,1,1);
#endif
//initialize 3D noise value and 2D noise strength value
float threeDNoise = 1.0;
half np = 0.0;
//If we are using 3D noise...
if(_ToggleMagicNoise > 0)
{
//Get vertex/frag position in worldspace
float3 worldposNoise = i.worldPos.xyz;
//Add Scrolling effect
worldposNoise.x += ((_Time.y*0.1) * _Noise2X);
worldposNoise.y += ((_Time.y*0.1) * _Noise2Y);
worldposNoise.z += ((_Time.y*0.1) * _Noise2Z);
//Add Tiling effect
float3 q = noiseScaleThreeD * worldposNoise.xyz;
//Use IQ's noise calculation equation to calculate 3D noise in world space.
//Currently only sampling the noise twice as sampling anymore isn't creating any visible improvements.
threeDNoise = 0.5000*Noise( q );
q = mul(m,q)*2.01;
threeDNoise += 0.2500*Noise( q );
// q = mul(m,q)*2.02;
// threeDNoise += 0.1250*Noise( q );
// q = mul(m,q)*2.03;
// threeDNoise += 0.0625*Noise( q );
// q = mul(m,q)*2.01;
//initialize 3D noise value and 2D noise strength value
float threeDNoise = 1.0;
half np = 0.0;
//If we aren't using gobos, remove the 2D noise effect
np = gobo > 1 ? _NoisePower : 0.0;
//Set 3D Noise Power
#ifndef WASH
float newNP = lerp(_Noise2Power - 0.2, _Noise2Power, gradientTexture.r);
threeDNoise = lerp(1, threeDNoise, newNP);
#else
threeDNoise = lerp(1, threeDNoise, _Noise2Power);
#endif
}
//If we aren't using 3D noise..
else
{
//If we are using gobos, add another 0.2 to the 2D noise power strength.
#ifndef WASH
np = gobo > 1 ? clamp(0,1,_NoisePower + 0.2) : _NoisePower;
#else
//tex = tex2D(_NoiseTex, texUV);
np = _NoisePower;
#endif
}
//Mix 2D noise Power
tex = lerp(fixed4(1, 1, 1, 1), tex, np);
//If we are using 3D noise...
#ifdef _MAGIC_NOISE_ON
//if(_ToggleMagicNoise > 0)
//{
//Get vertex/frag position in worldspace
float3 worldposNoise = i.worldPos.xyz;
//Add Scrolling effect
worldposNoise.x += ((_Time.y*0.1) * _Noise2X);
worldposNoise.y += ((_Time.y*0.1) * _Noise2Y);
worldposNoise.z += ((_Time.y*0.1) * _Noise2Z);
//Add Tiling effect
float3 q = noiseScaleThreeD * worldposNoise.xyz;
//Use IQ's noise calculation equation to calculate 3D noise in world space.
//Currently only sampling the noise twice as sampling anymore isn't creating any visible improvements.
threeDNoise = 0.5000*Noise( q );
// q = mul(float3x3( 0.00000, 0.80000, 0.60000,
// -0.80000, 0.36000, -0.48000,
// -0.60000, -0.48000, 0.64000),q)*2.01;
// //q = q * m;
// threeDNoise += 0.2500*Noise( q );
// q = mul(m,q)*2.02;
// threeDNoise += 0.1250*Noise( q );
// q = mul(m,q)*2.03;
// threeDNoise += 0.0625*Noise( q );
// q = mul(m,q)*2.01;
//If we aren't using gobos, remove the 2D noise effect
np = gobo > 1 ? _NoisePower : 0.0;
//Set 3D Noise Power
#ifndef WASH
float newNP = lerp(_Noise2Power - 0.2, _Noise2Power, gradientTexture.r);
threeDNoise = lerp(1, threeDNoise, newNP);
#else
threeDNoise = lerp(1, threeDNoise, _Noise2Power);
#endif
//}
//If we aren't using 3D noise..
#else
//else
//{
//If we are using gobos, add another 0.2 to the 2D noise power strength.
#ifndef WASH
np = gobo > 1 ? clamp(0,1,_NoisePower + 0.2) : _NoisePower;
#else
np = _NoisePower;
#endif
//}
#endif
//Mix 2D noise Power
tex = lerp(fixed4(1, 1, 1, 1), tex, np);
#endif
//Find Greyscale value of cone.
float3 newCol = (col.r + col.g + col.b)/3;
@ -235,12 +244,14 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
}
//float satMod = gobo > 1 ? 5.0 : 0.0;
newCol.xyz = lerp(col.xyz,newCol * 5, saturate(pow(saturate(gradientTexture - 0.25), _SaturationLength - satMod)) * tex.r);
#ifndef _POTATO_MODE_ON
newCol.xyz = lerp(col.xyz,newCol * 5, saturate(pow(saturate(gradientTexture - 0.25), _SaturationLength - satMod)) * tex.r);
#else
newCol.xyz = lerp(col.xyz,newCol * 5, saturate(pow(saturate(gradientTexture - 0.25), _SaturationLength - satMod)));
#endif
col.xyz = lerp(col.xyz, newCol.xyz, _Saturation);
//Mix in blinding effect.
// col*= ((i.blindingEffect * (i.blindingEffect * 0.25)));
//col*= ((i.blindingEffect));
col = lerp(col, col*i.blindingEffect * i.blindingEffect * 10, gradientTexture);
//col*=6.0;
col = lerp(col, fixed4(0,0,0,0), saturate(pow(i.uv.x,.5)));
@ -251,7 +262,8 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
//Choose split strength and pattern based on information in i.stripeinfo.
float splitter = (sin(i.uv.y * pi * floor(i.stripeInfo.x) * 2 + (_Time.w * spinSpeed)) + 1.0);
//Do not use beam splitting if we aren't using gobos.
float splitstr = IF(_GoboBeamSplitEnable == 1 && gobo > 1, i.stripeInfo.y, 0);
//float splitstr = IF(_GoboBeamSplitEnable == 1 && gobo > 1, i.stripeInfo.y, 0);
float splitstr = _GoboBeamSplitEnable == 1 && gobo > 1 ? i.stripeInfo.y : 0;
splitter = lerp(1.0, splitter, splitstr);
#else
float splitter = 1.0;
@ -259,9 +271,14 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
//Mix in 2D noise, beam splitting, and 3D noise.
col *= tex;
#ifndef _POTATO_MODE_ON
col *= tex;
col *= threeDNoise;
#else
col *= 0.35;
#endif
col *= splitter;
col *= threeDNoise;
//Add more power to Inner side of cone
float4 result = col;

View File

@ -61,7 +61,7 @@
_NoiseTex ("NoiseTex", 2D) = "white" {}
_NoisePower("Noise Strength", Range(0, 1)) = 1
_NoiseSeed ("Noise Seed", float) = 0
[Toggle]_ToggleMagicNoise ("Toggle Magic Noise", Int) = 1
[ToggleUI]_MAGIC_NOISE_ON ("Toggle Magic Noise", Int) = 1
//_ThreeDNoiseScaleInside ("Inside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2Stretch ("Outside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2StretchInside ("Inside Magic Noise Scale", Range(-10, 10)) = 1
@ -101,6 +101,9 @@
_GradientMod ("Gradient Modifier", Range(1, 4)) = 2.25
_GradientModGOBO ("Gradient Modifier GOBO", Range(1, 4)) = 2.25
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
[Toggle]_PotatoMode("Reduces the overhead on the fragment shader by removing both noise components to extra texture sampling", Int) = 0
//[Space(16)]
@ -135,13 +138,16 @@
#pragma vertex vert
#pragma fragment frag
//#pragma multi_compile_fog
#pragma shader_feature_local _MAGIC_NOISE_ON
#pragma shader_feature_local _USE_DEPTH_LIGHT
#pragma shader_feature_local _POTATO_MODE_ON
#pragma multi_compile_instancing
#pragma instancing_options assumeuniformscaling
#define VOLUMETRIC_YES //To identify the pass in the vert/frag
#include "UnityCG.cginc"
#include "../Shared/VRSL-AudioLink-Defines.cginc" //Property Defines are here
float3 thisIsAChange;
#include "../Shared/VRSL-AudioLink-Functions.cginc" //Custom Functions
struct appdata

View File

@ -61,7 +61,7 @@
_NoiseTex ("NoiseTex", 2D) = "white" {}
_NoisePower("Noise Strength", Range(0, 1)) = 1
_NoiseSeed ("Noise Seed", float) = 0
[Toggle]_ToggleMagicNoise ("Toggle Magic Noise", Int) = 1
[ToggleUI]_MAGIC_NOISE_ON ("Toggle Magic Noise", Int) = 1
//_ThreeDNoiseScaleInside ("Inside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2Stretch ("Outside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2StretchInside ("Inside Magic Noise Scale", Range(-10, 10)) = 1
@ -101,6 +101,9 @@
_GradientMod ("Gradient Modifier", Range(1, 4)) = 2.25
_GradientModGOBO ("Gradient Modifier GOBO", Range(1, 4)) = 2.25
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
[Toggle]_PotatoMode("Reduces the overhead on the fragment shader by removing both noise components to extra texture sampling", Int) = 0
//[Space(16)]
@ -139,9 +142,11 @@
#define VOLUMETRIC_YES //To identify the pass in the vert/frag
#define WASH
#pragma shader_feature_local _MAGIC_NOISE_ON
#pragma shader_feature_local _USE_DEPTH_LIGHT
#pragma shader_feature_local _POTATO_MODE_ON
#include "UnityCG.cginc"
#include "../Shared/VRSL-AudioLink-Defines.cginc" //Property Defines are here
float3 thisIsAChange;
#include "../Shared/VRSL-AudioLink-Functions.cginc" //Custom Functions
struct appdata

View File

@ -38,7 +38,7 @@ float4x4 _viewToWorld;
#endif
float4 _NoiseTex_ST;
float _NoisePower, _NoiseSeed, _Noise2X, _Noise2Y, _Noise2Z, _Noise2Power, _Noise2StretchInside;
uint _ToggleMagicNoise;
//int _MAGIC_NOISE_ON;
float _SpecularLMOcclusion;
float _SpecLMOcclusionAdjust;
@ -60,7 +60,7 @@ float _ProjectionIntensity;
float _ProjectionRange;
float4 _ProjectionRangeOrigin;
float _ProjectionFade, _ProjectionFadeCurve, _ProjectionDistanceFallOff;
uint _GoboBeamSplitEnable;
uint _GoboBeamSplitEnable, _UseDepthLight;
half _GradientMod, _GradientModGOBO;

View File

@ -48,6 +48,8 @@
// [Toggle]_ShouldDoFlicker("ShouldDoFlicker", FLoat) = 1
// _FlickerAnimSpeed("FlickerAnimSpeed", Float) = 5
// _FlickResultIntensityLowestPoint("FlickResultIntensityLowestPoint", range(0,1)) = 0.5
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
}
SubShader
{
@ -201,26 +203,6 @@
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
o.color = v.color * e;
// float2 scaleXY_WS = float2(
// length(float3(unity_ObjectToWorld[0].x, unity_ObjectToWorld[1].x, unity_ObjectToWorld[2].x)), // scale x axis
// length(float3(unity_ObjectToWorld[0].y, unity_ObjectToWorld[1].y, unity_ObjectToWorld[2].y)) // scale y axis // scale z axis
// );
// float4 world_origin = mul(UNITY_MATRIX_M, float4(0,0,0,1));
// float4 view_origin = float4(UnityObjectToViewPos(float3(0,0,0)),1);
// float scale = (_ScaleFactor * (length(view_origin)/_ReferenceDistance)) + (1 - _ScaleFactor);
// float4 worldPos = mul(UNITY_MATRIX_M, float4(scale, scale, scale, 1) * v.vertex);
// float4 flippedWorldPos = float4(-1,1,-1,1) * (worldPos - world_origin) + world_origin;
// //float4 viewPos = mul(UNITY_MATRIX_V, worldPos);
// float4 viewPos = flippedWorldPos - world_origin + view_origin;
// viewPos = float4(viewPos.x, viewPos.y, viewPos.z, viewPos.w);
// float4 clipPos = mul(UNITY_MATRIX_P, viewPos);
// o.vertex = clipPos;
float3 quadPivotPosOS = float3(0,0,0);
float3 quadPivotPosWS = TransformObjectToWorld(quadPivotPosOS);
float3 quadPivotPosVS = TransformWorldToView(quadPivotPosWS);
@ -253,52 +235,55 @@
//Test for n*n grid in view space, where quad pivot is grid's center.
//For each iteration,
//if that test point passed the scene depth occlusion test, we add 1 to visibilityTestPassedCount
for(int x = -COUNT; x <= COUNT; x++)
if(_UseDepthLight)
{
for(int y = -COUNT; y <= COUNT ; y++)
for(int x = -COUNT; x <= COUNT; x++)
{
float3 testPosVS = quadPivotPosVS;
testPosVS.xy += float2(x,y) * maxSingleAxisOffset;//add 2D test grid offset, in const view space unit
float4 PivotPosCS = mul(UNITY_MATRIX_P,float4(testPosVS,1));
float4 PivotScreenPos = ComputeScreenPos(PivotPosCS);
float2 screenUV = PivotScreenPos.xy/PivotScreenPos.w;
for(int y = -COUNT; y <= COUNT ; y++)
{
float3 testPosVS = quadPivotPosVS;
testPosVS.xy += float2(x,y) * maxSingleAxisOffset;//add 2D test grid offset, in const view space unit
float4 PivotPosCS = mul(UNITY_MATRIX_P,float4(testPosVS,1));
float4 PivotScreenPos = ComputeScreenPos(PivotPosCS);
float2 screenUV = PivotScreenPos.xy/PivotScreenPos.w;
//if screenUV out of bound, treat it as occluded, because no correct depth texture data can be used to compare
if(screenUV.x > 1 || screenUV.x < 0 || screenUV.y > 1 || screenUV.y < 0)
continue; //exit means occluded
//if screenUV out of bound, treat it as occluded, because no correct depth texture data can be used to compare
if(screenUV.x > 1 || screenUV.x < 0 || screenUV.y > 1 || screenUV.y < 0)
continue; //exit means occluded
//we don't have tex2D() in vertex shader, because rasterization is not done by GPU, so we use tex2Dlod() with mip0 instead
float4 ssd = SAMPLE_DEPTH_TEXTURE_LOD(_CameraDepthTexture, float4(screenUV, 0.0, 0.0));//(uv.x,uv.y,0,mipLevel)
float sampledSceneDepth = ssd.x;
float linearEyeDepthFromSceneDepthTexture = LinearEyeDepth(sampledSceneDepth);
float linearEyeDepthFromSelfALU = PivotPosCS.w; //clip space .w is view space z, = linear eye depth
//we don't have tex2D() in vertex shader, because rasterization is not done by GPU, so we use tex2Dlod() with mip0 instead
float4 ssd = SAMPLE_DEPTH_TEXTURE_LOD(_CameraDepthTexture, float4(screenUV, 0.0, 0.0));//(uv.x,uv.y,0,mipLevel)
float sampledSceneDepth = ssd.x;
float linearEyeDepthFromSceneDepthTexture = LinearEyeDepth(sampledSceneDepth);
float linearEyeDepthFromSelfALU = PivotPosCS.w; //clip space .w is view space z, = linear eye depth
//do the actual depth comparision test
//+1 means flare test point is visible in screen space
//+0 means flare test point blocked by other objects in screen space, not visible
visibilityTestPassedCount += linearEyeDepthFromSelfALU + _DepthOcclusionTestZBias < linearEyeDepthFromSceneDepthTexture ? 1 : 0;
//do the actual depth comparision test
//+1 means flare test point is visible in screen space
//+0 means flare test point blocked by other objects in screen space, not visible
visibilityTestPassedCount += linearEyeDepthFromSelfALU + _DepthOcclusionTestZBias < linearEyeDepthFromSceneDepthTexture ? 1 : 0;
}
}
float visibilityResult01 = visibilityTestPassedCount * divider;//0~100% visiblility result
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//if camera too close to flare , smooth fade out to prevent flare blocking camera too much (usually for fps games)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
visibilityResult01 *= smoothstep(_StartFadeinDistanceWorldUnit,_EndFadeinDistanceWorldUnit,linearEyeDepthOfFlarePivot);
// if(_ShouldDoFlicker)
// {
// float flickerMul = 0;
// //TODO: expose more control to noise? (send me an issue in GitHub, if anyone need this)
// flickerMul += saturate(sin(_Time.y * _FlickerAnimSpeed * 1.0000)) * (1-_FlickResultIntensityLowestPoint) + _FlickResultIntensityLowestPoint;
// flickerMul += saturate(sin(_Time.y * _FlickerAnimSpeed * 0.6437)) * (1-_FlickResultIntensityLowestPoint) + _FlickResultIntensityLowestPoint;
// visibilityResult01 *= saturate(flickerMul/2);
// }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//apply all combinations(visibilityResult01) to vertex color
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.color.a *= visibilityResult01;
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
}
float visibilityResult01 = visibilityTestPassedCount * divider;//0~100% visiblility result
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//if camera too close to flare , smooth fade out to prevent flare blocking camera too much (usually for fps games)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
visibilityResult01 *= smoothstep(_StartFadeinDistanceWorldUnit,_EndFadeinDistanceWorldUnit,linearEyeDepthOfFlarePivot);
// if(_ShouldDoFlicker)
// {
// float flickerMul = 0;
// //TODO: expose more control to noise? (send me an issue in GitHub, if anyone need this)
// flickerMul += saturate(sin(_Time.y * _FlickerAnimSpeed * 1.0000)) * (1-_FlickResultIntensityLowestPoint) + _FlickResultIntensityLowestPoint;
// flickerMul += saturate(sin(_Time.y * _FlickerAnimSpeed * 0.6437)) * (1-_FlickResultIntensityLowestPoint) + _FlickResultIntensityLowestPoint;
// visibilityResult01 *= saturate(flickerMul/2);
// }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//apply all combinations(visibilityResult01) to vertex color
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.color.a *= visibilityResult01;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//premultiply alpha to rgb after alpha's calculation is done
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -311,7 +296,7 @@
//invalid this vertex (and all connected vertices).
//This 100% early exit at clipping stage will prevent any rasterization & fragment shader cost at all
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
float3 hsvFC = RGB2HSV(o.color.xyz);
@ -321,42 +306,14 @@
float satMask = lerp(1, 0, pow(distance(half2(0.5, 0.5), o.uv), _ColorSat));
o.color = lerp(o.color, e2, satMask);
// UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// float2 screenposUV = i.screenPos.xy / i.screenPos.w;
// //CREDIT TO DJ LUKIS FOR MIRROR DEPTH CORRECTION
// float perspectiveDivide = 1.0f / i.vertex.w;
// float4 depthdirect = i.worldDirection * perspectiveDivide;
// float sceneZ = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenposUV);
// #if UNITY_REVERSED_Z
// if (sceneZ == 0)
// #else
// if (sceneZ == 1)
// #endif
// return float4(0,0,0,1);
// float depth = CorrectedLinearEyeDepth(sceneZ, depthdirect.w);
// //Convert from Corrected Linear Eye Depth to Linear01Depth
// //Credit: https://www.cyanilux.com/tutorials/depth/#eye-depth
// depth = (1.0 - (depth * _ZBufferParams.w)) / (depth * _ZBufferParams.z);
// depth = Linear01Depth(depth);
fixed4 col = saturate(tex2D(_MainTex, i.uv )-_RemoveTextureArtifact) * i.color;
// float2 p = i.uv * 2.0 - 1.0;
// col *= (lerp(1, 0, abs(p.x))) * (lerp(1, 0, abs(p.y)));
// apply fog
UNITY_APPLY_FOG(i.fogCoord, col);
UNITY_APPLY_FOG(i.fogCoord, col);
col *= i.maskX;
return col;
}

File diff suppressed because one or more lines are too long

View File

@ -72,7 +72,9 @@ public class VRSLInspector : ShaderGUI
MaterialProperty _Noise2Stretch = null;
MaterialProperty _Noise2StretchInside = null;
MaterialProperty _Noise2Power = null;
MaterialProperty _ToggleMagicNoise = null;
MaterialProperty _MAGIC_NOISE_ON = null;
MaterialProperty _UseDepthLight = null;
MaterialProperty _PotatoMode = null;
MaterialProperty _GradientMod = null;
MaterialProperty _GradientModGOBO = null;
// MaterialProperty _InsideConeNormalMap = null;
@ -251,7 +253,7 @@ public class VRSLInspector : ShaderGUI
GUILayout.Space(5);
if(isDiscoBall)
{
DiscoballGUI(materialEditor, props);
DiscoballGUI(materialEditor, props, material);
return;
}
@ -259,17 +261,17 @@ public class VRSLInspector : ShaderGUI
{
if(isMoverLight && isFixture)
{
MoverLightFixtureGUI(materialEditor, props);
MoverLightFixtureGUI(materialEditor, props, material);
return;
}
if(isMoverLight && isVolumetric)
{
MoverLightVolumetricGUI(materialEditor, props);
MoverLightVolumetricGUI(materialEditor, props, material);
return;
}
if(isMoverLight && isProjection)
{
MoverLightProjectionGUI(materialEditor,props);
MoverLightProjectionGUI(materialEditor,props, material);
return;
}
}
@ -277,12 +279,12 @@ public class VRSLInspector : ShaderGUI
{
if(isStaticLight && isFixture)
{
StaticLightFixtureGUI(materialEditor,props);
StaticLightFixtureGUI(materialEditor,props, material);
return;
}
if(isStaticLight && isProjection)
{
StaticLightProjectionGUI(materialEditor,props);
StaticLightProjectionGUI(materialEditor,props, material);
return;
}
}
@ -290,17 +292,17 @@ public class VRSLInspector : ShaderGUI
{
if(isRTStrobe && !isRTSpin)
{
DMXStrobeGUI(materialEditor,props);
DMXStrobeGUI(materialEditor,props, material);
return;
}
else if(isRTSpin && !isRTStrobe)
{
DMXSpinnerGUI(materialEditor, props);
DMXSpinnerGUI(materialEditor, props, material);
return;
}
else
{
DMXInterpolationGUI(materialEditor,props);
DMXInterpolationGUI(materialEditor,props, material);
return;
}
}
@ -309,7 +311,7 @@ public class VRSLInspector : ShaderGUI
}
public void AudioLinkGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void AudioLinkGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
if(isAudioLink)
{
@ -337,9 +339,9 @@ public class VRSLInspector : ShaderGUI
}
}
public void StaticLightProjectionGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void StaticLightProjectionGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
AudioLinkGUI(matEditor, props);
AudioLinkGUI(matEditor, props, target);
//DMX CONTROLS
if(isDMXCompatible)
{
@ -378,7 +380,7 @@ public class VRSLInspector : ShaderGUI
matEditor.ShaderProperty(_UniversalIntensity, new GUIContent("Universal Intensity", "Sets the maximum brightness value of both Final and GLobal Intensity. Good for personalized settings of the max brightness of the shader by other users via UI. Is non-instanced."));
GUILayout.Space(10);
matEditor.ShaderProperty(_Emission, new GUIContent("Light Emission Color", "The color of the light!. Use this to color the emissive part of the material."));
ColorTextureSamplingGUI(matEditor, props);
ColorTextureSamplingGUI(matEditor, props, target);
//matEditor.ShaderProperty(_CurveMod, new GUIContent("Light Intensity Curve Modifier", "Curve modifier for light intensity."));
matEditor.ShaderProperty(_FixtureMaxIntensity, new GUIContent("Lens Max Brightness", "General slider for adjusting the max brightness of the lens"));
@ -438,9 +440,9 @@ public class VRSLInspector : ShaderGUI
// EditorGUI.indentLevel--;
}
public void StaticLightFixtureGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void StaticLightFixtureGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
AudioLinkGUI(matEditor, props);
AudioLinkGUI(matEditor, props, target);
//DMX CONTROLS
if(isDMXCompatible)
{
@ -477,7 +479,7 @@ public class VRSLInspector : ShaderGUI
matEditor.ShaderProperty(_FinalIntensity, new GUIContent("Final Intensity", "Sets the maximum brightness value of Global Intensity. Good for personalized settings of the max brightness of the shader by other users via UI."));
matEditor.ShaderProperty(_UniversalIntensity, new GUIContent("Universal Intensity", "Sets the maximum brightness value of both Final and GLobal Intensity. Good for personalized settings of the max brightness of the shader by other users via UI. Is non-instanced."));
matEditor.ShaderProperty(_Emission, new GUIContent("Light Emission Color", "The color of the light!. Use this to color the emissive part of the material."));
ColorTextureSamplingGUI(matEditor, props);
ColorTextureSamplingGUI(matEditor, props, target);
matEditor.ShaderProperty(_CurveMod, new GUIContent("Light Intensity Curve Modifier", "Curve modifier for light intensity."));
matEditor.ShaderProperty(_FixtureMaxIntensity, new GUIContent("Lens Max Brightness", "General slider for adjusting the max brightness of the lens"));
matEditor.ShaderProperty(_FixutreIntensityMultiplier, new GUIContent ("Intensity Multiplier", "Multiplier for the lens brightness. Good for adjusting to increase bloom"));
@ -513,9 +515,9 @@ public class VRSLInspector : ShaderGUI
// matEditor.RenderQueueField();
}
public void MoverLightProjectionGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void MoverLightProjectionGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
AudioLinkGUI(matEditor, props);
AudioLinkGUI(matEditor, props, target);
//DMX CONTROLS
if(isDMXCompatible)
{
@ -558,7 +560,7 @@ public class VRSLInspector : ShaderGUI
matEditor.ShaderProperty(_FixtureBaseRotationY, new GUIContent("Rotation Y Offset", "Offset the Y Rotation of the fixture."));
matEditor.ShaderProperty(_FixtureRotationX, new GUIContent("Rotation X Offset", "Offset the X Rotation of the fixture."));
matEditor.ShaderProperty(_Emission, new GUIContent("Light Emission Color", "The color of the light!. Use this to color the emissive part of the material."));
ColorTextureSamplingGUI(matEditor, props);
ColorTextureSamplingGUI(matEditor, props, target);
//matEditor.ShaderProperty(_, new GUIContent("Light Emission Color", "The color of the light!. Use this to color the emissive part of the material."));
//matEditor.ShaderProperty(_FixutreIntensityMultiplier, new GUIContent ("Intensity Multiplier", "Multiplier for the brightness. Good for adjusting to increase bloom"));
matEditor.EnableInstancingField();
@ -657,9 +659,9 @@ public class VRSLInspector : ShaderGUI
// matEditor.RenderQueueField();
}
public void MoverLightVolumetricGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void MoverLightVolumetricGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
AudioLinkGUI(matEditor, props);
AudioLinkGUI(matEditor, props, target);
//DMX CONTROLS
if(isDMXCompatible)
{
@ -701,7 +703,7 @@ public class VRSLInspector : ShaderGUI
matEditor.ShaderProperty(_Emission, new GUIContent("Light Emission Color", "The color of the light!. Use this to color the emissive part of the material."));
matEditor.ShaderProperty(_FixtureBaseRotationY, new GUIContent("Rotation Y Offset", "Offset the Y Rotation of the fixture."));
matEditor.ShaderProperty(_FixtureRotationX, new GUIContent("Rotation X Offset", "Offset the X Rotation of the fixture."));
ColorTextureSamplingGUI(matEditor, props);
ColorTextureSamplingGUI(matEditor, props, target);
matEditor.ShaderProperty(_Saturation, new GUIContent("Saturation", "Saturation modifier for light color."));
matEditor.ShaderProperty(_SaturationLength, new GUIContent("Saturation Length", "Har far from the source does the saturation slider affect the shader."));
matEditor.ShaderProperty(_LensMaxBrightness, new GUIContent("Lens Max Brightness", "General slider for adjusting the max brightness of the lens"));
@ -731,7 +733,12 @@ public class VRSLInspector : ShaderGUI
matEditor.TexturePropertySingleLine(new GUIContent("Magic 3D Noise Texture", "A magical texture for generating 3D Perlin Noise at runtime! Code and texture based on https://www.shadertoy.com/view/4sfGzS by iq!"), _LightMainTex);
//if(!isDMXCompatible)
//{
matEditor.ShaderProperty(_ToggleMagicNoise, new GUIContent("Enable Magic 3D Noise", "Enable Second layer of world space, faux 3D Noise"));
matEditor.ShaderProperty(_UseDepthLight, new GUIContent("Use Depth Light", "Enable/Disable the reliance of the depth light for this volumetric shader."));
matEditor.ShaderProperty(_MAGIC_NOISE_ON, new GUIContent("Enable Magic 3D Noise", "Enable Second layer of world space, faux 3D Noise"));
matEditor.ShaderProperty(_PotatoMode, new GUIContent("Potato Mode", "Reduces the overhead on the fragment shader by removing both noise components to extra texture sampling."));
SetKeyword(target, "_MAGIC_NOISE_ON", (Mathf.FloorToInt(target.GetInt("_MAGIC_NOISE_ON"))) == 1 ? true : false);
SetKeyword(target, "_USE_DEPTH_LIGHT", (Mathf.FloorToInt(target.GetInt("_UseDepthLight"))) == 1 ? true : false);
SetKeyword(target, "_POTATO_MODE_ON", (Mathf.FloorToInt(target.GetInt("_PotatoMode"))) == 1 ? true : false);
//if(isDMXCompatible)
// {
matEditor.ShaderProperty(_Noise2Stretch, new GUIContent("Outside Magic Noise Scale", "Second Layer of Noise Scale"));
@ -819,9 +826,9 @@ public class VRSLInspector : ShaderGUI
}
public void MoverLightFixtureGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void MoverLightFixtureGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
AudioLinkGUI(matEditor, props);
AudioLinkGUI(matEditor, props, target);
//DMX CONTROLS
if(isDMXCompatible)
{
@ -860,7 +867,7 @@ public class VRSLInspector : ShaderGUI
matEditor.ShaderProperty(_Emission, new GUIContent("Light Emission Color", "The color of the light!. Use this to color the emissive part of the material."));
matEditor.ShaderProperty(_FixtureBaseRotationY, new GUIContent("Rotation Y Offset", "Offset the Y Rotation of the fixture."));
matEditor.ShaderProperty(_FixtureRotationX, new GUIContent("Rotation X Offset", "Offset the X Rotation of the fixture."));
ColorTextureSamplingGUI(matEditor, props);
ColorTextureSamplingGUI(matEditor, props, target);
matEditor.ShaderProperty(_Saturation, new GUIContent("Saturation", "Saturation modifier for light color."));
matEditor.ShaderProperty(_LensMaxBrightness, new GUIContent("Lens Max Brightness", "General slider for adjusting the max brightness of the lens"));
matEditor.ShaderProperty(_FixutreIntensityMultiplier, new GUIContent ("Intensity Multiplier", "Multiplier for the lens brightness. Good for adjusting to increase bloom"));
@ -910,7 +917,7 @@ public class VRSLInspector : ShaderGUI
// matEditor.RenderQueueField();
}
public void ColorTextureSamplingGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void ColorTextureSamplingGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
if(isDMXCompatible || isRTShader || isDiscoBall) return;
matEditor.ShaderProperty(_EnableColorTextureSample, new GUIContent("Enable Color Texture Sampling", "Check this box if you wish to sample seperate texture for the color. The color will be influenced by the intensity of the original emission color!"));
@ -926,9 +933,9 @@ public class VRSLInspector : ShaderGUI
public void DiscoballGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void DiscoballGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
AudioLinkGUI(matEditor, props);
AudioLinkGUI(matEditor, props, target);
//DMX CONTROLS
if(isDMXCompatible)
{
@ -981,7 +988,7 @@ public class VRSLInspector : ShaderGUI
}
public void DMXInterpolationGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void DMXInterpolationGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
GUILayout.Space(5);
EditorGUI.indentLevel++;
@ -998,7 +1005,7 @@ public class VRSLInspector : ShaderGUI
EditorGUI.indentLevel--;
GUILayout.Space(5);
}
public void DMXStrobeGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void DMXStrobeGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
GUILayout.Space(5);
EditorGUI.indentLevel++;
@ -1010,7 +1017,7 @@ public class VRSLInspector : ShaderGUI
GUILayout.Space(5);
}
public void DMXSpinnerGUI(MaterialEditor matEditor, MaterialProperty[] props)
public void DMXSpinnerGUI(MaterialEditor matEditor, MaterialProperty[] props, Material target)
{
GUILayout.Space(5);
EditorGUI.indentLevel++;
@ -1103,6 +1110,18 @@ public class VRSLInspector : ShaderGUI
}
public static void SetKeyword(Material mat, string keyword, bool status)
{
if (status)
{
mat.EnableKeyword(keyword);
}
else
{
mat.DisableKeyword(keyword);
}
}

View File

@ -13,23 +13,20 @@ float Fresnel(float3 Normal, float3 ViewDir, float Power)
{
return pow(max(0, dot(Normal, -ViewDir)), Power);
}
//3D noise based on iq's https://www.shadertoy.com/view/4sfGzS
//HLSL conversion by Orels1~
half Noise(float3 p)
{
float3 i = floor(p); p -= i;
p *= p * (3. - 2. * p);
float2 uv = (p.xy + i.xy + float2(37, 17) * i.z + .5)*0.00390625;
//uv.y *= -1;
float4 uv4 = float4(uv.x, uv.y * -1, 0.0, 0.0);
p.xy = tex2Dlod(_LightMainTex, uv4).yx;
return lerp(p.x, p.y, p.z);
}
const float3x3 m = float3x3( 0.00, 0.80, 0.60,
-0.80, 0.36, -0.48,
-0.60, -0.48, 0.64 );
#ifndef _POTATO_MODE_ON
//3D noise based on iq's https://www.shadertoy.com/view/4sfGzS
//HLSL conversion by Orels1~
half Noise(float3 p)
{
float3 i = floor(p); p -= i;
p *= p * (3. - 2. * p);
float2 uv = (p.xy + i.xy + float2(37, 17) * i.z + .5)*0.00390625;
//uv.y *= -1;
float4 uv4 = float4(uv.x, uv.y * -1, 0.0, 0.0);
p.xy = tex2Dlod(_LightMainTex, uv4).yx;
return lerp(p.x, p.y, p.z);
}
#endif
float4 VolumetricLightingBRDF(v2f i, fixed facePos)
@ -62,21 +59,25 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
//CREDIT TO DJ LUKIS FOR MIRROR DEPTH CORRECTION
//Get Screen Pos UVs
//float perspectiveDivide = 1.0f / i.pos.w;
float4 direction = i.worldDirection * (1.0f / i.pos.w);
float2 screenUV = i.screenPos.xy / i.screenPos.w;
//Sampling Depth
float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenUV);
//Correct for mirrors as Eye Depth
depth = CorrectedLinearEyeDepth(depth, direction.w);
//Convert to Raw Depth
depth = (1.0 - (depth * _ZBufferParams.w)) / (depth * _ZBufferParams.z);
//Convert to Linear01 Deppth
depth = Linear01Depth(depth);
#ifdef _USE_DEPTH_LIGHT
float4 direction = i.worldDirection * (1.0f / i.pos.w);
float2 screenUV = i.screenPos.xy / i.screenPos.w;
//Sampling Depth
float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenUV);
//Correct for mirrors as Eye Depth
depth = CorrectedLinearEyeDepth(depth, direction.w);
//Convert to Raw Depth
depth = (1.0 - (depth * _ZBufferParams.w)) / (depth * _ZBufferParams.z);
//Convert to Linear01 Deppth
depth = Linear01Depth(depth);
//Attempt to fade cone away when intersecting with another object
float intersectionFade = saturate(((depth * _ProjectionParams.z) - i.screenPos.w));
intersectionFade = lerp(1, intersectionFade, saturate(i.uv.x * _FadeAmt));
//Attempt to fade cone away when intersecting with another object
float intersectionFade = saturate(((depth * _ProjectionParams.z) - i.screenPos.w));
intersectionFade = lerp(1, intersectionFade, saturate(i.uv.x * _FadeAmt));
#else
float intersectionFade = 1.0;
#endif
//Attempt to fade cone away when intersecting with the camera.
//float cameraFade = i.camAngleCamfade.y;
@ -89,7 +90,11 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
i.uv.x = saturate(i.uv.x * 1.5);
//Generate gradient for cone.
half grad = i.intensityStrobeGOBOSpinSpeed.w > 1 ? _GradientModGOBO * 0.6f : _GradientMod * 0.8f;
#ifndef _POTATO_MODE_ON
half grad = i.intensityStrobeGOBOSpinSpeed.w > 1 ? _GradientModGOBO * 0.6f : _GradientMod * 0.8f;
#else
half grad = i.intensityStrobeGOBOSpinSpeed.w > 1 ? _GradientModGOBO * 0.95f : _GradientMod*1.75f;
#endif
fixed gradientTexture = saturate((pow(-uvMap.x + 1, grad)));
fixed4 col = gradientTexture.r;
@ -121,74 +126,79 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
//Get Strobe information
float strobe = isStrobe() == 1 ? i.intensityStrobeGOBOSpinSpeed.y : 1;
//Generate 2D noise texture, add scroll effect, and map to cone.
float2 texUV = i.uv2;
texUV.x = (_Time.y*0.1) * 0.75f + texUV.x;
texUV.y = (_Time.y*0.1) * 0.10f + texUV.y;
#if !defined(WASH)
float4 tex = tex2D(_NoiseTex, texUV);
#else
float4 tex = float4(1,1,1,1);
#ifndef _POTATO_MODE_ON
//Generate 2D noise texture, add scroll effect, and map to cone.
float2 texUV = i.uv2;
texUV.x = (_Time.y*0.1) * 0.75f + texUV.x;
texUV.y = (_Time.y*0.1) * 0.10f + texUV.y;
#if !defined(WASH)
float4 tex = tex2D(_NoiseTex, texUV);
#else
float4 tex = float4(1,1,1,1);
#endif
//initialize 3D noise value and 2D noise strength value
float threeDNoise = 1.0f;
half np = 0.0f;
//If we are using 3D noise...
#ifdef _MAGIC_NOISE_ON
//if(_ToggleMagicNoise > 0)
//{
//Get vertex/frag position in worldspace
float3 worldposNoise = i.worldPos.xyz;
//Add Scrolling effect
worldposNoise.x += ((_Time.y*0.1) * _Noise2X);
worldposNoise.y += ((_Time.y*0.1) * _Noise2Y);
worldposNoise.z += ((_Time.y*0.1) * _Noise2Z);
//Add Tiling effect
//float3 q = threeDNoiseScale * worldposNoise.xyz;
float3 q = float3(0,0,0);
q.x = threeDNoiseScale * worldposNoise.x;
q.y = threeDNoiseScale * worldposNoise.y;
q.z = threeDNoiseScale * worldposNoise.z;
//Use IQ's noise calculation equation to calculate 3D noise in world space.
//Currently only sampling the noise twice as sampling anymore isn't creating any visible improvements.
threeDNoise = 0.5000f*Noise( q );
// q = mul(float3x3( 0.00000, 0.80000, 0.60000,
// -0.80000, 0.36000, -0.48000,
// -0.60000, -0.48000, 0.64000),q)*2.01;
// //q = q * m;
// threeDNoise += 0.2500*Noise( q );
// q = mul(m,q)*2.02;
// threeDNoise += 0.1250*Noise( q );
// q = mul(m,q)*2.03;
// threeDNoise += 0.0625*Noise( q );
// q = mul(m,q)*2.01;
//If we aren't using gobos, remove the 2D noise effect
np = i.intensityStrobeGOBOSpinSpeed.w > 1 ? _NoisePower : 0.0;
//Set 3D Noise Power
#ifndef WASH
float newNP = lerp(_Noise2Power - 0.2, _Noise2Power, gradientTexture.r);
threeDNoise = lerp(1, threeDNoise, newNP);
#else
threeDNoise = lerp(1, threeDNoise, _Noise2Power);
#endif
//}
//If we aren't using 3D noise..
#else
//{
//If we are using gobos, add another 0.2 to the 2D noise power strength.
//np = i.intensityStrobeGOBOSpinSpeed.w > 1 ? clamp(0,1,_NoisePower + 0.2) : _NoisePower;
#ifndef WASH
np = i.intensityStrobeGOBOSpinSpeed.w > 1 ? clamp(0,1,_NoisePower + 0.2) : _NoisePower;
#else
//tex = tex2D(_NoiseTex, texUV);
np = _NoisePower;
#endif
//}
#endif
//Mix 2D noise Power
tex = lerp(fixed4(1, 1, 1, 1), tex, np);
#endif
//initialize 3D noise value and 2D noise strength value
float threeDNoise = 1.0f;
half np = 0.0f;
//If we are using 3D noise...
if(_ToggleMagicNoise > 0)
{
//Get vertex/frag position in worldspace
float3 worldposNoise = i.worldPos.xyz;
//Add Scrolling effect
worldposNoise.x += ((_Time.y*0.1) * _Noise2X);
worldposNoise.y += ((_Time.y*0.1) * _Noise2Y);
worldposNoise.z += ((_Time.y*0.1) * _Noise2Z);
//Add Tiling effect
//float3 q = threeDNoiseScale * worldposNoise.xyz;
float3 q = float3(0,0,0);
q.x = threeDNoiseScale * worldposNoise.x;
q.y = threeDNoiseScale * worldposNoise.y;
q.z = threeDNoiseScale * worldposNoise.z;
//Use IQ's noise calculation equation to calculate 3D noise in world space.
//Currently only sampling the noise twice as sampling anymore isn't creating any visible improvements.
threeDNoise = 0.5000f*Noise( q );
q = mul(m,q)*2.01f;
threeDNoise += 0.2500f*Noise( q );
// q = mul(m,q)*2.02;
// threeDNoise += 0.1250*Noise( q );
// q = mul(m,q)*2.03;
// threeDNoise += 0.0625*Noise( q );
// q = mul(m,q)*2.01;
//If we aren't using gobos, remove the 2D noise effect
np = i.intensityStrobeGOBOSpinSpeed.w > 1 ? _NoisePower : 0.0;
//Set 3D Noise Power
#ifndef WASH
float newNP = lerp(_Noise2Power - 0.2, _Noise2Power, gradientTexture.r);
threeDNoise = lerp(1, threeDNoise, newNP);
#else
threeDNoise = lerp(1, threeDNoise, _Noise2Power);
#endif
}
//If we aren't using 3D noise..
else
{
//If we are using gobos, add another 0.2 to the 2D noise power strength.
//np = i.intensityStrobeGOBOSpinSpeed.w > 1 ? clamp(0,1,_NoisePower + 0.2) : _NoisePower;
#ifndef WASH
np = i.intensityStrobeGOBOSpinSpeed.w > 1 ? clamp(0,1,_NoisePower + 0.2) : _NoisePower;
#else
//tex = tex2D(_NoiseTex, texUV);
np = _NoisePower;
#endif
}
//Mix 2D noise Power
tex = lerp(fixed4(1, 1, 1, 1), tex, np);
//Mix in blinding effect.
//col*= ((i.blindingEffect));
@ -214,7 +224,11 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
// col *= tex;
// col *= splitter;
// col *= threeDNoise;
col *= tex * splitter * threeDNoise;
#ifndef _POTATO_MODE_ON
col *= tex * splitter * threeDNoise;
#else
col *= splitter;
#endif
//Add more power to Inner side of cone
float4 result = col;
@ -265,7 +279,11 @@ float4 VolumetricLightingBRDF(v2f i, fixed facePos)
}
// float satMod = i.intensityStrobeGOBOSpinSpeed.w > 1 ? 5.0 : 0.0;
//Create fake white power effect at source of cone and use Saturation and Saturation Length to blend that effect
newCol.xyz = lerp(result.xyz,newCol * 10, saturate((pow(saturate(gradientTexture - 0.25), _SaturationLength - satMod)) * tex.r) +0.005);
#ifndef _POTATO_MODE_ON
newCol.xyz = lerp(result.xyz,newCol * 10, saturate((pow(saturate(gradientTexture - 0.25), _SaturationLength - satMod)) * tex.r) +0.005);
#else
newCol.xyz = lerp(result.xyz,newCol * 10, saturate((pow(saturate(gradientTexture - 0.25), _SaturationLength - satMod))) +0.005);
#endif
result.xyz = (lerp(result.xyz, newCol.xyz, _Saturation)) * gifi;
//Mix in Camera angle into strength for outside faces, increase strength for inside faces.
result = facePos > 0 ? lerp(result * i.camAngleCamfade.x, result, i.camAngleCamfade.y) : result * 3;

View File

@ -60,7 +60,7 @@
_NoiseTex ("NoiseTex", 2D) = "white" {}
_NoisePower("Noise Strength", Range(0, 1)) = 1
_NoiseSeed ("Noise Seed", float) = 0
[Toggle]_ToggleMagicNoise ("Toggle Magic Noise", Int) = 1
[Toggle]_MAGIC_NOISE_ON ("Toggle Magic Noise", Int) = 1
_Noise2Stretch ("Outside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2StretchInside ("Inside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2X ("Magic Noise X Scroll", Range(-10, 10)) = 1
@ -99,6 +99,9 @@
_GradientMod ("Gradient Modifier", Range(1, 4)) = 2.25
_GradientModGOBO ("Gradient Modifier GOBO", Range(1, 4)) = 2.25
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
[Toggle]_PotatoMode("Reduces the overhead on the fragment shader by removing both noise components to extra texture sampling", Int) = 0
@ -135,6 +138,9 @@
//#pragma multi_compile_fog
#pragma multi_compile_instancing
#pragma instancing_options assumeuniformscaling
#pragma shader_feature_local _MAGIC_NOISE_ON
#pragma shader_feature_local _USE_DEPTH_LIGHT
#pragma shader_feature_local _POTATO_MODE_ON
#define VOLUMETRIC_YES //To identify the pass in the vert/frag
#include "UnityCG.cginc"

View File

@ -58,7 +58,7 @@
_NoiseTex ("NoiseTex", 2D) = "white" {}
_NoisePower("Noise Strength", Range(0, 1)) = 1
_NoiseSeed ("Noise Seed", float) = 0
[Toggle]_ToggleMagicNoise ("Toggle Magic Noise", Int) = 1
[ToggleUI]_MAGIC_NOISE_ON ("Toggle Magic Noise", Int) = 1
_Noise2Stretch ("Outside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2StretchInside ("Inside Magic Noise Scale", Range(-10, 10)) = 1
_Noise2X ("Magic Noise X Scroll", Range(-10, 10)) = 1
@ -97,6 +97,8 @@
_GradientMod ("Gradient Modifier", Range(1, 4)) = 2.25
_GradientModGOBO ("Gradient Modifier GOBO", Range(1, 4)) = 2.25
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
[Toggle]_PotatoMode("Reduces the overhead on the fragment shader by removing both noise components to extra texture sampling", Int) = 0
@ -133,6 +135,9 @@
//#pragma multi_compile_fog
#pragma multi_compile_instancing
#pragma instancing_options assumeuniformscaling
#pragma shader_feature_local _MAGIC_NOISE_ON
#pragma shader_feature_local _USE_DEPTH_LIGHT
#pragma shader_feature_local _POTATO_MODE_ON
#define VOLUMETRIC_YES //To identify the pass in the vert/frag
#define WASH
#include "UnityCG.cginc"

View File

@ -49,6 +49,8 @@
[Toggle]_ShouldDoFlicker("ShouldDoFlicker", FLoat) = 1
_FlickerAnimSpeed("FlickerAnimSpeed", Float) = 5
_FlickResultIntensityLowestPoint("FlickResultIntensityLowestPoint", range(0,1)) = 0.5
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
}
SubShader
{
@ -115,6 +117,7 @@
float _FlickResultIntensityLowestPoint;
float _ShouldDoFlicker;
half _RemoveTextureArtifact, _CurveMod;
uint _UseDepthLight;
#include "../Shared/VRSL-DMXFunctions.cginc"
float4x4 GetWorldToViewMatrix()
@ -251,6 +254,8 @@
//Test for n*n grid in view space, where quad pivot is grid's center.
//For each iteration,
//if that test point passed the scene depth occlusion test, we add 1 to visibilityTestPassedCount
if(_UseDepthLight)
{
for(int x = -COUNT; x <= COUNT; x++)
{
for(int y = -COUNT; y <= COUNT ; y++)
@ -283,7 +288,9 @@
//if camera too close to flare , smooth fade out to prevent flare blocking camera too much (usually for fps games)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
visibilityResult01 *= smoothstep(_StartFadeinDistanceWorldUnit,_EndFadeinDistanceWorldUnit,linearEyeDepthOfFlarePivot);
o.color.a *= visibilityResult01;
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
}
// if(_ShouldDoFlicker)
// {
// float flickerMul = 0;
@ -295,7 +302,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//apply all combinations(visibilityResult01) to vertex color
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.color.a *= visibilityResult01;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//premultiply alpha to rgb after alpha's calculation is done
@ -309,7 +316,7 @@
//invalid this vertex (and all connected vertices).
//This 100% early exit at clipping stage will prevent any rasterization & fragment shader cost at all
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
float3 hsvFC = RGB2HSV(o.color.xyz);

View File

@ -48,6 +48,8 @@
[Toggle]_ShouldDoFlicker("ShouldDoFlicker", FLoat) = 1
_FlickerAnimSpeed("FlickerAnimSpeed", Float) = 5
_FlickResultIntensityLowestPoint("FlickResultIntensityLowestPoint", range(0,1)) = 0.5
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
}
SubShader
{
@ -116,6 +118,7 @@
float _FlickResultIntensityLowestPoint;
float _ShouldDoFlicker;
half _RemoveTextureArtifact, _CurveMod;
uint _UseDepthLight;
#include "../Shared/VRSL-DMXFunctions.cginc"
float4x4 GetWorldToViewMatrix()
@ -223,6 +226,8 @@
//Test for n*n grid in view space, where quad pivot is grid's center.
//For each iteration,
//if that test point passed the scene depth occlusion test, we add 1 to visibilityTestPassedCount
if(_UseDepthLight)
{
for(int x = -COUNT; x <= COUNT; x++)
{
for(int y = -COUNT; y <= COUNT ; y++)
@ -255,6 +260,9 @@
//if camera too close to flare , smooth fade out to prevent flare blocking camera too much (usually for fps games)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
visibilityResult01 *= smoothstep(_StartFadeinDistanceWorldUnit,_EndFadeinDistanceWorldUnit,linearEyeDepthOfFlarePivot);
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
o.color.a *= visibilityResult01;
}
// if(_ShouldDoFlicker)
// {
@ -267,7 +275,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//apply all combinations(visibilityResult01) to vertex color
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.color.a *= visibilityResult01;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//premultiply alpha to rgb after alpha's calculation is done
@ -281,7 +289,7 @@
//invalid this vertex (and all connected vertices).
//This 100% early exit at clipping stage will prevent any rasterization & fragment shader cost at all
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
// float3 hsvFC = RGB2HSV(o.color.xyz);

View File

@ -48,6 +48,8 @@
[Toggle]_ShouldDoFlicker("ShouldDoFlicker", FLoat) = 1
_FlickerAnimSpeed("FlickerAnimSpeed", Float) = 5
_FlickResultIntensityLowestPoint("FlickResultIntensityLowestPoint", range(0,1)) = 0.5
[Toggle]_UseDepthLight("Toggle The Requirement of the depth light to function.", Int) = 1
}
SubShader
{
@ -116,6 +118,7 @@
float _FlickResultIntensityLowestPoint;
float _ShouldDoFlicker;
half _RemoveTextureArtifact, _CurveMod;
uint _UseDepthLight;
#include "../Shared/VRSL-DMXFunctions.cginc"
float4x4 GetWorldToViewMatrix()
@ -223,39 +226,43 @@
//Test for n*n grid in view space, where quad pivot is grid's center.
//For each iteration,
//if that test point passed the scene depth occlusion test, we add 1 to visibilityTestPassedCount
for(int x = -COUNT; x <= COUNT; x++)
if(_UseDepthLight)
{
for(int y = -COUNT; y <= COUNT ; y++)
for(int x = -COUNT; x <= COUNT; x++)
{
float3 testPosVS = quadPivotPosVS;
testPosVS.xy += float2(x,y) * maxSingleAxisOffset;//add 2D test grid offset, in const view space unit
float4 PivotPosCS = mul(UNITY_MATRIX_P,float4(testPosVS,1));
float4 PivotScreenPos = ComputeScreenPos(PivotPosCS);
float2 screenUV = PivotScreenPos.xy/PivotScreenPos.w;
for(int y = -COUNT; y <= COUNT ; y++)
{
float3 testPosVS = quadPivotPosVS;
testPosVS.xy += float2(x,y) * maxSingleAxisOffset;//add 2D test grid offset, in const view space unit
float4 PivotPosCS = mul(UNITY_MATRIX_P,float4(testPosVS,1));
float4 PivotScreenPos = ComputeScreenPos(PivotPosCS);
float2 screenUV = PivotScreenPos.xy/PivotScreenPos.w;
//if screenUV out of bound, treat it as occluded, because no correct depth texture data can be used to compare
if(screenUV.x > 1 || screenUV.x < 0 || screenUV.y > 1 || screenUV.y < 0)
continue; //exit means occluded
//if screenUV out of bound, treat it as occluded, because no correct depth texture data can be used to compare
if(screenUV.x > 1 || screenUV.x < 0 || screenUV.y > 1 || screenUV.y < 0)
continue; //exit means occluded
//we don't have tex2D() in vertex shader, because rasterization is not done by GPU, so we use tex2Dlod() with mip0 instead
float4 ssd = SAMPLE_DEPTH_TEXTURE_LOD(_CameraDepthTexture, float4(screenUV, 0.0, 0.0));//(uv.x,uv.y,0,mipLevel)
float sampledSceneDepth = ssd.x;
float linearEyeDepthFromSceneDepthTexture = LinearEyeDepth(sampledSceneDepth);
float linearEyeDepthFromSelfALU = PivotPosCS.w; //clip space .w is view space z, = linear eye depth
//we don't have tex2D() in vertex shader, because rasterization is not done by GPU, so we use tex2Dlod() with mip0 instead
float4 ssd = SAMPLE_DEPTH_TEXTURE_LOD(_CameraDepthTexture, float4(screenUV, 0.0, 0.0));//(uv.x,uv.y,0,mipLevel)
float sampledSceneDepth = ssd.x;
float linearEyeDepthFromSceneDepthTexture = LinearEyeDepth(sampledSceneDepth);
float linearEyeDepthFromSelfALU = PivotPosCS.w; //clip space .w is view space z, = linear eye depth
//do the actual depth comparision test
//+1 means flare test point is visible in screen space
//+0 means flare test point blocked by other objects in screen space, not visible
visibilityTestPassedCount += linearEyeDepthFromSelfALU + _DepthOcclusionTestZBias < linearEyeDepthFromSceneDepthTexture ? 1 : 0;
//do the actual depth comparision test
//+1 means flare test point is visible in screen space
//+0 means flare test point blocked by other objects in screen space, not visible
visibilityTestPassedCount += linearEyeDepthFromSelfALU + _DepthOcclusionTestZBias < linearEyeDepthFromSceneDepthTexture ? 1 : 0;
}
}
float visibilityResult01 = visibilityTestPassedCount * divider;//0~100% visiblility result
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//if camera too close to flare , smooth fade out to prevent flare blocking camera too much (usually for fps games)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
visibilityResult01 *= smoothstep(_StartFadeinDistanceWorldUnit,_EndFadeinDistanceWorldUnit,linearEyeDepthOfFlarePivot);
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
o.color.a *= visibilityResult01;
}
float visibilityResult01 = visibilityTestPassedCount * divider;//0~100% visiblility result
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//if camera too close to flare , smooth fade out to prevent flare blocking camera too much (usually for fps games)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
visibilityResult01 *= smoothstep(_StartFadeinDistanceWorldUnit,_EndFadeinDistanceWorldUnit,linearEyeDepthOfFlarePivot);
// if(_ShouldDoFlicker)
// {
// float flickerMul = 0;
@ -267,7 +274,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//apply all combinations(visibilityResult01) to vertex color
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.color.a *= visibilityResult01;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//premultiply alpha to rgb after alpha's calculation is done
@ -281,7 +288,7 @@
//invalid this vertex (and all connected vertices).
//This 100% early exit at clipping stage will prevent any rasterization & fragment shader cost at all
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
o.vertex = visibilityResult01 < divider ? 0 : o.vertex;
// float3 hsvFC = RGB2HSV(o.color.xyz);

View File

@ -40,7 +40,7 @@ CustomRenderTexture:
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 0, g: 0, b: 0, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 1
m_UpdateMode: 2
m_InitializationMode: 0
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0

View File

@ -40,7 +40,7 @@ CustomRenderTexture:
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 0, g: 0, b: 0, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 1
m_UpdateMode: 2
m_InitializationMode: 0
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0

View File

@ -40,7 +40,7 @@ CustomRenderTexture:
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 0, g: 0, b: 0, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 1
m_UpdateMode: 2
m_InitializationMode: 0
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0

View File

@ -40,7 +40,7 @@ CustomRenderTexture:
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 0, g: 0, b: 0, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 1
m_UpdateMode: 2
m_InitializationMode: 0
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0