更新天气插件
This commit is contained in:
Binary file not shown.
@@ -1,14 +1,7 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 4c5d9e94569284b49b7e45a954e0a780
|
guid: afebf3bc8cb9d1a4290fdc64739e2436
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
assetBundleVariant:
|
||||||
AssetOrigin:
|
|
||||||
serializedVersion: 1
|
|
||||||
productId: 236601
|
|
||||||
packageName: Enviro 3 - Sky and Weather
|
|
||||||
packageVersion: 3.1.2
|
|
||||||
assetPath: Assets/Enviro 3 - Sky and Weather/Documentation.pdf
|
|
||||||
uploadId: 660896
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 43b4e18e1baccc642a82a5e642fd6997, type: 3}
|
m_Script: {fileID: 11500000, guid: 43b4e18e1baccc642a82a5e642fd6997, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
configuration: {fileID: 11400000, guid: 8f4428cb504610143921933572be3fe9, type: 2}
|
configuration: {fileID: 11400000, guid: 59da3fbf5f918234799ed9be3eb0ddba, type: 2}
|
||||||
lastConfiguration: {fileID: 0}
|
lastConfiguration: {fileID: 0}
|
||||||
Time: {fileID: 0}
|
Time: {fileID: 0}
|
||||||
Lighting: {fileID: 0}
|
Lighting: {fileID: 0}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Material:
|
|||||||
m_LightmapFlags: 2
|
m_LightmapFlags: 2
|
||||||
m_EnableInstancingVariants: 0
|
m_EnableInstancingVariants: 0
|
||||||
m_DoubleSidedGI: 0
|
m_DoubleSidedGI: 0
|
||||||
m_CustomRenderQueue: -1
|
m_CustomRenderQueue: 3000
|
||||||
stringTagMap: {}
|
stringTagMap: {}
|
||||||
disabledShaderPasses: []
|
disabledShaderPasses: []
|
||||||
m_SavedProperties:
|
m_SavedProperties:
|
||||||
@@ -56,6 +56,8 @@ Material:
|
|||||||
m_Scale: {x: 1, y: 1}
|
m_Scale: {x: 1, y: 1}
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
m_Floats:
|
m_Floats:
|
||||||
|
- _Brightness: 1
|
||||||
|
- _BrightnessMod: 0.5
|
||||||
- _BumpScale: 1
|
- _BumpScale: 1
|
||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
@@ -63,7 +65,7 @@ Material:
|
|||||||
- _GlossMapScale: 1
|
- _GlossMapScale: 1
|
||||||
- _Glossiness: 0
|
- _Glossiness: 0
|
||||||
- _GlossyReflections: 1
|
- _GlossyReflections: 1
|
||||||
- _Intensity: 250
|
- _Intensity: 1
|
||||||
- _Metallic: 0
|
- _Metallic: 0
|
||||||
- _Mode: 3
|
- _Mode: 3
|
||||||
- _OcclusionStrength: 1
|
- _OcclusionStrength: 1
|
||||||
@@ -76,5 +78,5 @@ Material:
|
|||||||
m_Colors:
|
m_Colors:
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
- _EmissionColor: {r: 2.4491117, g: 3.1938896, b: 4.594794, a: 1}
|
- _EmissionColor: {r: 2.4491117, g: 3.1938896, b: 4.594794, a: 1}
|
||||||
- _TintColor: {r: 0.11222855, g: 0.17016357, b: 0.24528301, a: 0.39607844}
|
- _TintColor: {r: 0.6037736, g: 0.5781417, b: 0.59230894, a: 1}
|
||||||
m_BuildTextureStacks: []
|
m_BuildTextureStacks: []
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Material:
|
|||||||
m_LightmapFlags: 2
|
m_LightmapFlags: 2
|
||||||
m_EnableInstancingVariants: 0
|
m_EnableInstancingVariants: 0
|
||||||
m_DoubleSidedGI: 0
|
m_DoubleSidedGI: 0
|
||||||
m_CustomRenderQueue: -1
|
m_CustomRenderQueue: 3000
|
||||||
stringTagMap: {}
|
stringTagMap: {}
|
||||||
disabledShaderPasses: []
|
disabledShaderPasses: []
|
||||||
m_SavedProperties:
|
m_SavedProperties:
|
||||||
@@ -56,6 +56,8 @@ Material:
|
|||||||
m_Scale: {x: 1, y: 1}
|
m_Scale: {x: 1, y: 1}
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
m_Floats:
|
m_Floats:
|
||||||
|
- _Brightness: 0
|
||||||
|
- _BrightnessMod: 0.05
|
||||||
- _BumpScale: 1
|
- _BumpScale: 1
|
||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
@@ -76,5 +78,5 @@ Material:
|
|||||||
m_Colors:
|
m_Colors:
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
- _EmissionColor: {r: 2.4491117, g: 3.1938896, b: 4.594794, a: 1}
|
- _EmissionColor: {r: 2.4491117, g: 3.1938896, b: 4.594794, a: 1}
|
||||||
- _TintColor: {r: 0.8006408, g: 0.90456, b: 0.9811321, a: 0.003921569}
|
- _TintColor: {r: 0.9433962, g: 0.9433962, b: 0.9433962, a: 0.34117648}
|
||||||
m_BuildTextureStacks: []
|
m_BuildTextureStacks: []
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 5343805965175246665}
|
m_GameObject: {fileID: 5343805965175246665}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 85, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8233971941884837670}
|
m_Father: {fileID: 8233971941884837670}
|
||||||
@@ -45,12 +45,12 @@ Light:
|
|||||||
m_Shape: 0
|
m_Shape: 0
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_Intensity: 2
|
m_Intensity: 2
|
||||||
m_Range: 5000
|
m_Range: 2500
|
||||||
m_SpotAngle: 30
|
m_SpotAngle: 30
|
||||||
m_InnerSpotAngle: 21.80208
|
m_InnerSpotAngle: 21.80208
|
||||||
m_CookieSize: 10
|
m_CookieSize: 10
|
||||||
m_Shadows:
|
m_Shadows:
|
||||||
m_Type: 0
|
m_Type: 2
|
||||||
m_Resolution: -1
|
m_Resolution: -1
|
||||||
m_CustomResolution: -1
|
m_CustomResolution: -1
|
||||||
m_Strength: 1
|
m_Strength: 1
|
||||||
@@ -216,7 +216,7 @@ LineRenderer:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
key2: {r: 1, g: 1, b: 1, a: 0}
|
||||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||||
@@ -224,7 +224,7 @@ LineRenderer:
|
|||||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||||
ctime0: 0
|
ctime0: 0
|
||||||
ctime1: 65535
|
ctime1: 65535
|
||||||
ctime2: 0
|
ctime2: 65535
|
||||||
ctime3: 0
|
ctime3: 0
|
||||||
ctime4: 0
|
ctime4: 0
|
||||||
ctime5: 0
|
ctime5: 0
|
||||||
@@ -261,15 +261,18 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 07501689299c0de43b5f4c0e6edd5bbd, type: 3}
|
m_Script: {fileID: 11500000, guid: 07501689299c0de43b5f4c0e6edd5bbd, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
flashIntensity: 2500
|
flashIntensity: 100
|
||||||
target: {x: 0, y: 0, z: 0}
|
target: {x: 0, y: 0, z: 0}
|
||||||
myLight: {fileID: 2595764858794445228}
|
myLight: {fileID: 2595764858794445228}
|
||||||
planeMat: {fileID: 2100000, guid: eab4ec5ae4f54a540a995343c3d497fa, type: 2}
|
planeMat: {fileID: 2100000, guid: eab4ec5ae4f54a540a995343c3d497fa, type: 2}
|
||||||
arcs: 18
|
arcs: 128
|
||||||
arcLength: 0.5
|
arcLength: 0.5
|
||||||
arcVariation: 2
|
arcVariation: 4
|
||||||
inaccuracy: 0.5
|
inaccuracy: 0.5
|
||||||
splits: 1
|
splits: 10
|
||||||
|
maxSplits: 8
|
||||||
|
splitLength: 0.3
|
||||||
|
splitVariation: 5
|
||||||
toTarget: {x: 0, y: 0, z: 0}
|
toTarget: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &8233971943432498349
|
--- !u!1 &8233971943432498349
|
||||||
GameObject:
|
GameObject:
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ ParticleSystem:
|
|||||||
startSpeed:
|
startSpeed:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: -40
|
scalar: -200
|
||||||
minScalar: 5
|
minScalar: 5
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -267,7 +267,7 @@ ParticleSystem:
|
|||||||
startSize:
|
startSize:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0.01
|
scalar: 0.05
|
||||||
minScalar: 1
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -729,7 +729,7 @@ ParticleSystem:
|
|||||||
sphericalDirectionAmount: 0
|
sphericalDirectionAmount: 0
|
||||||
randomPositionAmount: 0
|
randomPositionAmount: 0
|
||||||
radius:
|
radius:
|
||||||
value: 5
|
value: 100
|
||||||
mode: 0
|
mode: 0
|
||||||
spread: 0
|
spread: 0
|
||||||
speed:
|
speed:
|
||||||
@@ -848,7 +848,7 @@ ParticleSystem:
|
|||||||
rateOverTime:
|
rateOverTime:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1999.9999
|
scalar: 2000
|
||||||
minScalar: 10
|
minScalar: 10
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -2513,7 +2513,7 @@ ParticleSystem:
|
|||||||
multiplierCurve:
|
multiplierCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0.5
|
scalar: 1
|
||||||
minScalar: 2
|
minScalar: 2
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@@ -3980,7 +3980,7 @@ ParticleSystem:
|
|||||||
enabled: 1
|
enabled: 1
|
||||||
subEmitters:
|
subEmitters:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
emitter: {fileID: 7133312199455739040}
|
emitter: {fileID: 0}
|
||||||
type: 1
|
type: 1
|
||||||
properties: 0
|
properties: 0
|
||||||
emitProbability: 1
|
emitProbability: 1
|
||||||
@@ -4959,7 +4959,7 @@ ParticleSystemRenderer:
|
|||||||
m_MinParticleSize: 0.001
|
m_MinParticleSize: 0.001
|
||||||
m_MaxParticleSize: 0.002
|
m_MaxParticleSize: 0.002
|
||||||
m_CameraVelocityScale: 0
|
m_CameraVelocityScale: 0
|
||||||
m_VelocityScale: 0.01
|
m_VelocityScale: 0.005
|
||||||
m_LengthScale: 0.1
|
m_LengthScale: 0.1
|
||||||
m_SortingFudge: 0
|
m_SortingFudge: 0
|
||||||
m_NormalDirection: 1
|
m_NormalDirection: 1
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ ParticleSystem:
|
|||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 1
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@@ -71,7 +71,7 @@ ParticleSystem:
|
|||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1
|
time: 1
|
||||||
value: 1
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@@ -105,7 +105,7 @@ ParticleSystem:
|
|||||||
m_PreInfinity: 2
|
m_PreInfinity: 2
|
||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
moveWithTransform: 0
|
moveWithTransform: 1
|
||||||
moveWithCustomTransform: {fileID: 0}
|
moveWithCustomTransform: {fileID: 0}
|
||||||
scalingMode: 2
|
scalingMode: 2
|
||||||
randomSeed: 0
|
randomSeed: 0
|
||||||
@@ -674,7 +674,7 @@ ParticleSystem:
|
|||||||
sphericalDirectionAmount: 0
|
sphericalDirectionAmount: 0
|
||||||
randomPositionAmount: 0
|
randomPositionAmount: 0
|
||||||
radius:
|
radius:
|
||||||
value: 40
|
value: 100
|
||||||
mode: 0
|
mode: 0
|
||||||
spread: 0
|
spread: 0
|
||||||
speed:
|
speed:
|
||||||
@@ -964,7 +964,7 @@ ParticleSystem:
|
|||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 2
|
||||||
scalar: 1
|
scalar: 1
|
||||||
minScalar: 1
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
@@ -1017,7 +1017,7 @@ ParticleSystem:
|
|||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
z:
|
z:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 2
|
||||||
scalar: 1
|
scalar: 1
|
||||||
minScalar: 1
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
@@ -3664,7 +3664,7 @@ ParticleSystem:
|
|||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
range: {x: 0, y: 1}
|
range: {x: 0, y: 1}
|
||||||
CollisionModule:
|
CollisionModule:
|
||||||
enabled: 1
|
enabled: 0
|
||||||
serializedVersion: 4
|
serializedVersion: 4
|
||||||
type: 1
|
type: 1
|
||||||
collisionMode: 0
|
collisionMode: 0
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ MonoBehaviour:
|
|||||||
categories: []
|
categories: []
|
||||||
uiBounds:
|
uiBounds:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 670
|
x: 775
|
||||||
y: -190
|
y: -190
|
||||||
width: 917
|
width: 600
|
||||||
height: 1828
|
height: 1614
|
||||||
--- !u!114 &114350483966674976
|
--- !u!114 &114350483966674976
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@@ -96,7 +96,7 @@ VisualEffectResource:
|
|||||||
m_Infos:
|
m_Infos:
|
||||||
m_RendererSettings:
|
m_RendererSettings:
|
||||||
motionVectorGenerationMode: 0
|
motionVectorGenerationMode: 0
|
||||||
shadowCastingMode: 1
|
shadowCastingMode: 0
|
||||||
rayTracingMode: 0
|
rayTracingMode: 0
|
||||||
receiveShadows: 0
|
receiveShadows: 0
|
||||||
reflectionProbeUsage: 0
|
reflectionProbeUsage: 0
|
||||||
@@ -474,7 +474,7 @@ MonoBehaviour:
|
|||||||
m_Type:
|
m_Type:
|
||||||
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
||||||
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
m_SerializableObject: '{"position":{"x":-50.0,"y":0.0,"z":-50.0}}'
|
m_SerializableObject: '{"position":{"x":-200.0,"y":0.0,"z":-200.0}}'
|
||||||
m_Space: 0
|
m_Space: 0
|
||||||
m_Property:
|
m_Property:
|
||||||
name: A
|
name: A
|
||||||
@@ -644,7 +644,7 @@ MonoBehaviour:
|
|||||||
m_Type:
|
m_Type:
|
||||||
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
||||||
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
m_SerializableObject: '{"position":{"x":50.0,"y":0.0,"z":50.0}}'
|
m_SerializableObject: '{"position":{"x":200.0,"y":0.0,"z":200.0}}'
|
||||||
m_Space: 0
|
m_Space: 0
|
||||||
m_Property:
|
m_Property:
|
||||||
name: B
|
name: B
|
||||||
@@ -2239,8 +2239,8 @@ MonoBehaviour:
|
|||||||
m_UICollapsed: 0
|
m_UICollapsed: 0
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_InputSlots:
|
m_InputSlots:
|
||||||
- {fileID: 8926484042661614840}
|
- {fileID: 8926484042661614846}
|
||||||
- {fileID: 8926484042661614845}
|
- {fileID: 8926484042661614851}
|
||||||
m_OutputSlots: []
|
m_OutputSlots: []
|
||||||
m_Label:
|
m_Label:
|
||||||
m_Data: {fileID: 8926484042661614568}
|
m_Data: {fileID: 8926484042661614568}
|
||||||
@@ -2312,14 +2312,6 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
|
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_Children: []
|
|
||||||
m_UIPosition: {x: 0, y: 0}
|
|
||||||
m_UICollapsed: 1
|
|
||||||
m_UISuperCollapsed: 0
|
|
||||||
opaqueRenderQueue: 0
|
|
||||||
transparentRenderQueue: 1
|
|
||||||
--- !u!114 &8926484042661614826
|
--- !u!114 &8926484042661614826
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2764,7 +2756,7 @@ MonoBehaviour:
|
|||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
--- !u!114 &8926484042661614840
|
--- !u!114 &8926484042661614846
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -2775,18 +2767,18 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: c82227d5759e296488798b1554a72a15, type: 3}
|
m_Script: {fileID: 11500000, guid: c82227d5759e296488798b1554a72a15, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotColor
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 0}
|
m_Parent: {fileID: 0}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 8926484042661614841}
|
- {fileID: 8926484042661614847}
|
||||||
- {fileID: 8926484042661614842}
|
- {fileID: 8926484042661614848}
|
||||||
- {fileID: 8926484042661614843}
|
- {fileID: 8926484042661614849}
|
||||||
- {fileID: 8926484042661614844}
|
- {fileID: 8926484042661614850}
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614840}
|
m_MasterSlot: {fileID: 8926484042661614846}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 8926484042661614817}
|
m_Owner: {fileID: 8926484042661614817}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -2802,7 +2794,7 @@ MonoBehaviour:
|
|||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614841
|
--- !u!114 &8926484042661614847
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -2813,14 +2805,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614840}
|
m_Parent: {fileID: 8926484042661614846}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614840}
|
m_MasterSlot: {fileID: 8926484042661614846}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -2835,7 +2827,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614842
|
--- !u!114 &8926484042661614848
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -2846,14 +2838,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614840}
|
m_Parent: {fileID: 8926484042661614846}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614840}
|
m_MasterSlot: {fileID: 8926484042661614846}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -2868,7 +2860,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614843
|
--- !u!114 &8926484042661614849
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -2879,14 +2871,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614840}
|
m_Parent: {fileID: 8926484042661614846}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614840}
|
m_MasterSlot: {fileID: 8926484042661614846}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -2901,7 +2893,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614844
|
--- !u!114 &8926484042661614850
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -2912,14 +2904,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614840}
|
m_Parent: {fileID: 8926484042661614846}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614840}
|
m_MasterSlot: {fileID: 8926484042661614846}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -2934,7 +2926,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614845
|
--- !u!114 &8926484042661614851
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -2945,21 +2937,21 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
|
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotTexture2D
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 0}
|
m_Parent: {fileID: 0}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614845}
|
m_MasterSlot: {fileID: 8926484042661614851}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 8926484042661614817}
|
m_Owner: {fileID: 8926484042661614817}
|
||||||
m_Value:
|
m_Value:
|
||||||
m_Type:
|
m_Type:
|
||||||
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
|
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
m_SerializableObject:
|
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"5c83282ca2748e94f955da788bd786eb","type":3}}'
|
||||||
m_Space: -1
|
m_Space: -1
|
||||||
m_Property:
|
m_Property:
|
||||||
name: _Main
|
name: _Main
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ MonoBehaviour:
|
|||||||
categories: []
|
categories: []
|
||||||
uiBounds:
|
uiBounds:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 558
|
x: 733
|
||||||
y: -190
|
y: -190
|
||||||
width: 996
|
width: 632
|
||||||
height: 2082
|
height: 2040
|
||||||
--- !u!114 &114350483966674976
|
--- !u!114 &114350483966674976
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@@ -96,7 +96,7 @@ VisualEffectResource:
|
|||||||
m_Infos:
|
m_Infos:
|
||||||
m_RendererSettings:
|
m_RendererSettings:
|
||||||
motionVectorGenerationMode: 0
|
motionVectorGenerationMode: 0
|
||||||
shadowCastingMode: 1
|
shadowCastingMode: 0
|
||||||
rayTracingMode: 0
|
rayTracingMode: 0
|
||||||
receiveShadows: 0
|
receiveShadows: 0
|
||||||
reflectionProbeUsage: 0
|
reflectionProbeUsage: 0
|
||||||
@@ -476,7 +476,7 @@ MonoBehaviour:
|
|||||||
m_Type:
|
m_Type:
|
||||||
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
||||||
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
m_SerializableObject: '{"position":{"x":-75.0,"y":0.0,"z":-75.0}}'
|
m_SerializableObject: '{"position":{"x":-250.0,"y":0.0,"z":-250.0}}'
|
||||||
m_Space: 0
|
m_Space: 0
|
||||||
m_Property:
|
m_Property:
|
||||||
name: A
|
name: A
|
||||||
@@ -646,7 +646,7 @@ MonoBehaviour:
|
|||||||
m_Type:
|
m_Type:
|
||||||
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
m_SerializableType: UnityEditor.VFX.Position, Unity.VisualEffectGraph.Editor,
|
||||||
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
m_SerializableObject: '{"position":{"x":75.0,"y":0.0,"z":75.0}}'
|
m_SerializableObject: '{"position":{"x":250.0,"y":0.0,"z":250.0}}'
|
||||||
m_Space: 0
|
m_Space: 0
|
||||||
m_Property:
|
m_Property:
|
||||||
name: B
|
name: B
|
||||||
@@ -3287,8 +3287,8 @@ MonoBehaviour:
|
|||||||
m_UICollapsed: 0
|
m_UICollapsed: 0
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_InputSlots:
|
m_InputSlots:
|
||||||
- {fileID: 8926484042661614884}
|
- {fileID: 8926484042661614890}
|
||||||
- {fileID: 8926484042661614889}
|
- {fileID: 8926484042661614895}
|
||||||
m_OutputSlots: []
|
m_OutputSlots: []
|
||||||
m_Label:
|
m_Label:
|
||||||
m_Data: {fileID: 8926484042661614568}
|
m_Data: {fileID: 8926484042661614568}
|
||||||
@@ -3419,14 +3419,6 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
|
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_Children: []
|
|
||||||
m_UIPosition: {x: 0, y: 0}
|
|
||||||
m_UICollapsed: 1
|
|
||||||
m_UISuperCollapsed: 0
|
|
||||||
opaqueRenderQueue: 0
|
|
||||||
transparentRenderQueue: 1
|
|
||||||
--- !u!114 &8926484042661614877
|
--- !u!114 &8926484042661614877
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3641,7 +3633,7 @@ MonoBehaviour:
|
|||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
--- !u!114 &8926484042661614884
|
--- !u!114 &8926484042661614890
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -3652,18 +3644,18 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: c82227d5759e296488798b1554a72a15, type: 3}
|
m_Script: {fileID: 11500000, guid: c82227d5759e296488798b1554a72a15, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotColor
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 0}
|
m_Parent: {fileID: 0}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 8926484042661614885}
|
- {fileID: 8926484042661614891}
|
||||||
- {fileID: 8926484042661614886}
|
- {fileID: 8926484042661614892}
|
||||||
- {fileID: 8926484042661614887}
|
- {fileID: 8926484042661614893}
|
||||||
- {fileID: 8926484042661614888}
|
- {fileID: 8926484042661614894}
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614884}
|
m_MasterSlot: {fileID: 8926484042661614890}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 8926484042661614860}
|
m_Owner: {fileID: 8926484042661614860}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -3679,7 +3671,7 @@ MonoBehaviour:
|
|||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614885
|
--- !u!114 &8926484042661614891
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -3690,14 +3682,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614884}
|
m_Parent: {fileID: 8926484042661614890}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614884}
|
m_MasterSlot: {fileID: 8926484042661614890}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -3712,7 +3704,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614886
|
--- !u!114 &8926484042661614892
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -3723,14 +3715,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614884}
|
m_Parent: {fileID: 8926484042661614890}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614884}
|
m_MasterSlot: {fileID: 8926484042661614890}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -3745,7 +3737,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614887
|
--- !u!114 &8926484042661614893
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -3756,14 +3748,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614884}
|
m_Parent: {fileID: 8926484042661614890}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614884}
|
m_MasterSlot: {fileID: 8926484042661614890}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -3778,7 +3770,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614888
|
--- !u!114 &8926484042661614894
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -3789,14 +3781,14 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotFloat
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 8926484042661614884}
|
m_Parent: {fileID: 8926484042661614890}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614884}
|
m_MasterSlot: {fileID: 8926484042661614890}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 0}
|
m_Owner: {fileID: 0}
|
||||||
m_Value:
|
m_Value:
|
||||||
@@ -3811,7 +3803,7 @@ MonoBehaviour:
|
|||||||
PublicKeyToken=b77a5c561934e089
|
PublicKeyToken=b77a5c561934e089
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
m_LinkedSlots: []
|
m_LinkedSlots: []
|
||||||
--- !u!114 &8926484042661614889
|
--- !u!114 &8926484042661614895
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@@ -3822,21 +3814,21 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
|
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Unity.VisualEffectGraph.Editor::UnityEditor.VFX.VFXSlotTexture2D
|
m_EditorClassIdentifier:
|
||||||
m_UIIgnoredErrors: []
|
m_UIIgnoredErrors: []
|
||||||
m_Parent: {fileID: 0}
|
m_Parent: {fileID: 0}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_UIPosition: {x: 0, y: 0}
|
m_UIPosition: {x: 0, y: 0}
|
||||||
m_UICollapsed: 1
|
m_UICollapsed: 1
|
||||||
m_UISuperCollapsed: 0
|
m_UISuperCollapsed: 0
|
||||||
m_MasterSlot: {fileID: 8926484042661614889}
|
m_MasterSlot: {fileID: 8926484042661614895}
|
||||||
m_MasterData:
|
m_MasterData:
|
||||||
m_Owner: {fileID: 8926484042661614860}
|
m_Owner: {fileID: 8926484042661614860}
|
||||||
m_Value:
|
m_Value:
|
||||||
m_Type:
|
m_Type:
|
||||||
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
|
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
|
||||||
Culture=neutral, PublicKeyToken=null
|
Culture=neutral, PublicKeyToken=null
|
||||||
m_SerializableObject:
|
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"e3b1ddad603b54246904e7544f9e3f13","type":3}}'
|
||||||
m_Space: -1
|
m_Space: -1
|
||||||
m_Property:
|
m_Property:
|
||||||
name: _Main
|
name: _Main
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 59da3fbf5f918234799ed9be3eb0ddba
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -24,7 +24,7 @@ MonoBehaviour:
|
|||||||
m_Value: 1
|
m_Value: 1
|
||||||
fixedExposure:
|
fixedExposure:
|
||||||
m_OverrideState: 1
|
m_OverrideState: 1
|
||||||
m_Value: 10.015643
|
m_Value: 5
|
||||||
compensation:
|
compensation:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
@@ -164,26 +164,21 @@ MonoBehaviour:
|
|||||||
m_Name: EnviroHDRPSky
|
m_Name: EnviroHDRPSky
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
active: 1
|
active: 1
|
||||||
m_AdvancedMode: 0
|
|
||||||
rotation:
|
rotation:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
min: 0
|
|
||||||
max: 360
|
|
||||||
skyIntensityMode:
|
skyIntensityMode:
|
||||||
m_OverrideState: 1
|
m_OverrideState: 1
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
exposure:
|
exposure:
|
||||||
m_OverrideState: 1
|
m_OverrideState: 1
|
||||||
m_Value: 11.254836
|
m_Value: 5
|
||||||
multiplier:
|
multiplier:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: 1
|
m_Value: 1
|
||||||
min: 0
|
|
||||||
upperHemisphereLuxValue:
|
upperHemisphereLuxValue:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: 1
|
m_Value: 1
|
||||||
min: 0
|
|
||||||
upperHemisphereLuxColor:
|
upperHemisphereLuxColor:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: {x: 0, y: 0, z: 0}
|
m_Value: {x: 0, y: 0, z: 0}
|
||||||
@@ -196,7 +191,6 @@ MonoBehaviour:
|
|||||||
updatePeriod:
|
updatePeriod:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
min: 0
|
|
||||||
includeSunInBaking:
|
includeSunInBaking:
|
||||||
m_OverrideState: 0
|
m_OverrideState: 0
|
||||||
m_Value: 0
|
m_Value: 0
|
||||||
@@ -216,6 +210,7 @@ MonoBehaviour:
|
|||||||
- {fileID: 2642261307547123297}
|
- {fileID: 2642261307547123297}
|
||||||
- {fileID: 3994963388396277213}
|
- {fileID: 3994963388396277213}
|
||||||
- {fileID: 8215393669219850347}
|
- {fileID: 8215393669219850347}
|
||||||
|
- {fileID: -4333884995096911234}
|
||||||
- {fileID: -4703332889699849288}
|
- {fileID: -4703332889699849288}
|
||||||
--- !u!114 &2642261307547123297
|
--- !u!114 &2642261307547123297
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
|||||||
@@ -23,13 +23,13 @@ MonoBehaviour:
|
|||||||
skyMode: 0
|
skyMode: 0
|
||||||
volumetricCloudsOverride:
|
volumetricCloudsOverride:
|
||||||
volumetricClouds: 1
|
volumetricClouds: 1
|
||||||
dualLayer: 0
|
lightningSupport: 1
|
||||||
|
variableBottomNoise: 0
|
||||||
downsampling: 2
|
downsampling: 2
|
||||||
stepsLayer1: 128
|
stepsLayer1: 128
|
||||||
stepsLayer2: 64
|
|
||||||
blueNoiseIntensity: 2
|
blueNoiseIntensity: 2
|
||||||
reprojectionBlendTime: 2
|
reprojectionBlendTime: 2
|
||||||
lodDistance: 0.7
|
lodDistance: 0.6
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fog: 1
|
fog: 1
|
||||||
fogQualityMode: 0
|
fogQualityMode: 0
|
||||||
@@ -40,6 +40,7 @@ MonoBehaviour:
|
|||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusClouds: 1
|
cirrusClouds: 1
|
||||||
flatClouds: 0
|
flatClouds: 0
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
auroraOverride:
|
auroraOverride:
|
||||||
aurora: 1
|
aurora: 1
|
||||||
steps: 24
|
steps: 24
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ MonoBehaviour:
|
|||||||
showEditor: 0
|
showEditor: 0
|
||||||
showSky: 0
|
showSky: 0
|
||||||
showVolumeClouds: 0
|
showVolumeClouds: 0
|
||||||
showFog: 1
|
showFog: 0
|
||||||
showFlatClouds: 0
|
showFlatClouds: 0
|
||||||
showEffects: 0
|
showEffects: 0
|
||||||
showAurora: 0
|
showAurora: 0
|
||||||
@@ -23,12 +23,12 @@ MonoBehaviour:
|
|||||||
skyMode: 0
|
skyMode: 0
|
||||||
volumetricCloudsOverride:
|
volumetricCloudsOverride:
|
||||||
volumetricClouds: 1
|
volumetricClouds: 1
|
||||||
dualLayer: 0
|
lightningSupport: 1
|
||||||
|
variableBottomNoise: 1
|
||||||
downsampling: 1
|
downsampling: 1
|
||||||
stepsLayer1: 256
|
stepsLayer1: 256
|
||||||
stepsLayer2: 128
|
|
||||||
blueNoiseIntensity: 2
|
blueNoiseIntensity: 2
|
||||||
reprojectionBlendTime: 2
|
reprojectionBlendTime: 1
|
||||||
lodDistance: 1
|
lodDistance: 1
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fog: 1
|
fog: 1
|
||||||
@@ -40,6 +40,7 @@ MonoBehaviour:
|
|||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusClouds: 1
|
cirrusClouds: 1
|
||||||
flatClouds: 0
|
flatClouds: 0
|
||||||
|
flatCloudsShadowSteps: 6
|
||||||
auroraOverride:
|
auroraOverride:
|
||||||
aurora: 1
|
aurora: 1
|
||||||
steps: 32
|
steps: 32
|
||||||
|
|||||||
@@ -23,13 +23,13 @@ MonoBehaviour:
|
|||||||
skyMode: 1
|
skyMode: 1
|
||||||
volumetricCloudsOverride:
|
volumetricCloudsOverride:
|
||||||
volumetricClouds: 1
|
volumetricClouds: 1
|
||||||
dualLayer: 0
|
lightningSupport: 0
|
||||||
|
variableBottomNoise: 0
|
||||||
downsampling: 4
|
downsampling: 4
|
||||||
stepsLayer1: 128
|
stepsLayer1: 128
|
||||||
stepsLayer2: 64
|
|
||||||
blueNoiseIntensity: 2
|
blueNoiseIntensity: 2
|
||||||
reprojectionBlendTime: 3
|
reprojectionBlendTime: 2
|
||||||
lodDistance: 0.7
|
lodDistance: 0.5
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fog: 1
|
fog: 1
|
||||||
fogQualityMode: 1
|
fogQualityMode: 1
|
||||||
@@ -40,6 +40,7 @@ MonoBehaviour:
|
|||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusClouds: 1
|
cirrusClouds: 1
|
||||||
flatClouds: 0
|
flatClouds: 0
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
auroraOverride:
|
auroraOverride:
|
||||||
aurora: 0
|
aurora: 0
|
||||||
steps: 32
|
steps: 32
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ MonoBehaviour:
|
|||||||
m_Name: Medium
|
m_Name: Medium
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
showEditor: 0
|
showEditor: 0
|
||||||
showSky: 0
|
showSky: 1
|
||||||
showVolumeClouds: 0
|
showVolumeClouds: 0
|
||||||
showFog: 0
|
showFog: 0
|
||||||
showFlatClouds: 0
|
showFlatClouds: 0
|
||||||
@@ -23,10 +23,10 @@ MonoBehaviour:
|
|||||||
skyMode: 0
|
skyMode: 0
|
||||||
volumetricCloudsOverride:
|
volumetricCloudsOverride:
|
||||||
volumetricClouds: 1
|
volumetricClouds: 1
|
||||||
dualLayer: 0
|
lightningSupport: 1
|
||||||
|
variableBottomNoise: 0
|
||||||
downsampling: 3
|
downsampling: 3
|
||||||
stepsLayer1: 128
|
stepsLayer1: 128
|
||||||
stepsLayer2: 64
|
|
||||||
blueNoiseIntensity: 2
|
blueNoiseIntensity: 2
|
||||||
reprojectionBlendTime: 2
|
reprojectionBlendTime: 2
|
||||||
lodDistance: 0.7
|
lodDistance: 0.7
|
||||||
@@ -40,6 +40,7 @@ MonoBehaviour:
|
|||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusClouds: 1
|
cirrusClouds: 1
|
||||||
flatClouds: 0
|
flatClouds: 0
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
auroraOverride:
|
auroraOverride:
|
||||||
aurora: 1
|
aurora: 1
|
||||||
steps: 24
|
steps: 24
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ MonoBehaviour:
|
|||||||
showEditor: 0
|
showEditor: 0
|
||||||
showSky: 0
|
showSky: 0
|
||||||
showVolumeClouds: 0
|
showVolumeClouds: 0
|
||||||
showFog: 1
|
showFog: 0
|
||||||
showFlatClouds: 0
|
showFlatClouds: 0
|
||||||
showEffects: 0
|
showEffects: 0
|
||||||
showAurora: 0
|
showAurora: 0
|
||||||
@@ -23,10 +23,10 @@ MonoBehaviour:
|
|||||||
skyMode: 0
|
skyMode: 0
|
||||||
volumetricCloudsOverride:
|
volumetricCloudsOverride:
|
||||||
volumetricClouds: 1
|
volumetricClouds: 1
|
||||||
dualLayer: 0
|
lightningSupport: 1
|
||||||
|
variableBottomNoise: 1
|
||||||
downsampling: 2
|
downsampling: 2
|
||||||
stepsLayer1: 162
|
stepsLayer1: 160
|
||||||
stepsLayer2: 96
|
|
||||||
blueNoiseIntensity: 2
|
blueNoiseIntensity: 2
|
||||||
reprojectionBlendTime: 2
|
reprojectionBlendTime: 2
|
||||||
lodDistance: 0.85
|
lodDistance: 0.85
|
||||||
@@ -40,6 +40,7 @@ MonoBehaviour:
|
|||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusClouds: 1
|
cirrusClouds: 1
|
||||||
flatClouds: 0
|
flatClouds: 0
|
||||||
|
flatCloudsShadowSteps: 12
|
||||||
auroraOverride:
|
auroraOverride:
|
||||||
aurora: 1
|
aurora: 1
|
||||||
steps: 32
|
steps: 32
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ MonoBehaviour:
|
|||||||
showEditor: 0
|
showEditor: 0
|
||||||
showEffectControls: 0
|
showEffectControls: 0
|
||||||
showCloudControls: 0
|
showCloudControls: 0
|
||||||
showFlatCloudControls: 0
|
showFlatCloudControls: 1
|
||||||
showFogControls: 0
|
showFogControls: 0
|
||||||
showSkyControls: 0
|
showSkyControls: 1
|
||||||
showLightingControls: 1
|
showLightingControls: 0
|
||||||
showAuroraControls: 0
|
showAuroraControls: 0
|
||||||
showEnvironmentControls: 0
|
showEnvironmentControls: 0
|
||||||
showAudioControls: 0
|
showAudioControls: 0
|
||||||
@@ -27,57 +27,53 @@ MonoBehaviour:
|
|||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 1
|
ambientLightIntensity: 1
|
||||||
showLayer1: 0
|
coverage: -1
|
||||||
coverageLayer1: -1
|
dilateCoverage: 0.5
|
||||||
dilateCoverageLayer1: 0.929
|
dilateType: 0.5
|
||||||
dilateTypeLayer1: 1
|
typeModifier: 0.5
|
||||||
typeModifierLayer1: 1
|
cloudTypeShaping: 1
|
||||||
anvilBiasLayer1: 0.398
|
scatteringIntensity: 1.56
|
||||||
scatteringIntensityLayer1: 1.05
|
multiScatterStrength: 0.5
|
||||||
multiScatteringALayer1: 0.575
|
multiScatterFalloff: 0.0084
|
||||||
multiScatteringBLayer1: 0.227
|
ambientFloor: 0.02
|
||||||
multiScatteringCLayer1: 0
|
lightningIntensity: 0.5
|
||||||
powderIntensityLayer1: 0.848
|
exposure: 1
|
||||||
silverLiningSpreadLayer1: 0.8
|
silverLiningSpread: 0.8
|
||||||
ligthAbsorbtionLayer1: 1.01
|
silverLiningIntensity: 1
|
||||||
densityLayer1: 0.55
|
edgeHighlightStrength: 1
|
||||||
densitySmoothnessLayer1: 1
|
ligthAbsorbtion: 1
|
||||||
baseErosionIntensityLayer1: 0.184
|
density: 0.3
|
||||||
detailErosionIntensityLayer1: 0.3
|
densitySmoothness: 1
|
||||||
curlIntensityLayer1: 0.1
|
baseErosionIntensity: 0
|
||||||
showLayer2: 0
|
baseNoiseMultiplier: 1
|
||||||
coverageLayer2: -1
|
detailErosionIntensity: 0.3
|
||||||
dilateCoverageLayer2: 1
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 1
|
curlIntensity: 0.05
|
||||||
typeModifierLayer2: 1
|
bottomShape: 0
|
||||||
anvilBiasLayer2: 0.277
|
midShape: 0
|
||||||
scatteringIntensityLayer2: 0.9
|
topShape: 0
|
||||||
multiScatteringALayer2: 0.495
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.258
|
rampShape: 1
|
||||||
multiScatteringCLayer2: 0.548
|
baseNoiseUVMultiplier: 1
|
||||||
powderIntensityLayer2: 0.84
|
detailNoiseUVMultiplier: 1
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 0.13
|
|
||||||
densityLayer2: 0.184
|
|
||||||
densitySmoothnessLayer2: 1
|
|
||||||
baseErosionIntensityLayer2: 0.449
|
|
||||||
detailErosionIntensityLayer2: 0.462
|
|
||||||
curlIntensityLayer2: 0.1
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0.292
|
cirrusCloudsAlpha: 0.518
|
||||||
cirrusCloudsCoverage: 0.53
|
cirrusCloudsCoverage: 0.275
|
||||||
cirrusCloudsColorPower: 1
|
cirrusCloudsColorPower: 1.15
|
||||||
flatCloudsCoverage: 0
|
flatCloudsCoverage: 0
|
||||||
flatCloudsDensity: 1.054
|
flatCloudsDensity: 1.24
|
||||||
flatCloudsLightIntensity: 0.828
|
flatCloudsLightIntensity: 1.05
|
||||||
flatCloudsAmbientIntensity: 1.056
|
flatCloudsAmbientIntensity: 1.8
|
||||||
flatCloudsAbsorbtion: 1.424
|
flatCloudsShadowIntensity: 1
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 1.2
|
directLightIntensityModifier: 1.2
|
||||||
ambientIntensityModifier: 1
|
ambientIntensityModifier: 1
|
||||||
shadowIntensity: 1
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 1
|
||||||
|
skyColorExponent: 1.2
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.019
|
fogDensity: 0.019
|
||||||
|
|||||||
@@ -14,77 +14,73 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
showEditor: 0
|
showEditor: 0
|
||||||
showEffectControls: 0
|
showEffectControls: 0
|
||||||
showCloudControls: 0
|
showCloudControls: 1
|
||||||
showFlatCloudControls: 0
|
showFlatCloudControls: 0
|
||||||
showFogControls: 1
|
showFogControls: 0
|
||||||
showSkyControls: 1
|
showSkyControls: 0
|
||||||
showLightingControls: 0
|
showLightingControls: 0
|
||||||
showAuroraControls: 0
|
showAuroraControls: 0
|
||||||
showEnvironmentControls: 0
|
showEnvironmentControls: 0
|
||||||
showAudioControls: 0
|
showAudioControls: 0
|
||||||
showAmbientAudioControls: 0
|
showAmbientAudioControls: 1
|
||||||
showWeatherAudioControls: 0
|
showWeatherAudioControls: 0
|
||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 1
|
ambientLightIntensity: 1
|
||||||
showLayer1: 0
|
coverage: 0.27
|
||||||
coverageLayer1: -0.141
|
dilateCoverage: 0.75
|
||||||
dilateCoverageLayer1: 0
|
dilateType: 0
|
||||||
dilateTypeLayer1: 0
|
typeModifier: 0.901
|
||||||
typeModifierLayer1: 0.463
|
cloudTypeShaping: 0.595
|
||||||
anvilBiasLayer1: 0.247
|
scatteringIntensity: 5.05
|
||||||
scatteringIntensityLayer1: 0.814
|
multiScatterStrength: 0.541
|
||||||
multiScatteringALayer1: 0.42
|
multiScatterFalloff: 0.201
|
||||||
multiScatteringBLayer1: 0.179
|
ambientFloor: 0.19
|
||||||
multiScatteringCLayer1: 0.748
|
lightningIntensity: 0
|
||||||
powderIntensityLayer1: 0.972
|
exposure: 0.53
|
||||||
silverLiningSpreadLayer1: 0.8
|
silverLiningSpread: 0.5
|
||||||
ligthAbsorbtionLayer1: 0.82
|
silverLiningIntensity: 1.42
|
||||||
densityLayer1: 0.394
|
edgeHighlightStrength: 0
|
||||||
densitySmoothnessLayer1: 1.402
|
ligthAbsorbtion: 0.61
|
||||||
baseErosionIntensityLayer1: 0.5
|
density: 1
|
||||||
detailErosionIntensityLayer1: 0.5
|
densitySmoothness: 1.25
|
||||||
curlIntensityLayer1: 0.25
|
baseErosionIntensity: 0.067
|
||||||
showLayer2: 1
|
baseNoiseMultiplier: 1.1
|
||||||
coverageLayer2: 0.093
|
detailErosionIntensity: 0.2
|
||||||
dilateCoverageLayer2: 0.302
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 1
|
curlIntensity: 0.757
|
||||||
typeModifierLayer2: 0.644
|
bottomShape: -0.1
|
||||||
anvilBiasLayer2: 0.373
|
midShape: -1.48
|
||||||
scatteringIntensityLayer2: 1.235
|
topShape: -4.35
|
||||||
multiScatteringALayer2: 0.627
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.193
|
rampShape: 0.85
|
||||||
multiScatteringCLayer2: 0.047
|
baseNoiseUVMultiplier: 0.89
|
||||||
powderIntensityLayer2: 0.907
|
detailNoiseUVMultiplier: 1.12
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 0.423
|
|
||||||
densityLayer2: 0.142
|
|
||||||
densitySmoothnessLayer2: 1.677
|
|
||||||
baseErosionIntensityLayer2: 0.364
|
|
||||||
detailErosionIntensityLayer2: 0.669
|
|
||||||
curlIntensityLayer2: 0.191
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 1
|
cirrusCloudsAlpha: 0
|
||||||
cirrusCloudsCoverage: 0.431
|
cirrusCloudsCoverage: 0.293
|
||||||
cirrusCloudsColorPower: 1.25
|
cirrusCloudsColorPower: 1.13
|
||||||
flatCloudsCoverage: 1.287
|
flatCloudsCoverage: 1.287
|
||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1
|
||||||
flatCloudsLightIntensity: 1.014
|
flatCloudsLightIntensity: 1.014
|
||||||
flatCloudsAmbientIntensity: 1.05
|
flatCloudsAmbientIntensity: 1.05
|
||||||
flatCloudsAbsorbtion: 1.814
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 1
|
directLightIntensityModifier: 1
|
||||||
ambientIntensityModifier: 1
|
ambientIntensityModifier: 1
|
||||||
shadowIntensity: 1
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 1
|
||||||
|
skyColorExponent: 1.2
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.041
|
fogDensity: 0.015
|
||||||
fogHeightFalloff: 0.0121
|
fogHeightFalloff: 0.0121
|
||||||
fogHeight: 0
|
fogHeight: 0
|
||||||
fogDensity2: 0.044
|
fogDensity2: 0.412
|
||||||
fogHeightFalloff2: 0.0056
|
fogHeightFalloff2: 0.0388
|
||||||
fogHeight2: 0
|
fogHeight2: 0
|
||||||
fogColorBlend: 0.5
|
fogColorBlend: 0.5
|
||||||
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@@ -100,14 +96,14 @@ MonoBehaviour:
|
|||||||
effectsOverride: []
|
effectsOverride: []
|
||||||
audioOverride:
|
audioOverride:
|
||||||
ambientOverride:
|
ambientOverride:
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Day
|
name: Day
|
||||||
volume: 1
|
volume: 1
|
||||||
spring: 0
|
spring: 0
|
||||||
summer: 0
|
summer: 0
|
||||||
autumn: 0
|
autumn: 0
|
||||||
winter: 0
|
winter: 0
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Night
|
name: Night
|
||||||
volume: 1
|
volume: 1
|
||||||
spring: 0
|
spring: 0
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ MonoBehaviour:
|
|||||||
showEditor: 0
|
showEditor: 0
|
||||||
showEffectControls: 0
|
showEffectControls: 0
|
||||||
showCloudControls: 1
|
showCloudControls: 1
|
||||||
showFlatCloudControls: 1
|
showFlatCloudControls: 0
|
||||||
showFogControls: 1
|
showFogControls: 0
|
||||||
showSkyControls: 0
|
showSkyControls: 0
|
||||||
showLightingControls: 1
|
showLightingControls: 0
|
||||||
showAuroraControls: 0
|
showAuroraControls: 0
|
||||||
showEnvironmentControls: 0
|
showEnvironmentControls: 0
|
||||||
showAudioControls: 0
|
showAudioControls: 0
|
||||||
@@ -27,42 +27,35 @@ MonoBehaviour:
|
|||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 1
|
ambientLightIntensity: 1
|
||||||
showLayer1: 1
|
coverage: 0.171
|
||||||
coverageLayer1: -0.073
|
dilateCoverage: 0.189
|
||||||
dilateCoverageLayer1: 0.423
|
dilateType: 1
|
||||||
dilateTypeLayer1: 1
|
typeModifier: 0.558
|
||||||
typeModifierLayer1: 0.552
|
cloudTypeShaping: 0.196
|
||||||
anvilBiasLayer1: 0.419
|
scatteringIntensity: 9.07
|
||||||
scatteringIntensityLayer1: 1.148
|
multiScatterStrength: 0.421
|
||||||
multiScatteringALayer1: 0.392
|
multiScatterFalloff: 0.394
|
||||||
multiScatteringBLayer1: 0.495
|
ambientFloor: 0
|
||||||
multiScatteringCLayer1: 0.511
|
lightningIntensity: 0
|
||||||
powderIntensityLayer1: 0.376
|
exposure: 2
|
||||||
silverLiningSpreadLayer1: 0.903
|
silverLiningSpread: 0.1
|
||||||
ligthAbsorbtionLayer1: 1.326
|
silverLiningIntensity: 0.1
|
||||||
densityLayer1: 0.5
|
edgeHighlightStrength: 0.5
|
||||||
densitySmoothnessLayer1: 1.114
|
ligthAbsorbtion: 0.55
|
||||||
baseErosionIntensityLayer1: 0.071
|
density: 0.9
|
||||||
detailErosionIntensityLayer1: 0.3
|
densitySmoothness: 1.15
|
||||||
curlIntensityLayer1: 0.3
|
baseErosionIntensity: 0.046
|
||||||
showLayer2: 1
|
baseNoiseMultiplier: 1.25
|
||||||
coverageLayer2: -0.177
|
detailErosionIntensity: 0.188
|
||||||
dilateCoverageLayer2: 1
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 1
|
curlIntensity: 0.909
|
||||||
typeModifierLayer2: 0.473
|
bottomShape: -0.18
|
||||||
anvilBiasLayer2: 1
|
midShape: -0.44
|
||||||
scatteringIntensityLayer2: 0.964
|
topShape: -0.56
|
||||||
multiScatteringALayer2: 0.416
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.061
|
rampShape: 0.45
|
||||||
multiScatteringCLayer2: 0.188
|
baseNoiseUVMultiplier: 0.41
|
||||||
powderIntensityLayer2: 0.89
|
detailNoiseUVMultiplier: 1.25
|
||||||
silverLiningSpreadLayer2: 0.723
|
|
||||||
ligthAbsorbtionLayer2: 0.406
|
|
||||||
densityLayer2: 0.079
|
|
||||||
densitySmoothnessLayer2: 1.174
|
|
||||||
baseErosionIntensityLayer2: 0
|
|
||||||
detailErosionIntensityLayer2: 0.768
|
|
||||||
curlIntensityLayer2: 0.417
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0.5
|
cirrusCloudsAlpha: 0.5
|
||||||
cirrusCloudsCoverage: 0.5
|
cirrusCloudsCoverage: 0.5
|
||||||
@@ -71,25 +64,28 @@ MonoBehaviour:
|
|||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1
|
||||||
flatCloudsLightIntensity: 0.478
|
flatCloudsLightIntensity: 0.478
|
||||||
flatCloudsAmbientIntensity: 0.969
|
flatCloudsAmbientIntensity: 0.969
|
||||||
flatCloudsAbsorbtion: 0.873
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 1
|
directLightIntensityModifier: 1
|
||||||
ambientIntensityModifier: 1
|
ambientIntensityModifier: 1
|
||||||
shadowIntensity: 0.996
|
shadowIntensity: 0.996
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 0.75
|
||||||
|
skyColorExponent: 1.3
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.059
|
fogDensity: 0.01
|
||||||
fogHeightFalloff: 0.0045
|
fogHeightFalloff: 0.0048
|
||||||
fogHeight: 0
|
fogHeight: 0
|
||||||
fogDensity2: 0.053
|
fogDensity2: 0.07
|
||||||
fogHeightFalloff2: 0.05
|
fogHeightFalloff2: 0.05
|
||||||
fogHeight2: 0
|
fogHeight2: -25
|
||||||
fogColorBlend: 0.7
|
fogColorBlend: 0.75
|
||||||
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
||||||
scattering: 0.2
|
scattering: 0.25
|
||||||
extinction: 0.05
|
extinction: 0.029
|
||||||
anistropy: 0.5
|
anistropy: 0.5
|
||||||
unityFogDensity: 0.05
|
unityFogDensity: 0.05
|
||||||
unityFogStartDistance: 0
|
unityFogStartDistance: 0
|
||||||
@@ -122,7 +118,7 @@ MonoBehaviour:
|
|||||||
temperatureWeatherMod: 0
|
temperatureWeatherMod: 0
|
||||||
wetnessTarget: 0
|
wetnessTarget: 0
|
||||||
snowTarget: 0
|
snowTarget: 0
|
||||||
windDirectionX: 1
|
windDirectionX: 0.009
|
||||||
windDirectionY: -1
|
windDirectionY: 0.157
|
||||||
windSpeed: 0.25
|
windSpeed: 0.25
|
||||||
windTurbulence: 0.25
|
windTurbulence: 0.25
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ MonoBehaviour:
|
|||||||
showFogControls: 1
|
showFogControls: 1
|
||||||
showSkyControls: 0
|
showSkyControls: 0
|
||||||
showLightingControls: 0
|
showLightingControls: 0
|
||||||
showAuroraControls: 1
|
showAuroraControls: 0
|
||||||
showEnvironmentControls: 0
|
showEnvironmentControls: 0
|
||||||
showAudioControls: 0
|
showAudioControls: 0
|
||||||
showAmbientAudioControls: 0
|
showAmbientAudioControls: 0
|
||||||
@@ -27,74 +27,71 @@ MonoBehaviour:
|
|||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 1
|
ambientLightIntensity: 1
|
||||||
showLayer1: 1
|
coverage: 0.25
|
||||||
coverageLayer1: 0.141
|
dilateCoverage: 0.757
|
||||||
dilateCoverageLayer1: 0.667
|
dilateType: 0
|
||||||
dilateTypeLayer1: 0.661
|
typeModifier: 0
|
||||||
typeModifierLayer1: 1
|
cloudTypeShaping: 0.097
|
||||||
anvilBiasLayer1: 0
|
scatteringIntensity: 7.11
|
||||||
scatteringIntensityLayer1: 1.986
|
multiScatterStrength: 0.367
|
||||||
multiScatteringALayer1: 0.765
|
multiScatterFalloff: 0.209
|
||||||
multiScatteringBLayer1: 0.165
|
ambientFloor: 0.117
|
||||||
multiScatteringCLayer1: 0.226
|
lightningIntensity: 0
|
||||||
powderIntensityLayer1: 0.926
|
exposure: 0.63
|
||||||
silverLiningSpreadLayer1: 0.82
|
silverLiningSpread: 0.1
|
||||||
ligthAbsorbtionLayer1: 0.77
|
silverLiningIntensity: 2
|
||||||
densityLayer1: 1.155
|
edgeHighlightStrength: 0
|
||||||
densitySmoothnessLayer1: 2
|
ligthAbsorbtion: 0.463
|
||||||
baseErosionIntensityLayer1: 0
|
density: 1
|
||||||
detailErosionIntensityLayer1: 0.5
|
densitySmoothness: 1.76
|
||||||
curlIntensityLayer1: 0.4
|
baseErosionIntensity: 0.207
|
||||||
showLayer2: 0
|
baseNoiseMultiplier: 1.28
|
||||||
coverageLayer2: 0
|
detailErosionIntensity: 0.272
|
||||||
dilateCoverageLayer2: 0.5
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 0.5
|
curlIntensity: 0.66
|
||||||
typeModifierLayer2: 0.5
|
bottomShape: 0.15
|
||||||
anvilBiasLayer2: 0
|
midShape: -1.78
|
||||||
scatteringIntensityLayer2: 1.5
|
topShape: 0.24
|
||||||
multiScatteringALayer2: 0.5
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.5
|
rampShape: 0.13
|
||||||
multiScatteringCLayer2: 0.5
|
baseNoiseUVMultiplier: 0.64
|
||||||
powderIntensityLayer2: 0.3
|
detailNoiseUVMultiplier: 1.09
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 1
|
|
||||||
densityLayer2: 0.3
|
|
||||||
densitySmoothnessLayer2: 1
|
|
||||||
baseErosionIntensityLayer2: 0
|
|
||||||
detailErosionIntensityLayer2: 0.3
|
|
||||||
curlIntensityLayer2: 0.05
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0.5
|
cirrusCloudsAlpha: 0.5
|
||||||
cirrusCloudsCoverage: 0.5
|
cirrusCloudsCoverage: 0.5
|
||||||
cirrusCloudsColorPower: 1
|
cirrusCloudsColorPower: 1
|
||||||
flatCloudsCoverage: 1
|
flatCloudsCoverage: 1.3
|
||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1.24
|
||||||
flatCloudsLightIntensity: 1
|
flatCloudsLightIntensity: 0.73
|
||||||
flatCloudsAmbientIntensity: 1
|
flatCloudsAmbientIntensity: 1.33
|
||||||
flatCloudsAbsorbtion: 0.6
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 1
|
directLightIntensityModifier: 1
|
||||||
ambientIntensityModifier: 1
|
ambientIntensityModifier: 1
|
||||||
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 1
|
||||||
|
skyColorExponent: 1.2
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.027
|
fogDensity: 0.153
|
||||||
fogHeightFalloff: 0.0008
|
fogHeightFalloff: 0.0059
|
||||||
fogHeight: 0
|
fogHeight: 0
|
||||||
fogDensity2: 0.053
|
fogDensity2: 0.086
|
||||||
fogHeightFalloff2: 0.05
|
fogHeightFalloff2: 0.05
|
||||||
fogHeight2: 0
|
fogHeight2: 0
|
||||||
fogColorBlend: 0.75
|
fogColorBlend: 0.482
|
||||||
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
fogColorMod: {r: 0.8584906, g: 0.8584906, b: 0.8584906, a: 1}
|
||||||
scattering: 0.015
|
scattering: 0.195
|
||||||
extinction: 0.035
|
extinction: 0.033
|
||||||
anistropy: 0.6
|
anistropy: 0.435
|
||||||
unityFogDensity: 0.002
|
unityFogDensity: 0.002
|
||||||
unityFogStartDistance: 0
|
unityFogStartDistance: 0
|
||||||
unityFogEndDistance: 1000
|
unityFogEndDistance: 1000
|
||||||
auroraOverride:
|
auroraOverride:
|
||||||
auroraIntensity: 1
|
auroraIntensity: 0
|
||||||
effectsOverride:
|
effectsOverride:
|
||||||
effectsOverride: []
|
effectsOverride: []
|
||||||
audioOverride:
|
audioOverride:
|
||||||
@@ -107,7 +104,7 @@ MonoBehaviour:
|
|||||||
temperatureWeatherMod: 0
|
temperatureWeatherMod: 0
|
||||||
wetnessTarget: 0
|
wetnessTarget: 0
|
||||||
snowTarget: 0
|
snowTarget: 0
|
||||||
windDirectionX: 1
|
windDirectionX: -1
|
||||||
windDirectionY: -1
|
windDirectionY: 1
|
||||||
windSpeed: 0.131
|
windSpeed: 0.2
|
||||||
windTurbulence: 0.111
|
windTurbulence: 0.111
|
||||||
|
|||||||
@@ -0,0 +1,110 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5cbac6e678443724c9bd2baf5d564c1d, type: 3}
|
||||||
|
m_Name: Cloudy 4
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
showEditor: 0
|
||||||
|
showEffectControls: 0
|
||||||
|
showCloudControls: 0
|
||||||
|
showFlatCloudControls: 0
|
||||||
|
showFogControls: 1
|
||||||
|
showSkyControls: 0
|
||||||
|
showLightingControls: 0
|
||||||
|
showAuroraControls: 0
|
||||||
|
showEnvironmentControls: 0
|
||||||
|
showAudioControls: 0
|
||||||
|
showAmbientAudioControls: 0
|
||||||
|
showWeatherAudioControls: 0
|
||||||
|
showLightningControls: 0
|
||||||
|
cloudsOverride:
|
||||||
|
ambientLightIntensity: 1
|
||||||
|
coverage: 0.74
|
||||||
|
dilateCoverage: 1
|
||||||
|
dilateType: 1
|
||||||
|
typeModifier: 0
|
||||||
|
cloudTypeShaping: 0.548
|
||||||
|
scatteringIntensity: 5.27
|
||||||
|
multiScatterStrength: 0.495
|
||||||
|
multiScatterFalloff: 0.143
|
||||||
|
ambientFloor: 0.058
|
||||||
|
lightningIntensity: 0
|
||||||
|
exposure: 0.64
|
||||||
|
silverLiningSpread: 0.2
|
||||||
|
silverLiningIntensity: 0.86
|
||||||
|
edgeHighlightStrength: 0
|
||||||
|
ligthAbsorbtion: 1.37
|
||||||
|
density: 0.06
|
||||||
|
densitySmoothness: 0.68
|
||||||
|
baseErosionIntensity: 0.971
|
||||||
|
baseNoiseMultiplier: 1.65
|
||||||
|
detailErosionIntensity: 0.21
|
||||||
|
detailNoiseMultiplier: 1
|
||||||
|
curlIntensity: 0.71
|
||||||
|
bottomShape: -0.04
|
||||||
|
midShape: -4.27
|
||||||
|
topShape: 1.47
|
||||||
|
topLayer: 2
|
||||||
|
rampShape: 0.21
|
||||||
|
baseNoiseUVMultiplier: 0.36
|
||||||
|
detailNoiseUVMultiplier: 1.27
|
||||||
|
flatCloudsOverride:
|
||||||
|
cirrusCloudsAlpha: 0.5
|
||||||
|
cirrusCloudsCoverage: 0.5
|
||||||
|
cirrusCloudsColorPower: 1
|
||||||
|
flatCloudsCoverage: 1.3
|
||||||
|
flatCloudsDensity: 1.24
|
||||||
|
flatCloudsLightIntensity: 0.73
|
||||||
|
flatCloudsAmbientIntensity: 1.33
|
||||||
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
|
lightingOverride:
|
||||||
|
directLightIntensityModifier: 1
|
||||||
|
ambientIntensityModifier: 1
|
||||||
|
shadowIntensity: 1
|
||||||
|
skyOverride:
|
||||||
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 0.75
|
||||||
|
skyColorExponent: 1.25
|
||||||
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
fogOverride:
|
||||||
|
fogDensity: 0.06
|
||||||
|
fogHeightFalloff: 0.003
|
||||||
|
fogHeight: 0
|
||||||
|
fogDensity2: 0.25
|
||||||
|
fogHeightFalloff2: 0.05
|
||||||
|
fogHeight2: 25
|
||||||
|
fogColorBlend: 0.8
|
||||||
|
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
scattering: 0.1
|
||||||
|
extinction: 0.02
|
||||||
|
anistropy: 0.674
|
||||||
|
unityFogDensity: 0.002
|
||||||
|
unityFogStartDistance: 0
|
||||||
|
unityFogEndDistance: 1000
|
||||||
|
auroraOverride:
|
||||||
|
auroraIntensity: 1
|
||||||
|
effectsOverride:
|
||||||
|
effectsOverride: []
|
||||||
|
audioOverride:
|
||||||
|
ambientOverride: []
|
||||||
|
weatherOverride: []
|
||||||
|
lightningOverride:
|
||||||
|
lightningStorm: 0
|
||||||
|
randomLightningDelay: 1
|
||||||
|
environmentOverride:
|
||||||
|
temperatureWeatherMod: 0
|
||||||
|
wetnessTarget: 0
|
||||||
|
snowTarget: 0
|
||||||
|
windDirectionX: -1
|
||||||
|
windDirectionY: 1
|
||||||
|
windSpeed: 0.2
|
||||||
|
windTurbulence: 0.111
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bb17a17dcbe893f4d992633c085dc5eb
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -27,42 +27,35 @@ MonoBehaviour:
|
|||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 1
|
ambientLightIntensity: 1
|
||||||
showLayer1: 1
|
coverage: 0.19
|
||||||
coverageLayer1: 0.208
|
dilateCoverage: 0.09
|
||||||
dilateCoverageLayer1: 0.836
|
dilateType: 0.117
|
||||||
dilateTypeLayer1: 0.479
|
typeModifier: 1
|
||||||
typeModifierLayer1: 0.095
|
cloudTypeShaping: 0
|
||||||
anvilBiasLayer1: 0.228
|
scatteringIntensity: 2.19
|
||||||
scatteringIntensityLayer1: 0.954
|
multiScatterStrength: 0.785
|
||||||
multiScatteringALayer1: 0.222
|
multiScatterFalloff: 0.061
|
||||||
multiScatteringBLayer1: 0.341
|
ambientFloor: 0.233
|
||||||
multiScatteringCLayer1: 0.535
|
lightningIntensity: 0
|
||||||
powderIntensityLayer1: 0.6
|
exposure: 0.925
|
||||||
silverLiningSpreadLayer1: 0.8
|
silverLiningSpread: 0.25
|
||||||
ligthAbsorbtionLayer1: 0.739
|
silverLiningIntensity: 0.934
|
||||||
densityLayer1: 0.234
|
edgeHighlightStrength: 1
|
||||||
densitySmoothnessLayer1: 1.281
|
ligthAbsorbtion: 0.45
|
||||||
baseErosionIntensityLayer1: 0.148
|
density: 1.1
|
||||||
detailErosionIntensityLayer1: 0.335
|
densitySmoothness: 1.56
|
||||||
curlIntensityLayer1: 0.414
|
baseErosionIntensity: 0.337
|
||||||
showLayer2: 0
|
baseNoiseMultiplier: 1.29
|
||||||
coverageLayer2: 0
|
detailErosionIntensity: 0.389
|
||||||
dilateCoverageLayer2: 0.5
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 0.5
|
curlIntensity: 1
|
||||||
typeModifierLayer2: 0.5
|
bottomShape: 1.31
|
||||||
anvilBiasLayer2: 0
|
midShape: -5
|
||||||
scatteringIntensityLayer2: 1.5
|
topShape: -5
|
||||||
multiScatteringALayer2: 0.5
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.5
|
rampShape: 0.87
|
||||||
multiScatteringCLayer2: 0.5
|
baseNoiseUVMultiplier: 1
|
||||||
powderIntensityLayer2: 0.3
|
detailNoiseUVMultiplier: 1
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 1
|
|
||||||
densityLayer2: 0.3
|
|
||||||
densitySmoothnessLayer2: 1
|
|
||||||
baseErosionIntensityLayer2: 0
|
|
||||||
detailErosionIntensityLayer2: 0.3
|
|
||||||
curlIntensityLayer2: 0.05
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0.5
|
cirrusCloudsAlpha: 0.5
|
||||||
cirrusCloudsCoverage: 0.5
|
cirrusCloudsCoverage: 0.5
|
||||||
@@ -71,26 +64,29 @@ MonoBehaviour:
|
|||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1
|
||||||
flatCloudsLightIntensity: 1
|
flatCloudsLightIntensity: 1
|
||||||
flatCloudsAmbientIntensity: 1
|
flatCloudsAmbientIntensity: 1
|
||||||
flatCloudsAbsorbtion: 0.6
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 1
|
directLightIntensityModifier: 1
|
||||||
ambientIntensityModifier: 1
|
ambientIntensityModifier: 1
|
||||||
shadowIntensity: 1
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 1
|
||||||
|
skyColorExponent: 1
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.142
|
fogDensity: 0.809
|
||||||
fogHeightFalloff: 0.0034
|
fogHeightFalloff: 0.0015
|
||||||
fogHeight: 0
|
fogHeight: 0
|
||||||
fogDensity2: 0.651
|
fogDensity2: 0.475
|
||||||
fogHeightFalloff2: 0.0469
|
fogHeightFalloff2: 0.05
|
||||||
fogHeight2: 0
|
fogHeight2: 100
|
||||||
fogColorBlend: 0.75
|
fogColorBlend: 0.25
|
||||||
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
fogColorMod: {r: 1, g: 1, b: 1, a: 1}
|
||||||
scattering: 0.461
|
scattering: 0.078
|
||||||
extinction: 0.046
|
extinction: 0.006
|
||||||
anistropy: 0.3
|
anistropy: 0.331
|
||||||
unityFogDensity: 0.002
|
unityFogDensity: 0.002
|
||||||
unityFogStartDistance: 0
|
unityFogStartDistance: 0
|
||||||
unityFogEndDistance: 1000
|
unityFogEndDistance: 1000
|
||||||
@@ -108,7 +104,7 @@ MonoBehaviour:
|
|||||||
temperatureWeatherMod: 0
|
temperatureWeatherMod: 0
|
||||||
wetnessTarget: 0
|
wetnessTarget: 0
|
||||||
snowTarget: 0
|
snowTarget: 0
|
||||||
windDirectionX: 1
|
windDirectionX: -1
|
||||||
windDirectionY: -1
|
windDirectionY: 1
|
||||||
windSpeed: 0.25
|
windSpeed: 0.25
|
||||||
windTurbulence: 0.25
|
windTurbulence: 0.25
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
showEditor: 0
|
showEditor: 0
|
||||||
showEffectControls: 0
|
showEffectControls: 0
|
||||||
showCloudControls: 0
|
showCloudControls: 1
|
||||||
showFlatCloudControls: 0
|
showFlatCloudControls: 0
|
||||||
showFogControls: 0
|
showFogControls: 0
|
||||||
showSkyControls: 0
|
showSkyControls: 0
|
||||||
@@ -26,43 +26,36 @@ MonoBehaviour:
|
|||||||
showWeatherAudioControls: 0
|
showWeatherAudioControls: 0
|
||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 0.6
|
ambientLightIntensity: 1
|
||||||
showLayer1: 1
|
coverage: 0.51
|
||||||
coverageLayer1: 0.48
|
dilateCoverage: 0
|
||||||
dilateCoverageLayer1: 1
|
dilateType: 0
|
||||||
dilateTypeLayer1: 0.233
|
typeModifier: 0.5
|
||||||
typeModifierLayer1: 0.804
|
cloudTypeShaping: 0.597
|
||||||
anvilBiasLayer1: 0.651
|
scatteringIntensity: 3.45
|
||||||
scatteringIntensityLayer1: 0.12
|
multiScatterStrength: 0.433
|
||||||
multiScatteringALayer1: 0.44
|
multiScatterFalloff: 0.049
|
||||||
multiScatteringBLayer1: 0.177
|
ambientFloor: 0.093
|
||||||
multiScatteringCLayer1: 0.44
|
lightningIntensity: 0
|
||||||
powderIntensityLayer1: 0.219
|
exposure: 0.33
|
||||||
silverLiningSpreadLayer1: 0.8
|
silverLiningSpread: 1
|
||||||
ligthAbsorbtionLayer1: 1.286
|
silverLiningIntensity: 0
|
||||||
densityLayer1: 0.2
|
edgeHighlightStrength: 0
|
||||||
densitySmoothnessLayer1: 1.65
|
ligthAbsorbtion: 0.5
|
||||||
baseErosionIntensityLayer1: 0
|
density: 1
|
||||||
detailErosionIntensityLayer1: 0.8
|
densitySmoothness: 1.5
|
||||||
curlIntensityLayer1: 0.2
|
baseErosionIntensity: 0
|
||||||
showLayer2: 0
|
baseNoiseMultiplier: 0.72
|
||||||
coverageLayer2: -1
|
detailErosionIntensity: 0.067
|
||||||
dilateCoverageLayer2: 0.5
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 0.5
|
curlIntensity: 1
|
||||||
typeModifierLayer2: 0.5
|
bottomShape: 0.06
|
||||||
anvilBiasLayer2: 0
|
midShape: 0.52
|
||||||
scatteringIntensityLayer2: 1.5
|
topShape: -2.45
|
||||||
multiScatteringALayer2: 0.5
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.5
|
rampShape: 0.16
|
||||||
multiScatteringCLayer2: 0.5
|
baseNoiseUVMultiplier: 1.16
|
||||||
powderIntensityLayer2: 0.3
|
detailNoiseUVMultiplier: 1
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 1
|
|
||||||
densityLayer2: 0.3
|
|
||||||
densitySmoothnessLayer2: 1
|
|
||||||
baseErosionIntensityLayer2: 0
|
|
||||||
detailErosionIntensityLayer2: 0.3
|
|
||||||
curlIntensityLayer2: 0.05
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0
|
cirrusCloudsAlpha: 0
|
||||||
cirrusCloudsCoverage: 0
|
cirrusCloudsCoverage: 0
|
||||||
@@ -71,15 +64,19 @@ MonoBehaviour:
|
|||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1
|
||||||
flatCloudsLightIntensity: 1
|
flatCloudsLightIntensity: 1
|
||||||
flatCloudsAmbientIntensity: 1
|
flatCloudsAmbientIntensity: 1
|
||||||
flatCloudsAbsorbtion: 0.6
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 0.5
|
directLightIntensityModifier: 0.75
|
||||||
ambientIntensityModifier: 0.6
|
ambientIntensityModifier: 1
|
||||||
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
mieScatteringMultiplier: 0.1
|
||||||
|
skyColorExponent: 1.1
|
||||||
|
skyColorTint: {r: 0.20754719, g: 0.20754719, b: 0.20754719, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.02
|
fogDensity: 0.079
|
||||||
fogHeightFalloff: 0.0016
|
fogHeightFalloff: 0.0016
|
||||||
fogHeight: 0
|
fogHeight: 0
|
||||||
fogDensity2: 0.312
|
fogDensity2: 0.312
|
||||||
@@ -117,7 +114,7 @@ MonoBehaviour:
|
|||||||
temperatureWeatherMod: 0
|
temperatureWeatherMod: 0
|
||||||
wetnessTarget: 1
|
wetnessTarget: 1
|
||||||
snowTarget: 0
|
snowTarget: 0
|
||||||
windDirectionX: 1
|
windDirectionX: -1
|
||||||
windDirectionY: -1
|
windDirectionY: 1
|
||||||
windSpeed: 0.25
|
windSpeed: 0.25
|
||||||
windTurbulence: 0.25
|
windTurbulence: 0.25
|
||||||
|
|||||||
@@ -27,42 +27,35 @@ MonoBehaviour:
|
|||||||
showLightningControls: 0
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 1
|
ambientLightIntensity: 1
|
||||||
showLayer1: 1
|
coverage: 0.69
|
||||||
coverageLayer1: 0.29
|
dilateCoverage: 0.1
|
||||||
dilateCoverageLayer1: 1
|
dilateType: 0
|
||||||
dilateTypeLayer1: 1
|
typeModifier: 0.804
|
||||||
typeModifierLayer1: 0.86
|
cloudTypeShaping: 0.751
|
||||||
anvilBiasLayer1: 1
|
scatteringIntensity: 5.02
|
||||||
scatteringIntensityLayer1: 0.213
|
multiScatterStrength: 0.449
|
||||||
multiScatteringALayer1: 0.687
|
multiScatterFalloff: 0.049
|
||||||
multiScatteringBLayer1: 0.571
|
ambientFloor: 0.08
|
||||||
multiScatteringCLayer1: 0.173
|
lightningIntensity: 0
|
||||||
powderIntensityLayer1: 0.7
|
exposure: 0.9
|
||||||
silverLiningSpreadLayer1: 0.8
|
silverLiningSpread: 0.708
|
||||||
ligthAbsorbtionLayer1: 0.869
|
silverLiningIntensity: 1.136
|
||||||
densityLayer1: 0.15
|
edgeHighlightStrength: 1
|
||||||
densitySmoothnessLayer1: 1
|
ligthAbsorbtion: 0.81
|
||||||
baseErosionIntensityLayer1: 1
|
density: 1
|
||||||
detailErosionIntensityLayer1: 0.5
|
densitySmoothness: 1.5
|
||||||
curlIntensityLayer1: 0.15
|
baseErosionIntensity: 0.29
|
||||||
showLayer2: 0
|
baseNoiseMultiplier: 0.74
|
||||||
coverageLayer2: 0
|
detailErosionIntensity: 0.2
|
||||||
dilateCoverageLayer2: 0.5
|
detailNoiseMultiplier: 1
|
||||||
dilateTypeLayer2: 0.5
|
curlIntensity: 0.444
|
||||||
typeModifierLayer2: 0.5
|
bottomShape: 0.25
|
||||||
anvilBiasLayer2: 0
|
midShape: -1.54
|
||||||
scatteringIntensityLayer2: 1.5
|
topShape: -0.1
|
||||||
multiScatteringALayer2: 0.5
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.5
|
rampShape: 0.487
|
||||||
multiScatteringCLayer2: 0.5
|
baseNoiseUVMultiplier: 1
|
||||||
powderIntensityLayer2: 0.3
|
detailNoiseUVMultiplier: 0.6
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 1
|
|
||||||
densityLayer2: 0.3
|
|
||||||
densitySmoothnessLayer2: 1
|
|
||||||
baseErosionIntensityLayer2: 0
|
|
||||||
detailErosionIntensityLayer2: 0.3
|
|
||||||
curlIntensityLayer2: 0.05
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0.5
|
cirrusCloudsAlpha: 0.5
|
||||||
cirrusCloudsCoverage: 0.5
|
cirrusCloudsCoverage: 0.5
|
||||||
@@ -71,13 +64,16 @@ MonoBehaviour:
|
|||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1
|
||||||
flatCloudsLightIntensity: 1
|
flatCloudsLightIntensity: 1
|
||||||
flatCloudsAmbientIntensity: 1
|
flatCloudsAmbientIntensity: 1
|
||||||
flatCloudsAbsorbtion: 0.6
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 0.8
|
directLightIntensityModifier: 0.8
|
||||||
ambientIntensityModifier: 0.8
|
ambientIntensityModifier: 0.8
|
||||||
shadowIntensity: 1
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
|
mieScatteringMultiplier: 1
|
||||||
|
skyColorExponent: 1
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0.087
|
fogDensity: 0.087
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 5cbac6e678443724c9bd2baf5d564c1d, type: 3}
|
m_Script: {fileID: 11500000, guid: 5cbac6e678443724c9bd2baf5d564c1d, type: 3}
|
||||||
m_Name: Storm
|
m_Name: Storm
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
showEditor: 1
|
showEditor: 0
|
||||||
showEffectControls: 0
|
showEffectControls: 0
|
||||||
showCloudControls: 0
|
showCloudControls: 1
|
||||||
showFlatCloudControls: 0
|
showFlatCloudControls: 0
|
||||||
showFogControls: 0
|
showFogControls: 0
|
||||||
showSkyControls: 0
|
showSkyControls: 0
|
||||||
@@ -24,45 +24,38 @@ MonoBehaviour:
|
|||||||
showAudioControls: 0
|
showAudioControls: 0
|
||||||
showAmbientAudioControls: 0
|
showAmbientAudioControls: 0
|
||||||
showWeatherAudioControls: 0
|
showWeatherAudioControls: 0
|
||||||
showLightningControls: 1
|
showLightningControls: 0
|
||||||
cloudsOverride:
|
cloudsOverride:
|
||||||
ambientLightIntensity: 0.187
|
ambientLightIntensity: 0.5
|
||||||
showLayer1: 0
|
coverage: 0.534
|
||||||
coverageLayer1: 0.163
|
dilateCoverage: 1
|
||||||
dilateCoverageLayer1: 1
|
dilateType: 0
|
||||||
dilateTypeLayer1: 0.233
|
typeModifier: 1
|
||||||
typeModifierLayer1: 0.804
|
cloudTypeShaping: 0
|
||||||
anvilBiasLayer1: 0.415
|
scatteringIntensity: 7.12
|
||||||
scatteringIntensityLayer1: 0.128
|
multiScatterStrength: 0.374
|
||||||
multiScatteringALayer1: 0.386
|
multiScatterFalloff: 0.06
|
||||||
multiScatteringBLayer1: 0.497
|
ambientFloor: 0
|
||||||
multiScatteringCLayer1: 0.444
|
lightningIntensity: 0.75
|
||||||
powderIntensityLayer1: 0.219
|
exposure: 0.31
|
||||||
silverLiningSpreadLayer1: 0.8
|
silverLiningSpread: 0
|
||||||
ligthAbsorbtionLayer1: 1.525
|
silverLiningIntensity: 0
|
||||||
densityLayer1: 0.134
|
edgeHighlightStrength: 0
|
||||||
densitySmoothnessLayer1: 1.584
|
ligthAbsorbtion: 0.67
|
||||||
baseErosionIntensityLayer1: 0
|
density: 0.9
|
||||||
detailErosionIntensityLayer1: 0.693
|
densitySmoothness: 1.2
|
||||||
curlIntensityLayer1: 0.2
|
baseErosionIntensity: 0.155
|
||||||
showLayer2: 0
|
baseNoiseMultiplier: 1
|
||||||
coverageLayer2: -1
|
detailErosionIntensity: 0.212
|
||||||
dilateCoverageLayer2: 0.5
|
detailNoiseMultiplier: 1.03
|
||||||
dilateTypeLayer2: 0.5
|
curlIntensity: 1
|
||||||
typeModifierLayer2: 0.5
|
bottomShape: -0.39
|
||||||
anvilBiasLayer2: 0
|
midShape: -0.53
|
||||||
scatteringIntensityLayer2: 1.5
|
topShape: 0.74
|
||||||
multiScatteringALayer2: 0.5
|
topLayer: 0
|
||||||
multiScatteringBLayer2: 0.5
|
rampShape: 0.13
|
||||||
multiScatteringCLayer2: 0.5
|
baseNoiseUVMultiplier: 0.61
|
||||||
powderIntensityLayer2: 0.3
|
detailNoiseUVMultiplier: 0.57
|
||||||
silverLiningSpreadLayer2: 0.8
|
|
||||||
ligthAbsorbtionLayer2: 1
|
|
||||||
densityLayer2: 0.3
|
|
||||||
densitySmoothnessLayer2: 1
|
|
||||||
baseErosionIntensityLayer2: 0
|
|
||||||
detailErosionIntensityLayer2: 0.3
|
|
||||||
curlIntensityLayer2: 0.05
|
|
||||||
flatCloudsOverride:
|
flatCloudsOverride:
|
||||||
cirrusCloudsAlpha: 0
|
cirrusCloudsAlpha: 0
|
||||||
cirrusCloudsCoverage: 0
|
cirrusCloudsCoverage: 0
|
||||||
@@ -71,21 +64,24 @@ MonoBehaviour:
|
|||||||
flatCloudsDensity: 1
|
flatCloudsDensity: 1
|
||||||
flatCloudsLightIntensity: 0.099
|
flatCloudsLightIntensity: 0.099
|
||||||
flatCloudsAmbientIntensity: 1
|
flatCloudsAmbientIntensity: 1
|
||||||
flatCloudsAbsorbtion: 0.782
|
flatCloudsShadowIntensity: 0.6
|
||||||
|
flatCloudsShadowSteps: 8
|
||||||
lightingOverride:
|
lightingOverride:
|
||||||
directLightIntensityModifier: 0.33
|
directLightIntensityModifier: 0.33
|
||||||
ambientIntensityModifier: 0.5
|
ambientIntensityModifier: 0.5
|
||||||
shadowIntensity: 1
|
shadowIntensity: 1
|
||||||
skyOverride:
|
skyOverride:
|
||||||
intensity: 1
|
intensity: 1
|
||||||
skyColorTint: {r: 1, g: 1, b: 1, a: 1}
|
mieScatteringMultiplier: 0
|
||||||
|
skyColorExponent: 1.5
|
||||||
|
skyColorTint: {r: 0.24528301, g: 0.24528301, b: 0.24528301, a: 1}
|
||||||
fogOverride:
|
fogOverride:
|
||||||
fogDensity: 0
|
fogDensity: 0.073
|
||||||
fogHeightFalloff: 0.0039
|
fogHeightFalloff: 0.0025
|
||||||
fogHeight: 0
|
fogHeight: 0
|
||||||
fogDensity2: 0.598
|
fogDensity2: 0.837
|
||||||
fogHeightFalloff2: 0.0177
|
fogHeightFalloff2: 0.0424
|
||||||
fogHeight2: -30
|
fogHeight2: 94.39
|
||||||
fogColorBlend: 0.5
|
fogColorBlend: 0.5
|
||||||
fogColorMod: {r: 0.2735849, g: 0.2722944, b: 0.2722944, a: 1}
|
fogColorMod: {r: 0.2735849, g: 0.2722944, b: 0.2722944, a: 1}
|
||||||
scattering: 0.38
|
scattering: 0.38
|
||||||
@@ -113,12 +109,12 @@ MonoBehaviour:
|
|||||||
winter: 0
|
winter: 0
|
||||||
lightningOverride:
|
lightningOverride:
|
||||||
lightningStorm: 1
|
lightningStorm: 1
|
||||||
randomLightningDelay: 5
|
randomLightningDelay: 3
|
||||||
environmentOverride:
|
environmentOverride:
|
||||||
temperatureWeatherMod: 0
|
temperatureWeatherMod: 0
|
||||||
wetnessTarget: 1
|
wetnessTarget: 1
|
||||||
snowTarget: 0
|
snowTarget: 0
|
||||||
windDirectionX: 1
|
windDirectionX: -1
|
||||||
windDirectionY: -1
|
windDirectionY: 1
|
||||||
windSpeed: 0.85
|
windSpeed: 0.796
|
||||||
windTurbulence: 0.5
|
windTurbulence: 0.5
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ Shader "Hidden/Enviro/BlitTroughHDRP"
|
|||||||
HLSLINCLUDE
|
HLSLINCLUDE
|
||||||
|
|
||||||
#pragma target 4.5
|
#pragma target 4.5
|
||||||
#pragma only_renderers d3d11 ps4 xboxone vulkan metal switch
|
|
||||||
#pragma multi_compile __ ENVIROHDRP
|
#pragma multi_compile __ ENVIROHDRP
|
||||||
|
|
||||||
#if defined (ENVIROHDRP)
|
#if defined (ENVIROHDRP)
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
float4 sceneColor = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex,i.uv);
|
float4 sceneColor = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex,i.uv);
|
||||||
float4 cloudTex = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_CloudsTex,i.uv);
|
float4 cloudTex = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_CloudsTex,i.uv);
|
||||||
float shadowsClouds = saturate(1-(cloudTex.b * saturate(1-cloudTex.a) * _Intensity));
|
float shadowsClouds = saturate(1-(cloudTex.b * _Intensity));
|
||||||
// shadowsClouds = shadowsClouds * ;
|
// shadowsClouds = shadowsClouds * ;
|
||||||
|
|
||||||
float4 final = float4(sceneColor.rgb * shadowsClouds, sceneColor.a);
|
float4 final = float4(sceneColor.rgb * shadowsClouds, sceneColor.a);
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
float4 sceneColor = SAMPLE_TEXTURE2D_X_LOD(_MainTex,s_trilinear_clamp_sampler, i.uv, 0);
|
float4 sceneColor = SAMPLE_TEXTURE2D_X_LOD(_MainTex,s_trilinear_clamp_sampler, i.uv, 0);
|
||||||
float4 cloudTex = SAMPLE_TEXTURE2D_X(_CloudsTex,sampler_CloudsTex, i.uv * _HandleScales.xy);
|
float4 cloudTex = SAMPLE_TEXTURE2D_X(_CloudsTex,sampler_CloudsTex, i.uv * _HandleScales.xy);
|
||||||
|
|
||||||
float shadowsClouds = saturate(1-(cloudTex.b * saturate(1-cloudTex.a) * _Intensity));
|
float shadowsClouds = saturate(1-(cloudTex.b * _Intensity));
|
||||||
float4 final = float4(sceneColor.rgb * shadowsClouds, sceneColor.a);
|
float4 final = float4(sceneColor.rgb * shadowsClouds, sceneColor.a);
|
||||||
|
|
||||||
return final;
|
return final;
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
float4 sceneColor = SAMPLE_TEXTURE2D_X(_MainTex,sampler_MainTex,i.uv);
|
float4 sceneColor = SAMPLE_TEXTURE2D_X(_MainTex,sampler_MainTex,i.uv);
|
||||||
float4 cloudTex = SAMPLE_TEXTURE2D_X(_CloudsTex,sampler_CloudsTex,i.uv);
|
float4 cloudTex = SAMPLE_TEXTURE2D_X(_CloudsTex,sampler_CloudsTex,i.uv);
|
||||||
float shadowsClouds = saturate(1-(cloudTex.b * saturate(1-cloudTex.a) * _Intensity));
|
float shadowsClouds = saturate(1-(cloudTex.b * _Intensity));
|
||||||
// shadowsClouds = shadowsClouds * ;
|
// shadowsClouds = shadowsClouds * ;
|
||||||
|
|
||||||
float4 final = float4(sceneColor.rgb * shadowsClouds, sceneColor.a);
|
float4 final = float4(sceneColor.rgb * shadowsClouds, sceneColor.a);
|
||||||
|
|||||||
@@ -21,8 +21,7 @@ Shader "Hidden/EnviroVolumetricCloudsBlend"
|
|||||||
#pragma multi_compile __ UNITY_COLORSPACE_GAMMA
|
#pragma multi_compile __ UNITY_COLORSPACE_GAMMA
|
||||||
|
|
||||||
#include "UnityCG.cginc"
|
#include "UnityCG.cginc"
|
||||||
//#include "../Includes/SkyInclude.cginc"
|
#include_with_pragmas "../Includes/FogInclude.cginc"
|
||||||
#include "../Includes/FogInclude.cginc"
|
|
||||||
|
|
||||||
UNITY_DECLARE_SCREENSPACE_TEXTURE(_MainTex);
|
UNITY_DECLARE_SCREENSPACE_TEXTURE(_MainTex);
|
||||||
|
|
||||||
@@ -169,29 +168,20 @@ Shader "Hidden/EnviroVolumetricCloudsBlend"
|
|||||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
|
|
||||||
float4 vspos = float4(i.vsray, 1.0,1.0);
|
float4 vspos = float4(i.vsray, 1.0,1.0);
|
||||||
|
|
||||||
float4 worldPos = mul(_CamToWorld,vspos);
|
float4 worldPos = mul(_CamToWorld,vspos);
|
||||||
|
|
||||||
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos);
|
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos);
|
||||||
|
|
||||||
float4 sourceColor = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex,UnityStereoTransformScreenSpaceTex(i.uv));
|
float4 sourceColor = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex,UnityStereoTransformScreenSpaceTex(i.uv));
|
||||||
|
|
||||||
float4 cloudsColor = Upsample(i);
|
float4 cloudsColor = Upsample(i);
|
||||||
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2.0f;
|
|
||||||
float3 skyColor = GetSkyColor(viewDir,0.005f);
|
|
||||||
float4 finalColor = float4(cloudsColor.r * sunColor + _AmbientColor, cloudsColor.a);
|
|
||||||
|
|
||||||
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / _AtmosphereColorSaturateDistance));
|
float4 finalColor = GetCloudColor(cloudsColor,worldPos);
|
||||||
|
|
||||||
//if(_WorldSpaceCameraPos.y <= 2000)
|
|
||||||
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
|
||||||
|
|
||||||
#if defined(UNITY_COLORSPACE_GAMMA)
|
#if defined(UNITY_COLORSPACE_GAMMA)
|
||||||
finalColor.rgb = LinearToGammaSpace(finalColor.rgb);
|
finalColor.rgb = LinearToGammaSpace(finalColor.rgb);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENVIRO_DEPTH_BLENDING
|
#if ENVIRO_DEPTH_BLENDING
|
||||||
float4 final = float4(sourceColor.rgb * (1 - finalColor.a) + finalColor.rgb * finalColor.a, 1);
|
float4 final = float4(sourceColor.rgb * (1 - finalColor.a) + lerp(sourceColor.rgb, finalColor.rgb, finalColor.a) * finalColor.a, 1);
|
||||||
return final;
|
return final;
|
||||||
#else
|
#else
|
||||||
float4 final = sourceColor;
|
float4 final = sourceColor;
|
||||||
@@ -199,7 +189,7 @@ Shader "Hidden/EnviroVolumetricCloudsBlend"
|
|||||||
float sceneDepth = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, UnityStereoTransformScreenSpaceTex(i.uv)));
|
float sceneDepth = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, UnityStereoTransformScreenSpaceTex(i.uv)));
|
||||||
|
|
||||||
if (sceneDepth >= 0.99f)
|
if (sceneDepth >= 0.99f)
|
||||||
final = float4(sourceColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a, 1);
|
final = float4(sourceColor.rgb * saturate(1 - finalColor.a) + lerp(sourceColor.rgb, finalColor.rgb, finalColor.a) * finalColor.a, 1);
|
||||||
|
|
||||||
return final;
|
return final;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ Shader "Hidden/EnviroVolumetricCloudsBlendHDRP"
|
|||||||
|
|
||||||
HLSLPROGRAM
|
HLSLPROGRAM
|
||||||
#pragma target 4.5
|
#pragma target 4.5
|
||||||
#pragma only_renderers d3d11 ps4 xboxone vulkan metal switch
|
|
||||||
#pragma vertex vert
|
#pragma vertex vert
|
||||||
#pragma fragment frag
|
#pragma fragment frag
|
||||||
#pragma multi_compile __ ENVIRO_DEPTH_BLENDING
|
#pragma multi_compile __ ENVIRO_DEPTH_BLENDING
|
||||||
@@ -30,8 +29,7 @@ Shader "Hidden/EnviroVolumetricCloudsBlendHDRP"
|
|||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/RTUpscale.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/RTUpscale.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
||||||
//#include "../Includes/SkyIncludeHLSL.hlsl"
|
#include_with_pragmas "../Includes/FogIncludeHLSL.hlsl"
|
||||||
#include "../Includes/FogIncludeHLSL.hlsl"
|
|
||||||
|
|
||||||
TEXTURE2D_X(_MainTex);
|
TEXTURE2D_X(_MainTex);
|
||||||
TEXTURE2D_X(_DownsampledDepth);
|
TEXTURE2D_X(_DownsampledDepth);
|
||||||
@@ -156,47 +154,38 @@ Shader "Hidden/EnviroVolumetricCloudsBlendHDRP"
|
|||||||
float4 vspos = float4(i.vsray, 1.0, 1.0);
|
float4 vspos = float4(i.vsray, 1.0, 1.0);
|
||||||
|
|
||||||
float4 worldPos = mul(_CamToWorld,vspos);
|
float4 worldPos = mul(_CamToWorld,vspos);
|
||||||
|
|
||||||
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos);
|
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos);
|
||||||
|
|
||||||
float4 sourceColor = SAMPLE_TEXTURE2D_X_LOD(_MainTex,s_trilinear_clamp_sampler, i.uv, 0);
|
float4 sourceColor = SAMPLE_TEXTURE2D_X_LOD(_MainTex,s_trilinear_clamp_sampler, i.uv, 0);
|
||||||
|
float4 cloudsColor = float4(0,0,0,0);
|
||||||
#ifdef ENVIRO_DEPTH_BLENDING
|
#ifdef ENVIRO_DEPTH_BLENDING
|
||||||
float4 cloudsColor = Upsample(i);
|
cloudsColor = Upsample(i);
|
||||||
#else
|
#else
|
||||||
//float3 uv = float3(i.uv * (1/_HandleScales.xy) ,unity_StereoEyeIndex);
|
cloudsColor = SAMPLE_TEXTURE2D_X_LOD(_CloudTex,sampler_CloudTex, i.uv * _HandleScales.xy, 0);
|
||||||
//float4 cloudsColor = _CloudTex.Sample(sampler_CloudTex, uv);
|
|
||||||
float4 cloudsColor = SAMPLE_TEXTURE2D_X_LOD(_CloudTex,sampler_CloudTex, i.uv * _HandleScales.xy, 0);
|
|
||||||
#endif
|
#endif
|
||||||
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2.0f;
|
|
||||||
float3 skyColor = GetSkyColor(viewDir,0.005f);
|
|
||||||
float4 finalColor = float4((cloudsColor.r * sunColor + _AmbientColor) * _EnviroSkyIntensity * GetCurrentExposureMultiplier(), cloudsColor.a);
|
|
||||||
|
|
||||||
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / _AtmosphereColorSaturateDistance));
|
|
||||||
|
|
||||||
//if(_WorldSpaceCameraPos.y <= 2000)
|
|
||||||
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
|
||||||
|
|
||||||
|
float4 finalColor = GetCloudColor(cloudsColor,worldPos);
|
||||||
|
finalColor.rgb *= _EnviroSkyIntensity * GetCurrentExposureMultiplier();
|
||||||
float rawDepth = LOAD_TEXTURE2D_X_LOD(_CameraDepthTexture, i.uv * _ScreenSize.xy * (1/_RTHandleScale.xy), 0);
|
float rawDepth = LOAD_TEXTURE2D_X_LOD(_CameraDepthTexture, i.uv * _ScreenSize.xy * (1/_RTHandleScale.xy), 0);
|
||||||
float sceneDepth = Linear01Depth(rawDepth, _ZBufferParams);
|
float sceneDepth = Linear01Depth(rawDepth, _ZBufferParams);
|
||||||
|
|
||||||
#if ENVIRO_DEPTH_BLENDING
|
#if ENVIRO_DEPTH_BLENDING
|
||||||
float4 final = float4(sourceColor.rgb * (1 - finalColor.a) + finalColor.rgb * finalColor.a, 1);
|
float4 final = float4(sourceColor.rgb * (1 - finalColor.a) + lerp(sourceColor.rgb, finalColor.rgb, finalColor.a) * finalColor.a, 1);
|
||||||
#else
|
#else
|
||||||
float4 final = sourceColor;
|
float4 final = sourceColor;
|
||||||
|
|
||||||
if (sceneDepth == 1.0f)
|
if (sceneDepth == 1.0f)
|
||||||
final = half4(sourceColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a, 1);
|
final = half4(sourceColor.rgb * saturate(1 - finalColor.a) + lerp(sourceColor.rgb, finalColor.rgb, finalColor.a) * finalColor.a, 1);
|
||||||
#endif
|
#endif
|
||||||
// HDRP Fog
|
// HDRP Fog
|
||||||
if (sceneDepth == 1.0f)
|
/*if (sceneDepth == 1.0f)
|
||||||
{
|
{
|
||||||
PositionInputs posInput = GetPositionInput(i.vertex.xy, _ScreenSize.zw, rawDepth, UNITY_MATRIX_I_VP, UNITY_MATRIX_V);
|
PositionInputs posInput = GetPositionInput(i.vertex.xy, _ScreenSize.zw, rawDepth, UNITY_MATRIX_I_VP, UNITY_MATRIX_V);
|
||||||
float3 V = GetSkyViewDirWS(i.uv * _ScreenSize.xy * (1/_RTHandleScale.xy));
|
float3 V = GetSkyViewDirWS(i.uv * _ScreenSize.xy * (1/_RTHandleScale.xy));
|
||||||
posInput.positionWS = GetCurrentViewPosition() - V * _MaxFogDistance;
|
posInput.positionWS = GetCurrentViewPosition() - V * _MaxFogDistance;
|
||||||
EvaluateAtmosphericScattering(posInput, V, color, opacity);
|
EvaluateAtmosphericScattering(posInput, V, color, opacity);
|
||||||
final.rgb = color + (1 - opacity) * final.rgb;
|
final.rgb = color + (1 - opacity) * final.rgb;
|
||||||
}
|
}*/
|
||||||
return final;
|
return final;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ Shader "Hidden/EnviroVolumetricCloudsBlendURP"
|
|||||||
#if defined (ENVIROURP)
|
#if defined (ENVIROURP)
|
||||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
|
#include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
|
||||||
#include "../Includes/FogIncludeHLSL.hlsl"
|
#include_with_pragmas "../Includes/FogIncludeHLSL.hlsl"
|
||||||
|
|
||||||
TEXTURE2D_X(_MainTex);
|
TEXTURE2D_X(_MainTex);
|
||||||
SAMPLER (sampler_MainTex);
|
SAMPLER (sampler_MainTex);
|
||||||
@@ -185,21 +185,15 @@ Shader "Hidden/EnviroVolumetricCloudsBlendURP"
|
|||||||
float4 sourceColor = SAMPLE_TEXTURE2D_X(_MainTex,sampler_MainTex,i.uv);
|
float4 sourceColor = SAMPLE_TEXTURE2D_X(_MainTex,sampler_MainTex,i.uv);
|
||||||
|
|
||||||
float4 cloudsColor = Upsample(i);
|
float4 cloudsColor = Upsample(i);
|
||||||
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2.0f;
|
|
||||||
float3 skyColor = GetSkyColor(viewDir,0.005f);
|
|
||||||
float4 finalColor = float4(cloudsColor.r * sunColor + _AmbientColor, cloudsColor.a);
|
|
||||||
|
|
||||||
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / _AtmosphereColorSaturateDistance));
|
float4 finalColor = GetCloudColor(cloudsColor,worldPos);
|
||||||
|
|
||||||
//if(_WorldSpaceCameraPos.y <= 2000)
|
|
||||||
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
|
||||||
|
|
||||||
#if defined(UNITY_COLORSPACE_GAMMA)
|
#if defined(UNITY_COLORSPACE_GAMMA)
|
||||||
finalColor.rgb = LinearToGammaSpace(finalColor.rgb);
|
finalColor.rgb = LinearToGammaSpace(finalColor.rgb);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENVIRO_DEPTH_BLENDING
|
#if ENVIRO_DEPTH_BLENDING
|
||||||
float4 final = float4(sourceColor.rgb * (1 - finalColor.a) + finalColor.rgb * finalColor.a, 1);
|
float4 final = float4(sourceColor.rgb * (1 - finalColor.a) + lerp(sourceColor.rgb, finalColor.rgb, finalColor.a) * finalColor.a, 1);
|
||||||
return final;
|
return final;
|
||||||
#else
|
#else
|
||||||
float4 final = sourceColor;
|
float4 final = sourceColor;
|
||||||
@@ -207,7 +201,7 @@ Shader "Hidden/EnviroVolumetricCloudsBlendURP"
|
|||||||
float sceneDepth = Linear01Depth(SAMPLE_TEXTURE2D_X(_CameraDepthTexture,sampler_CameraDepthTexture, i.uv).r, _ZBufferParams);
|
float sceneDepth = Linear01Depth(SAMPLE_TEXTURE2D_X(_CameraDepthTexture,sampler_CameraDepthTexture, i.uv).r, _ZBufferParams);
|
||||||
|
|
||||||
if (sceneDepth >= 0.99f)
|
if (sceneDepth >= 0.99f)
|
||||||
final = float4(sourceColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a, 1);
|
final = float4(sourceColor.rgb * saturate(1 - finalColor.a) + lerp(sourceColor.rgb, finalColor.rgb, finalColor.a) * finalColor.a, 1);
|
||||||
|
|
||||||
return final;
|
return final;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -15,12 +15,13 @@ Shader "Hidden/EnviroCloudsRaymarch"
|
|||||||
#pragma vertex vert
|
#pragma vertex vert
|
||||||
#pragma fragment frag
|
#pragma fragment frag
|
||||||
#pragma multi_compile_local _ ENVIRO_DEPTH_BLENDING
|
#pragma multi_compile_local _ ENVIRO_DEPTH_BLENDING
|
||||||
#pragma multi_compile_local _ ENVIRO_DUAL_LAYER
|
|
||||||
#pragma multi_compile_local _ ENVIRO_CLOUD_SHADOWS
|
#pragma multi_compile_local _ ENVIRO_CLOUD_SHADOWS
|
||||||
|
#pragma multi_compile_local _ ENVIRO_LIGHTNING
|
||||||
|
#pragma multi_compile_local _ ENVIRO_VARIABLE_BOTTOM
|
||||||
#pragma multi_compile _ ENVIROURP
|
#pragma multi_compile _ ENVIROURP
|
||||||
#include "UnityCG.cginc"
|
#include "UnityCG.cginc"
|
||||||
#include "../Includes/VolumetricCloudsInclude.cginc"
|
#include_with_pragmas "../Includes/VolumetricCloudsInclude.cginc"
|
||||||
#include "../Includes/VolumetricCloudsTexInclude.cginc"
|
#include_with_pragmas "../Includes/VolumetricCloudsTexInclude.cginc"
|
||||||
|
|
||||||
int _Frame;
|
int _Frame;
|
||||||
uniform float _BlueNoiseIntensity;
|
uniform float _BlueNoiseIntensity;
|
||||||
@@ -52,8 +53,6 @@ Shader "Hidden/EnviroCloudsRaymarch"
|
|||||||
UNITY_INITIALIZE_OUTPUT(v2f, o);
|
UNITY_INITIALIZE_OUTPUT(v2f, o);
|
||||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
//o.eyeIndex = unity_StereoEyeIndex;
|
|
||||||
|
|
||||||
#if defined(ENVIROURP)
|
#if defined(ENVIROURP)
|
||||||
o.position = float4(v.vertex.xyz,1.0);
|
o.position = float4(v.vertex.xyz,1.0);
|
||||||
#if UNITY_UV_STARTS_AT_TOP
|
#if UNITY_UV_STARTS_AT_TOP
|
||||||
@@ -95,124 +94,31 @@ Shader "Hidden/EnviroCloudsRaymarch"
|
|||||||
|
|
||||||
float rayLength = length(ray);
|
float rayLength = length(ray);
|
||||||
|
|
||||||
/*float4 highResDepth = LinearEyeDepth(UNITY_SAMPLE_SCREENSPACE_TEXTURE(_CameraDepthTexture, UnityStereoTransformScreenSpaceTex(i.uv))).xxxx;
|
|
||||||
|
|
||||||
float4 lowResDepth;
|
|
||||||
|
|
||||||
lowResDepth[0] = LinearEyeDepth(UNITY_SAMPLE_SCREENSPACE_TEXTURE(_DownsampledDepth, UnityStereoTransformScreenSpaceTex(i.uv00)));
|
|
||||||
lowResDepth[1] = LinearEyeDepth(UNITY_SAMPLE_SCREENSPACE_TEXTURE(_DownsampledDepth, UnityStereoTransformScreenSpaceTex(i.uv10)));
|
|
||||||
lowResDepth[2] = LinearEyeDepth(UNITY_SAMPLE_SCREENSPACE_TEXTURE(_DownsampledDepth, UnityStereoTransformScreenSpaceTex(i.uv01)));
|
|
||||||
lowResDepth[3] = LinearEyeDepth(UNITY_SAMPLE_SCREENSPACE_TEXTURE(_DownsampledDepth, UnityStereoTransformScreenSpaceTex(i.uv11)));
|
|
||||||
|
|
||||||
float4 depthDiff = abs(lowResDepth - highResDepth);
|
|
||||||
|
|
||||||
float accumDiff = dot(depthDiff, float4(1, 1, 1, 1));
|
|
||||||
|
|
||||||
// [branch]
|
|
||||||
//if (accumDiff < threshold) // small error, not an edge -> use bilinear filter
|
|
||||||
//{
|
|
||||||
// return SampleTexture(loColor,linearSampler,input.uv);
|
|
||||||
//}
|
|
||||||
|
|
||||||
// find nearest sample
|
|
||||||
float minDepthDiff = depthDiff[0];
|
|
||||||
float2 nearestUv = i.uv00;
|
|
||||||
|
|
||||||
if (depthDiff[1] < minDepthDiff)
|
|
||||||
{
|
|
||||||
nearestUv = i.uv10;
|
|
||||||
minDepthDiff = depthDiff[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (depthDiff[2] < minDepthDiff)
|
|
||||||
{
|
|
||||||
nearestUv = i.uv01;
|
|
||||||
minDepthDiff = depthDiff[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (depthDiff[3] < minDepthDiff)
|
|
||||||
{
|
|
||||||
nearestUv = i.uv11;
|
|
||||||
minDepthDiff = depthDiff[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
float sceneDepth = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_CameraDepthTexture, UnityStereoTransformScreenSpaceTex(nearestUv));
|
|
||||||
*/
|
|
||||||
float sceneDepth = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_DownsampledDepth, UnityStereoTransformScreenSpaceTex(i.uv));
|
float sceneDepth = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_DownsampledDepth, UnityStereoTransformScreenSpaceTex(i.uv));
|
||||||
float3 cameraDirection = -1 * transpose(_InverseRotation)[2].xyz;
|
float3 cameraDirection = -1 * transpose(_InverseRotation)[2].xyz;
|
||||||
float fwdFactor = dot(ray, cameraDirection);
|
float fwdFactor = dot(ray, cameraDirection);
|
||||||
|
|
||||||
float raymarchEnd = GetRaymarchEndFromSceneDepth(Linear01Depth(sceneDepth) / fwdFactor, 1000000); //* rayLenght
|
float raymarchEnd = GetRaymarchEndFromSceneDepth(Linear01Depth(sceneDepth) / fwdFactor, 1000000);
|
||||||
|
|
||||||
float offset = tex2D(_BlueNoise, squareUV(i.uv + _Randomness.xy)).x * _BlueNoiseIntensity;
|
float offset = tex2D(_BlueNoise, squareUV(i.uv + _Randomness.xy)).x * _BlueNoiseIntensity;
|
||||||
|
|
||||||
|
|
||||||
float3 pCent = float3(EyePosition.x, -_CloudsParameter.w, EyePosition.z);
|
float3 pCent = float3(EyePosition.x, -_CloudsParameter.w, EyePosition.z);
|
||||||
|
|
||||||
|
float intensity, distance, alpha, shadow = 0.0f;
|
||||||
|
|
||||||
float bIntensity, bDistance, bAlpha, shadow = 0.0f;
|
RaymarchParameters parameters;
|
||||||
float3 wpos;
|
InitRaymarchParameters(parameters);
|
||||||
|
float2 hitDistance = ResolveRay(EyePosition,ray,pCent,raymarchEnd,parameters);
|
||||||
#if ENVIRO_DUAL_LAYER
|
float3 result = Raymarch(EyePosition,ray,hitDistance,pCent,parameters,offset);
|
||||||
|
|
||||||
//Clouds Layer 1
|
|
||||||
RaymarchParameters parametersLayer1;
|
|
||||||
InitRaymarchParametersLayer1(parametersLayer1);
|
|
||||||
float2 hitDistanceLayer1 = ResolveRay(EyePosition,ray,pCent, raymarchEnd, parametersLayer1);
|
|
||||||
float3 layer1Final = Raymarch(EyePosition,ray,hitDistanceLayer1.xy,pCent,parametersLayer1,offset,0);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
#if ENVIRO_CLOUD_SHADOWS
|
||||||
//Clouds Shadows Layer1
|
float3 wpos = CalculateWorldPosition(i.uv,sceneDepth) - _WorldOffset;
|
||||||
wpos = CalculateWorldPosition(i.uv,sceneDepth);
|
shadow = RaymarchShadows(EyePosition,wpos,ray,pCent,parameters,offset,sceneDepth);
|
||||||
wpos -= _WorldOffset;
|
|
||||||
|
|
||||||
float shadowsLayer1 = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer1,offset,sceneDepth,0);
|
|
||||||
#endif
|
#endif
|
||||||
//Clouds Layer 2
|
intensity = result.r;
|
||||||
RaymarchParameters parametersLayer2;
|
distance = result.g;
|
||||||
InitRaymarchParametersLayer2(parametersLayer2);
|
alpha = result.b;
|
||||||
float2 hitDistanceLayer2 = ResolveRay(EyePosition,ray,pCent,raymarchEnd, parametersLayer2);
|
|
||||||
float3 layer2Final = Raymarch(EyePosition,ray,hitDistanceLayer2,pCent,parametersLayer2,offset,1);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Clouds Shadows Layer2
|
|
||||||
|
|
||||||
float shadowsLayer2 = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer2,offset,sceneDepth,1);
|
return float4(max(intensity,0.0),max(distance,1.0f),clamp(shadow,0.0,0.25),saturate(alpha));
|
||||||
#endif
|
|
||||||
if (EyePosition.y < _CloudsParameter2.x)
|
|
||||||
{
|
|
||||||
bIntensity = layer2Final.x * (1-layer1Final.z) + layer1Final.x;
|
|
||||||
bDistance = layer2Final.y * (1-layer1Final.z) + layer1Final.y;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//if(layer2Final.b >= 1.0)
|
|
||||||
// return float4(layer2Final.r,layer2Final.g,1.0,layer2Final.b);
|
|
||||||
|
|
||||||
bIntensity = layer1Final.x * (1-layer2Final.z) + layer2Final.x;
|
|
||||||
bDistance = layer1Final.y * (1-layer2Final.z) + layer2Final.y;
|
|
||||||
}
|
|
||||||
bAlpha = saturate(layer1Final.b + layer2Final.b);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Combine cloud shadows.
|
|
||||||
shadow = shadowsLayer1 + shadowsLayer2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
RaymarchParameters parametersLayer1;
|
|
||||||
InitRaymarchParametersLayer1(parametersLayer1);
|
|
||||||
float2 hitDistanceLayer1 = ResolveRay(EyePosition,ray,pCent, raymarchEnd, parametersLayer1);
|
|
||||||
float3 layer1Final = Raymarch(EyePosition,ray,hitDistanceLayer1,pCent,parametersLayer1,offset,0);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Clouds Shadows
|
|
||||||
wpos = CalculateWorldPosition(i.uv,sceneDepth);
|
|
||||||
wpos -= _WorldOffset;
|
|
||||||
shadow = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer1,offset,sceneDepth,0);
|
|
||||||
#endif
|
|
||||||
bIntensity = layer1Final.r;
|
|
||||||
bDistance = layer1Final.g;
|
|
||||||
bAlpha = layer1Final.b;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return float4(max(bIntensity,0.0),max(bDistance,1.0f),clamp(shadow,0.0,0.25),saturate(bAlpha));
|
|
||||||
}
|
}
|
||||||
ENDCG
|
ENDCG
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,10 @@
|
|||||||
HLSLPROGRAM
|
HLSLPROGRAM
|
||||||
#pragma vertex vert
|
#pragma vertex vert
|
||||||
#pragma fragment frag
|
#pragma fragment frag
|
||||||
#pragma multi_compile _ ENVIRO_DEPTH_BLENDING
|
#pragma multi_compile_local _ ENVIRO_DEPTH_BLENDING
|
||||||
#pragma multi_compile _ ENVIRO_DUAL_LAYER
|
#pragma multi_compile_local _ ENVIRO_CLOUD_SHADOWS
|
||||||
#pragma multi_compile _ ENVIRO_CLOUD_SHADOWS
|
#pragma multi_compile_local _ ENVIRO_LIGHTNING
|
||||||
|
#pragma multi_compile_local _ ENVIRO_VARIABLE_BOTTOM
|
||||||
#pragma multi_compile __ ENVIROHDRP
|
#pragma multi_compile __ ENVIROHDRP
|
||||||
|
|
||||||
#if defined (ENVIROHDRP)
|
#if defined (ENVIROHDRP)
|
||||||
@@ -27,8 +28,8 @@
|
|||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/RTUpscale.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/RTUpscale.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
||||||
#include "../Includes/VolumetricCloudsInclude.cginc"
|
#include_with_pragmas "../Includes/VolumetricCloudsInclude.cginc"
|
||||||
#include "../Includes/VolumetricCloudsTexHDRPInclude.cginc"
|
#include_with_pragmas "../Includes/VolumetricCloudsTexHDRPInclude.cginc"
|
||||||
|
|
||||||
|
|
||||||
int _Frame;
|
int _Frame;
|
||||||
@@ -92,75 +93,23 @@
|
|||||||
|
|
||||||
float offset = tex2D(_BlueNoise, squareUV(i.uv + _Randomness.xy)).x * _BlueNoiseIntensity;
|
float offset = tex2D(_BlueNoise, squareUV(i.uv + _Randomness.xy)).x * _BlueNoiseIntensity;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float3 pCent = float3(EyePosition.x, -_CloudsParameter.w, EyePosition.z);
|
float3 pCent = float3(EyePosition.x, -_CloudsParameter.w, EyePosition.z);
|
||||||
|
|
||||||
|
float intensity, distance, alpha, shadow = 0.0f;
|
||||||
|
|
||||||
float bIntensity, bDistance, bAlpha, shadow = 0.0f;
|
RaymarchParameters parameters;
|
||||||
float3 wpos;
|
InitRaymarchParameters(parameters);
|
||||||
#if ENVIRO_DUAL_LAYER
|
float2 hitDistance = ResolveRay(EyePosition,ray,pCent,raymarchEnd,parameters);
|
||||||
|
float3 result = Raymarch(EyePosition,ray,hitDistance,pCent,parameters,offset);
|
||||||
//Clouds Layer 1
|
|
||||||
RaymarchParameters parametersLayer1;
|
|
||||||
InitRaymarchParametersLayer1(parametersLayer1);
|
|
||||||
float2 hitDistanceLayer1 = ResolveRay(EyePosition,ray,pCent, raymarchEnd, parametersLayer1);
|
|
||||||
float3 layer1Final = Raymarch(EyePosition,ray,hitDistanceLayer1.xy,pCent,parametersLayer1,offset,0);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
#if ENVIRO_CLOUD_SHADOWS
|
||||||
//Clouds Shadows Layer1
|
float3 wpos = CalculateWorldPosition(i.uv,sceneDepth) - _WorldOffset;
|
||||||
wpos = CalculateWorldPosition(i.uv,sceneDepth);
|
shadow = RaymarchShadows(EyePosition,wpos,ray,pCent,parameters,offset,sceneDepth);
|
||||||
wpos -= _WorldOffset;
|
|
||||||
|
|
||||||
float shadowsLayer1 = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer1,offset,sceneDepth,0);
|
|
||||||
#endif
|
#endif
|
||||||
//Clouds Layer 2
|
intensity = result.r;
|
||||||
RaymarchParameters parametersLayer2;
|
distance = result.g;
|
||||||
InitRaymarchParametersLayer2(parametersLayer2);
|
alpha = result.b;
|
||||||
float2 hitDistanceLayer2 = ResolveRay(EyePosition,ray,pCent,raymarchEnd, parametersLayer2);
|
|
||||||
float3 layer2Final = Raymarch(EyePosition,ray,hitDistanceLayer2,pCent,parametersLayer2,offset,1);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Clouds Shadows Layer2
|
|
||||||
|
|
||||||
float shadowsLayer2 = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer2,offset,sceneDepth,1);
|
return float4(max(intensity,0.0),max(distance,1.0f),clamp(shadow,0.0,0.25),saturate(alpha));
|
||||||
#endif
|
|
||||||
if (EyePosition.y < _CloudsParameter2.x)
|
|
||||||
{
|
|
||||||
bIntensity = layer2Final.x * (1-layer1Final.z) + layer1Final.x;
|
|
||||||
bDistance = layer2Final.y * (1-layer1Final.z) + layer1Final.y;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//if(layer2Final.b >= 1.0)
|
|
||||||
// return float4(layer2Final.r,layer2Final.g,1.0,layer2Final.b);
|
|
||||||
|
|
||||||
bIntensity = layer1Final.x * (1-layer2Final.z) + layer2Final.x;
|
|
||||||
bDistance = layer1Final.y * (1-layer2Final.z) + layer2Final.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
bAlpha = saturate(layer1Final.b + layer2Final.b);
|
|
||||||
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Combine cloud shadows.
|
|
||||||
shadow = shadowsLayer1 + shadowsLayer2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
RaymarchParameters parametersLayer1;
|
|
||||||
InitRaymarchParametersLayer1(parametersLayer1);
|
|
||||||
float2 hitDistanceLayer1 = ResolveRay(EyePosition,ray,pCent, raymarchEnd, parametersLayer1);
|
|
||||||
float3 layer1Final = Raymarch(EyePosition,ray,hitDistanceLayer1,pCent,parametersLayer1,offset,0);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Clouds Shadows
|
|
||||||
wpos = CalculateWorldPosition(i.uv,sceneDepth);
|
|
||||||
wpos -= _WorldOffset;
|
|
||||||
shadow = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer1,offset,sceneDepth,0);
|
|
||||||
#endif
|
|
||||||
bIntensity = layer1Final.r;
|
|
||||||
bDistance = layer1Final.g;
|
|
||||||
bAlpha = layer1Final.b;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return float4(max(bIntensity,0.0f),max(bDistance,1.0f),clamp(shadow,0.0,0.25),max(bAlpha,0.0f));
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
struct appdata
|
struct appdata
|
||||||
|
|||||||
@@ -14,16 +14,17 @@ Shader "Hidden/EnviroCloudsRaymarchURP"
|
|||||||
HLSLPROGRAM
|
HLSLPROGRAM
|
||||||
#pragma vertex vert
|
#pragma vertex vert
|
||||||
#pragma fragment frag
|
#pragma fragment frag
|
||||||
#pragma multi_compile _ ENVIRO_DEPTH_BLENDING
|
#pragma multi_compile_local _ ENVIRO_DEPTH_BLENDING
|
||||||
#pragma multi_compile _ ENVIRO_DUAL_LAYER
|
#pragma multi_compile_local _ ENVIRO_CLOUD_SHADOWS
|
||||||
#pragma multi_compile _ ENVIRO_CLOUD_SHADOWS
|
#pragma multi_compile_local _ ENVIRO_LIGHTNING
|
||||||
|
#pragma multi_compile_local _ ENVIRO_VARIABLE_BOTTOM
|
||||||
#pragma multi_compile _ ENVIROURP
|
#pragma multi_compile _ ENVIROURP
|
||||||
|
|
||||||
#if defined (ENVIROURP)
|
#if defined (ENVIROURP)
|
||||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
|
#include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"
|
||||||
#include "../Includes/VolumetricCloudsInclude.cginc"
|
#include_with_pragmas "../Includes/VolumetricCloudsInclude.cginc"
|
||||||
#include "../Includes/VolumetricCloudsTexURPInclude.cginc"
|
#include_with_pragmas "../Includes/VolumetricCloudsTexURPInclude.cginc"
|
||||||
|
|
||||||
|
|
||||||
int _Frame;
|
int _Frame;
|
||||||
@@ -89,75 +90,26 @@ Shader "Hidden/EnviroCloudsRaymarchURP"
|
|||||||
float fwdFactor = dot(ray, cameraDirection);
|
float fwdFactor = dot(ray, cameraDirection);
|
||||||
float raymarchEnd = GetRaymarchEndFromSceneDepth(Linear01Depth(sceneDepth, _ZBufferParams) / fwdFactor, 1000000); //* rayLenght
|
float raymarchEnd = GetRaymarchEndFromSceneDepth(Linear01Depth(sceneDepth, _ZBufferParams) / fwdFactor, 1000000); //* rayLenght
|
||||||
|
|
||||||
//float raymarchEndShadows = GetRaymarchEndFromSceneDepth(Linear01Depth(sceneDepth), 1000);
|
|
||||||
|
|
||||||
float offset = tex2D(_BlueNoise, squareUV(i.uv + _Randomness.xy)).x * _BlueNoiseIntensity;
|
float offset = tex2D(_BlueNoise, squareUV(i.uv + _Randomness.xy)).x * _BlueNoiseIntensity;
|
||||||
|
|
||||||
float3 pCent = float3(EyePosition.x, -_CloudsParameter.w, EyePosition.z);
|
float3 pCent = float3(EyePosition.x, -_CloudsParameter.w, EyePosition.z);
|
||||||
|
|
||||||
|
float intensity, distance, alpha, shadow = 0.0f;
|
||||||
|
|
||||||
float bIntensity, bDistance, bAlpha, shadow = 0.0f;
|
RaymarchParameters parameters;
|
||||||
float3 wpos;
|
InitRaymarchParameters(parameters);
|
||||||
#if ENVIRO_DUAL_LAYER
|
float2 hitDistance = ResolveRay(EyePosition,ray,pCent,raymarchEnd,parameters);
|
||||||
|
float3 result = Raymarch(EyePosition,ray,hitDistance,pCent,parameters,offset);
|
||||||
//Clouds Layer 1
|
|
||||||
RaymarchParameters parametersLayer1;
|
|
||||||
InitRaymarchParametersLayer1(parametersLayer1);
|
|
||||||
float2 hitDistanceLayer1 = ResolveRay(EyePosition,ray,pCent, raymarchEnd, parametersLayer1);
|
|
||||||
float3 layer1Final = Raymarch(EyePosition,ray,hitDistanceLayer1.xy,pCent,parametersLayer1,offset,0);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
#if ENVIRO_CLOUD_SHADOWS
|
||||||
//Clouds Shadows Layer1
|
float3 wpos = CalculateWorldPosition(i.uv,sceneDepth) - _WorldOffset;
|
||||||
wpos = CalculateWorldPosition(i.uv,sceneDepth);
|
shadow = RaymarchShadows(EyePosition,wpos,ray,pCent,parameters,offset,sceneDepth);
|
||||||
wpos -= _WorldOffset;
|
|
||||||
|
|
||||||
float shadowsLayer1 = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer1,offset,sceneDepth,0);
|
|
||||||
#endif
|
#endif
|
||||||
//Clouds Layer 2
|
intensity = result.r;
|
||||||
RaymarchParameters parametersLayer2;
|
distance = result.g;
|
||||||
InitRaymarchParametersLayer2(parametersLayer2);
|
alpha = result.b;
|
||||||
float2 hitDistanceLayer2 = ResolveRay(EyePosition,ray,pCent,raymarchEnd, parametersLayer2);
|
|
||||||
float3 layer2Final = Raymarch(EyePosition,ray,hitDistanceLayer2,pCent,parametersLayer2,offset,1);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Clouds Shadows Layer2
|
|
||||||
|
|
||||||
float shadowsLayer2 = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer2,offset,sceneDepth,1);
|
return float4(max(intensity,0.0),max(distance,1.0f),clamp(shadow,0.0,0.25),saturate(alpha));
|
||||||
#endif
|
|
||||||
if (EyePosition.y < _CloudsParameter2.x)
|
|
||||||
{
|
|
||||||
bIntensity = layer2Final.x * (1-layer1Final.z) + layer1Final.x;
|
|
||||||
bDistance = layer2Final.y * (1-layer1Final.z) + layer1Final.y;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//if(layer2Final.b >= 1.0)
|
|
||||||
// return float4(layer2Final.r,layer2Final.g,1.0,layer2Final.b);
|
|
||||||
|
|
||||||
bIntensity = layer1Final.x * (1-layer2Final.z) + layer2Final.x;
|
|
||||||
bDistance = layer1Final.y * (1-layer2Final.z) + layer2Final.y;
|
|
||||||
}
|
|
||||||
bAlpha = saturate(layer1Final.b + layer2Final.b);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Combine cloud shadows.
|
|
||||||
shadow = shadowsLayer1 + shadowsLayer2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
RaymarchParameters parametersLayer1;
|
|
||||||
InitRaymarchParametersLayer1(parametersLayer1);
|
|
||||||
float2 hitDistanceLayer1 = ResolveRay(EyePosition,ray,pCent, raymarchEnd, parametersLayer1);
|
|
||||||
float3 layer1Final = Raymarch(EyePosition,ray,hitDistanceLayer1,pCent,parametersLayer1,offset,0);
|
|
||||||
#if ENVIRO_CLOUD_SHADOWS
|
|
||||||
//Clouds Shadows
|
|
||||||
wpos = CalculateWorldPosition(i.uv,sceneDepth);
|
|
||||||
wpos -= _WorldOffset;
|
|
||||||
shadow = RaymarchShadows(EyePosition,wpos,ray,pCent,parametersLayer1,offset,sceneDepth,0);
|
|
||||||
#endif
|
|
||||||
bIntensity = layer1Final.r;
|
|
||||||
bDistance = layer1Final.g;
|
|
||||||
bAlpha = layer1Final.b;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return float4(max(bIntensity,0.0),max(bDistance,1.0f),clamp(shadow,0.0,0.25),saturate(bAlpha));
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
struct appdata
|
struct appdata
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
UNITY_DECLARE_SCREENSPACE_TEXTURE(_DownsampledDepth);
|
UNITY_DECLARE_SCREENSPACE_TEXTURE(_DownsampledDepth);
|
||||||
|
|
||||||
float4x4 _PrevVP;
|
float4x4 _PrevVP;
|
||||||
|
float4x4 _PrevVPRight;
|
||||||
float4x4 _CamToWorld;
|
float4x4 _CamToWorld;
|
||||||
//float4x4 _CamProjection;
|
//float4x4 _CamProjection;
|
||||||
|
|
||||||
@@ -84,17 +85,21 @@
|
|||||||
|
|
||||||
float2 PrevUV(float4 wspos, out half outOfBound)
|
float2 PrevUV(float4 wspos, out half outOfBound)
|
||||||
{
|
{
|
||||||
float4x4 prev = mul(unity_CameraProjection,_PrevVP);
|
float4x4 _prev = _PrevVP;
|
||||||
float4 prevUV = mul(prev, wspos);
|
|
||||||
|
|
||||||
prevUV.xy = 0.5 * (prevUV.xy / prevUV.w) + 0.5;
|
if(unity_StereoEyeIndex == 1)
|
||||||
|
_prev = _PrevVPRight;
|
||||||
|
|
||||||
half oobmax = max(0.0 - prevUV.x, 0.0 - prevUV.y);
|
float4 prevClip = mul(_prev, wspos);
|
||||||
half oobmin = max(prevUV.x - 1.0, prevUV.y - 1.0);
|
prevClip.xy /= prevClip.w;
|
||||||
|
prevClip.xy = prevClip.xy * 0.5 + 0.5;
|
||||||
|
|
||||||
|
half oobmax = max(0.0 - prevClip.x, 0.0 - prevClip.y);
|
||||||
|
half oobmin = max(prevClip.x - 1.0, prevClip.y - 1.0);
|
||||||
|
|
||||||
outOfBound = step(0, max(oobmin, oobmax));
|
outOfBound = step(0, max(oobmin, oobmax));
|
||||||
|
|
||||||
return prevUV;
|
return prevClip.xy;
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 ClipAABB(float4 aabbMin, float4 aabbMax, float4 prevSample)
|
float4 ClipAABB(float4 aabbMin, float4 aabbMax, float4 prevSample)
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ Shader "Hidden/EnviroVolumetricCloudsReprojectHDRP"
|
|||||||
#pragma multi_compile _ ENVIRO_DEPTH_BLENDING
|
#pragma multi_compile _ ENVIRO_DEPTH_BLENDING
|
||||||
#pragma multi_compile __ ENVIROHDRP
|
#pragma multi_compile __ ENVIROHDRP
|
||||||
#pragma target 4.5
|
#pragma target 4.5
|
||||||
#pragma only_renderers d3d11 ps4 xboxone vulkan metal switch
|
|
||||||
|
|
||||||
#if defined (ENVIROHDRP)
|
#if defined (ENVIROHDRP)
|
||||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
||||||
@@ -40,6 +39,7 @@ Shader "Hidden/EnviroVolumetricCloudsReprojectHDRP"
|
|||||||
SAMPLER(sampler_DownsampledDepth);
|
SAMPLER(sampler_DownsampledDepth);
|
||||||
|
|
||||||
float4x4 _PrevVP;
|
float4x4 _PrevVP;
|
||||||
|
float4x4 _PrevVPRight;
|
||||||
float4x4 _CamToWorld;
|
float4x4 _CamToWorld;
|
||||||
|
|
||||||
float4 _ProjectionExtents;
|
float4 _ProjectionExtents;
|
||||||
@@ -88,19 +88,24 @@ Shader "Hidden/EnviroVolumetricCloudsReprojectHDRP"
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float2 PrevUV(float4 wspos, out half outOfBound)
|
float2 PrevUV(float4 wspos, out half outOfBound)
|
||||||
{
|
{
|
||||||
float4x4 prev = mul(UNITY_MATRIX_P,_PrevVP);
|
float4x4 _prev = _PrevVP;
|
||||||
float4 prevUV = mul(prev, wspos);
|
|
||||||
|
|
||||||
prevUV.xy = 0.5 * (prevUV.xy / prevUV.w) + 0.5;
|
if(unity_StereoEyeIndex == 1)
|
||||||
prevUV.y = 1 - prevUV.y;
|
_prev = _PrevVPRight;
|
||||||
half oobmax = max(0.0 - prevUV.x, 0.0 - prevUV.y);
|
|
||||||
half oobmin = max(prevUV.x - 1.0, prevUV.y - 1.0);
|
float4 prevClip = mul(_prev, wspos);
|
||||||
|
prevClip.xy /= prevClip.w;
|
||||||
|
prevClip.xy = prevClip.xy * 0.5 + 0.5;
|
||||||
|
|
||||||
|
half oobmax = max(0.0 - prevClip.x, 0.0 - prevClip.y);
|
||||||
|
half oobmin = max(prevClip.x - 1.0, prevClip.y - 1.0);
|
||||||
|
|
||||||
outOfBound = step(0, max(oobmin, oobmax));
|
outOfBound = step(0, max(oobmin, oobmax));
|
||||||
|
|
||||||
return prevUV;
|
return prevClip.xy;
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 ClipAABB(float4 aabbMin, float4 aabbMax, float4 prevSample)
|
float4 ClipAABB(float4 aabbMin, float4 aabbMax, float4 prevSample)
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
SAMPLER (sampler_DownsampledDepth);
|
SAMPLER (sampler_DownsampledDepth);
|
||||||
|
|
||||||
float4x4 _PrevVP;
|
float4x4 _PrevVP;
|
||||||
|
float4x4 _PrevVPRight;
|
||||||
float4x4 _CamToWorld;
|
float4x4 _CamToWorld;
|
||||||
|
|
||||||
float4 _ProjectionExtents;
|
float4 _ProjectionExtents;
|
||||||
@@ -85,18 +86,21 @@
|
|||||||
|
|
||||||
float2 PrevUV(float4 wspos, out half outOfBound)
|
float2 PrevUV(float4 wspos, out half outOfBound)
|
||||||
{
|
{
|
||||||
float4x4 prev = mul(unity_CameraProjection,_PrevVP);
|
float4x4 _prev = _PrevVP;
|
||||||
float4 prevUV = mul(prev, wspos);
|
|
||||||
|
|
||||||
prevUV.xy = 0.5 * (prevUV.xy / prevUV.w) + 0.5;
|
if(unity_StereoEyeIndex == 1)
|
||||||
|
_prev = _PrevVPRight;
|
||||||
|
|
||||||
half oobmax = max(0.0 - prevUV.x, 0.0 - prevUV.y);
|
float4 prevClip = mul(_prev, wspos);
|
||||||
half oobmin = max(prevUV.x - 1.0, prevUV.y - 1.0);
|
prevClip.xy /= prevClip.w;
|
||||||
|
prevClip.xy = prevClip.xy * 0.5 + 0.5;
|
||||||
|
|
||||||
|
half oobmax = max(0.0 - prevClip.x, 0.0 - prevClip.y);
|
||||||
|
half oobmin = max(prevClip.x - 1.0, prevClip.y - 1.0);
|
||||||
|
|
||||||
outOfBound = step(0, max(oobmin, oobmax));
|
outOfBound = step(0, max(oobmin, oobmax));
|
||||||
|
|
||||||
|
return prevClip.xy;
|
||||||
return prevUV;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 ClipAABB(float4 aabbMin, float4 aabbMax, float4 prevSample)
|
float4 ClipAABB(float4 aabbMin, float4 aabbMax, float4 prevSample)
|
||||||
|
|||||||
@@ -8,3 +8,10 @@ ShaderImporter:
|
|||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
assetBundleVariant:
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 236601
|
||||||
|
packageName: Enviro 3 - Sky and Weather
|
||||||
|
packageVersion: 3.3.0
|
||||||
|
assetPath: Assets/Enviro 3 - Sky and Weather/Resources/Shader/Clouds/EnviroVolumetricCloudsReprojectURP.shader
|
||||||
|
uploadId: 812340
|
||||||
|
|||||||
@@ -19,8 +19,6 @@
|
|||||||
#pragma target 3.0
|
#pragma target 3.0
|
||||||
#pragma exclude_renderers gles
|
#pragma exclude_renderers gles
|
||||||
|
|
||||||
#pragma multi_compile_local __ ENVIRO_DUAL_LAYER
|
|
||||||
|
|
||||||
sampler2D _MainTex;
|
sampler2D _MainTex;
|
||||||
|
|
||||||
struct VertexInput
|
struct VertexInput
|
||||||
@@ -46,104 +44,43 @@
|
|||||||
float4x4 world_view_proj;
|
float4x4 world_view_proj;
|
||||||
|
|
||||||
float _CoverageLayer1;
|
float _CoverageLayer1;
|
||||||
float _CoverageLayer2;
|
|
||||||
float _CloudsTypeLayer1;
|
float _CloudsTypeLayer1;
|
||||||
float _CloudsTypeLayer2;
|
|
||||||
|
|
||||||
float _WorleyFreq1Layer1;
|
float _WorleyFreq1Layer1;
|
||||||
float _WorleyFreq1Layer2;
|
|
||||||
float _WorleyFreq2Layer1;
|
float _WorleyFreq2Layer1;
|
||||||
float _WorleyFreq2Layer2;
|
|
||||||
|
|
||||||
float _DilateCoverageLayer1;
|
float _DilateCoverageLayer1;
|
||||||
float _DilateCoverageLayer2;
|
|
||||||
float _DilateTypeLayer1;
|
float _DilateTypeLayer1;
|
||||||
float _DilateTypeLayer2;
|
|
||||||
|
|
||||||
float _CloudsTypeModifierLayer1;
|
float _CloudsTypeModifierLayer1;
|
||||||
float _CloudsTypeModifierLayer2;
|
|
||||||
|
|
||||||
float4 _LocationOffset;
|
float4 _LocationOffset;
|
||||||
|
|
||||||
float3 _WindDirectionLayer1;
|
float3 _WindDirectionLayer1;
|
||||||
float3 _WindDirectionLayer2;
|
|
||||||
|
|
||||||
//float _WindSpeed;
|
|
||||||
|
|
||||||
|
|
||||||
float4 frag(VertexInput input) : SV_Target
|
float4 frag(VertexInput input) : SV_Target
|
||||||
{
|
{
|
||||||
float2 uv = input.uv;
|
float2 uv = input.uv;
|
||||||
|
|
||||||
float2 windOffsetLayer1 = _WindDirectionLayer1.xy;
|
float2 windOffsetLayer1 = _WindDirectionLayer1.xy;
|
||||||
float2 windOffsetLayer2 = _WindDirectionLayer2.xy;
|
|
||||||
|
|
||||||
float2 fillerUV = uv.xy + windOffsetLayer1 + _LocationOffset.xy;
|
//float2 fillerUV = uv.xy + windOffsetLayer1 + _LocationOffset.xy;
|
||||||
float covFiller = worleyFbm2DFiller(fillerUV * 2, 2) * 1.2;
|
//float covFiller = WorleyFBM2D(fillerUV,2,0.75) * 0.8;
|
||||||
|
|
||||||
///////Layer 1
|
|
||||||
//float2 offset_pos_Layer1_1 = windOffsetLayer1 + float2(0.1,0.5) + _LocationOffset.xy;
|
|
||||||
//float2 offset_pos_Layer1_2 = windOffsetLayer1 + float2(0.4,-0.5) + _LocationOffset.xy;
|
|
||||||
//float2 offset_pos_Layer1_3 = windOffsetLayer1 + float2(-0.2,0.9) + _LocationOffset.xy;
|
|
||||||
|
|
||||||
//float2 sampling_pos_Layer1_1 = float2(uv.xy + offset_pos_Layer1_1) * _TilingLayer1;
|
|
||||||
//float2 sampling_pos_Layer1_2 = float2(uv.xy + offset_pos_Layer1_2) * _TilingLayer1;
|
|
||||||
//float2 sampling_pos_Layer1_3 = float2(uv.xy + offset_pos_Layer1_3) * _TilingLayer1;
|
|
||||||
|
|
||||||
//Perlin Noises
|
|
||||||
//float perlin_Layer1_1 = saturate(CalculatePerlinTileing(sampling_pos_Layer1_1.xy,float2(_TilingLayer1, _TilingLayer1)));
|
|
||||||
//float perlin_Layer1_2 = saturate(CalculatePerlinTileing(sampling_pos_Layer1_2.xy,float2(_TilingLayer1, _TilingLayer1)));
|
|
||||||
//float perlin_Layer1_3 = saturate(CalculatePerlinTileing(sampling_pos_Layer1_3.xy,float2(_TilingLayer1, _TilingLayer1)));
|
|
||||||
|
|
||||||
|
int freq1 = _WorleyFreq1Layer1;
|
||||||
|
int freq2 = _WorleyFreq2Layer1;
|
||||||
|
|
||||||
//Worley Noise
|
//Worley Noise
|
||||||
float worley1Layer1 = worley2(windOffsetLayer1 + _LocationOffset.xy + uv.xy * _WorleyFreq1Layer1, 1);
|
float worley1Layer1 = WorleyFBM2D((windOffsetLayer1 + _LocationOffset.xy + uv.xy), freq1, 1.4);
|
||||||
float worley2Layer1 = worley2(windOffsetLayer1 + _LocationOffset.xy + uv.xy * _WorleyFreq2Layer1, 1);
|
float worley2Layer1 = WorleyFBM2D((windOffsetLayer1 + _LocationOffset.xy + uv.xy), freq2, 2.2);
|
||||||
|
|
||||||
//float perlin_Layer1_Combined = saturate(perlin_Layer1_1 + (perlin_Layer1_2 - perlin_Layer1_3) + worleyLayer1);
|
float dilateCoverageLayer1 = lerp(worley1Layer1,worley2Layer1,_DilateCoverageLayer1);
|
||||||
float dilateCoverageLayer1 = dilate_perlin_worley(worley1Layer1,worley2Layer1,_DilateCoverageLayer1);
|
|
||||||
|
|
||||||
//Coverage Layer
|
//Coverage Layer
|
||||||
float coverageLayer1 = saturate(dilateCoverageLayer1 + (covFiller * _CoverageLayer1));
|
float coverageLayer1 = saturate(dilateCoverageLayer1 + ((1-dilateCoverageLayer1) * _CoverageLayer1));
|
||||||
|
float dilateTypeLayer1 = (pow(lerp(worley1Layer1,worley2Layer1,_DilateTypeLayer1),0.5) - 0.1) * 0.65;
|
||||||
float dilateTypeLayer1 = dilate_perlin_worley(worley1Layer1,worley2Layer1,_DilateTypeLayer1);
|
|
||||||
float typeLayer1 = saturate(dilateTypeLayer1 * _CloudsTypeModifierLayer1);
|
float typeLayer1 = saturate(dilateTypeLayer1 * _CloudsTypeModifierLayer1);
|
||||||
///Layer 1 End
|
|
||||||
#ifdef ENVIRO_DUAL_LAYER
|
|
||||||
///////Layer 2
|
|
||||||
//float2 offset_pos_Layer2_1 = float2(0.78,-0.5) + _LocationOffset.zw;
|
|
||||||
//float2 offset_pos_Layer2_2 = float2(0.2,0.9) + _LocationOffset.zw;
|
|
||||||
//float2 offset_pos_Layer2_3 = float2(-0.5,0.14) + _LocationOffset.zw;
|
|
||||||
|
|
||||||
//float2 sampling_pos_Layer2_1 = float2(uv.xy + offset_pos_Layer2_1) * _TilingLayer2;
|
|
||||||
//float2 sampling_pos_Layer2_2 = float2(uv.xy + offset_pos_Layer2_2) * _TilingLayer2;
|
|
||||||
//float2 sampling_pos_Layer2_3 = float2(uv.xy + offset_pos_Layer2_3) * _TilingLayer2;
|
|
||||||
|
|
||||||
//Perlin Noises
|
|
||||||
//float perlin_Layer2_1 = saturate(CalculatePerlinTileing(sampling_pos_Layer2_1.xy,float2(_TilingLayer2, _TilingLayer2)));
|
|
||||||
//float perlin_Layer2_2 = saturate(CalculatePerlinTileing(sampling_pos_Layer2_2.xy,float2(_TilingLayer2, _TilingLayer2)));
|
|
||||||
//float perlin_Layer2_3 = saturate(CalculatePerlinTileing(sampling_pos_Layer2_3.xy,float2(_TilingLayer2, _TilingLayer2)));
|
|
||||||
|
|
||||||
|
|
||||||
//Worley Noise
|
float topClouds = saturate(pow((worley2Layer1) * worley1Layer1,1.5) + pow(worley1Layer1,_CoverageLayer1 * 2));
|
||||||
float worley1Layer2 = worley2(windOffsetLayer2 + _LocationOffset.zw + uv.xy * _WorleyFreq1Layer2, 1);
|
|
||||||
float worley2Layer2 = worley2(windOffsetLayer2 + _LocationOffset.zw + uv.xy * _WorleyFreq2Layer2, 1);
|
|
||||||
|
|
||||||
//float perlin_Layer2_Combined = saturate(perlin_Layer2_1 + (perlin_Layer2_2 - perlin_Layer2_3) + worleyLayer2);
|
|
||||||
float dilateCoverageLayer2 = dilate_perlin_worley(worley1Layer2,worley2Layer2,_DilateCoverageLayer2);
|
|
||||||
|
|
||||||
//Coverage Layer
|
return float4(coverageLayer1,typeLayer1,topClouds,pow(topClouds,0.5));
|
||||||
//float covFiller = worleyFbm2DFiller(uv.xy * 4, 4) * 1.2;
|
|
||||||
float coverageLayer2 = saturate(dilateCoverageLayer2 + (covFiller * _CoverageLayer2));
|
|
||||||
|
|
||||||
float dilateTypeLayer2 = dilate_perlin_worley(worley1Layer2,worley2Layer2,_DilateTypeLayer2);
|
|
||||||
float typeLayer2 = saturate(dilateTypeLayer2 * _CloudsTypeModifierLayer2);
|
|
||||||
///Layer 2 End
|
|
||||||
|
|
||||||
return float4(coverageLayer1,typeLayer1,coverageLayer2,typeLayer2);
|
|
||||||
#else
|
|
||||||
return float4(coverageLayer1,typeLayer1,0.0f,0.0f);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
ENDCG
|
ENDCG
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -376,6 +376,7 @@ Shader "Hidden/EnviroBlur"
|
|||||||
//-----------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------
|
||||||
float4 BilateralUpsample(v2fUpsample input, Texture2D hiDepth, Texture2D loDepth, Texture2D loColor, SamplerState linearSampler, SamplerState pointSampler)
|
float4 BilateralUpsample(v2fUpsample input, Texture2D hiDepth, Texture2D loDepth, Texture2D loColor, SamplerState linearSampler, SamplerState pointSampler)
|
||||||
{
|
{
|
||||||
|
float4 result = float4(0,0,0,0);
|
||||||
const float threshold = UPSAMPLE_DEPTH_THRESHOLD;
|
const float threshold = UPSAMPLE_DEPTH_THRESHOLD;
|
||||||
// float4 highResDepth = LinearEyeDepth(hiDepth.Sample(pointSampler, input.uv)).xxxx;
|
// float4 highResDepth = LinearEyeDepth(hiDepth.Sample(pointSampler, input.uv)).xxxx;
|
||||||
float4 highResDepth = LinearEyeDepth(SampleTexture(hiDepth, pointSampler, input.uv)).xxxx;
|
float4 highResDepth = LinearEyeDepth(SampleTexture(hiDepth, pointSampler, input.uv)).xxxx;
|
||||||
@@ -394,7 +395,7 @@ Shader "Hidden/EnviroBlur"
|
|||||||
[branch]
|
[branch]
|
||||||
if (accumDiff < threshold) // small error, not an edge -> use bilinear filter
|
if (accumDiff < threshold) // small error, not an edge -> use bilinear filter
|
||||||
{
|
{
|
||||||
return SampleTexture(loColor,linearSampler,input.uv);
|
result = SampleTexture(loColor,linearSampler,input.uv);
|
||||||
}
|
}
|
||||||
|
|
||||||
// find nearest sample
|
// find nearest sample
|
||||||
@@ -418,7 +419,9 @@ Shader "Hidden/EnviroBlur"
|
|||||||
nearestUv = input.uv11;
|
nearestUv = input.uv11;
|
||||||
minDepthDiff = depthDiff[3];
|
minDepthDiff = depthDiff[3];
|
||||||
}
|
}
|
||||||
return SampleTexture(loColor,pointSampler,nearestUv);
|
result = SampleTexture(loColor,pointSampler,nearestUv);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ Shader "Hidden/EnviroBlurURP"
|
|||||||
//-----------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------
|
||||||
float4 BilateralUpsample(v2fUpsample input, Texture2DArray hiDepth, Texture2DArray loDepth, Texture2DArray loColor, SamplerState linearSampler, SamplerState pointSampler)
|
float4 BilateralUpsample(v2fUpsample input, Texture2DArray hiDepth, Texture2DArray loDepth, Texture2DArray loColor, SamplerState linearSampler, SamplerState pointSampler)
|
||||||
{
|
{
|
||||||
|
float4 result = float4(0,0,0,0);
|
||||||
const float threshold = UPSAMPLE_DEPTH_THRESHOLD;
|
const float threshold = UPSAMPLE_DEPTH_THRESHOLD;
|
||||||
float4 highResDepth = LinearEyeDepth(SAMPLE_TEXTURE2D_X(hiDepth, pointSampler, input.uv), _ZBufferParams).xxxx;
|
float4 highResDepth = LinearEyeDepth(SAMPLE_TEXTURE2D_X(hiDepth, pointSampler, input.uv), _ZBufferParams).xxxx;
|
||||||
|
|
||||||
@@ -205,7 +206,7 @@ Shader "Hidden/EnviroBlurURP"
|
|||||||
[branch]
|
[branch]
|
||||||
if (accumDiff < threshold) // small error, not an edge -> use bilinear filter
|
if (accumDiff < threshold) // small error, not an edge -> use bilinear filter
|
||||||
{
|
{
|
||||||
return SAMPLE_TEXTURE2D_X(loColor,linearSampler,input.uv);
|
result = SAMPLE_TEXTURE2D_X(loColor,linearSampler,input.uv);
|
||||||
}
|
}
|
||||||
|
|
||||||
// find nearest sample
|
// find nearest sample
|
||||||
@@ -229,7 +230,9 @@ Shader "Hidden/EnviroBlurURP"
|
|||||||
nearestUv = input.uv11;
|
nearestUv = input.uv11;
|
||||||
minDepthDiff = depthDiff[3];
|
minDepthDiff = depthDiff[3];
|
||||||
}
|
}
|
||||||
return SAMPLE_TEXTURE2D_X(loColor,pointSampler,nearestUv);
|
result = SAMPLE_TEXTURE2D_X(loColor,pointSampler,nearestUv);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -15,8 +15,6 @@
|
|||||||
#pragma vertex vert
|
#pragma vertex vert
|
||||||
#pragma fragment frag
|
#pragma fragment frag
|
||||||
#pragma target 4.5
|
#pragma target 4.5
|
||||||
#pragma only_renderers d3d11 ps4 xboxone vulkan metal switch
|
|
||||||
|
|
||||||
#pragma multi_compile __ ENVIROHDRP
|
#pragma multi_compile __ ENVIROHDRP
|
||||||
|
|
||||||
#if defined (ENVIROHDRP)
|
#if defined (ENVIROHDRP)
|
||||||
@@ -27,8 +25,7 @@
|
|||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/RTUpscale.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/RTUpscale.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl"
|
||||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
||||||
//#include "../Includes/SkyIncludeHLSL.hlsl"
|
#include_with_pragmas "../Includes/FogIncludeHLSL.hlsl"
|
||||||
#include "../Includes/FogIncludeHLSL.hlsl"
|
|
||||||
|
|
||||||
struct appdata
|
struct appdata
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,9 +27,14 @@ Shader "Hidden/Volumetrics"
|
|||||||
sampler2D _DitherTexture;
|
sampler2D _DitherTexture;
|
||||||
|
|
||||||
UNITY_DECLARE_SHADOWMAP(_CascadeShadowMapTexture);
|
UNITY_DECLARE_SHADOWMAP(_CascadeShadowMapTexture);
|
||||||
//UNITY_DECLARE_SCREENSPACE_TEXTURE(_CloudsTex);
|
|
||||||
UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);
|
UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);
|
||||||
|
|
||||||
|
/* #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
|
||||||
|
UNITY_DECLARE_TEX2DARRAY(_EnviroCloudsTex);
|
||||||
|
#else
|
||||||
|
sampler2D _EnviroCloudsTex;
|
||||||
|
#endif*/
|
||||||
|
|
||||||
uniform sampler3D _NoiseTexture;
|
uniform sampler3D _NoiseTexture;
|
||||||
|
|
||||||
uniform int _Steps;
|
uniform int _Steps;
|
||||||
@@ -255,19 +260,35 @@ Shader "Hidden/Volumetrics"
|
|||||||
float y = uv.y * height;
|
float y = uv.y * height;
|
||||||
return float2 (x/scale, y/scale);
|
return float2 (x/scale, y/scale);
|
||||||
}
|
}
|
||||||
|
float2 WorldToScreenUV(float3 worldPos)
|
||||||
|
{
|
||||||
|
// Project world position into clip space
|
||||||
|
float4 clipPos = mul(UNITY_MATRIX_VP, float4(worldPos, 1.0));
|
||||||
|
|
||||||
|
// Perspective divide
|
||||||
|
clipPos.xyz /= clipPos.w;
|
||||||
|
|
||||||
|
// Convert from clip space (-1..1) to UV space (0..1)
|
||||||
|
float2 uv = clipPos.xy * 0.5 + 0.5;
|
||||||
|
|
||||||
|
return uv;
|
||||||
|
}
|
||||||
|
|
||||||
float4 RayMarch(float2 uv,float2 screenPos, float3 rayStart, float3 rayDir, float rayLength, float rayLengthLights, float linearDepth)
|
float4 RayMarch(float2 uv,float2 screenPos, float3 rayStart, float3 rayDir, float rayLength, float rayLengthLights, float linearDepth)
|
||||||
{
|
{
|
||||||
float2 interleavedPos = (fmod(floor(screenPos.xy), 8.0)) ;
|
if (rayLength <= 0.01 || !all(isfinite(rayDir)))
|
||||||
|
return float4(0, 0, 0, 0);
|
||||||
|
|
||||||
|
float2 interleavedPos = fmod(floor((screenPos.xy)), 8.0);
|
||||||
|
interleavedPos = clamp(interleavedPos, 0.0, 7.999);
|
||||||
|
|
||||||
#if UNITY_SINGLE_PASS_STEREO
|
#if UNITY_SINGLE_PASS_STEREO
|
||||||
float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex];
|
float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex];
|
||||||
interleavedPos = (interleavedPos - scaleOffset.zw) / scaleOffset.xy;
|
interleavedPos = (interleavedPos - scaleOffset.zw) / scaleOffset.xy;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float offset = tex2D(_DitherTexture, interleavedPos / 8.0 + float2(0.5 / 8.0, 0.5 / 8.0)).w ; //+ _Randomness.xy
|
float4 ditherUV = saturate(float4(interleavedPos / 8.0 + float2(0.5 / 8.0, 0.5 / 8.0),0,0));
|
||||||
|
float offset = tex2Dlod(_DitherTexture, ditherUV).w; //+ _Randomness.xy
|
||||||
//float offset = tex2D(_DitherTexture, squareUV(uv)).r;
|
|
||||||
|
|
||||||
int stepCount = _Steps;
|
int stepCount = _Steps;
|
||||||
|
|
||||||
@@ -296,11 +317,10 @@ Shader "Hidden/Volumetrics"
|
|||||||
for (int i = 0; i < stepCount; i++)
|
for (int i = 0; i < stepCount; i++)
|
||||||
{
|
{
|
||||||
float density = GetDensity(currentPosition, density, linearDepth, rayDir);
|
float density = GetDensity(currentPosition, density, linearDepth, rayDir);
|
||||||
float atten = DirectionalLight(currentPositionDithered) * 0.1;
|
float2 shadowUV = WorldToScreenUV(currentPositionDithered);
|
||||||
|
//float cloudsShadows = pow(UNITY_SAMPLE_SCREENSPACE_TEXTURE(_EnviroCloudsTex, shadowUV).b,0.25);
|
||||||
|
|
||||||
//Cloud Shadows
|
float atten = DirectionalLight(currentPositionDithered) * 0.1 ;//* (1-cloudsShadows);
|
||||||
//float cloudShadows = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_CloudsTex,uv).b;
|
|
||||||
//atten *= (1-cloudShadows);
|
|
||||||
|
|
||||||
float scattering = _VolumetricLight.x * density;
|
float scattering = _VolumetricLight.x * density;
|
||||||
extinction += _VolumetricLight.y * density;
|
extinction += _VolumetricLight.y * density;
|
||||||
@@ -324,6 +344,7 @@ Shader "Hidden/Volumetrics"
|
|||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float4 frag (v2f i) : SV_Target
|
float4 frag (v2f i) : SV_Target
|
||||||
{
|
{
|
||||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
@@ -365,6 +386,8 @@ Shader "Hidden/Volumetrics"
|
|||||||
float rayLengthLights = min(rayLength, _MaxRayLengthLights);
|
float rayLengthLights = min(rayLength, _MaxRayLengthLights);
|
||||||
rayLength = min(rayLength, _MaxRayLength);
|
rayLength = min(rayLength, _MaxRayLength);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float4 color = RayMarch(uv, i.position.xy, rayStart, rayDir, rayLength, rayLengthLights, linearDepth);
|
float4 color = RayMarch(uv, i.position.xy, rayStart, rayDir, rayLength, rayLengthLights, linearDepth);
|
||||||
|
|
||||||
return color;
|
return color;
|
||||||
|
|||||||
@@ -167,8 +167,8 @@ Shader "Hidden/VolumetricsURP"
|
|||||||
|
|
||||||
atten = inside ? shadows : 1.0f;
|
atten = inside ? shadows : 1.0f;
|
||||||
|
|
||||||
if(shadows > 0.0f)
|
// if(shadows > 0.0f)
|
||||||
atten = 1.0f;
|
// atten = 1.0f;
|
||||||
|
|
||||||
return atten;
|
return atten;
|
||||||
}
|
}
|
||||||
@@ -252,14 +252,20 @@ Shader "Hidden/VolumetricsURP"
|
|||||||
|
|
||||||
float4 RayMarch(float2 uv,float2 screenPos, float3 rayStart, float3 rayDir, float rayLength, float rayLengthLights, float linearDepth)
|
float4 RayMarch(float2 uv,float2 screenPos, float3 rayStart, float3 rayDir, float rayLength, float rayLengthLights, float linearDepth)
|
||||||
{
|
{
|
||||||
float2 interleavedPos = (fmod(floor(screenPos.xy), 8.0)) ;
|
|
||||||
|
if (rayLength <= 0.01 || !all(isfinite(rayDir)))
|
||||||
|
return float4(0, 0, 0, 0);
|
||||||
|
|
||||||
|
float2 interleavedPos = fmod(floor((screenPos.xy)), 8.0);
|
||||||
|
interleavedPos = clamp(interleavedPos, 0.0, 7.999);
|
||||||
|
|
||||||
#if UNITY_SINGLE_PASS_STEREO
|
#if UNITY_SINGLE_PASS_STEREO
|
||||||
float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex];
|
float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex];
|
||||||
interleavedPos = (interleavedPos - scaleOffset.zw) / scaleOffset.xy;
|
interleavedPos = (interleavedPos - scaleOffset.zw) / scaleOffset.xy;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float offset = tex2D(_DitherTexture, interleavedPos / 8.0 + float2(0.5 / 8.0, 0.5 / 8.0)).w; //+ _Randomness.xy
|
float4 ditherUV = saturate(float4(interleavedPos / 8.0 + float2(0.5 / 8.0, 0.5 / 8.0),0,0));
|
||||||
|
float offset = tex2Dlod(_DitherTexture, ditherUV).w; //+ _Randomness.xy
|
||||||
|
|
||||||
int stepCount = _Steps;
|
int stepCount = _Steps;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#include_with_pragmas "FogInclude.cginc"
|
||||||
|
|
||||||
|
float3 ApplyFog(float3 sceneColor, float2 uv, float3 wPos, float linearDepth)
|
||||||
|
{
|
||||||
|
return ApplyFogAndVolumetricLights(sceneColor,uv,wPos,linearDepth);
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7a1642594534635429ca94e74de65d26
|
||||||
|
timeCreated: 1452690568
|
||||||
|
licenseType: Store
|
||||||
|
ShaderImporter:
|
||||||
|
defaultTextures: []
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#include_with_pragmas "FogIncludeHLSL.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUtils.hlsl"
|
||||||
|
float _EnviroSkyIntensity;
|
||||||
|
|
||||||
|
float3 ApplyFog(float3 sceneColor, float2 uv, float3 wPos, float linearDepth)
|
||||||
|
{
|
||||||
|
float4 fog = GetExponentialHeightFog(wPos,linearDepth);
|
||||||
|
fog.rgb *= _EnviroSkyIntensity * GetCurrentExposureMultiplier();
|
||||||
|
return ApplyVolumetricLights(fog,sceneColor,uv);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c3082087955cba844a717ad38fde3a0d
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#include_with_pragmas "FogIncludeHLSL.hlsl"
|
||||||
|
|
||||||
|
float3 ApplyFog(float3 sceneColor, float2 uv, float3 wPos, float linearDepth)
|
||||||
|
{
|
||||||
|
return ApplyFogAndVolumetricLights(sceneColor,uv,wPos,linearDepth);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 65b7a748fa7b55b48b3001df25bcf1da
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,9 +1,17 @@
|
|||||||
#include "SkyInclude.cginc"
|
#include "SkyInclude.cginc"
|
||||||
#include "VolumetricCloudsBlendInclude.cginc"
|
#include "VolumetricCloudsBlendInclude.cginc"
|
||||||
|
|
||||||
|
#ifndef ENVIRO_VOLUMELIGHT_KEYWORD
|
||||||
|
#define ENVIRO_VOLUMELIGHT_KEYWORD
|
||||||
#pragma multi_compile __ ENVIRO_VOLUMELIGHT
|
#pragma multi_compile __ ENVIRO_VOLUMELIGHT
|
||||||
#pragma multi_compile __ ENVIRO_SIMPLESKY
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENVIRO_SIMPLEFOG_KEYWORD
|
||||||
|
#define ENVIRO_SIMPLEFOG_KEYWORD
|
||||||
#pragma multi_compile __ ENVIRO_SIMPLEFOG
|
#pragma multi_compile __ ENVIRO_SIMPLEFOG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
|
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
|
||||||
UNITY_DECLARE_TEX2DARRAY(_EnviroVolumetricFogTex);
|
UNITY_DECLARE_TEX2DARRAY(_EnviroVolumetricFogTex);
|
||||||
@@ -140,11 +148,6 @@ float4 GetExponentialHeightFog(float3 wPos, float linearDepth)
|
|||||||
|
|
||||||
float fogAmount = 0;
|
float fogAmount = 0;
|
||||||
|
|
||||||
float CameraToReceiverLengthSqr = dot(CameraToReceiver, CameraToReceiver);
|
|
||||||
float CameraToReceiverLengthInv = rsqrt(CameraToReceiverLengthSqr);
|
|
||||||
float CameraToReceiverLength = CameraToReceiverLengthSqr * CameraToReceiverLengthInv;
|
|
||||||
|
|
||||||
float RayLength = CameraToReceiverLength;
|
|
||||||
float RayDirectionY = CameraToReceiverHeight;
|
float RayDirectionY = CameraToReceiverHeight;
|
||||||
|
|
||||||
float Exponent = _EnviroFogParameters.y * (camHeightLimiter - _EnviroFogParameters.w);
|
float Exponent = _EnviroFogParameters.y * (camHeightLimiter - _EnviroFogParameters.w);
|
||||||
@@ -153,32 +156,32 @@ float4 GetExponentialHeightFog(float3 wPos, float linearDepth)
|
|||||||
float RayOriginTermsSecond = _EnviroFogParameters2.z * exp2(-ExponentSecond);
|
float RayOriginTermsSecond = _EnviroFogParameters2.z * exp2(-ExponentSecond);
|
||||||
|
|
||||||
#if ENVIRO_SIMPLEFOG
|
#if ENVIRO_SIMPLEFOG
|
||||||
fogAmount = CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) * RayLength;
|
fogAmount = CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) * viewLength;
|
||||||
#else
|
#else
|
||||||
fogAmount = (CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) + CalculateLineIntegral(_EnviroFogParameters2.y, RayDirectionY, RayOriginTermsSecond)) * RayLength;
|
fogAmount = (CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) + CalculateLineIntegral(_EnviroFogParameters2.y, RayDirectionY, RayOriginTermsSecond)) * viewLength;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Start Distance
|
//Start Distance
|
||||||
if(length(CameraToReceiver) <= _EnviroFogParameters3.y)
|
if(viewLength <= _EnviroFogParameters3.y)
|
||||||
{
|
{
|
||||||
float fallOff = ClampedInverseLerp(0.0f,_EnviroFogParameters3.y, length(CameraToReceiver));
|
float fallOff = ClampedInverseLerp(0.0f,_EnviroFogParameters3.y, viewLength);
|
||||||
fogAmount = fogAmount * pow(fallOff,6);
|
fogAmount = fogAmount * pow(fallOff,6);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Fog Zones
|
//Fog Zones
|
||||||
|
fogAmount = clamp(fogAmount,0,10);
|
||||||
#if defined(SHADER_API_D3D11) || defined(SHADER_API_METAL) || defined(SHADER_API_VULKAN)
|
#if defined(SHADER_API_D3D11) || defined(SHADER_API_METAL) || defined(SHADER_API_VULKAN)
|
||||||
FogZones(wPos,fogAmount);
|
FogZones(wPos,fogAmount);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float fogfactor = max(exp2(-fogAmount), MinFogOpacity);
|
float fogfactor = max(exp2(-fogAmount), MinFogOpacity);
|
||||||
|
float scatteringFactor = saturate(linearDepth + _EnviroFogParameters3.z);
|
||||||
|
|
||||||
// Color
|
// Color
|
||||||
#if ENVIRO_SIMPLESKY
|
#if ENVIRO_SIMPLESKY
|
||||||
float4 sky = GetSkyColorSimple(viewDirection,0.005f);
|
float4 sky = GetSkyColorSimple(viewDirection,0.005f,scatteringFactor);
|
||||||
#else
|
#else
|
||||||
float4 sky = GetSkyColor(viewDirection,0.005f);
|
float4 sky = GetSkyColor(viewDirection,0.005f,scatteringFactor);
|
||||||
#endif
|
#endif
|
||||||
float3 inscatterColor = lerp(_EnviroFogColor.rgb,sky.rgb,_EnviroFogParameters3.w);
|
float3 inscatterColor = lerp(_EnviroFogColor.rgb,sky.rgb,_EnviroFogParameters3.w);
|
||||||
float3 fogColor = inscatterColor * saturate(1 - fogfactor);
|
float3 fogColor = inscatterColor * saturate(1 - fogfactor);
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
#include "SkyIncludeHLSL.hlsl"
|
#include "SkyIncludeHLSL.hlsl"
|
||||||
#include "VolumetricCloudsBlendIncludeHLSL.hlsl"
|
#include "VolumetricCloudsBlendIncludeHLSL.hlsl"
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ENVIRO_VOLUMELIGHT_KEYWORD
|
||||||
|
#define ENVIRO_VOLUMELIGHT_KEYWORD
|
||||||
#pragma multi_compile __ ENVIRO_VOLUMELIGHT
|
#pragma multi_compile __ ENVIRO_VOLUMELIGHT
|
||||||
#pragma multi_compile __ ENVIRO_SIMPLESKY
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENVIRO_SIMPLEFOG_KEYWORD
|
||||||
|
#define ENVIRO_SIMPLEFOG_KEYWORD
|
||||||
#pragma multi_compile __ ENVIRO_SIMPLEFOG
|
#pragma multi_compile __ ENVIRO_SIMPLEFOG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
TEXTURE2D_X(_EnviroVolumetricFogTex);
|
TEXTURE2D_X(_EnviroVolumetricFogTex);
|
||||||
SAMPLER(sampler_EnviroVolumetricFogTex);
|
SAMPLER(sampler_EnviroVolumetricFogTex);
|
||||||
@@ -135,12 +143,6 @@ float4 GetExponentialHeightFog(float3 wPos, float linearDepth)
|
|||||||
viewDirection /= viewLength;
|
viewDirection /= viewLength;
|
||||||
|
|
||||||
float fogAmount = 0;
|
float fogAmount = 0;
|
||||||
|
|
||||||
float CameraToReceiverLengthSqr = dot(CameraToReceiver, CameraToReceiver);
|
|
||||||
float CameraToReceiverLengthInv = rsqrt(CameraToReceiverLengthSqr);
|
|
||||||
float CameraToReceiverLength = CameraToReceiverLengthSqr * CameraToReceiverLengthInv;
|
|
||||||
|
|
||||||
float RayLength = CameraToReceiverLength;
|
|
||||||
float RayDirectionY = CameraToReceiverHeight;
|
float RayDirectionY = CameraToReceiverHeight;
|
||||||
|
|
||||||
float Exponent = _EnviroFogParameters.y * (camHeightLimiter - _EnviroFogParameters.w);
|
float Exponent = _EnviroFogParameters.y * (camHeightLimiter - _EnviroFogParameters.w);
|
||||||
@@ -149,30 +151,32 @@ float4 GetExponentialHeightFog(float3 wPos, float linearDepth)
|
|||||||
float RayOriginTermsSecond = _EnviroFogParameters2.z * exp2(-ExponentSecond);
|
float RayOriginTermsSecond = _EnviroFogParameters2.z * exp2(-ExponentSecond);
|
||||||
|
|
||||||
#if ENVIRO_SIMPLEFOG
|
#if ENVIRO_SIMPLEFOG
|
||||||
fogAmount = CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) * RayLength;
|
fogAmount = CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) * viewLength;
|
||||||
#else
|
#else
|
||||||
fogAmount = (CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) + CalculateLineIntegral(_EnviroFogParameters2.y, RayDirectionY, RayOriginTermsSecond)) * RayLength;
|
fogAmount = (CalculateLineIntegral(_EnviroFogParameters.y, RayDirectionY, RayOriginTerms) + CalculateLineIntegral(_EnviroFogParameters2.y, RayDirectionY, RayOriginTermsSecond)) * viewLength;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Start Distance
|
//Start Distance
|
||||||
if(length(CameraToReceiver) <= _EnviroFogParameters3.y)
|
if(viewLength <= _EnviroFogParameters3.y)
|
||||||
{
|
{
|
||||||
float fallOff = ClampedInverseLerp(0.0f,_EnviroFogParameters3.y, length(CameraToReceiver));
|
float fallOff = ClampedInverseLerp(0.0f,_EnviroFogParameters3.y, viewLength);
|
||||||
fogAmount = fogAmount * pow(fallOff,6);
|
fogAmount = fogAmount * pow(fallOff,6);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Fog Zones
|
//Fog Zones
|
||||||
|
fogAmount = clamp(fogAmount,0,10);
|
||||||
#if defined(SHADER_API_D3D11) || defined(SHADER_API_METAL) || defined(SHADER_API_VULKAN)
|
#if defined(SHADER_API_D3D11) || defined(SHADER_API_METAL) || defined(SHADER_API_VULKAN)
|
||||||
FogZones(wPos,fogAmount);
|
FogZones(wPos,fogAmount);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float fogfactor = max(exp2(-fogAmount), MinFogOpacity);
|
float fogfactor = max(exp2(-fogAmount), MinFogOpacity);
|
||||||
|
float scatteringFactor = saturate(linearDepth + _EnviroFogParameters3.z);
|
||||||
|
|
||||||
// Color
|
// Color
|
||||||
#if ENVIRO_SIMPLESKY
|
#if ENVIRO_SIMPLESKY
|
||||||
float4 sky = GetSkyColorSimple(viewDirection,0.005f);
|
float4 sky = GetSkyColorSimple(viewDirection,0.005f,scatteringFactor);
|
||||||
#else
|
#else
|
||||||
float4 sky = GetSkyColor(viewDirection,0.005f);
|
float4 sky = GetSkyColor(viewDirection,0.005f,scatteringFactor);
|
||||||
#endif
|
#endif
|
||||||
float3 inscatterColor = lerp(_EnviroFogColor.rgb,sky.rgb,_EnviroFogParameters3.w);
|
float3 inscatterColor = lerp(_EnviroFogColor.rgb,sky.rgb,_EnviroFogParameters3.w);
|
||||||
float3 fogColor = inscatterColor * saturate(1 - fogfactor);
|
float3 fogColor = inscatterColor * saturate(1 - fogfactor);
|
||||||
|
|||||||
@@ -1,293 +1,151 @@
|
|||||||
float3 mod(float3 x, float3 y)
|
///////////PERLIN NOISE////////////////
|
||||||
|
//////// NOT USED ANYMORE ////////////
|
||||||
|
|
||||||
|
// Hash to get pseudo-random gradient direction
|
||||||
|
float2 hash2(float2 p)
|
||||||
{
|
{
|
||||||
return x - y * floor(x / y);
|
// A simple 2D hash
|
||||||
|
p = frac(p * float2(127.1, 311.7));
|
||||||
|
p += dot(p, p + 74.7);
|
||||||
|
return normalize(frac(float2(p.x * p.y, p.x + p.y)) * 2.0 - 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 mod(float4 x, float4 y)
|
// Quintic fade curve for smooth interpolation
|
||||||
|
float fade(float t)
|
||||||
{
|
{
|
||||||
return x - y * floor(x / y);
|
|
||||||
}
|
|
||||||
|
|
||||||
float3 mod289(float3 x)
|
|
||||||
{
|
|
||||||
return x - floor(x / 289.0) * 289.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float4 mod289(float4 x)
|
|
||||||
{
|
|
||||||
return x - floor(x * (1.0 / 289.0)) * 289.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float4 permute(float4 x)
|
|
||||||
{
|
|
||||||
return mod289(((x*34.0) + 1.0)*x);
|
|
||||||
}
|
|
||||||
|
|
||||||
float3 fade(float3 t) {
|
|
||||||
return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);
|
return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 taylorInvSqrt(float4 r)
|
float penoise(float2 uv, float scale)
|
||||||
{
|
{
|
||||||
return 1.79284291400159 - 0.85373472095314 * r;
|
// Scale and wrap UVs to create tileable domain
|
||||||
|
float2 p = uv * scale;
|
||||||
|
|
||||||
|
// Integer cell coordinates
|
||||||
|
float2 i0 = floor(p);
|
||||||
|
float2 f = frac(p);
|
||||||
|
|
||||||
|
// Wrap to ensure seamless tiling
|
||||||
|
float2 i1 = fmod(i0 + 1.0, scale);
|
||||||
|
|
||||||
|
// Gradient vectors for the four cell corners
|
||||||
|
float2 g00 = hash2(fmod(i0, scale));
|
||||||
|
float2 g10 = hash2(float2(i1.x, i0.y));
|
||||||
|
float2 g01 = hash2(float2(i0.x, i1.y));
|
||||||
|
float2 g11 = hash2(i1);
|
||||||
|
|
||||||
|
// Distance vectors to corners
|
||||||
|
float2 d00 = f - float2(0.0, 0.0);
|
||||||
|
float2 d10 = f - float2(1.0, 0.0);
|
||||||
|
float2 d01 = f - float2(0.0, 1.0);
|
||||||
|
float2 d11 = f - float2(1.0, 1.0);
|
||||||
|
|
||||||
|
// Dot products
|
||||||
|
float n00 = dot(g00, d00);
|
||||||
|
float n10 = dot(g10, d10);
|
||||||
|
float n01 = dot(g01, d01);
|
||||||
|
float n11 = dot(g11, d11);
|
||||||
|
|
||||||
|
// Smooth interpolation
|
||||||
|
float2 u = fade(f);
|
||||||
|
float nx0 = lerp(n00, n10, u.x);
|
||||||
|
float nx1 = lerp(n01, n11, u.x);
|
||||||
|
float nxy = lerp(nx0, nx1, u.y);
|
||||||
|
|
||||||
|
// Normalize to [0,1]
|
||||||
|
return 0.5 + 0.5 * nxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
float2 fade(float2 t) {
|
float perlinFBM(float2 uv, float baseScale, int octaves, float gain, float lacun)
|
||||||
return t*t*t*(t*(t*6.0 - 15.0) + 10.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Classic Perlin noise, periodic variant
|
|
||||||
float penoise(float2 P, float2 rep)
|
|
||||||
{
|
{
|
||||||
float4 Pi = floor(P.xyxy) + float4(0.0, 0.0, 1.0, 1.0);
|
float total = 0.0;
|
||||||
float4 Pf = frac(P.xyxy) - float4(0.0, 0.0, 1.0, 1.0);
|
float amp = 0.5; // starting amplitude
|
||||||
Pi = mod(Pi, rep.xyxy); // To create noise with explicit period
|
float freq = 1.0; // starting frequency
|
||||||
Pi = mod289(Pi); // To avoid truncation effects in permutation
|
float weight = 0.0;
|
||||||
float4 ix = Pi.xzxz;
|
|
||||||
float4 iy = Pi.yyww;
|
|
||||||
float4 fx = Pf.xzxz;
|
|
||||||
float4 fy = Pf.yyww;
|
|
||||||
|
|
||||||
float4 i = permute(permute(ix) + iy);
|
// Always wrap UV first to avoid precision drift
|
||||||
|
uv = frac(uv);
|
||||||
|
|
||||||
float4 gx = frac(i * (1.0 / 41.0)) * 2.0 - 1.0;
|
[unroll]
|
||||||
float4 gy = abs(gx) - 0.5;
|
for (int i = 0; i < octaves; i++)
|
||||||
float4 tx = floor(gx + 0.5);
|
|
||||||
gx = gx - tx;
|
|
||||||
|
|
||||||
float2 g00 = float2(gx.x, gy.x);
|
|
||||||
float2 g10 = float2(gx.y, gy.y);
|
|
||||||
float2 g01 = float2(gx.z, gy.z);
|
|
||||||
float2 g11 = float2(gx.w, gy.w);
|
|
||||||
|
|
||||||
float4 norm = taylorInvSqrt(float4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11)));
|
|
||||||
g00 *= norm.x;
|
|
||||||
g01 *= norm.y;
|
|
||||||
g10 *= norm.z;
|
|
||||||
g11 *= norm.w;
|
|
||||||
|
|
||||||
float n00 = dot(g00, float2(fx.x, fy.x));
|
|
||||||
float n10 = dot(g10, float2(fx.y, fy.y));
|
|
||||||
float n01 = dot(g01, float2(fx.z, fy.z));
|
|
||||||
float n11 = dot(g11, float2(fx.w, fy.w));
|
|
||||||
|
|
||||||
float2 fade_xy = fade(Pf.xy);
|
|
||||||
float2 n_x = lerp(float2(n00, n01), float2(n10, n11), fade_xy.x);
|
|
||||||
float n_xy = lerp(n_x.x, n_x.y, fade_xy.y);
|
|
||||||
return 2.3 * n_xy;
|
|
||||||
}
|
|
||||||
|
|
||||||
float CalculatePerlinTileing5(float2 p, float2 rep)
|
|
||||||
{
|
{
|
||||||
|
// Sample tileable perlin at increasing frequency
|
||||||
|
// Keep tiling domain proportional to frequency for seamless wrap
|
||||||
|
total += amp * penoise(uv * freq, baseScale * freq);
|
||||||
|
weight += amp;
|
||||||
|
|
||||||
float2 xy = p;
|
freq *= lacun; // e.g. 2.0
|
||||||
float amplitude_factor = 0.5;
|
amp *= gain; // e.g. 0.5
|
||||||
float frequency_factor = 1.0;
|
|
||||||
|
|
||||||
float a = 1.0;
|
|
||||||
float perlin_value = 0.0;
|
|
||||||
perlin_value += a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 1);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 1);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 1);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 1);
|
|
||||||
perlin_value += a * penoise(xy, rep).r;
|
|
||||||
|
|
||||||
return perlin_value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float CalculatePerlinTileing5OLD(float2 p, float2 rep)
|
// Normalize to 0..1
|
||||||
|
return saturate(total / weight);
|
||||||
|
}
|
||||||
|
//////////////////////////////////////////
|
||||||
|
///////////WORLEY NOISE///////////////////
|
||||||
|
//////////////////////////////////////////
|
||||||
|
|
||||||
|
// Hash to generate a repeatable 0..1 value for integer coords
|
||||||
|
float hash21_stable(int2 p, int period)
|
||||||
{
|
{
|
||||||
|
uint2 pu = (uint2)(p + period * 4096); // shift into positive domain
|
||||||
|
pu = pu % (uint)period;
|
||||||
|
|
||||||
float2 xy = p;
|
uint n = pu.x * 73856093u ^ pu.y * 19349663u;
|
||||||
float amplitude_factor = 0.5;
|
return frac((float)n * 0.000000119f);
|
||||||
float frequency_factor = 2.0;
|
|
||||||
|
|
||||||
float a = 1.0;
|
|
||||||
float perlin_value = 0.0;
|
|
||||||
perlin_value += a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 0.12);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 0.03);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 0.01);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 0.01);
|
|
||||||
perlin_value += a * penoise(xy, rep).r;
|
|
||||||
|
|
||||||
return perlin_value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float CalculatePerlinTileing(float2 p, float2 rep)
|
float2 hash22_stable(int2 p, int period)
|
||||||
{
|
{
|
||||||
|
float h1 = hash21_stable(p, period);
|
||||||
float2 xy = p;
|
float h2 = hash21_stable(p + int2(17, 37), period);
|
||||||
float amplitude_factor = 0.5;
|
return float2(h1, h2);
|
||||||
float frequency_factor = 1.0;
|
|
||||||
|
|
||||||
float a = 1.0;
|
|
||||||
float perlin_value = 0.0;
|
|
||||||
perlin_value += a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 1);
|
|
||||||
perlin_value += a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 1);
|
|
||||||
perlin_value += a * penoise(xy, rep).r; a *= amplitude_factor; xy *= (frequency_factor + 2);
|
|
||||||
perlin_value -= a * penoise(xy, rep).r;
|
|
||||||
|
|
||||||
return perlin_value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////WORLEY
|
float Worley2D_Stable(float2 uv, int tileCount)
|
||||||
float set_range(float value, float low, float high)
|
|
||||||
{
|
{
|
||||||
return saturate((value - low)/(high - low));
|
// Tile domain
|
||||||
}
|
float2 p = uv * tileCount;
|
||||||
|
int2 baseCell = int2(floor(p));
|
||||||
|
float2 f = frac(p);
|
||||||
|
|
||||||
float dilate_perlin_worley(float p, float w, float x)
|
float minDist = 1.0;
|
||||||
|
|
||||||
|
// Search 3x3 neighborhood
|
||||||
|
[unroll]
|
||||||
|
for (int y = -1; y <= 1; y++)
|
||||||
{
|
{
|
||||||
float curve = 0.75;
|
[unroll]
|
||||||
|
for (int x = -1; x <= 1; x++)
|
||||||
if (x < 0.5)
|
|
||||||
{
|
{
|
||||||
x = x / 0.5;
|
int2 neighbor = baseCell + int2(x, y);
|
||||||
float n = p + w * x;
|
float2 rand = hash22_stable(neighbor, tileCount);
|
||||||
return n * lerp(1, 0.5, pow(x, curve));
|
float2 feature = float2(x, y) + rand;
|
||||||
|
|
||||||
|
float d = length(f - feature);
|
||||||
|
minDist = min(minDist, d);
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
return saturate(minDist);
|
||||||
|
}
|
||||||
|
|
||||||
|
float WorleyFBM2D(float2 uv, int baseTiles, float bias)
|
||||||
{
|
{
|
||||||
x = (x - 0.5) / 0.5;
|
uv = frac(uv); // ensure [0,1] input
|
||||||
float n = w + p * (1.0 - x);
|
|
||||||
return n * lerp(0.5, 1.0, pow(x, max(1.0 / curve,0.0001)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
float n = 0.0;
|
||||||
|
float amp = 0.5;
|
||||||
|
int tiles = baseTiles;
|
||||||
|
|
||||||
#define UI0 1597334673
|
[unroll]
|
||||||
#define UI1 3812015801
|
for (int octave = 0; octave < 3; octave++)
|
||||||
#define UI2 uint2(UI0, UI1)
|
|
||||||
#define UI3 uint3(UI0, UI1, 2798796415)
|
|
||||||
#define UIF (1.0 / float(0xffffffffU))
|
|
||||||
|
|
||||||
float3 hash33(float3 p)
|
|
||||||
{
|
{
|
||||||
uint3 q = uint3(int3(p)) * UI3;
|
n += amp * Worley2D_Stable(uv, tiles);
|
||||||
q = (q.x ^ q.y ^ q.z)*UI3;
|
tiles *= 2; // double tiles per octave
|
||||||
return -1. + 2. * float3(q) * UIF;
|
amp *= 0.5; // halve amplitude
|
||||||
}
|
}
|
||||||
|
|
||||||
float2 hash22(float2 p)
|
// Invert + bias for cloud-like coverage
|
||||||
{
|
n = pow(1.0 - n, bias);
|
||||||
uint2 q = uint2(int2(p)) * UI3.xy;
|
return saturate(n);
|
||||||
q = (q.x ^ q.y)*UI3.xy;
|
|
||||||
return -1. + 2. * float2(q) * UIF;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gradient noise by iq (modified to be tileable)
|
|
||||||
float gradientNoise(float3 x, float freq)
|
|
||||||
{
|
|
||||||
// grid
|
|
||||||
float3 p = floor(x);
|
|
||||||
float3 w = frac(x);
|
|
||||||
|
|
||||||
// quintic interpolant
|
|
||||||
float3 u = w * w * w * (w * (w * 6. - 15.) + 10.);
|
|
||||||
|
|
||||||
|
|
||||||
// gradients
|
|
||||||
float3 ga = hash33(fmod(p + float3(0., 0., 0.), freq));
|
|
||||||
float3 gb = hash33(fmod(p + float3(1., 0., 0.), freq));
|
|
||||||
float3 gc = hash33(fmod(p + float3(0., 1., 0.), freq));
|
|
||||||
float3 gd = hash33(fmod(p + float3(1., 1., 0.), freq));
|
|
||||||
float3 ge = hash33(fmod(p + float3(0., 0., 1.), freq));
|
|
||||||
float3 gf = hash33(fmod(p + float3(1., 0., 1.), freq));
|
|
||||||
float3 gg = hash33(fmod(p + float3(0., 1., 1.), freq));
|
|
||||||
float3 gh = hash33(fmod(p + float3(1., 1., 1.), freq));
|
|
||||||
|
|
||||||
// projections
|
|
||||||
float va = dot(ga, w - float3(0., 0., 0.));
|
|
||||||
float vb = dot(gb, w - float3(1., 0., 0.));
|
|
||||||
float vc = dot(gc, w - float3(0., 1., 0.));
|
|
||||||
float vd = dot(gd, w - float3(1., 1., 0.));
|
|
||||||
float ve = dot(ge, w - float3(0., 0., 1.));
|
|
||||||
float vf = dot(gf, w - float3(1., 0., 1.));
|
|
||||||
float vg = dot(gg, w - float3(0., 1., 1.));
|
|
||||||
float vh = dot(gh, w - float3(1., 1., 1.));
|
|
||||||
|
|
||||||
// interpolation
|
|
||||||
return va +
|
|
||||||
u.x * (vb - va) +
|
|
||||||
u.y * (vc - va) +
|
|
||||||
u.z * (ve - va) +
|
|
||||||
u.x * u.y * (va - vb - vc + vd) +
|
|
||||||
u.y * u.z * (va - vc - ve + vg) +
|
|
||||||
u.z * u.x * (va - vb - ve + vf) +
|
|
||||||
u.x * u.y * u.z * (-va + vb + vc - vd + ve - vf - vg + vh);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tileable 3D worley noise
|
|
||||||
float worleyNoise(float3 uv, float freq)
|
|
||||||
{
|
|
||||||
float3 id = floor(uv);
|
|
||||||
float3 p = frac(uv);
|
|
||||||
|
|
||||||
float minDist = 10000.;
|
|
||||||
for (float x = -1.; x <= 1.; ++x)
|
|
||||||
{
|
|
||||||
for(float y = -1.; y <= 1.; ++y)
|
|
||||||
{
|
|
||||||
for(float z = -1.; z <= 1.; ++z)
|
|
||||||
{
|
|
||||||
float3 offset = float3(x, y, z);
|
|
||||||
float3 h = hash33(fmod(id + offset, float3(freq,freq,freq))) * .5 + .5;
|
|
||||||
h += offset;
|
|
||||||
float3 d = p - h;
|
|
||||||
minDist = min(minDist, dot(d, d));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// inverted worley noise
|
|
||||||
return 1. - minDist;
|
|
||||||
}
|
|
||||||
|
|
||||||
float worleyFbm(float3 p, float freq)
|
|
||||||
{
|
|
||||||
return worleyNoise(p*freq, freq) * .625 +
|
|
||||||
worleyNoise(p*freq*2., freq*2.) * .25 +
|
|
||||||
worleyNoise(p*freq*4., freq*4.) * .125;
|
|
||||||
}
|
|
||||||
|
|
||||||
float worleyNoise2D(float2 uv, float freq)
|
|
||||||
{
|
|
||||||
float2 id = floor(uv);
|
|
||||||
float2 p = frac(uv);
|
|
||||||
|
|
||||||
float minDist = 10000.;
|
|
||||||
for (float x = -1.; x <= 1.; ++x)
|
|
||||||
{
|
|
||||||
for(float y = -1.; y <= 1.; ++y)
|
|
||||||
{
|
|
||||||
float2 offset = float2(x, y);
|
|
||||||
float2 h = hash22(fmod(id + offset, float2(freq,freq))) * .5 + .5;
|
|
||||||
h += offset;
|
|
||||||
float2 d = p - h;
|
|
||||||
minDist = min(minDist, dot(d, d));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// inverted worley noise
|
|
||||||
return 1. - minDist;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float worleyFbm2DFiller(float2 p, float freq)
|
|
||||||
{
|
|
||||||
return worleyNoise2D(p*freq, freq) * .625 + worleyNoise2D(p*freq*2., freq*2.) * .225 + worleyNoise2D(p*freq*4., freq*4.) * .125;
|
|
||||||
}
|
|
||||||
|
|
||||||
float worleyFbm2D(float2 p, float freq)
|
|
||||||
{
|
|
||||||
return worleyNoise2D(p*freq, freq) * .625 - worleyNoise2D(p*freq*2., freq*2.) * .225 + worleyNoise2D(p*freq*4., freq*4.) * .125;
|
|
||||||
}
|
|
||||||
|
|
||||||
float worley2(float2 p, float freq)
|
|
||||||
{
|
|
||||||
float fbm = worleyFbm2D(p*freq * 4, 4) * 1.2;
|
|
||||||
float worl = worleyNoise2D(p*freq*2, 1) * .425 - worleyNoise2D(p*freq*2, 1) * .225;
|
|
||||||
|
|
||||||
return saturate(fbm - worl);
|
|
||||||
}
|
}
|
||||||
@@ -28,6 +28,7 @@ uniform float _frontBackDistribution3;
|
|||||||
uniform float _frontBackDistribution4;
|
uniform float _frontBackDistribution4;
|
||||||
|
|
||||||
uniform float _Intensity;
|
uniform float _Intensity;
|
||||||
|
uniform float _SkyColorExponent;
|
||||||
uniform float _MieScatteringIntensity;
|
uniform float _MieScatteringIntensity;
|
||||||
|
|
||||||
|
|
||||||
@@ -87,25 +88,6 @@ float4 CirrusClouds(float3 uvs)
|
|||||||
return finalClouds;
|
return finalClouds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//2D Clouds
|
|
||||||
uniform sampler2D _FlatCloudsBaseTexture;
|
|
||||||
uniform sampler2D _FlatCloudsDetailTexture;
|
|
||||||
uniform float4 _FlatCloudsAnimation;
|
|
||||||
uniform float3 _FlatCloudsLightDirection;
|
|
||||||
uniform float3 _FlatCloudsLightColor;
|
|
||||||
uniform float3 _FlatCloudsAmbientColor;
|
|
||||||
uniform float4 _FlatCloudsLightingParams; // x = LightIntensity, y = AmbientIntensity, z = Absorbtion, w = HgPhase
|
|
||||||
uniform float4 _FlatCloudsParams; // x = Coverage, y = Density, z = Altitude, w = tonemapping
|
|
||||||
uniform float4 _FlatCloudsTiling; // x = Base, y = Detail
|
|
||||||
|
|
||||||
//uniform float _FlatCloudsExposure;
|
|
||||||
|
|
||||||
float HenryGreenstein(float cosTheta, float g)
|
|
||||||
{
|
|
||||||
float k = 3.0 / (8.0 * 3.1415926f) * (1.0 - g * g) / (2.0 + g * g);
|
|
||||||
return k * (1.0 + cosTheta * cosTheta) / pow(abs(1.0 + g * g - 2.0 * g * cosTheta), 1.5);
|
|
||||||
}
|
|
||||||
half3 tonemapACES(half3 color, float Exposure)
|
half3 tonemapACES(half3 color, float Exposure)
|
||||||
{
|
{
|
||||||
color *= Exposure;
|
color *= Exposure;
|
||||||
@@ -120,6 +102,24 @@ half3 tonemapACES(half3 color, float Exposure)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//2D Clouds
|
||||||
|
uniform sampler2D _FlatCloudsBaseTexture;
|
||||||
|
uniform sampler2D _FlatCloudsDetailTexture;
|
||||||
|
uniform float4 _FlatCloudsAnimation;
|
||||||
|
uniform float3 _FlatCloudsLightDirection;
|
||||||
|
uniform float3 _FlatCloudsLightColor;
|
||||||
|
uniform float3 _FlatCloudsAmbientColor;
|
||||||
|
uniform float4 _FlatCloudsLightingParams; // x = LightIntensity, y = AmbientIntensity, z = Absorbtion, w = HgPhase
|
||||||
|
uniform float4 _FlatCloudsParams; // x = Coverage, y = Density, z = Altitude, w = shadowSteps
|
||||||
|
uniform float4 _FlatCloudsTiling; // x = Base, y = Detail
|
||||||
|
|
||||||
|
float HenryGreenstein(float cosTheta, float g)
|
||||||
|
{
|
||||||
|
float k = 3.0 / (8.0 * 3.1415926f) * (1.0 - g * g) / (2.0 + g * g);
|
||||||
|
return k * (1.0 + cosTheta * cosTheta) / pow(abs(1.0 + g * g - 2.0 * g * cosTheta), 1.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
float CalculateCloudDensity(float2 posBase, float2 posDetail,float3 worldPos, float coverage)
|
float CalculateCloudDensity(float2 posBase, float2 posDetail,float3 worldPos, float coverage)
|
||||||
{
|
{
|
||||||
float4 baseNoise = tex2D(_FlatCloudsBaseTexture, posBase);
|
float4 baseNoise = tex2D(_FlatCloudsBaseTexture, posBase);
|
||||||
@@ -138,6 +138,33 @@ float CalculateCloudDensity(float2 posBase, float2 posDetail,float3 worldPos, fl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float SampleShadowUV(float2 baseUV, float2 detailUV)
|
||||||
|
{
|
||||||
|
// Direction in UV space, scaled by some small factor
|
||||||
|
// Direction in UV space
|
||||||
|
float2 dirUV = normalize(_FlatCloudsLightDirection.xz);
|
||||||
|
|
||||||
|
// Total shadow length in UV space (constant)
|
||||||
|
float totalShadowLength = 0.01;
|
||||||
|
|
||||||
|
// Per-step offset so total distance remains the same
|
||||||
|
float2 stepUV = dirUV * (totalShadowLength / _FlatCloudsParams.w);
|
||||||
|
|
||||||
|
float shadow = 1.0;
|
||||||
|
float stepFactor = _FlatCloudsLightingParams.z * 1 / _FlatCloudsParams.w;
|
||||||
|
|
||||||
|
for (int i = 1; i <= _FlatCloudsParams.w; i++)
|
||||||
|
{
|
||||||
|
float2 uvOffsetBase = baseUV - stepUV * i;
|
||||||
|
float2 uvOffsetDetail = detailUV - stepUV * i * (_FlatCloudsTiling.y/_FlatCloudsTiling.x);
|
||||||
|
|
||||||
|
float d = CalculateCloudDensity(uvOffsetBase, uvOffsetDetail, float3(0,0,0), _FlatCloudsParams.x);
|
||||||
|
shadow *= exp(-d * stepFactor);
|
||||||
|
}
|
||||||
|
|
||||||
|
return saturate(shadow);
|
||||||
|
}
|
||||||
|
|
||||||
float4 Clouds2D (float3 uvs, float3 worldPos)
|
float4 Clouds2D (float3 uvs, float3 worldPos)
|
||||||
{
|
{
|
||||||
half4 col = 0;
|
half4 col = 0;
|
||||||
@@ -150,32 +177,37 @@ float4 Clouds2D (float3 uvs, float3 worldPos)
|
|||||||
float cloudExtinction = pow(uvs.y, 2);
|
float cloudExtinction = pow(uvs.y, 2);
|
||||||
float density = CalculateCloudDensity(uv1.xy, uv1.zw, uvs, _FlatCloudsParams.x);
|
float density = CalculateCloudDensity(uv1.xy, uv1.zw, uvs, _FlatCloudsParams.x);
|
||||||
|
|
||||||
//Lighting
|
// --- Shadows ---
|
||||||
float absorbtion = exp2(-1 * (density * _FlatCloudsLightingParams.z));
|
float shadowTerm = SampleShadowUV(uv1.xy, uv1.zw);
|
||||||
|
//float absorbtion = exp2(-1 * (density * _FlatCloudsLightingParams.z));
|
||||||
|
float shadows = shadowTerm;
|
||||||
|
|
||||||
float3 viewDir = normalize(worldPos - _WorldSpaceCameraPos);
|
float3 viewDir = normalize(worldPos - _WorldSpaceCameraPos);
|
||||||
float inscatterAngle = dot(normalize(_FlatCloudsLightDirection), -viewDir);
|
float inscatterAngle = dot(normalize(_FlatCloudsLightDirection), -viewDir);
|
||||||
float hg = HenryGreenstein(inscatterAngle, _FlatCloudsLightingParams.w) * 2 * absorbtion;
|
float hg = HenryGreenstein(inscatterAngle, _FlatCloudsLightingParams.w) * 2 * shadows;
|
||||||
float lighting = density * (absorbtion + hg);
|
|
||||||
float3 lightColor = pow(_FlatCloudsLightColor, 2) * (_FlatCloudsLightingParams.x );
|
// apply shadow to the direct light only
|
||||||
col.rgb = lightColor * lighting;
|
float lighting = density * (shadows + hg) * shadowTerm;
|
||||||
col.rgb = col.rgb + (_FlatCloudsAmbientColor * _FlatCloudsLightingParams.y);
|
|
||||||
|
float3 lightColor = pow(_FlatCloudsLightColor, 2) * _FlatCloudsLightingParams.x;
|
||||||
|
col.rgb = lightColor * lighting;
|
||||||
|
col.rgb += _FlatCloudsAmbientColor * _FlatCloudsLightingParams.y;
|
||||||
|
|
||||||
//Tonemapping
|
|
||||||
// if (_FlatCloudsParams.w == 1)
|
|
||||||
// col.rgb = tonemapACES(col.rgb, _CloudsExposure);
|
|
||||||
|
|
||||||
col.a = saturate(density * cloudExtinction);
|
col.a = saturate(density * cloudExtinction);
|
||||||
|
|
||||||
if (uvs.y < 0)
|
if (uvs.y < 0)
|
||||||
col.a = 0;
|
col.a = 0;
|
||||||
|
|
||||||
|
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float4 GetSkyColorSimple (float3 viewDir, float mieSize)
|
float4 GetSkyColorSimple (float3 viewDir, float mieSize, float depth = 1.0)
|
||||||
{
|
{
|
||||||
float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
float cosTheta = smoothstep(0.0,2.0,saturate(dot(-_SunDir.xyz, viewDir)));
|
||||||
|
// float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
||||||
half y = -viewDir.y / 0.02;
|
half y = -viewDir.y / 0.02;
|
||||||
|
|
||||||
float3 frontBack1 = lerp(_FrontColor1.rgb,_BackColor1.rgb,cosTheta);
|
float3 frontBack1 = lerp(_FrontColor1.rgb,_BackColor1.rgb,cosTheta);
|
||||||
@@ -196,15 +228,15 @@ float4 GetSkyColorSimple (float3 viewDir, float mieSize)
|
|||||||
float eyeCos2 = eyeCos * eyeCos;
|
float eyeCos2 = eyeCos * eyeCos;
|
||||||
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
||||||
|
|
||||||
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade;
|
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade * depth;
|
||||||
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
||||||
|
|
||||||
return float4(skyColor * _SkyColorTint.rgb,1);
|
return float4(pow(skyColor * _SkyColorTint.rgb,_SkyColorExponent),1);
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 GetSkyColor (float3 viewDir, float mieSize)
|
float4 GetSkyColor (float3 viewDir, float mieSize,float depth = 1.0)
|
||||||
{
|
{
|
||||||
float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
float cosTheta = smoothstep(0.0,2.0,saturate(dot(-_SunDir.xyz, viewDir)));
|
||||||
half y = -viewDir.y / 0.02;
|
half y = -viewDir.y / 0.02;
|
||||||
|
|
||||||
float3 frontBack0 = lerp(_FrontColor0.rgb,_BackColor0.rgb,cosTheta);
|
float3 frontBack0 = lerp(_FrontColor0.rgb,_BackColor0.rgb,cosTheta);
|
||||||
@@ -232,10 +264,10 @@ float4 GetSkyColor (float3 viewDir, float mieSize)
|
|||||||
float eyeCos2 = eyeCos * eyeCos;
|
float eyeCos2 = eyeCos * eyeCos;
|
||||||
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
||||||
|
|
||||||
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade;
|
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade * depth;
|
||||||
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
||||||
|
|
||||||
return float4(skyColor * _SkyColorTint.rgb,1);
|
return float4(pow(skyColor * _SkyColorTint.rgb,_SkyColorExponent),1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ uniform float _frontBackDistribution3;
|
|||||||
uniform float _frontBackDistribution4;
|
uniform float _frontBackDistribution4;
|
||||||
|
|
||||||
uniform float _Intensity;
|
uniform float _Intensity;
|
||||||
|
uniform float _SkyColorExponent;
|
||||||
uniform float _MieScatteringIntensity;
|
uniform float _MieScatteringIntensity;
|
||||||
|
|
||||||
|
|
||||||
@@ -96,28 +97,15 @@ uniform float3 _FlatCloudsLightDirection;
|
|||||||
uniform float3 _FlatCloudsLightColor;
|
uniform float3 _FlatCloudsLightColor;
|
||||||
uniform float3 _FlatCloudsAmbientColor;
|
uniform float3 _FlatCloudsAmbientColor;
|
||||||
uniform float4 _FlatCloudsLightingParams; // x = LightIntensity, y = AmbientIntensity, z = Absorbtion, w = HgPhase
|
uniform float4 _FlatCloudsLightingParams; // x = LightIntensity, y = AmbientIntensity, z = Absorbtion, w = HgPhase
|
||||||
uniform float4 _FlatCloudsParams; // x = Coverage, y = Density, z = Altitude, w = tonemapping
|
uniform float4 _FlatCloudsParams; // x = Coverage, y = Density, z = Altitude, w = shadowSteps
|
||||||
uniform float4 _FlatCloudsTiling; // x = Base, y = Detail
|
uniform float4 _FlatCloudsTiling; // x = Base, y = Detail
|
||||||
|
|
||||||
//uniform float _FlatCloudsExposure;
|
|
||||||
|
|
||||||
float HenryGreenstein(float cosTheta, float g)
|
float HenryGreenstein(float cosTheta, float g)
|
||||||
{
|
{
|
||||||
float k = 3.0 / (8.0 * 3.1415926f) * (1.0 - g * g) / (2.0 + g * g);
|
float k = 3.0 / (8.0 * 3.1415926f) * (1.0 - g * g) / (2.0 + g * g);
|
||||||
return k * (1.0 + cosTheta * cosTheta) / pow(abs(1.0 + g * g - 2.0 * g * cosTheta), 1.5);
|
return k * (1.0 + cosTheta * cosTheta) / pow(abs(1.0 + g * g - 2.0 * g * cosTheta), 1.5);
|
||||||
}
|
}
|
||||||
half3 tonemapACES(half3 color, float Exposure)
|
|
||||||
{
|
|
||||||
color *= Exposure;
|
|
||||||
|
|
||||||
// See https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/
|
|
||||||
const half a = 2.51;
|
|
||||||
const half b = 0.03;
|
|
||||||
const half c = 2.43;
|
|
||||||
const half d = 0.59;
|
|
||||||
const half e = 0.14;
|
|
||||||
return saturate((color * (a * color + b)) / (color * (c * color + d) + e));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float CalculateCloudDensity(float2 posBase, float2 posDetail,float3 worldPos, float coverage)
|
float CalculateCloudDensity(float2 posBase, float2 posDetail,float3 worldPos, float coverage)
|
||||||
@@ -136,7 +124,32 @@ float CalculateCloudDensity(float2 posBase, float2 posDetail,float3 worldPos, fl
|
|||||||
|
|
||||||
return density;
|
return density;
|
||||||
}
|
}
|
||||||
|
float SampleShadowUV(float2 baseUV, float2 detailUV)
|
||||||
|
{
|
||||||
|
// Direction in UV space, scaled by some small factor
|
||||||
|
// Direction in UV space
|
||||||
|
float2 dirUV = normalize(_FlatCloudsLightDirection.xz);
|
||||||
|
|
||||||
|
// Total shadow length in UV space (constant)
|
||||||
|
float totalShadowLength = 0.01;
|
||||||
|
|
||||||
|
// Per-step offset so total distance remains the same
|
||||||
|
float2 stepUV = dirUV * (totalShadowLength / _FlatCloudsParams.w);
|
||||||
|
|
||||||
|
float shadow = 1.0;
|
||||||
|
float stepFactor = _FlatCloudsLightingParams.z * 1 / _FlatCloudsParams.w;
|
||||||
|
|
||||||
|
for (int i = 1; i <= _FlatCloudsParams.w; i++)
|
||||||
|
{
|
||||||
|
float2 uvOffsetBase = baseUV - stepUV * i;
|
||||||
|
float2 uvOffsetDetail = detailUV - stepUV * i * (_FlatCloudsTiling.y/_FlatCloudsTiling.x);
|
||||||
|
|
||||||
|
float d = CalculateCloudDensity(uvOffsetBase, uvOffsetDetail, float3(0,0,0), _FlatCloudsParams.x);
|
||||||
|
shadow *= exp(-d * stepFactor);
|
||||||
|
}
|
||||||
|
|
||||||
|
return saturate(shadow);
|
||||||
|
}
|
||||||
|
|
||||||
float4 Clouds2D (float3 uvs, float3 worldPos)
|
float4 Clouds2D (float3 uvs, float3 worldPos)
|
||||||
{
|
{
|
||||||
@@ -150,29 +163,33 @@ float4 Clouds2D (float3 uvs, float3 worldPos)
|
|||||||
float cloudExtinction = pow(uvs.y, 2);
|
float cloudExtinction = pow(uvs.y, 2);
|
||||||
float density = CalculateCloudDensity(uv1.xy, uv1.zw, uvs, _FlatCloudsParams.x);
|
float density = CalculateCloudDensity(uv1.xy, uv1.zw, uvs, _FlatCloudsParams.x);
|
||||||
|
|
||||||
//Lighting
|
// --- Shadows ---
|
||||||
float absorbtion = exp2(-1 * (density * _FlatCloudsLightingParams.z));
|
float shadowTerm = SampleShadowUV(uv1.xy, uv1.zw);
|
||||||
|
//float absorbtion = exp2(-1 * (density * _FlatCloudsLightingParams.z));
|
||||||
|
float shadows = shadowTerm;
|
||||||
|
|
||||||
float3 viewDir = normalize(worldPos - _WorldSpaceCameraPos);
|
float3 viewDir = normalize(worldPos - _WorldSpaceCameraPos);
|
||||||
float inscatterAngle = dot(normalize(_FlatCloudsLightDirection), -viewDir);
|
float inscatterAngle = dot(normalize(_FlatCloudsLightDirection), -viewDir);
|
||||||
float hg = HenryGreenstein(inscatterAngle, _FlatCloudsLightingParams.w) * 2 * absorbtion;
|
float hg = HenryGreenstein(inscatterAngle, _FlatCloudsLightingParams.w) * 2 * shadows;
|
||||||
float lighting = density * (absorbtion + hg);
|
|
||||||
float3 lightColor = pow(_FlatCloudsLightColor, 2) * (_FlatCloudsLightingParams.x );
|
// apply shadow to the direct light only
|
||||||
col.rgb = lightColor * lighting;
|
float lighting = density * (shadows + hg) * shadowTerm;
|
||||||
col.rgb = col.rgb + (_FlatCloudsAmbientColor * _FlatCloudsLightingParams.y);
|
|
||||||
|
float3 lightColor = pow(_FlatCloudsLightColor, 2) * _FlatCloudsLightingParams.x;
|
||||||
|
col.rgb = lightColor * lighting;
|
||||||
|
col.rgb += _FlatCloudsAmbientColor * _FlatCloudsLightingParams.y;
|
||||||
|
|
||||||
//Tonemapping
|
|
||||||
// if (_FlatCloudsParams.w == 1)
|
|
||||||
// col.rgb = tonemapACES(col.rgb, _CloudsExposure);
|
|
||||||
|
|
||||||
col.a = saturate(density * cloudExtinction);
|
col.a = saturate(density * cloudExtinction);
|
||||||
|
|
||||||
if (uvs.y < 0)
|
if (uvs.y < 0)
|
||||||
col.a = 0;
|
col.a = 0;
|
||||||
|
|
||||||
|
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 GetSkyColorSimple (float3 viewDir, float mieSize)
|
float4 GetSkyColorSimple (float3 viewDir, float mieSize, float depth = 1.0)
|
||||||
{
|
{
|
||||||
float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
||||||
half y = -viewDir.y / 0.02;
|
half y = -viewDir.y / 0.02;
|
||||||
@@ -195,13 +212,13 @@ float4 GetSkyColorSimple (float3 viewDir, float mieSize)
|
|||||||
float eyeCos2 = eyeCos * eyeCos;
|
float eyeCos2 = eyeCos * eyeCos;
|
||||||
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
||||||
|
|
||||||
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade;
|
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade * depth;
|
||||||
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
||||||
|
|
||||||
return float4(skyColor * _SkyColorTint.rgb,1);
|
return float4(skyColor * _SkyColorTint.rgb,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 GetSkyColor (float3 viewDir, float mieSize)
|
float4 GetSkyColor (float3 viewDir, float mieSize, float depth = 1.0)
|
||||||
{
|
{
|
||||||
float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
float cosTheta = smoothstep(-0.25,1.15,saturate(dot(-_SunDir.xyz, viewDir)));
|
||||||
half y = -viewDir.y / 0.02;
|
half y = -viewDir.y / 0.02;
|
||||||
@@ -231,7 +248,7 @@ float4 GetSkyColor (float3 viewDir, float mieSize)
|
|||||||
float eyeCos2 = eyeCos * eyeCos;
|
float eyeCos2 = eyeCos * eyeCos;
|
||||||
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
float fade = saturate(dot(_SunDir.xyz, viewDir));
|
||||||
|
|
||||||
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade;
|
float mie = Mie(eyeCos, 0.7) * _MieScatteringIntensity * fade * depth;
|
||||||
|
|
||||||
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
skyColor.rgb += (mie * skyColor) * _SunColor.rgb;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#pragma multi_compile __ ENVIRO_SIMPLESKY
|
||||||
|
|
||||||
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
|
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
|
||||||
UNITY_DECLARE_TEX2DARRAY(_EnviroClouds);
|
UNITY_DECLARE_TEX2DARRAY(_EnviroClouds);
|
||||||
@@ -8,18 +9,77 @@ sampler2D _EnviroClouds;
|
|||||||
float3 _AmbientColor;
|
float3 _AmbientColor;
|
||||||
float3 _DirectLightColor;
|
float3 _DirectLightColor;
|
||||||
float _AtmosphereColorSaturateDistance;
|
float _AtmosphereColorSaturateDistance;
|
||||||
|
float4 _CloudsParameter;
|
||||||
|
float _SolarTime;
|
||||||
|
//float _AmbientDistanceScale;
|
||||||
|
|
||||||
|
float ComputeAmbient(float4 cloudsColor, float normalizedHeight)
|
||||||
|
{
|
||||||
|
float _AmbientDistanceScale = 0.25;
|
||||||
|
// Height influence: higher clouds receive more ambient sky light
|
||||||
|
// 0.7 base → 1.3 peak (keep within a modest range for realism)
|
||||||
|
float heightFactor = lerp(0.7, 1.3, normalizedHeight);
|
||||||
|
|
||||||
|
// Distance influence: nearby clouds look brighter, far clouds fade
|
||||||
|
// _AmbientDistanceScale lets you control falloff distance
|
||||||
|
float distFalloff = exp(-cloudsColor.g * _AmbientDistanceScale);
|
||||||
|
|
||||||
|
// Combine
|
||||||
|
float ambient = cloudsColor.a * heightFactor * distFalloff;
|
||||||
|
return saturate(ambient);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float4 GetCloudColor(float4 cloudsColor, float3 worldPos)
|
||||||
|
{
|
||||||
|
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos.xyz);
|
||||||
|
|
||||||
|
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2;
|
||||||
|
float3 skyColor = float3(1,1,1);
|
||||||
|
|
||||||
|
#if ENVIRO_SIMPLESKY
|
||||||
|
skyColor = GetSkyColorSimple(viewDir, 0.005f);
|
||||||
|
#else
|
||||||
|
skyColor = GetSkyColor(viewDir, 0.005f);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
float3 cloudsPos = _WorldSpaceCameraPos + viewDir * cloudsColor.g;
|
||||||
|
float normalizedHeight = saturate((cloudsPos.y - _CloudsParameter.x) / (_CloudsParameter.y - _CloudsParameter.x));
|
||||||
|
float ambient = ComputeAmbient(cloudsColor.a, normalizedHeight);
|
||||||
|
float4 finalColor = float4(cloudsColor.r * sunColor + _AmbientColor * ambient, cloudsColor.a);
|
||||||
|
|
||||||
|
float p = smoothstep(0.55, 0.60, _SolarTime);
|
||||||
|
float dayNightModifier = lerp(1.5, 0.1, p);
|
||||||
|
|
||||||
|
float baseDist = _AtmosphereColorSaturateDistance;
|
||||||
|
|
||||||
|
float kShadowRatio = dayNightModifier;
|
||||||
|
static const float kMidRatio = 1.0;
|
||||||
|
static const float kHighlightRatio = 2.0;
|
||||||
|
|
||||||
|
float3 brightness = saturate(finalColor.rgb);
|
||||||
|
float luminance = dot(brightness, float3(0.299,0.587,0.114));
|
||||||
|
|
||||||
|
// Blend distance mapping with dynamic base
|
||||||
|
float distLow = lerp(baseDist * kShadowRatio, baseDist * kMidRatio,saturate(luminance * 2.0));
|
||||||
|
float blendDist = lerp(distLow, baseDist * kHighlightRatio,saturate((luminance - 0.5) * 2.0));
|
||||||
|
// Final factor
|
||||||
|
// float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / _AtmosphereColorSaturateDistance));
|
||||||
|
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / blendDist));
|
||||||
|
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
||||||
|
|
||||||
|
return finalColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float3 ApplyClouds(float3 sceneColor, float2 uv, float3 worldPos)
|
float3 ApplyClouds(float3 sceneColor, float2 uv, float3 worldPos)
|
||||||
{
|
{
|
||||||
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos);
|
|
||||||
|
|
||||||
float4 cloudsColor = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_EnviroClouds, uv);
|
float4 cloudsColor = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_EnviroClouds, uv);
|
||||||
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2.0f;
|
float4 finalColor = GetCloudColor(cloudsColor,worldPos);
|
||||||
float3 skyColor = GetSkyColor(viewDir,0.005f);
|
//return sceneColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a;
|
||||||
float4 finalColor = float4(cloudsColor.r * sunColor + _AmbientColor, cloudsColor.a);
|
|
||||||
|
|
||||||
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / _AtmosphereColorSaturateDistance));
|
float a = saturate(finalColor.a);
|
||||||
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
float3 c = lerp(sceneColor.rgb, finalColor.rgb, a);
|
||||||
|
return sceneColor.rgb * (1 - a) + c * a;
|
||||||
return sceneColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,80 @@
|
|||||||
|
#ifndef ENVIRO_SIMPLESKY_KEYWORD
|
||||||
|
#define ENVIRO_SIMPLESKY_KEYWORD
|
||||||
|
#pragma multi_compile __ ENVIRO_SIMPLESKY
|
||||||
|
#endif
|
||||||
|
|
||||||
TEXTURE2D_X(_EnviroClouds);
|
TEXTURE2D_X(_EnviroClouds);
|
||||||
SAMPLER(sampler_EnviroClouds);
|
SAMPLER(sampler_EnviroClouds);
|
||||||
|
|
||||||
float3 _AmbientColor;
|
float3 _AmbientColor;
|
||||||
float3 _DirectLightColor;
|
float3 _DirectLightColor;
|
||||||
float _AtmosphereColorSaturateDistance;
|
float _AtmosphereColorSaturateDistance;
|
||||||
|
float4 _CloudsParameter;
|
||||||
|
float _SolarTime;
|
||||||
|
|
||||||
|
float ComputeAmbient(float4 cloudsColor, float normalizedHeight)
|
||||||
|
{
|
||||||
|
float _AmbientDistanceScale = 0.25;
|
||||||
|
// Height influence: higher clouds receive more ambient sky light
|
||||||
|
// 0.7 base → 1.3 peak (keep within a modest range for realism)
|
||||||
|
float heightFactor = lerp(0.7, 1.3, normalizedHeight);
|
||||||
|
|
||||||
|
// Distance influence: nearby clouds look brighter, far clouds fade
|
||||||
|
// _AmbientDistanceScale lets you control falloff distance
|
||||||
|
float distFalloff = exp(-cloudsColor.g * _AmbientDistanceScale);
|
||||||
|
|
||||||
|
// Combine
|
||||||
|
float ambient = cloudsColor.a * heightFactor * distFalloff;
|
||||||
|
return saturate(ambient);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
float4 GetCloudColor(float4 cloudsColor, float3 worldPos)
|
||||||
|
{
|
||||||
|
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos.xyz);
|
||||||
|
|
||||||
|
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2;
|
||||||
|
float3 skyColor = float3(1,1,1);
|
||||||
|
|
||||||
|
#if ENVIRO_SIMPLESKY
|
||||||
|
skyColor = GetSkyColorSimple(viewDir, 0.005f);
|
||||||
|
#else
|
||||||
|
skyColor = GetSkyColor(viewDir, 0.005f);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
float3 cloudsPos = _WorldSpaceCameraPos + viewDir * cloudsColor.g;
|
||||||
|
float normalizedHeight = saturate((cloudsPos.y - _CloudsParameter.x) / (_CloudsParameter.y - _CloudsParameter.x));
|
||||||
|
float ambient = ComputeAmbient(cloudsColor.a, normalizedHeight);
|
||||||
|
float4 finalColor = float4(cloudsColor.r * sunColor + _AmbientColor * ambient, cloudsColor.a);
|
||||||
|
|
||||||
|
float p = smoothstep(0.55, 0.60, _SolarTime);
|
||||||
|
float dayNightModifier = lerp(1.5, 0.1, p);
|
||||||
|
|
||||||
|
float baseDist = _AtmosphereColorSaturateDistance;
|
||||||
|
|
||||||
|
float kShadowRatio = dayNightModifier;
|
||||||
|
static const float kMidRatio = 1.0;
|
||||||
|
static const float kHighlightRatio = 2.0;
|
||||||
|
|
||||||
|
float3 brightness = saturate(finalColor.rgb);
|
||||||
|
float luminance = dot(brightness, float3(0.299,0.587,0.114));
|
||||||
|
|
||||||
|
// Blend distance mapping with dynamic base
|
||||||
|
float distLow = lerp(baseDist * kShadowRatio, baseDist * kMidRatio,saturate(luminance * 2.0));
|
||||||
|
float blendDist = lerp(distLow, baseDist * kHighlightRatio,saturate((luminance - 0.5) * 2.0));
|
||||||
|
// Final factor
|
||||||
|
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / blendDist));
|
||||||
|
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
||||||
|
|
||||||
|
return finalColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
float3 ApplyClouds(float3 sceneColor, float2 uv, float3 worldPos)
|
float3 ApplyClouds(float3 sceneColor, float2 uv, float3 worldPos)
|
||||||
{
|
{
|
||||||
float3 viewDir = normalize(worldPos.xyz - _WorldSpaceCameraPos);
|
|
||||||
|
|
||||||
float4 cloudsColor = SAMPLE_TEXTURE2D_X(_EnviroClouds,sampler_EnviroClouds, uv);
|
float4 cloudsColor = SAMPLE_TEXTURE2D_X(_EnviroClouds,sampler_EnviroClouds, uv);
|
||||||
float3 sunColor = pow(_DirectLightColor.rgb,2) * 2.0f;
|
float4 finalColor = GetCloudColor(cloudsColor,worldPos);
|
||||||
float3 skyColor = GetSkyColor(viewDir,0.005f);
|
|
||||||
float4 finalColor = float4(cloudsColor.r * sunColor + _AmbientColor, cloudsColor.a);
|
|
||||||
|
|
||||||
float atmosphericBlendFactor = saturate(exp(-cloudsColor.g / _AtmosphereColorSaturateDistance));
|
|
||||||
finalColor.rgb = lerp(skyColor, finalColor.rgb, atmosphericBlendFactor);
|
|
||||||
|
|
||||||
return sceneColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a;
|
return sceneColor.rgb * saturate(1 - finalColor.a) + finalColor.rgb * finalColor.a;
|
||||||
//return lerp(sceneColor, finalColor.rgb, cloudsColor.a);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,14 @@
|
|||||||
|
#ifndef PI
|
||||||
|
#define PI 3.14159265
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef TWO_PI
|
||||||
|
#define TWO_PI 6.28318530
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef INV_PI
|
||||||
|
#define INV_PI 0.31830989
|
||||||
|
#endif
|
||||||
|
|
||||||
uniform Texture3D _Noise;
|
uniform Texture3D _Noise;
|
||||||
SamplerState sampler_Noise;
|
SamplerState sampler_Noise;
|
||||||
@@ -8,6 +18,8 @@
|
|||||||
SamplerState sampler_WeatherMap;
|
SamplerState sampler_WeatherMap;
|
||||||
uniform Texture2D _CurlNoise;
|
uniform Texture2D _CurlNoise;
|
||||||
SamplerState sampler_CurlNoise;
|
SamplerState sampler_CurlNoise;
|
||||||
|
|
||||||
|
uniform sampler2D _BottomsOffsetNoise;
|
||||||
uniform sampler2D _BlueNoise;
|
uniform sampler2D _BlueNoise;
|
||||||
|
|
||||||
float4 _BlueNoise_TexelSize;
|
float4 _BlueNoise_TexelSize;
|
||||||
@@ -38,6 +50,9 @@
|
|||||||
uniform float4 _CloudsErosionIntensity; //x = Base, y = Detail
|
uniform float4 _CloudsErosionIntensity; //x = Base, y = Detail
|
||||||
uniform float4 _CloudsNoiseSettings; //x = Base, y = Detail
|
uniform float4 _CloudsNoiseSettings; //x = Base, y = Detail
|
||||||
|
|
||||||
|
uniform float4 _CloudsShape1;
|
||||||
|
uniform float4 _CloudsShape2;
|
||||||
|
|
||||||
uniform float4 _CloudDensityScale;
|
uniform float4 _CloudDensityScale;
|
||||||
uniform float4 _CloudsCoverageSettings; //x = _GlobalCoverage, y = Bottom Coverage Mod, z = Top coverage mod, w = Clouds Up Morph Intensity
|
uniform float4 _CloudsCoverageSettings; //x = _GlobalCoverage, y = Bottom Coverage Mod, z = Top coverage mod, w = Clouds Up Morph Intensity
|
||||||
uniform float _GlobalCoverage;
|
uniform float _GlobalCoverage;
|
||||||
@@ -51,6 +66,7 @@
|
|||||||
uniform float4 _Resolution;
|
uniform float4 _Resolution;
|
||||||
uniform float4 _Randomness;
|
uniform float4 _Randomness;
|
||||||
uniform float _EnviroDepthTest;
|
uniform float _EnviroDepthTest;
|
||||||
|
uniform float _SolarTime;
|
||||||
////
|
////
|
||||||
const float env_inf = 1e10;
|
const float env_inf = 1e10;
|
||||||
|
|
||||||
@@ -58,16 +74,17 @@
|
|||||||
{
|
{
|
||||||
//Lighting
|
//Lighting
|
||||||
float scatteringCoef;
|
float scatteringCoef;
|
||||||
float hgPhase;
|
|
||||||
float silverLiningIntensity;
|
float silverLiningIntensity;
|
||||||
float silverLiningSpread;
|
float silverLiningSpread;
|
||||||
float powderTerm;
|
float edgeHighlightStrength;
|
||||||
|
float lightningIntensity;
|
||||||
|
float exposure;
|
||||||
float attenuation;
|
float attenuation;
|
||||||
float lightStep;
|
float lightStep;
|
||||||
float lightAbsorb;
|
float lightAbsorb;
|
||||||
float multiScatteringA;
|
float multiScatterStrength;
|
||||||
float multiScatteringB;
|
float multiScatterFalloff;
|
||||||
float multiScatteringC;
|
float ambientFloor;
|
||||||
|
|
||||||
//Height
|
//Height
|
||||||
float4 cloudsParameter;
|
float4 cloudsParameter;
|
||||||
@@ -88,73 +105,35 @@
|
|||||||
float baseErosionIntensity;
|
float baseErosionIntensity;
|
||||||
float detailErosionIntensity;
|
float detailErosionIntensity;
|
||||||
|
|
||||||
float anvilBias;
|
float baseNoiseMultiplier;
|
||||||
};
|
float detailNoiseMultiplier;
|
||||||
/*
|
|
||||||
struct Lightning
|
float bottomShape;
|
||||||
{
|
float midShape;
|
||||||
float3 pos;
|
float topShape;
|
||||||
float range;
|
float topLayer;
|
||||||
float intensity;
|
float rampShape;
|
||||||
|
float cloudTypeShaping;
|
||||||
};
|
};
|
||||||
|
|
||||||
StructuredBuffer<Lightning> _Lightnings;
|
void InitRaymarchParameters(inout RaymarchParameters parameters)
|
||||||
|
|
||||||
float _LightningCount;
|
|
||||||
|
|
||||||
float anisotropy(float costheta)
|
|
||||||
{
|
|
||||||
float g = 0.5f;
|
|
||||||
float gsq = g*g;
|
|
||||||
float denom = 1 + gsq - 2.0 * g * costheta;
|
|
||||||
denom = denom * denom * denom;
|
|
||||||
denom = sqrt(max(0, denom));
|
|
||||||
return (1 - gsq) / denom;
|
|
||||||
}
|
|
||||||
|
|
||||||
float Attenuation(float distNorm)
|
|
||||||
{
|
|
||||||
return 1.0 / (1.0 + 25.0 * distNorm);
|
|
||||||
}
|
|
||||||
|
|
||||||
float Lightnings(float3 pos)
|
|
||||||
{
|
|
||||||
float intensity = 0.0f;
|
|
||||||
|
|
||||||
for (int i = 0; i < _LightningCount; i++)
|
|
||||||
{
|
|
||||||
float3 posToLight = _Lightnings[i].pos - pos;
|
|
||||||
//float3 posToLight = _Lightnings[i].pos - pos;
|
|
||||||
float distNorm = dot(posToLight, posToLight) * _Lightnings[i].range;
|
|
||||||
float att = Attenuation(distNorm);
|
|
||||||
|
|
||||||
//#if ANISOTROPY
|
|
||||||
float3 cameraToPos = normalize(pos - _WorldSpaceCameraPos.xyz);
|
|
||||||
float costheta = dot(cameraToPos, normalize(posToLight));
|
|
||||||
att *= anisotropy(costheta);
|
|
||||||
//#endif
|
|
||||||
|
|
||||||
intensity += _Lightnings[i].intensity * att;
|
|
||||||
}
|
|
||||||
return intensity;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
void InitRaymarchParametersLayer1(inout RaymarchParameters parameters)
|
|
||||||
{
|
{
|
||||||
parameters.scatteringCoef = _CloudsLighting.x;
|
parameters.scatteringCoef = _CloudsLighting.x;
|
||||||
parameters.hgPhase = _CloudsLighting.y;
|
parameters.silverLiningIntensity = _CloudsLighting.y;
|
||||||
parameters.silverLiningIntensity = _CloudsLighting.z;
|
|
||||||
parameters.silverLiningSpread = _CloudsLighting.w;
|
parameters.silverLiningSpread = _CloudsLighting.w;
|
||||||
|
|
||||||
parameters.multiScatteringA = _CloudsMultiScattering.x;
|
parameters.multiScatterStrength = _CloudsMultiScattering.x;
|
||||||
parameters.multiScatteringB = _CloudsMultiScattering.y;
|
parameters.multiScatterFalloff = _CloudsMultiScattering.y;
|
||||||
parameters.multiScatteringC = _CloudsMultiScattering.z;
|
parameters.ambientFloor = _CloudsMultiScattering.z;
|
||||||
|
parameters.exposure = _CloudsMultiScattering.w;
|
||||||
|
|
||||||
parameters.powderTerm = _CloudsLightingExtended.x;
|
parameters.lightningIntensity = _CloudsLightingExtended.x;
|
||||||
parameters.attenuation = _CloudsLightingExtended.y;
|
parameters.attenuation = _CloudsLightingExtended.y;
|
||||||
parameters.lightStep = _CloudsLightingExtended.z;
|
parameters.lightStep = _CloudsLightingExtended.z;
|
||||||
parameters.lightAbsorb = _CloudsLightingExtended.w;
|
parameters.lightAbsorb = _CloudsLightingExtended.w;
|
||||||
|
|
||||||
|
parameters.edgeHighlightStrength = _CloudsLighting.z;
|
||||||
|
|
||||||
parameters.cloudsParameter = _CloudsParameter;
|
parameters.cloudsParameter = _CloudsParameter;
|
||||||
|
|
||||||
parameters.density = _CloudDensityScale.x;
|
parameters.density = _CloudDensityScale.x;
|
||||||
@@ -163,6 +142,9 @@
|
|||||||
parameters.baseErosion = _CloudsErosionIntensity.x;
|
parameters.baseErosion = _CloudsErosionIntensity.x;
|
||||||
parameters.detailErosion = _CloudsErosionIntensity.y;
|
parameters.detailErosion = _CloudsErosionIntensity.y;
|
||||||
|
|
||||||
|
parameters.baseNoiseMultiplier = _CloudsNoiseSettings.z;
|
||||||
|
parameters.detailNoiseMultiplier = _CloudsNoiseSettings.w;
|
||||||
|
|
||||||
parameters.minSteps = _Steps.x;
|
parameters.minSteps = _Steps.x;
|
||||||
parameters.maxSteps = _Steps.y;
|
parameters.maxSteps = _Steps.y;
|
||||||
|
|
||||||
@@ -172,50 +154,20 @@
|
|||||||
parameters.baseErosionIntensity = _CloudsErosionIntensity.x;
|
parameters.baseErosionIntensity = _CloudsErosionIntensity.x;
|
||||||
parameters.detailErosionIntensity = _CloudsErosionIntensity.y;
|
parameters.detailErosionIntensity = _CloudsErosionIntensity.y;
|
||||||
|
|
||||||
parameters.anvilBias = _CloudsCoverageSettings.z;
|
parameters.bottomShape = _CloudsShape1.x;
|
||||||
|
parameters.midShape = _CloudsShape1.y;
|
||||||
|
parameters.topShape = _CloudsShape1.z;
|
||||||
|
parameters.topLayer = _CloudsShape1.w;
|
||||||
|
|
||||||
|
parameters.rampShape = _CloudsCoverageSettings.w;
|
||||||
|
|
||||||
|
parameters.cloudTypeShaping = _CloudsCoverageSettings.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitRaymarchParametersLayer2(inout RaymarchParameters parameters)
|
float HenryGreensteinNorm(float cosTheta, float g)
|
||||||
{
|
|
||||||
parameters.scatteringCoef = _CloudsLighting2.x;
|
|
||||||
parameters.hgPhase = _CloudsLighting2.y;
|
|
||||||
parameters.silverLiningIntensity = _CloudsLighting2.z;
|
|
||||||
parameters.silverLiningSpread = _CloudsLighting2.w;
|
|
||||||
|
|
||||||
parameters.multiScatteringA = _CloudsMultiScattering2.x;
|
|
||||||
parameters.multiScatteringB = _CloudsMultiScattering2.y;
|
|
||||||
parameters.multiScatteringC = _CloudsMultiScattering2.z;
|
|
||||||
|
|
||||||
parameters.powderTerm = _CloudsLightingExtended2.x;
|
|
||||||
parameters.attenuation = _CloudsLightingExtended2.y;
|
|
||||||
parameters.lightStep = _CloudsLightingExtended2.z;
|
|
||||||
parameters.lightAbsorb = _CloudsLightingExtended2.w;
|
|
||||||
|
|
||||||
parameters.cloudsParameter = _CloudsParameter2;
|
|
||||||
|
|
||||||
parameters.density = _CloudDensityScale.y;
|
|
||||||
parameters.densitySmoothness = _CloudDensityScale.w;
|
|
||||||
|
|
||||||
parameters.baseErosion = _CloudsErosionIntensity.x;
|
|
||||||
parameters.detailErosion = _CloudsErosionIntensity.y;
|
|
||||||
|
|
||||||
parameters.minSteps = _Steps.z;
|
|
||||||
parameters.maxSteps = _Steps.w;
|
|
||||||
|
|
||||||
parameters.baseNoiseUV = _CloudsNoiseSettings.z;
|
|
||||||
parameters.detailNoiseUV = _CloudsNoiseSettings.w;
|
|
||||||
|
|
||||||
parameters.baseErosionIntensity = _CloudsErosionIntensity.z;
|
|
||||||
parameters.detailErosionIntensity = _CloudsErosionIntensity.w;
|
|
||||||
|
|
||||||
parameters.anvilBias = _CloudsCoverageSettings.w;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float HenryGreenstein(float cosAngle, float g)
|
|
||||||
{
|
{
|
||||||
float g2 = g * g;
|
float g2 = g * g;
|
||||||
return (1.0 / (4.0 * 3.1415926f)) * (1.0 - g2) / pow(abs(1.0 + g2 - 2.0 * g * cosAngle), 1.5);
|
return (1.0 - g2) / (4.0 * PI * pow(1.0 + g2 - 2.0 * g * cosTheta, 1.5));
|
||||||
}
|
}
|
||||||
|
|
||||||
float RemapEnviro(float org_val, float org_min, float org_max, float new_min, float new_max)
|
float RemapEnviro(float org_val, float org_min, float org_max, float new_min, float new_max)
|
||||||
@@ -223,25 +175,6 @@
|
|||||||
return new_min + saturate(((org_val - org_min) / (org_max - org_min))*(new_max - new_min));
|
return new_min + saturate(((org_val - org_min) / (org_max - org_min))*(new_max - new_min));
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 GetHeightGradient(float cloudType)
|
|
||||||
{
|
|
||||||
const float4 CloudGradient1 = float4(0.0, 0.07, 0.08, 0.15);
|
|
||||||
const float4 CloudGradient2 = float4(0.0, 0.2, 0.42, 0.6);
|
|
||||||
const float4 CloudGradient3 = float4(0.0, 0.08, 0.75, 0.98);
|
|
||||||
|
|
||||||
float a = 1.0 - saturate(cloudType * 2.0);
|
|
||||||
float b = 1.0 - abs(cloudType - 0.5) * 2.0;
|
|
||||||
float c = saturate(cloudType - 0.5) * 2.0;
|
|
||||||
|
|
||||||
return CloudGradient1 * a + CloudGradient2 * b + CloudGradient3 * c;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float GradientStep(float a, float4 gradient)
|
|
||||||
{
|
|
||||||
return smoothstep(gradient.x, gradient.y, a) - smoothstep(gradient.z, gradient.w, a);
|
|
||||||
}
|
|
||||||
|
|
||||||
float4 GetWeather(float3 pos)
|
float4 GetWeather(float3 pos)
|
||||||
{
|
{
|
||||||
float2 uv = pos.xz * 0.0000025;
|
float2 uv = pos.xz * 0.0000025;
|
||||||
@@ -293,40 +226,116 @@
|
|||||||
return raymarchEnd;
|
return raymarchEnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float4 GetHeightGradient(float cloudType)
|
||||||
float HeightAlter(float percent_height, float weather, float anvil)
|
|
||||||
{
|
{
|
||||||
float cloud_anvil_amount = 0.5;
|
// x,y = bottom smoothstep, z,w = top smoothstep
|
||||||
float global_coverage = 0.5;
|
const float4 CloudGradient1 = float4(0.0, 0.07, 0.08, 0.15); // Strato
|
||||||
// Round bottom a bit
|
const float4 CloudGradient2 = float4(0.0, 0.20, 0.42, 0.60); // Cumulus
|
||||||
float ret_val = saturate(RemapEnviro(percent_height, 0.0, 0.07, 0.0, 1.0));
|
const float4 CloudGradient3 = float4(0.0, 0.08, 0.75, 0.98); // Nimbus
|
||||||
// Round top a lot
|
|
||||||
float stop_height = saturate(weather + 0.12);
|
float a = 1.0 - saturate(cloudType * 2.0); // 0→0.5 strato
|
||||||
ret_val *= saturate(RemapEnviro(percent_height, stop_height * 0.2, stop_height, 1.0, 0.0));
|
float b = 1.0 - abs(cloudType - 0.5) * 2.0; // around 0.5 cumulus
|
||||||
// Apply anvil ( cumulonimbus /" giant storm" clouds)
|
float c = saturate(cloudType - 0.5) * 2.0; // 0.5→1 nimbus
|
||||||
ret_val = pow(ret_val, saturate(RemapEnviro(percent_height, 0.65, 0.95, 1.0, (1 - cloud_anvil_amount * global_coverage))));
|
|
||||||
return ret_val;
|
return CloudGradient1 * a + CloudGradient2 * b + CloudGradient3 * c;
|
||||||
}
|
}
|
||||||
|
|
||||||
float DensityAlter(float coverage, float percent_height, float anvil)
|
float GradientStep(float a, float4 g)
|
||||||
{
|
{
|
||||||
// Have density be generally increasing over height
|
return smoothstep(g.x, g.y, a) - smoothstep(g.z, g.w, a);
|
||||||
float ret_val = percent_height;
|
}
|
||||||
|
|
||||||
// Reduce density at base
|
// ---------- Final profile with varying bottom ----------
|
||||||
ret_val *= saturate(RemapEnviro(percent_height, 0.0, 0.2, 0.0, 1.0));
|
float CloudTypeShaping(float3 worldPos, float cloudType, RaymarchParameters p)
|
||||||
ret_val *= 2;
|
{
|
||||||
|
float _BottomVariation = 1000; // e.g. 500.0 m of random variation
|
||||||
|
float _NoiseScale = 0.000025; // e.g. 0.001 for slow world-scale noise
|
||||||
|
|
||||||
// Reduce density for the anvil (cumulonimbus clouds)
|
// noise-based base variation
|
||||||
ret_val *= lerp(ret_val, saturate(RemapEnviro(pow(percent_height, 0.5), 0.4, 0.95, 1.0, 0.2)), 1-anvil);
|
float baseOffset = 0;
|
||||||
|
#if ENVIRO_VARIABLE_BOTTOM
|
||||||
|
baseOffset = tex2Dlod(_BottomsOffsetNoise, float4(worldPos.xz * _NoiseScale,0,0)).r * _BottomVariation;
|
||||||
|
#endif
|
||||||
|
float bottom = p.cloudsParameter.x + baseOffset;
|
||||||
|
float top = bottom + (p.cloudsParameter.y - p.cloudsParameter.x);
|
||||||
|
|
||||||
// Reduce density at top to make better transition
|
// normalized height
|
||||||
ret_val *= saturate(RemapEnviro(percent_height, 0.9, 1.0, 1.0, 0.0));
|
float h = saturate((worldPos.y - bottom) / (top - bottom));
|
||||||
return ret_val;
|
|
||||||
|
// choose gradient band based on type
|
||||||
|
float4 gradient = GetHeightGradient(cloudType);
|
||||||
|
|
||||||
|
// final vertical profile
|
||||||
|
return GradientStep(h, gradient);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float CloudVerticalShaping(float heightNorm,
|
||||||
|
float bottomCtrl,
|
||||||
|
float midCtrl,
|
||||||
|
float topCtrl,
|
||||||
|
float ramp)
|
||||||
|
{
|
||||||
|
// --- Define segments ---
|
||||||
|
float2 bottomRange = float2(-0.1, 0.25);
|
||||||
|
float2 midRange = float2(0.20, 0.45);
|
||||||
|
float2 topRange = float2(0.40, 0.8); // top segment fades before 1.0
|
||||||
|
|
||||||
|
// --- Compute smooth ramps ---
|
||||||
|
float bottom = smoothstep(bottomRange.x, bottomRange.y, heightNorm) *
|
||||||
|
(1.0 - smoothstep(bottomRange.x + ramp, bottomRange.y + ramp, heightNorm));
|
||||||
|
|
||||||
|
float mid = smoothstep(midRange.x, midRange.y, heightNorm) *
|
||||||
|
(1.0 - smoothstep(midRange.x + ramp, midRange.y + ramp, heightNorm));
|
||||||
|
|
||||||
|
float top = smoothstep(topRange.x, topRange.y, heightNorm) *
|
||||||
|
(1.0 - smoothstep(topRange.x + ramp, topRange.y + ramp, heightNorm));
|
||||||
|
|
||||||
|
// --- Fade top influence out at absolute top ---
|
||||||
|
//top *= 1.0 - smoothstep(0.95, 1.0, heightNorm);
|
||||||
|
|
||||||
|
// --- Normalize weights so controls are balanced ---
|
||||||
|
float sum = bottom + mid + top + 1e-5;
|
||||||
|
bottom /= sum;
|
||||||
|
mid /= sum;
|
||||||
|
top /= sum;
|
||||||
|
|
||||||
|
// --- Apply coverage controls ---
|
||||||
|
float bias = bottomCtrl * bottom + midCtrl * mid + topCtrl * top;
|
||||||
|
|
||||||
|
// --- Map to envelope multiplier ---
|
||||||
|
// center at 1.0 = no change, limit to avoid full fill
|
||||||
|
float envelope = 1.0 + bias * 0.5; // adjust scale as needed
|
||||||
|
//envelope = envelope;
|
||||||
|
|
||||||
|
//Bottom Round
|
||||||
|
float edgeRound = 1.0 - exp(-heightNorm * 8.0);
|
||||||
|
envelope *= lerp(1.0, edgeRound, 0.9 * bottom);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// --- Subtle round-top modifier ---
|
||||||
|
float edgeRoundTop = 1.0 - exp(-(1.0 - heightNorm) * 8.0); // only affects highest ~0.8–1.0
|
||||||
|
envelope *= lerp(1.0, edgeRoundTop, 1.5 * top);
|
||||||
|
|
||||||
|
if(heightNorm > 0.90)
|
||||||
|
envelope = 0;
|
||||||
|
|
||||||
|
return envelope;
|
||||||
|
}
|
||||||
|
|
||||||
|
float CloudTopLayer(float heightNorm, float baseNoise, float topLayerAdd)
|
||||||
|
{
|
||||||
|
const float topMin = 0.90;
|
||||||
|
const float topMax = 0.94;
|
||||||
|
float verticalFalloff = smoothstep(topMin, topMax, heightNorm) - smoothstep(topMax, 1.0, heightNorm);
|
||||||
|
|
||||||
|
float coverage = baseNoise;
|
||||||
|
return verticalFalloff * coverage * topLayerAdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sample Cloud Density
|
// Sample Cloud Density
|
||||||
float CalculateCloudDensity(float3 pos, float3 PlanetCenter, RaymarchParameters parameters, float2 weather, float mip, float lod, bool details)
|
float CalculateCloudDensity(float3 pos, float3 PlanetCenter, RaymarchParameters parameters, float4 weather, float mip, float lod, bool details)
|
||||||
{
|
{
|
||||||
const float baseFreq = 1e-5;
|
const float baseFreq = 1e-5;
|
||||||
|
|
||||||
@@ -334,127 +343,237 @@
|
|||||||
float height = GetSamplingHeight(pos, PlanetCenter, parameters.cloudsParameter);
|
float height = GetSamplingHeight(pos, PlanetCenter, parameters.cloudsParameter);
|
||||||
|
|
||||||
// wind settings
|
// wind settings
|
||||||
float cloud_top_offset = 2000.0;
|
float cloud_top_offset = 1000.0;
|
||||||
float3 wind_direction = float3(_CloudsWindDirection.x, 0.0, _CloudsWindDirection.y);
|
float3 wind_direction = float3(_CloudsWindDirection.x, 0.0, _CloudsWindDirection.y);
|
||||||
|
|
||||||
// skew in wind direction
|
// skew in wind direction
|
||||||
pos += height * wind_direction * cloud_top_offset;
|
pos += height * wind_direction * cloud_top_offset;
|
||||||
|
|
||||||
float mip1 = mip + lod;// + dist * _LODDistance;
|
float mip1 = mip + lod;
|
||||||
|
|
||||||
float4 coord = float4(pos * baseFreq * parameters.baseNoiseUV, mip1);
|
float4 coord = float4(pos * baseFreq * parameters.baseNoiseUV, mip1);
|
||||||
|
|
||||||
|
|
||||||
// Animate Wind
|
// Animate Wind
|
||||||
coord.xyz += float3(_CloudsWindDirection.z, 0.0f, _CloudsWindDirection.w) * 14;
|
coord.xyz += float3(_CloudsWindDirection.z, 0.0f, _CloudsWindDirection.w) * 14;
|
||||||
|
|
||||||
float4 baseNoise = 0;
|
float4 baseNoise = _Noise.SampleLevel(sampler_Noise, coord.xyz,coord.w) * parameters.baseNoiseMultiplier;
|
||||||
|
|
||||||
baseNoise = _Noise.SampleLevel(sampler_Noise, coord.xyz,coord.w);
|
|
||||||
|
|
||||||
float low_freq_fBm = (baseNoise.g * 0.625) + (baseNoise.b * 0.25) + (baseNoise.a * 0.125);
|
float low_freq_fBm = (baseNoise.g * 0.625) + (baseNoise.b * 0.25) + (baseNoise.a * 0.125);
|
||||||
float base_cloud = RemapEnviro(baseNoise.r, -(1.0 - low_freq_fBm) * parameters.baseErosionIntensity, 1.0, 0.0, 1.0);
|
float base_cloud = RemapEnviro(baseNoise.r, -(1.0 - low_freq_fBm) * (parameters.baseErosionIntensity), 1.0, 0.0, 1.0) ;
|
||||||
|
|
||||||
float heightGradient = GradientStep(height, GetHeightGradient(saturate(weather.g * 2.0)));
|
float targetShape = CloudVerticalShaping(height,parameters.bottomShape,parameters.midShape,parameters.topShape,parameters.rampShape);
|
||||||
|
float heightGradient = CloudTypeShaping(pos,saturate(weather.g + 0.1), parameters);
|
||||||
|
float shapedCloud = base_cloud * targetShape;
|
||||||
|
|
||||||
|
shapedCloud *= lerp(1.0, heightGradient, parameters.cloudTypeShaping);
|
||||||
|
shapedCloud += CloudTopLayer(height, base_cloud, parameters.topLayer);
|
||||||
|
|
||||||
base_cloud *= heightGradient;
|
|
||||||
|
|
||||||
float cloud_coverage = saturate(1-weather.r);
|
float cloud_coverage = saturate(1-weather.r);
|
||||||
|
|
||||||
float densAlter = DensityAlter(cloud_coverage,(1-height * 0.75), parameters.anvilBias);
|
if(height > 0.90)
|
||||||
cloud_coverage = pow(cloud_coverage, densAlter);
|
cloud_coverage = saturate(1-weather.b);
|
||||||
|
|
||||||
// cloud_coverage = pow(cloud_coverage, Remap(height, 0.7, 0.8, 1.0, lerp(1.0, 0.5, parameters.anvilBias)));
|
float cloudDensity = RemapEnviro(shapedCloud, cloud_coverage, 1.0, 0.0, 1.0);
|
||||||
|
|
||||||
float cloudDensity = RemapEnviro(base_cloud, cloud_coverage, 1.0, 0.0, 1.0);
|
|
||||||
|
|
||||||
cloudDensity = max(cloudDensity * (1-cloud_coverage),0.0);
|
|
||||||
|
|
||||||
//DETAIL
|
//DETAIL
|
||||||
[branch]
|
[branch]
|
||||||
if (details)
|
if (details)
|
||||||
{
|
{
|
||||||
float mip2 = mip + lod;// + dist * _LODDistance;
|
float mip2 = mip + lod;
|
||||||
coord = float4(pos * baseFreq * parameters.detailNoiseUV, mip2);
|
coord = float4(pos * baseFreq * parameters.detailNoiseUV, mip2);
|
||||||
|
|
||||||
//HQ Curl
|
//Curl
|
||||||
float3 curl_noise1 = _CurlNoise.SampleLevel(sampler_CurlNoise, float2(coord.xz * 2), 0).rgb;
|
float distToCam = distance(pos, _WorldSpaceCameraPos);
|
||||||
float3 curl_noise2 = _CurlNoise.SampleLevel(sampler_CurlNoise, float2(coord.xy * 2), 0).rgb;
|
float curlFade = saturate(1.0 - distToCam / 30000.0f);
|
||||||
coord.xy += pow(saturate(curl_noise1.rgb),0.1) * parameters.attenuation;
|
|
||||||
coord.xz += pow(saturate(curl_noise2.rgb),0.1) * parameters.attenuation;
|
|
||||||
|
|
||||||
//float3 curl_noise1 = _CurlNoise.SampleLevel(sampler_CurlNoise, float2(coord.xy * 2), 0).rgb;
|
float2 curlA = _CurlNoise.SampleLevel(sampler_CurlNoise, coord.xz * 3, 0).rb;
|
||||||
//coord.xyz += pow(saturate(curl_noise1.rgb),0.1) * parameters.attenuation;
|
float2 curlB = _CurlNoise.SampleLevel(sampler_CurlNoise, coord.xy * 3, 0).rb;
|
||||||
|
float2 curl = pow(lerp(curlA, curlB, 0.5),0.15);
|
||||||
|
|
||||||
|
float curlAmp = parameters.attenuation * curlFade;
|
||||||
|
curl *= curlAmp * saturate(pow(1-height, 0.5));
|
||||||
|
|
||||||
|
coord.xz += curl;
|
||||||
|
coord.y += curl.y * 0.5;
|
||||||
|
|
||||||
coord.xyz += float3(_CloudsWindDirection.z * 14, _CloudsAnimation.z, _CloudsWindDirection.w * 14);
|
coord.xyz += float3(_CloudsWindDirection.z * 14, _CloudsAnimation.z, _CloudsWindDirection.w * 14);
|
||||||
|
|
||||||
float3 detailNoise = _DetailNoise.SampleLevel(sampler_DetailNoise, coord.xyz, coord.w).rgb;
|
float3 detailNoise = _DetailNoise.SampleLevel(sampler_DetailNoise, coord.xyz, coord.w).rgb * parameters.detailNoiseMultiplier;
|
||||||
float high_freq_fBm = (detailNoise.r * 0.625) + (detailNoise.g * 0.25) + (detailNoise.b * 0.125);
|
float high_freq_fBm = (detailNoise.r * 0.625) + (detailNoise.g * 0.25) + (detailNoise.b * 0.125);
|
||||||
float high_freq_noise_modifier = lerp(high_freq_fBm, 1.0f - high_freq_fBm, saturate(height * 10));
|
float high_freq_noise_modifier = lerp(high_freq_fBm, 1.0f - high_freq_fBm, saturate(height * 10));
|
||||||
//float high_freq_noise_modifier = 1.0f - high_freq_fBm;
|
|
||||||
cloudDensity = RemapEnviro(cloudDensity, saturate(high_freq_noise_modifier * parameters.detailErosionIntensity), 1.0, 0.0, 1.0);
|
cloudDensity = RemapEnviro(cloudDensity, saturate(high_freq_noise_modifier * parameters.detailErosionIntensity), 1.0, 0.0, 1.0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(height > 0.9)
|
||||||
|
cloudDensity *= 0.2;
|
||||||
|
|
||||||
return cloudDensity;
|
return cloudDensity;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const float shadowSampleDistance[5] =
|
|
||||||
{
|
|
||||||
0.5, 4, 6, 12.0, 48.0
|
|
||||||
};
|
|
||||||
|
|
||||||
static const float LightingInfluence[5] =
|
float hash11(float n)
|
||||||
{
|
{
|
||||||
4.0f, 2.0f, 2.0f, 4.0f, 2.0f
|
return frac(sin(n) * 43758.5453);
|
||||||
};
|
}
|
||||||
|
|
||||||
// Lighting Sample Function
|
float GetDensityAlongRay(float3 pos, float3 PlanetCenter, RaymarchParameters parameters, float3 LightDirection, float4 weather, float lod)
|
||||||
float GetDensityAlongRay(float3 pos, float3 PlanetCenter, RaymarchParameters parameters, float3 LightDirection, float2 weather, float lod)
|
|
||||||
{
|
{
|
||||||
|
// Extended shadow sampling pattern (near → far)
|
||||||
|
static const float shadowSampleDistance[6] = {0.25, 1.0, 3.0, 8.0, 16.0, 32.0};
|
||||||
|
|
||||||
|
float mipBiasScale = 0.1;
|
||||||
float opticalDepth = 0.0;
|
float opticalDepth = 0.0;
|
||||||
int mip_offset = 0.5;
|
float mipOffset = 0.0;
|
||||||
|
float distanceTraveled = 0.0;
|
||||||
|
float sunHeight = saturate(dot(LightDirection, float3(0,1,0)));
|
||||||
|
float airPathFactor = lerp(0.6, 1.4, pow(sunHeight, 0.5));
|
||||||
|
|
||||||
[unroll]
|
[loop]
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
float stepLength = shadowSampleDistance[i] * (512 * _CloudsLightingExtended.z);
|
float altitude = pos.y;
|
||||||
float3 samplePos = pos + LightDirection * stepLength;
|
float densityFalloff = exp(-altitude / 5000.0) * 0.2;
|
||||||
float sampleResult = CalculateCloudDensity(samplePos, PlanetCenter, parameters, weather, mip_offset, lod, true);
|
|
||||||
opticalDepth += LightingInfluence[i] * sampleResult * (stepLength / (i + 1));
|
// Add normalization constant to bring it back in expected rang
|
||||||
mip_offset += 0.5;
|
float baseStep = shadowSampleDistance[i] * 512.0 * densityFalloff * airPathFactor;
|
||||||
}
|
|
||||||
return pow(opticalDepth * parameters.lightAbsorb,0.5);
|
distanceTraveled += baseStep;
|
||||||
|
|
||||||
|
// Small jitter to avoid banding and create natural shadow softness
|
||||||
|
float jitter = (hash11(dot(pos + LightDirection * distanceTraveled, 37.45)) - 0.5) * baseStep * 0.35;
|
||||||
|
|
||||||
|
// Sample position along the light ray
|
||||||
|
float3 samplePos = pos + LightDirection * (distanceTraveled + jitter);
|
||||||
|
|
||||||
|
// Density sampling (use higher quality for near samples)
|
||||||
|
float density = CalculateCloudDensity(samplePos, PlanetCenter, parameters, weather, mipOffset, lod, i < 2);
|
||||||
|
|
||||||
|
// Exponential weight curve for smoother integration
|
||||||
|
float weight = exp(-0.7 * i);
|
||||||
|
|
||||||
|
opticalDepth += weight * density * baseStep;
|
||||||
|
|
||||||
|
// Adaptive mip bias — increases faster in thick regions
|
||||||
|
mipOffset += saturate(baseStep * mipBiasScale * (1.0 + density * 0.5));
|
||||||
}
|
}
|
||||||
|
|
||||||
float PowderEffect(float cloudDensity, float cosAngle, float intensity)
|
return opticalDepth;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float3 _LightningCenter;
|
||||||
|
float _LightningRadius;
|
||||||
|
float _LightningStart;
|
||||||
|
float _LightningDuration;
|
||||||
|
float _GlobalTime;
|
||||||
|
|
||||||
|
float LightningIntensity(float t)
|
||||||
{
|
{
|
||||||
float powderEffect = 1.0 - exp(-cloudDensity);
|
if (t < 0 || t > _LightningDuration) return 0;
|
||||||
powderEffect = saturate(powderEffect * 2.0);
|
|
||||||
return lerp(1.0, lerp(1.0, powderEffect * 10, smoothstep(0.5, -0.5, cosAngle)), intensity);
|
// ---- Parameters ----
|
||||||
|
float flickerStrength = 0.25; // 0..1 amplitude of flicker
|
||||||
|
float flickerCycles = 3; // number of flickers across duration
|
||||||
|
float endBoost = 2; // 1 = none, 2 = double brightness at end
|
||||||
|
|
||||||
|
// ---- Duration-based scaling ----
|
||||||
|
float riseRate = 1.0 / max(0.15 * _LightningDuration, 0.001);
|
||||||
|
float decayRate = 1.0 / max(_LightningDuration, 0.001);
|
||||||
|
|
||||||
|
float rise = saturate(t * riseRate);
|
||||||
|
float decay = exp(-t * decayRate * _LightningDuration);
|
||||||
|
float envelope = rise * decay;
|
||||||
|
|
||||||
|
// ---- Flicker ----
|
||||||
|
float flickerFreq = flickerCycles / max(_LightningDuration, 0.001);
|
||||||
|
float flicker = 1.0 + flickerStrength * sin(t * flickerFreq * 6.2831853);
|
||||||
|
|
||||||
|
// ---- Late-time boost ----
|
||||||
|
// Progress through flash (0 → 1)
|
||||||
|
float progress = saturate(t / _LightningDuration);
|
||||||
|
// Stronger near the end (ease-in curve)
|
||||||
|
float lateBoost = 1.0 + (endBoost - 1.0) * pow(progress, 3.0);
|
||||||
|
|
||||||
|
return envelope * flicker * lateBoost;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float SampleEnergy(float3 pos, float cosTheta, float3 cent, RaymarchParameters parameters, float3 LightDirection, float height, float ds_loded, float step_size, float2 weather, float lod)
|
float SampleEnergy(
|
||||||
|
float3 pos, float cosTheta, float3 center,
|
||||||
|
RaymarchParameters p, float3 LightDirection,
|
||||||
|
float height, float ds_lod, float step_size,
|
||||||
|
float4 weather, float lod)
|
||||||
{
|
{
|
||||||
float opticsDistance = GetDensityAlongRay(pos, cent, parameters, LightDirection, weather, lod);
|
//--------------------------------
|
||||||
float result = 0.0f;
|
// 1. Optical depth along light
|
||||||
float powder = PowderEffect(ds_loded,cosTheta,parameters.powderTerm);
|
//--------------------------------
|
||||||
|
float tau = GetDensityAlongRay(pos, center, p, LightDirection, weather, lod);
|
||||||
|
float sigma_t = max(p.lightAbsorb, 0.0005);
|
||||||
|
float opticalD = sigma_t * tau;
|
||||||
|
float sunHeight = saturate(dot(LightDirection, float3(0, 1, 0)));
|
||||||
|
float horizonFactor = smoothstep(0.0, 0.3, sunHeight);
|
||||||
|
//--------------------------------
|
||||||
|
// 2. Direct scattering
|
||||||
|
//--------------------------------
|
||||||
|
//float T = exp(-opticalD);
|
||||||
|
float T = exp(-pow(opticalD, 1.05));
|
||||||
|
float g = 0.9 - p.silverLiningSpread;
|
||||||
|
float hgForward = HenryGreensteinNorm(cosTheta, g);
|
||||||
|
float hgIso = 0.25 * INV_PI;
|
||||||
|
float phase = lerp(hgIso + hgForward,hgForward, p.edgeHighlightStrength);
|
||||||
|
float adaptiveDirectScattering = lerp(p.silverLiningIntensity * 2, p.silverLiningIntensity * 0.5, horizonFactor);
|
||||||
|
float direct = T * phase * p.scatteringCoef * adaptiveDirectScattering * 5;
|
||||||
|
|
||||||
[unroll]
|
//--------------------------------
|
||||||
for (int octaveIndex = 0; octaveIndex < 2; octaveIndex++)
|
// 3. Multi-scattering (indirect)
|
||||||
{
|
//--------------------------------
|
||||||
//Multi scattering approximation based on Frostbite paper.
|
float msBase = 1.0 - exp(-opticalD * 0.5);
|
||||||
float transmittance = exp(-parameters.density * pow(parameters.multiScatteringB, octaveIndex) * opticsDistance);
|
float adaptiveFalloff = lerp(p.multiScatterFalloff * 1.5, p.multiScatterFalloff, horizonFactor);
|
||||||
float ecMult = pow(parameters.multiScatteringC, octaveIndex);
|
float msFalloff = exp(-opticalD * adaptiveFalloff );
|
||||||
float phase = lerp(HenryGreenstein(cosTheta, .5 * ecMult), HenryGreenstein(cosTheta,(0.99 - parameters.silverLiningSpread) * ecMult), 0.5f);
|
float adaptiveScattering = lerp(p.multiScatterStrength * 4, p.multiScatterStrength, horizonFactor);
|
||||||
result += phase * transmittance * parameters.scatteringCoef * 25.0f * powder * pow(parameters.multiScatteringA, octaveIndex);
|
float msEnergy = adaptiveScattering * msBase * msFalloff;
|
||||||
|
float phaseMS = 0.25 * INV_PI;
|
||||||
|
float indirect = msEnergy * phaseMS * p.scatteringCoef * 5;
|
||||||
|
|
||||||
|
//--------------------------------
|
||||||
|
// 3a Clouds Tweaks
|
||||||
|
//--------------------------------
|
||||||
|
|
||||||
|
float backlit = smoothstep(0.6, 1.0, cosTheta);
|
||||||
|
direct *= lerp(1.0, 2.0, backlit);
|
||||||
|
|
||||||
|
//--------------------------------
|
||||||
|
// 4. Ambient floor
|
||||||
|
//--------------------------------
|
||||||
|
float ambientFloor = p.ambientFloor * (1.0 - exp(-opticalD * 0.1));
|
||||||
|
|
||||||
|
//--------------------------------
|
||||||
|
// 5. Lightning
|
||||||
|
//--------------------------------
|
||||||
|
float lightning = 0.0;
|
||||||
|
#if ENVIRO_LIGHTNING
|
||||||
|
float dist = length(pos - _LightningCenter);
|
||||||
|
float softness = 0.5;
|
||||||
|
float falloff = exp(-pow(dist / _LightningRadius, 2.0) * softness);
|
||||||
|
float flash = LightningIntensity(_Time.y - _LightningStart);
|
||||||
|
float densityAtten = exp(-tau * 0.004);
|
||||||
|
float dayFactor = _SolarTime;
|
||||||
|
float lightningAdapt = lerp(200.0, 0.001, pow(_SolarTime,0.25));
|
||||||
|
lightning = flash * falloff * densityAtten * lightningAdapt * p.lightningIntensity;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//--------------------------------
|
||||||
|
// 6. Combine total energy
|
||||||
|
//--------------------------------
|
||||||
|
float energy = direct + indirect + ambientFloor + lightning;
|
||||||
|
|
||||||
|
return max(energy * p.exposure, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//float powder = 1.0 - exp(-ds_loded * (1-parameters.powderTerm));
|
|
||||||
// powder = max(lerp(pow(powder * 5, 1.75), 1, cosTheta * 0.5 + 0.5), 0);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
float2 squareUV(float2 uv)
|
float2 squareUV(float2 uv)
|
||||||
{
|
{
|
||||||
@@ -485,6 +604,8 @@
|
|||||||
|
|
||||||
bool resolve_ray_start_end(float3 ws_origin, float3 ws_ray, float3 center, RaymarchParameters parameter, out float start, out float end)
|
bool resolve_ray_start_end(float3 ws_origin, float3 ws_ray, float3 center, RaymarchParameters parameter, out float start, out float end)
|
||||||
{
|
{
|
||||||
|
start = 0;
|
||||||
|
end = 0;
|
||||||
//case includes on ground, inside atm, above atm.
|
//case includes on ground, inside atm, above atm.
|
||||||
float ot1, ot2, it1, it2;
|
float ot1, ot2, it1, it2;
|
||||||
bool outIntersected = ray_trace_sphere(ws_origin, ws_ray, center, parameter.cloudsParameter.w + parameter.cloudsParameter.y, ot1, ot2);
|
bool outIntersected = ray_trace_sphere(ws_origin, ws_ray, center, parameter.cloudsParameter.w + parameter.cloudsParameter.y, ot1, ot2);
|
||||||
@@ -547,7 +668,8 @@
|
|||||||
|
|
||||||
float2 ResolveRay(float3 pos, float3 ray, float3 center, float raymarchEnd, RaymarchParameters parameter)
|
float2 ResolveRay(float3 pos, float3 ray, float3 center, float raymarchEnd, RaymarchParameters parameter)
|
||||||
{
|
{
|
||||||
float sampleStart, sampleEnd = 0;
|
float sampleStart = 0;
|
||||||
|
float sampleEnd = 0;
|
||||||
|
|
||||||
if (!resolve_ray_start_end(pos, ray,center, parameter, sampleStart, sampleEnd))
|
if (!resolve_ray_start_end(pos, ray,center, parameter, sampleStart, sampleEnd))
|
||||||
{
|
{
|
||||||
@@ -593,7 +715,8 @@
|
|||||||
return lerp(0.0, lerp(5.0,0.0,_LODDistance), saturate((distanceToCamera - 3000.0) / (100000.0 - 3000.0)));
|
return lerp(0.0, lerp(5.0,0.0,_LODDistance), saturate((distanceToCamera - 3000.0) / (100000.0 - 3000.0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
float3 Raymarch (float3 cameraPos, float3 ray, float2 hitDistance, float3 center, RaymarchParameters parameters, float offset, int layer)
|
|
||||||
|
float3 Raymarch (float3 cameraPos, float3 ray, float2 hitDistance, float3 center, RaymarchParameters parameters, float offset)
|
||||||
{
|
{
|
||||||
float cloud_test = 0.0;
|
float cloud_test = 0.0;
|
||||||
int zero_density_sample_count = 0;
|
int zero_density_sample_count = 0;
|
||||||
@@ -609,7 +732,6 @@
|
|||||||
|
|
||||||
//int steps = parameters.maxSteps;
|
//int steps = parameters.maxSteps;
|
||||||
float rayStepLength = (hitDistance.y - hitDistance.x) / steps;
|
float rayStepLength = (hitDistance.y - hitDistance.x) / steps;
|
||||||
|
|
||||||
float3 rayStep = ray * rayStepLength;
|
float3 rayStep = ray * rayStepLength;
|
||||||
|
|
||||||
float3 pos = (cameraPos + (hitDistance.x) * ray);
|
float3 pos = (cameraPos + (hitDistance.x) * ray);
|
||||||
@@ -632,12 +754,7 @@
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
// Get Weather Data
|
// Get Weather Data
|
||||||
float2 weather;
|
float4 weather = GetWeather(pos);
|
||||||
|
|
||||||
if(layer == 0)
|
|
||||||
weather = GetWeather(pos).xy;
|
|
||||||
else
|
|
||||||
weather = GetWeather(pos).zw;
|
|
||||||
|
|
||||||
float distanceToCamera = length(pos - cameraPos);
|
float distanceToCamera = length(pos - cameraPos);
|
||||||
float lod = CalculateLodMips(distanceToCamera);
|
float lod = CalculateLodMips(distanceToCamera);
|
||||||
@@ -653,14 +770,13 @@
|
|||||||
|
|
||||||
if (zero_density_sample_count < 8 && sampled_density != 0.0)
|
if (zero_density_sample_count < 8 && sampled_density != 0.0)
|
||||||
{
|
{
|
||||||
float extinction = pow(max(parameters.density * sampled_density,0.001),parameters.densitySmoothness);
|
|
||||||
float clampedExtinction = max(extinction, 1e-7);
|
|
||||||
|
|
||||||
|
float extinction = pow(max(parameters.density * sampled_density, 0.0001), parameters.densitySmoothness);
|
||||||
float transmittance = exp(-extinction * rayStepLength);
|
float transmittance = exp(-extinction * rayStepLength);
|
||||||
//ds += clampedExtinction * rayStepLength;
|
|
||||||
float luminance = SampleEnergy(pos, cosTheta, center, parameters, _LightDir, height, sampled_density, rayStepLength, weather, lod);
|
|
||||||
|
|
||||||
float integScatt = (luminance - luminance * transmittance);// * powder;
|
float ds_lod_local = sampled_density * (1.0 + lod * 0.8);
|
||||||
|
float luminance = SampleEnergy(pos, cosTheta, center, parameters, _LightDir, height, sampled_density, rayStepLength,weather,lod);
|
||||||
|
float integScatt = (luminance - luminance * transmittance);
|
||||||
|
|
||||||
float depthWeight = trans;
|
float depthWeight = trans;
|
||||||
depth += depthWeight * distanceToCamera;
|
depth += depthWeight * distanceToCamera;
|
||||||
@@ -740,7 +856,7 @@
|
|||||||
return float3(mul(eyeToWorld, viewPos).xyz);
|
return float3(mul(eyeToWorld, viewPos).xyz);
|
||||||
}
|
}
|
||||||
|
|
||||||
float RaymarchShadows (float3 cameraPos, float3 worldPos,float3 ray,float3 center, RaymarchParameters parameters, float offset,float depth, int layer)
|
float RaymarchShadows (float3 cameraPos, float3 worldPos,float3 ray,float3 center, RaymarchParameters parameters, float offset,float depth)
|
||||||
{
|
{
|
||||||
if(depth == 0.0f)
|
if(depth == 0.0f)
|
||||||
return 0.0;
|
return 0.0;
|
||||||
@@ -755,19 +871,8 @@
|
|||||||
|
|
||||||
float3 pos = worldPos + bottomDist * _LightDir;
|
float3 pos = worldPos + bottomDist * _LightDir;
|
||||||
|
|
||||||
|
float4 weather = GetWeather(pos);
|
||||||
float2 weather;
|
float intensity = 0.05;
|
||||||
float intensity = 1.0;
|
|
||||||
if(layer == 0)
|
|
||||||
{
|
|
||||||
weather = GetWeather(pos).xy;
|
|
||||||
intensity = 0.05;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
weather = GetWeather(pos).zw;
|
|
||||||
intensity = 0.025;
|
|
||||||
}
|
|
||||||
|
|
||||||
float shadowIntensity = 0.0;
|
float shadowIntensity = 0.0;
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,15 @@ Shader "Enviro3/Lightning" {
|
|||||||
Properties {
|
Properties {
|
||||||
_MainTex ("Texture", 2D) = "white" {}
|
_MainTex ("Texture", 2D) = "white" {}
|
||||||
_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
|
_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
|
||||||
_Intensity("Brightness", float) = 250
|
_BrightnessMod("Brightness Mod ", float) = 250
|
||||||
|
_Brightness("Brightness ", float) = 250
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Category {
|
Category {
|
||||||
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
|
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
|
||||||
Blend One One
|
Blend One One
|
||||||
ColorMask RGB
|
ColorMask RGBA
|
||||||
Cull Off Lighting Off ZWrite Off
|
Cull Off Lighting Off ZWrite Off
|
||||||
|
|
||||||
SubShader {
|
SubShader {
|
||||||
@@ -17,27 +19,32 @@ Category {
|
|||||||
CGPROGRAM
|
CGPROGRAM
|
||||||
#pragma vertex vert
|
#pragma vertex vert
|
||||||
#pragma fragment frag
|
#pragma fragment frag
|
||||||
#pragma target 2.0
|
#pragma target 3.0
|
||||||
#pragma multi_compile_particles
|
#pragma multi_compile_particles
|
||||||
#pragma multi_compile_fog
|
#pragma multi_compile_fog
|
||||||
#pragma exclude_renderers gles
|
#pragma exclude_renderers gles
|
||||||
#include "UnityCG.cginc"
|
#include "UnityCG.cginc"
|
||||||
|
#include "../Includes/FogInclude.cginc"
|
||||||
|
|
||||||
sampler2D _MainTex;
|
sampler2D _MainTex;
|
||||||
float4 _TintColor;
|
float4 _TintColor;
|
||||||
|
|
||||||
float _Intensity;
|
float _Brightness = 1;
|
||||||
|
float _BrightnessMod = 1;
|
||||||
|
|
||||||
struct appdata_t
|
struct appdata_t
|
||||||
{
|
{
|
||||||
float4 vertex : POSITION;
|
float4 vertex : POSITION;
|
||||||
float2 texcoord : TEXCOORD0;
|
float2 texcoord : TEXCOORD0;
|
||||||
|
|
||||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
};
|
};
|
||||||
|
|
||||||
struct v2f {
|
struct v2f {
|
||||||
float4 vertex : SV_POSITION;
|
float4 vertex : SV_POSITION;
|
||||||
float2 texcoord : TEXCOORD0;
|
float2 texcoord : TEXCOORD0;
|
||||||
|
float4 wpos : TEXCOORD1;
|
||||||
|
float4 screenPos : TEXCOORD2;
|
||||||
UNITY_VERTEX_OUTPUT_STEREO
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -50,15 +57,24 @@ Category {
|
|||||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||||
o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex);
|
o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex);
|
||||||
|
float3 viewVector = mul(unity_CameraInvProjection, float4(v.texcoord.xy * 5 - 1, 0, 1));
|
||||||
|
o.wpos = mul(unity_CameraToWorld, float4(viewVector, 0));
|
||||||
|
o.screenPos = ComputeScreenPos(v.vertex);
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fixed4 frag (v2f i) : SV_Target
|
float4 frag (v2f i) : SV_Target
|
||||||
{
|
{
|
||||||
|
float3 worldPos = i.wpos.xyz;
|
||||||
|
float2 screenPos = (i.screenPos.xy/i.screenPos.w);
|
||||||
|
float depth = i.screenPos.w;
|
||||||
|
|
||||||
half4 col = tex2D(_MainTex, i.texcoord) * _TintColor;
|
|
||||||
col.rgb *= _Intensity;
|
float4 col = tex2D(_MainTex, i.texcoord) * _TintColor;
|
||||||
|
col.rgb *= _Brightness * _BrightnessMod;
|
||||||
|
|
||||||
|
//col.rgb = ApplyFogAndVolumetricLights(col.rgb,screenPos,worldPos,depth);
|
||||||
col.rgb *= col.a;
|
col.rgb *= col.a;
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
@@ -66,4 +82,5 @@ Category {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Fallback "Legacy Shaders/Transparent/Diffuse"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"m_Dropdowns": [],
|
"m_Dropdowns": [],
|
||||||
"m_CategoryData": [
|
"m_CategoryData": [
|
||||||
{
|
{
|
||||||
"m_Id": "670988c17c874a878b350644d6378362"
|
"m_Id": "e8457477d85f47cdbd5760f6714ed40f"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"m_Nodes": [
|
"m_Nodes": [
|
||||||
@@ -318,8 +318,8 @@
|
|||||||
],
|
],
|
||||||
"m_VertexContext": {
|
"m_VertexContext": {
|
||||||
"m_Position": {
|
"m_Position": {
|
||||||
"x": 604.0000610351563,
|
"x": 668.9999389648438,
|
||||||
"y": -36.000003814697269
|
"y": -106.00000762939453
|
||||||
},
|
},
|
||||||
"m_Blocks": [
|
"m_Blocks": [
|
||||||
{
|
{
|
||||||
@@ -370,7 +370,7 @@
|
|||||||
"preventRotation": false
|
"preventRotation": false
|
||||||
},
|
},
|
||||||
"m_Path": "Shader Graphs",
|
"m_Path": "Shader Graphs",
|
||||||
"m_GraphPrecision": 1,
|
"m_GraphPrecision": 0,
|
||||||
"m_PreviewMode": 2,
|
"m_PreviewMode": 2,
|
||||||
"m_OutputNode": {
|
"m_OutputNode": {
|
||||||
"m_Id": ""
|
"m_Id": ""
|
||||||
@@ -385,9 +385,6 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"m_Id": "3c3d238a9dcd4aaface18f3ba60c283a"
|
"m_Id": "3c3d238a9dcd4aaface18f3ba60c283a"
|
||||||
},
|
|
||||||
{
|
|
||||||
"m_Id": "f727480299e649e0b4bebebe51b6edcb"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -897,8 +894,8 @@
|
|||||||
"m_GuidSerialized": "82c665ae-b686-446a-adbf-ca374b47522f"
|
"m_GuidSerialized": "82c665ae-b686-446a-adbf-ca374b47522f"
|
||||||
},
|
},
|
||||||
"m_Name": "EnviroLightIntensity",
|
"m_Name": "EnviroLightIntensity",
|
||||||
"m_DefaultRefNameVersion": 1,
|
"m_DefaultRefNameVersion": 0,
|
||||||
"m_RefNameGeneratedByDisplayName": "EnviroLightIntensity",
|
"m_RefNameGeneratedByDisplayName": "",
|
||||||
"m_DefaultReferenceName": "_EnviroLightIntensity",
|
"m_DefaultReferenceName": "_EnviroLightIntensity",
|
||||||
"m_OverrideReferenceName": "",
|
"m_OverrideReferenceName": "",
|
||||||
"m_GeneratePropertyBlock": false,
|
"m_GeneratePropertyBlock": false,
|
||||||
@@ -1056,20 +1053,20 @@
|
|||||||
"m_Id": "527f4520dc014ac08695cb5de879aa46"
|
"m_Id": "527f4520dc014ac08695cb5de879aa46"
|
||||||
},
|
},
|
||||||
"m_AllowMaterialOverride": false,
|
"m_AllowMaterialOverride": false,
|
||||||
"m_SurfaceType": 0,
|
"m_SurfaceType": 1,
|
||||||
"m_ZTestMode": 4,
|
"m_ZTestMode": 4,
|
||||||
"m_ZWriteControl": 0,
|
"m_ZWriteControl": 0,
|
||||||
"m_AlphaMode": 0,
|
"m_AlphaMode": 0,
|
||||||
"m_RenderFace": 2,
|
"m_RenderFace": 2,
|
||||||
"m_AlphaClip": false,
|
"m_AlphaClip": false,
|
||||||
"m_CastShadows": true,
|
"m_CastShadows": false,
|
||||||
"m_ReceiveShadows": true,
|
"m_ReceiveShadows": false,
|
||||||
"m_DisableTint": false,
|
"m_DisableTint": false,
|
||||||
"m_AdditionalMotionVectorMode": 0,
|
"m_AdditionalMotionVectorMode": 0,
|
||||||
"m_AlembicMotionVectors": false,
|
"m_AlembicMotionVectors": false,
|
||||||
"m_SupportsLODCrossFade": false,
|
"m_SupportsLODCrossFade": false,
|
||||||
"m_CustomEditorGUI": "",
|
"m_CustomEditorGUI": "",
|
||||||
"m_SupportVFX": false
|
"m_SupportVFX": true
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -1080,8 +1077,8 @@
|
|||||||
"m_GuidSerialized": "c877e2e3-9ac8-4c27-9b50-d4b1cd04f9eb"
|
"m_GuidSerialized": "c877e2e3-9ac8-4c27-9b50-d4b1cd04f9eb"
|
||||||
},
|
},
|
||||||
"m_Name": "Main",
|
"m_Name": "Main",
|
||||||
"m_DefaultRefNameVersion": 1,
|
"m_DefaultRefNameVersion": 0,
|
||||||
"m_RefNameGeneratedByDisplayName": "Main",
|
"m_RefNameGeneratedByDisplayName": "",
|
||||||
"m_DefaultReferenceName": "_Main",
|
"m_DefaultReferenceName": "_Main",
|
||||||
"m_OverrideReferenceName": "",
|
"m_OverrideReferenceName": "",
|
||||||
"m_GeneratePropertyBlock": true,
|
"m_GeneratePropertyBlock": true,
|
||||||
@@ -1349,24 +1346,6 @@
|
|||||||
"m_Labels": []
|
"m_Labels": []
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
"m_SGVersion": 0,
|
|
||||||
"m_Type": "UnityEditor.ShaderGraph.CategoryData",
|
|
||||||
"m_ObjectId": "670988c17c874a878b350644d6378362",
|
|
||||||
"m_Name": "",
|
|
||||||
"m_ChildObjectList": [
|
|
||||||
{
|
|
||||||
"m_Id": "8e125d129f7f4fb8895db2c5cf03f80e"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"m_Id": "4193b7b5ee0a40c5af601a05eae76808"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"m_Id": "339d365b60bd4eb08953556bc3b8d53f"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"m_SGVersion": 0,
|
"m_SGVersion": 0,
|
||||||
"m_Type": "UnityEditor.ShaderGraph.BlockNode",
|
"m_Type": "UnityEditor.ShaderGraph.BlockNode",
|
||||||
@@ -1589,8 +1568,8 @@
|
|||||||
"m_GuidSerialized": "8e1a91ad-b6c6-43b5-9e4f-57fcd25da05b"
|
"m_GuidSerialized": "8e1a91ad-b6c6-43b5-9e4f-57fcd25da05b"
|
||||||
},
|
},
|
||||||
"m_Name": "Color",
|
"m_Name": "Color",
|
||||||
"m_DefaultRefNameVersion": 1,
|
"m_DefaultRefNameVersion": 0,
|
||||||
"m_RefNameGeneratedByDisplayName": "Color",
|
"m_RefNameGeneratedByDisplayName": "",
|
||||||
"m_DefaultReferenceName": "_Color",
|
"m_DefaultReferenceName": "_Color",
|
||||||
"m_OverrideReferenceName": "",
|
"m_OverrideReferenceName": "",
|
||||||
"m_GeneratePropertyBlock": true,
|
"m_GeneratePropertyBlock": true,
|
||||||
@@ -2212,6 +2191,24 @@
|
|||||||
"m_SerializedDescriptor": "VertexDescription.Position"
|
"m_SerializedDescriptor": "VertexDescription.Position"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"m_SGVersion": 0,
|
||||||
|
"m_Type": "UnityEditor.ShaderGraph.CategoryData",
|
||||||
|
"m_ObjectId": "e8457477d85f47cdbd5760f6714ed40f",
|
||||||
|
"m_Name": "",
|
||||||
|
"m_ChildObjectList": [
|
||||||
|
{
|
||||||
|
"m_Id": "8e125d129f7f4fb8895db2c5cf03f80e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m_Id": "4193b7b5ee0a40c5af601a05eae76808"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m_Id": "339d365b60bd4eb08953556bc3b8d53f"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
"m_SGVersion": 0,
|
"m_SGVersion": 0,
|
||||||
"m_Type": "UnityEditor.ShaderGraph.MultiplyNode",
|
"m_Type": "UnityEditor.ShaderGraph.MultiplyNode",
|
||||||
@@ -2500,14 +2497,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
"m_SGVersion": 0,
|
|
||||||
"m_Type": "UnityEditor.ShaderGraph.VFXTarget",
|
|
||||||
"m_ObjectId": "f727480299e649e0b4bebebe51b6edcb",
|
|
||||||
"m_Lit": false,
|
|
||||||
"m_AlphaTest": false
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"m_SGVersion": 0,
|
"m_SGVersion": 0,
|
||||||
"m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot",
|
"m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot",
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ Shader "Enviro/Skybox"
|
|||||||
|
|
||||||
//uniform samplerCUBE _CubeTex;
|
//uniform samplerCUBE _CubeTex;
|
||||||
//uniform float _CubeIntensity;
|
//uniform float _CubeIntensity;
|
||||||
|
//uniform float _CubeBlend;
|
||||||
|
|
||||||
|
|
||||||
struct VertexInput
|
struct VertexInput
|
||||||
@@ -67,7 +68,7 @@ Shader "Enviro/Skybox"
|
|||||||
|
|
||||||
|
|
||||||
struct v2f {
|
struct v2f {
|
||||||
float4 position : POSITION;
|
float4 position : SV_POSITION;
|
||||||
float4 sunAndMoonPos : TEXCOORD0;
|
float4 sunAndMoonPos : TEXCOORD0;
|
||||||
float3 starPos : TEXCOORD1;
|
float3 starPos : TEXCOORD1;
|
||||||
float3 texcoord : TEXCOORD2;
|
float3 texcoord : TEXCOORD2;
|
||||||
@@ -112,7 +113,7 @@ Shader "Enviro/Skybox"
|
|||||||
{
|
{
|
||||||
o.flatCoords = normalize(v.vertex).xyz;
|
o.flatCoords = normalize(v.vertex).xyz;
|
||||||
float3 flatCoords = normalize(o.flatCoords + float3(0,1,0));
|
float3 flatCoords = normalize(o.flatCoords + float3(0,1,0));
|
||||||
o.flatCoords.y *= 1 - dot(flatCoords.y + 200, float3(0,-0.1,0));
|
o.flatCoords.y *= 1 - dot(flatCoords.y + 200 * _FlatCloudsParams.z, float3(0,-0.1,0));
|
||||||
}
|
}
|
||||||
|
|
||||||
return o;
|
return o;
|
||||||
@@ -153,6 +154,7 @@ Shader "Enviro/Skybox"
|
|||||||
return alpha;
|
return alpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float3 ScreenSpaceDither(float2 vScreenPos, float3 clr)
|
float3 ScreenSpaceDither(float2 vScreenPos, float3 clr)
|
||||||
{
|
{
|
||||||
float _DitheringIntensity = 0.05;
|
float _DitheringIntensity = 0.05;
|
||||||
@@ -233,7 +235,7 @@ Shader "Enviro/Skybox"
|
|||||||
|
|
||||||
//Cube
|
//Cube
|
||||||
//float4 cubeMap = texCUBE(_CubeTex, i.texcoord.xyz);
|
//float4 cubeMap = texCUBE(_CubeTex, i.texcoord.xyz);
|
||||||
//skyColor.rgb = skyColor.rgb * (1 - cubeMap.a) + (cubeMap.rgb * _CubeIntensity) * cubeMap.a;
|
//skyColor.rgb = skyColor.rgb * (1 - cubeMap.a * _CubeBlend) + (cubeMap.rgb * _CubeIntensity) * cubeMap.a * _CubeBlend;
|
||||||
|
|
||||||
//Dithering
|
//Dithering
|
||||||
#ifndef ENVIRO_SIMPLESKY
|
#ifndef ENVIRO_SIMPLESKY
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ Shader "Enviro/HDRP/Sky"
|
|||||||
if(_FlatClouds > 0.0)
|
if(_FlatClouds > 0.0)
|
||||||
{
|
{
|
||||||
float3 flatCloudsUV = wpos;
|
float3 flatCloudsUV = wpos;
|
||||||
flatCloudsUV.y *= 1 - dot(cloudsDir.y + 200, float3(0,-0.1,0));
|
flatCloudsUV.y *= 1 - dot(cloudsDir.y + 200 * _FlatCloudsParams.z, float3(0,-0.1,0));
|
||||||
float4 clouds = Clouds2D(flatCloudsUV, wpos);
|
float4 clouds = Clouds2D(flatCloudsUV, wpos);
|
||||||
skyColor.rgb = skyColor.rgb * (1 - clouds.a) + clouds.rgb * clouds.a;
|
skyColor.rgb = skyColor.rgb * (1 - clouds.a) + clouds.rgb * clouds.a;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7a34fa72bd4185749832024e9c8010bf, type: 3}
|
m_Script: {fileID: 11500000, guid: 7a34fa72bd4185749832024e9c8010bf, type: 3}
|
||||||
m_Name: ScreenSpaceReflections
|
m_Name: ScreenSpaceReflections
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
active: 1
|
active: 0
|
||||||
enabled:
|
enabled:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 1
|
value: 1
|
||||||
@@ -112,19 +112,19 @@ MonoBehaviour:
|
|||||||
value: 1
|
value: 1
|
||||||
intensity:
|
intensity:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 5
|
value: 2
|
||||||
threshold:
|
threshold:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 1.5
|
value: 1
|
||||||
softKnee:
|
softKnee:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 0.39
|
value: 0.27
|
||||||
clamp:
|
clamp:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: 65472
|
value: 65472
|
||||||
diffusion:
|
diffusion:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 6.02
|
value: 5.91
|
||||||
anamorphicRatio:
|
anamorphicRatio:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: 0
|
value: 0
|
||||||
@@ -206,12 +206,12 @@ MonoBehaviour:
|
|||||||
value: 0
|
value: 0
|
||||||
saturation:
|
saturation:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: 2
|
value: 0
|
||||||
brightness:
|
brightness:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: 0
|
value: 0
|
||||||
postExposure:
|
postExposure:
|
||||||
overrideState: 0
|
overrideState: 1
|
||||||
value: 0
|
value: 0
|
||||||
contrast:
|
contrast:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
@@ -1479,7 +1479,7 @@ MonoBehaviour:
|
|||||||
value: {x: 0.5, y: 0.5}
|
value: {x: 0.5, y: 0.5}
|
||||||
intensity:
|
intensity:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 0.29
|
value: 0.428
|
||||||
smoothness:
|
smoothness:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: 0.2
|
value: 0.2
|
||||||
@@ -1593,16 +1593,16 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: c1cb7e9e120078f43bce4f0b1be547a7, type: 3}
|
m_Script: {fileID: 11500000, guid: c1cb7e9e120078f43bce4f0b1be547a7, type: 3}
|
||||||
m_Name: AmbientOcclusion
|
m_Name: AmbientOcclusion
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
active: 1
|
active: 0
|
||||||
enabled:
|
enabled:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 1
|
value: 1
|
||||||
mode:
|
mode:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 0
|
value: 1
|
||||||
intensity:
|
intensity:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 0.89
|
value: 2.95
|
||||||
color:
|
color:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: {r: 0, g: 0, b: 0, a: 1}
|
value: {r: 0, g: 0, b: 0, a: 1}
|
||||||
@@ -1619,8 +1619,8 @@ MonoBehaviour:
|
|||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: -12
|
value: -12
|
||||||
thicknessModifier:
|
thicknessModifier:
|
||||||
overrideState: 0
|
overrideState: 1
|
||||||
value: 4.17
|
value: 5.17
|
||||||
directLightingStrength:
|
directLightingStrength:
|
||||||
overrideState: 0
|
overrideState: 0
|
||||||
value: 0
|
value: 0
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432783962026}
|
m_Father: {fileID: 2413046432783962026}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
@@ -124,9 +124,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432700118398}
|
m_Father: {fileID: 2413046432700118398}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
@@ -219,10 +219,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432656040400}
|
- {fileID: 2413046432656040400}
|
||||||
m_Father: {fileID: 2413046433726484091}
|
m_Father: {fileID: 2413046433726484091}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -304,14 +304,15 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2413046432404320608}
|
m_GameObject: {fileID: 2413046432404320608}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 2705.1064, y: 1790.4824, z: -21.099854}
|
m_LocalPosition: {x: 2705.1064, y: 1790.4824, z: -21.099854}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433323012120}
|
- {fileID: 2413046433323012120}
|
||||||
- {fileID: 2413046433077684165}
|
- {fileID: 2413046433077684165}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &2413046432404320610
|
--- !u!114 &2413046432404320610
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -362,9 +363,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433220840190}
|
m_Father: {fileID: 2413046433220840190}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0.5}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
@@ -437,9 +438,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432878995273}
|
m_Father: {fileID: 2413046432878995273}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0.2}
|
m_AnchorMax: {x: 1, y: 0.2}
|
||||||
@@ -510,10 +511,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433410472108}
|
- {fileID: 2413046433410472108}
|
||||||
m_Father: {fileID: 2413046434230398114}
|
m_Father: {fileID: 2413046434230398114}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -548,9 +549,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433225790058}
|
m_Father: {fileID: 2413046433225790058}
|
||||||
m_RootOrder: 4
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -626,12 +627,12 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434103400238}
|
- {fileID: 2413046434103400238}
|
||||||
- {fileID: 2413046434375944620}
|
- {fileID: 2413046434375944620}
|
||||||
- {fileID: 2413046433330052911}
|
- {fileID: 2413046433330052911}
|
||||||
m_Father: {fileID: 2413046432656040400}
|
m_Father: {fileID: 2413046432656040400}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
@@ -714,9 +715,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046434090177541}
|
m_Father: {fileID: 2413046434090177541}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
@@ -787,10 +788,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432518749822}
|
- {fileID: 2413046432518749822}
|
||||||
m_Father: {fileID: 2413046432356812255}
|
m_Father: {fileID: 2413046432356812255}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -825,10 +826,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433927416005}
|
- {fileID: 2413046433927416005}
|
||||||
m_Father: {fileID: 2413046434439145684}
|
m_Father: {fileID: 2413046434439145684}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
@@ -901,16 +902,16 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432326762962}
|
- {fileID: 2413046432326762962}
|
||||||
- {fileID: 2413046433831738525}
|
- {fileID: 2413046433831738525}
|
||||||
- {fileID: 2413046433220840190}
|
- {fileID: 2413046433220840190}
|
||||||
m_Father: {fileID: 2413046434209632658}
|
m_Father: {fileID: 2413046434209632658}
|
||||||
m_RootOrder: 4
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: -450}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 392, y: 150}
|
m_SizeDelta: {x: 392, y: 150}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!222 &2413046432700118384
|
--- !u!222 &2413046432700118384
|
||||||
@@ -979,9 +980,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433225790058}
|
m_Father: {fileID: 2413046433225790058}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -1058,16 +1059,16 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432320517305}
|
- {fileID: 2413046432320517305}
|
||||||
- {fileID: 2413046434002816022}
|
- {fileID: 2413046434002816022}
|
||||||
- {fileID: 2413046433937540630}
|
- {fileID: 2413046433937540630}
|
||||||
m_Father: {fileID: 2413046434209632658}
|
m_Father: {fileID: 2413046434209632658}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: -150}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 392, y: 150}
|
m_SizeDelta: {x: 392, y: 150}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!222 &2413046432783962028
|
--- !u!222 &2413046432783962028
|
||||||
@@ -1136,9 +1137,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433714667663}
|
m_Father: {fileID: 2413046433714667663}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -1215,9 +1216,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433220840190}
|
m_Father: {fileID: 2413046433220840190}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -1292,10 +1293,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432480722797}
|
- {fileID: 2413046432480722797}
|
||||||
m_Father: {fileID: 2413046433982456924}
|
m_Father: {fileID: 2413046433982456924}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -1330,9 +1331,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046434152851855}
|
m_Father: {fileID: 2413046434152851855}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
m_AnchorMin: {x: 0, y: 0.25}
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
m_AnchorMax: {x: 1, y: 0.75}
|
||||||
@@ -1405,9 +1406,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433417118859}
|
m_Father: {fileID: 2413046433417118859}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
@@ -1477,12 +1478,13 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2413046433077684164}
|
m_GameObject: {fileID: 2413046433077684164}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: -2705.1064, y: -1790.4824, z: 21.099854}
|
m_LocalPosition: {x: -2705.1064, y: -1790.4824, z: 21.099854}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432404320609}
|
m_Father: {fileID: 2413046432404320609}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &2413046433077684167
|
--- !u!114 &2413046433077684167
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -1511,6 +1513,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
m_SendPointerHoverToParent: 1
|
||||||
m_HorizontalAxis: Horizontal
|
m_HorizontalAxis: Horizontal
|
||||||
m_VerticalAxis: Vertical
|
m_VerticalAxis: Vertical
|
||||||
m_SubmitButton: Submit
|
m_SubmitButton: Submit
|
||||||
@@ -1547,10 +1550,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433636003837}
|
- {fileID: 2413046433636003837}
|
||||||
m_Father: {fileID: 2413046433195166800}
|
m_Father: {fileID: 2413046433195166800}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
@@ -1673,12 +1676,12 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434386710856}
|
- {fileID: 2413046434386710856}
|
||||||
- {fileID: 2413046433098440721}
|
- {fileID: 2413046433098440721}
|
||||||
- {fileID: 2413046433533292854}
|
- {fileID: 2413046433533292854}
|
||||||
m_Father: {fileID: 2413046433323012120}
|
m_Father: {fileID: 2413046433323012120}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0.5}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
@@ -1782,12 +1785,12 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432878216077}
|
- {fileID: 2413046432878216077}
|
||||||
- {fileID: 2413046432405474972}
|
- {fileID: 2413046432405474972}
|
||||||
- {fileID: 2413046433726484091}
|
- {fileID: 2413046433726484091}
|
||||||
m_Father: {fileID: 2413046432700118398}
|
m_Father: {fileID: 2413046432700118398}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -1935,9 +1938,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433714667663}
|
m_Father: {fileID: 2413046433714667663}
|
||||||
m_RootOrder: 4
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -2014,6 +2017,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434231952557}
|
- {fileID: 2413046434231952557}
|
||||||
- {fileID: 2413046434439145684}
|
- {fileID: 2413046434439145684}
|
||||||
@@ -2021,10 +2025,9 @@ RectTransform:
|
|||||||
- {fileID: 2413046434152851855}
|
- {fileID: 2413046434152851855}
|
||||||
- {fileID: 2413046432502363467}
|
- {fileID: 2413046432502363467}
|
||||||
m_Father: {fileID: 2413046434209632658}
|
m_Father: {fileID: 2413046434209632658}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 392, y: 150}
|
m_SizeDelta: {x: 392, y: 150}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
@@ -2094,9 +2097,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046434209632658}
|
m_Father: {fileID: 2413046434209632658}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0.5}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
@@ -2170,10 +2173,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433195166800}
|
- {fileID: 2413046433195166800}
|
||||||
m_Father: {fileID: 2413046432404320609}
|
m_Father: {fileID: 2413046432404320609}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
@@ -2197,7 +2200,9 @@ Canvas:
|
|||||||
m_OverrideSorting: 0
|
m_OverrideSorting: 0
|
||||||
m_OverridePixelPerfect: 0
|
m_OverridePixelPerfect: 0
|
||||||
m_SortingBucketNormalizedSize: 0
|
m_SortingBucketNormalizedSize: 0
|
||||||
|
m_VertexColorAlwaysGammaSpace: 0
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
m_AdditionalShaderChannelsFlag: 0
|
||||||
|
m_UpdateRectTransformForStandalone: 0
|
||||||
m_SortingLayerID: 0
|
m_SortingLayerID: 0
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
m_TargetDisplay: 0
|
m_TargetDisplay: 0
|
||||||
@@ -2269,9 +2274,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432518749822}
|
m_Father: {fileID: 2413046432518749822}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -2349,10 +2354,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433830393473}
|
- {fileID: 2413046433830393473}
|
||||||
m_Father: {fileID: 2413046433726484091}
|
m_Father: {fileID: 2413046433726484091}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -2474,9 +2479,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433714667663}
|
m_Father: {fileID: 2413046433714667663}
|
||||||
m_RootOrder: 3
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -2553,9 +2558,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433937540630}
|
m_Father: {fileID: 2413046433937540630}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -2633,9 +2638,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433714667663}
|
m_Father: {fileID: 2413046433714667663}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
@@ -2730,11 +2735,11 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434230398114}
|
- {fileID: 2413046434230398114}
|
||||||
- {fileID: 2413046433982456924}
|
- {fileID: 2413046433982456924}
|
||||||
m_Father: {fileID: 2413046433937540630}
|
m_Father: {fileID: 2413046433937540630}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
@@ -2836,12 +2841,12 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433694626509}
|
- {fileID: 2413046433694626509}
|
||||||
- {fileID: 2413046433678368696}
|
- {fileID: 2413046433678368696}
|
||||||
- {fileID: 2413046433443356002}
|
- {fileID: 2413046433443356002}
|
||||||
m_Father: {fileID: 2413046432482645914}
|
m_Father: {fileID: 2413046432482645914}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
@@ -2922,10 +2927,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432953283687}
|
- {fileID: 2413046432953283687}
|
||||||
m_Father: {fileID: 2413046434152851855}
|
m_Father: {fileID: 2413046434152851855}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -2960,9 +2965,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433410472108}
|
m_Father: {fileID: 2413046433410472108}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -3040,10 +3045,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434129888576}
|
- {fileID: 2413046434129888576}
|
||||||
m_Father: {fileID: 2413046433195166800}
|
m_Father: {fileID: 2413046433195166800}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -3163,10 +3168,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433905832037}
|
- {fileID: 2413046433905832037}
|
||||||
m_Father: {fileID: 2413046433098440721}
|
m_Father: {fileID: 2413046433098440721}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -3201,9 +3206,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433410472108}
|
m_Father: {fileID: 2413046433410472108}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
@@ -3276,9 +3281,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433410472108}
|
m_Father: {fileID: 2413046433410472108}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -3351,6 +3356,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433383219459}
|
- {fileID: 2413046433383219459}
|
||||||
- {fileID: 2413046432864905582}
|
- {fileID: 2413046432864905582}
|
||||||
@@ -3358,11 +3364,10 @@ RectTransform:
|
|||||||
- {fileID: 2413046433341565250}
|
- {fileID: 2413046433341565250}
|
||||||
- {fileID: 2413046433221625785}
|
- {fileID: 2413046433221625785}
|
||||||
m_Father: {fileID: 2413046434209632658}
|
m_Father: {fileID: 2413046434209632658}
|
||||||
m_RootOrder: 3
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: -300}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 392, y: 150}
|
m_SizeDelta: {x: 392, y: 150}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!222 &2413046433714667649
|
--- !u!222 &2413046433714667649
|
||||||
@@ -3432,11 +3437,11 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432356812255}
|
- {fileID: 2413046432356812255}
|
||||||
- {fileID: 2413046433337177102}
|
- {fileID: 2413046433337177102}
|
||||||
m_Father: {fileID: 2413046433220840190}
|
m_Father: {fileID: 2413046433220840190}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
@@ -3537,10 +3542,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434207794518}
|
- {fileID: 2413046434207794518}
|
||||||
m_Father: {fileID: 2413046433337177102}
|
m_Father: {fileID: 2413046433337177102}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -3575,9 +3580,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432700118398}
|
m_Father: {fileID: 2413046432700118398}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -3654,9 +3659,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433636003837}
|
m_Father: {fileID: 2413046433636003837}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
@@ -3729,9 +3734,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432660358772}
|
m_Father: {fileID: 2413046432660358772}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -3805,12 +3810,12 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433347431816}
|
- {fileID: 2413046433347431816}
|
||||||
- {fileID: 2413046434357690813}
|
- {fileID: 2413046434357690813}
|
||||||
- {fileID: 2413046433393691147}
|
- {fileID: 2413046433393691147}
|
||||||
m_Father: {fileID: 2413046432783962026}
|
m_Father: {fileID: 2413046432783962026}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -3910,13 +3915,17 @@ MonoBehaviour:
|
|||||||
m_Image: {fileID: 0}
|
m_Image: {fileID: 0}
|
||||||
- m_Text: Cloudy 2
|
- m_Text: Cloudy 2
|
||||||
m_Image: {fileID: 0}
|
m_Image: {fileID: 0}
|
||||||
|
- m_Text: Cloudy 3
|
||||||
|
m_Image: {fileID: 0}
|
||||||
|
- m_Text: Cloudy 4
|
||||||
|
m_Image: {fileID: 0}
|
||||||
- m_Text: Foggy
|
- m_Text: Foggy
|
||||||
m_Image: {fileID: 0}
|
m_Image: {fileID: 0}
|
||||||
- m_Text: Rain
|
- m_Text: Rain
|
||||||
m_Image: {fileID: 0}
|
m_Image: {fileID: 0}
|
||||||
- m_Text: Snow
|
- m_Text: Snow
|
||||||
m_Image: {fileID: 0}
|
m_Image: {fileID: 0}
|
||||||
- m_Text: Cloudy 3
|
- m_Text: Storm
|
||||||
m_Image: {fileID: 0}
|
m_Image: {fileID: 0}
|
||||||
m_OnValueChanged:
|
m_OnValueChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
@@ -3963,10 +3972,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432878995273}
|
- {fileID: 2413046432878995273}
|
||||||
m_Father: {fileID: 2413046433393691147}
|
m_Father: {fileID: 2413046433393691147}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -4088,9 +4097,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432783962026}
|
m_Father: {fileID: 2413046432783962026}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -4167,9 +4176,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046434439145684}
|
m_Father: {fileID: 2413046434439145684}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -4244,10 +4253,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432652000327}
|
- {fileID: 2413046432652000327}
|
||||||
m_Father: {fileID: 2413046434152851855}
|
m_Father: {fileID: 2413046434152851855}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.25}
|
m_AnchorMin: {x: 0, y: 0.25}
|
||||||
m_AnchorMax: {x: 1, y: 0.75}
|
m_AnchorMax: {x: 1, y: 0.75}
|
||||||
@@ -4282,9 +4291,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432518749822}
|
m_Father: {fileID: 2413046432518749822}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -4355,10 +4364,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434298647222}
|
- {fileID: 2413046434298647222}
|
||||||
m_Father: {fileID: 2413046433533292854}
|
m_Father: {fileID: 2413046433533292854}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -4392,12 +4401,12 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432929531029}
|
- {fileID: 2413046432929531029}
|
||||||
- {fileID: 2413046434090177541}
|
- {fileID: 2413046434090177541}
|
||||||
- {fileID: 2413046433417118859}
|
- {fileID: 2413046433417118859}
|
||||||
m_Father: {fileID: 2413046433225790058}
|
m_Father: {fileID: 2413046433225790058}
|
||||||
m_RootOrder: 3
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -4495,9 +4504,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433830393473}
|
m_Father: {fileID: 2413046433830393473}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0.2}
|
m_AnchorMax: {x: 1, y: 0.2}
|
||||||
@@ -4569,6 +4578,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046433276485461}
|
- {fileID: 2413046433276485461}
|
||||||
- {fileID: 2413046433225790058}
|
- {fileID: 2413046433225790058}
|
||||||
@@ -4576,11 +4586,10 @@ RectTransform:
|
|||||||
- {fileID: 2413046433714667663}
|
- {fileID: 2413046433714667663}
|
||||||
- {fileID: 2413046432700118398}
|
- {fileID: 2413046432700118398}
|
||||||
m_Father: {fileID: 2413046434386710856}
|
m_Father: {fileID: 2413046434386710856}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: -0.000012636185}
|
||||||
m_SizeDelta: {x: 0, y: 150}
|
m_SizeDelta: {x: 0, y: 150}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!114 &2413046434209632659
|
--- !u!114 &2413046434209632659
|
||||||
@@ -4638,10 +4647,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432482645914}
|
- {fileID: 2413046432482645914}
|
||||||
m_Father: {fileID: 2413046433393691147}
|
m_Father: {fileID: 2413046433393691147}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -4728,9 +4737,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433225790058}
|
m_Father: {fileID: 2413046433225790058}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
@@ -4822,9 +4831,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433714667663}
|
m_Father: {fileID: 2413046433714667663}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@@ -4901,9 +4910,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046434129888576}
|
m_Father: {fileID: 2413046434129888576}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
@@ -4976,9 +4985,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046433937540630}
|
m_Father: {fileID: 2413046433937540630}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0.5}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
@@ -5051,9 +5060,9 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 2413046432518749822}
|
m_Father: {fileID: 2413046432518749822}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
@@ -5127,10 +5136,10 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046434209632658}
|
- {fileID: 2413046434209632658}
|
||||||
m_Father: {fileID: 2413046433195166800}
|
m_Father: {fileID: 2413046433195166800}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
@@ -5215,11 +5224,11 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2413046432660358772}
|
- {fileID: 2413046432660358772}
|
||||||
- {fileID: 2413046434058588829}
|
- {fileID: 2413046434058588829}
|
||||||
m_Father: {fileID: 2413046433225790058}
|
m_Father: {fileID: 2413046433225790058}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ namespace Enviro
|
|||||||
|
|
||||||
EnviroManager.instance.OnZoneWeatherChanged += (EnviroWeatherType w, EnviroZone z) =>
|
EnviroManager.instance.OnZoneWeatherChanged += (EnviroWeatherType w, EnviroZone z) =>
|
||||||
{
|
{
|
||||||
// Debug.Log("Weather changed to: " + w.name.ToString() + " in zone:" + z.name);
|
Debug.Log("Weather changed to: " + w.name.ToString() + " in zone:" + z.name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[RequireComponent(typeof(Camera))]
|
||||||
|
public class SimpleFlyController : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Mouse Look Settings")]
|
||||||
|
public float lookSensitivity = 2f;
|
||||||
|
public float lookSmoothing = 5f;
|
||||||
|
public float maxPitch = 89f;
|
||||||
|
|
||||||
|
[Header("Movement Settings")]
|
||||||
|
public float moveSpeed = 10f;
|
||||||
|
public float fastMultiplier = 3f;
|
||||||
|
|
||||||
|
float yaw;
|
||||||
|
float pitch;
|
||||||
|
Vector2 smoothLook;
|
||||||
|
bool cursorLocked = true;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
Vector3 euler = transform.eulerAngles;
|
||||||
|
yaw = euler.y;
|
||||||
|
pitch = euler.x;
|
||||||
|
|
||||||
|
LockCursor(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
HandleCursorToggle();
|
||||||
|
if (cursorLocked)
|
||||||
|
{
|
||||||
|
HandleMouseLook();
|
||||||
|
HandleMovement();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleCursorToggle()
|
||||||
|
{
|
||||||
|
if (Input.GetKeyDown(KeyCode.Escape))
|
||||||
|
LockCursor(!cursorLocked);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LockCursor(bool locked)
|
||||||
|
{
|
||||||
|
cursorLocked = locked;
|
||||||
|
Cursor.lockState = locked ? CursorLockMode.Locked : CursorLockMode.None;
|
||||||
|
Cursor.visible = !locked;
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleMouseLook()
|
||||||
|
{
|
||||||
|
Vector2 mouseInput = new Vector2(
|
||||||
|
Input.GetAxis("Mouse X"),
|
||||||
|
Input.GetAxis("Mouse Y")
|
||||||
|
);
|
||||||
|
|
||||||
|
// Smooth mouse movement (optional)
|
||||||
|
smoothLook = Vector2.Lerp(smoothLook, mouseInput, Time.deltaTime * lookSmoothing);
|
||||||
|
|
||||||
|
yaw += smoothLook.x * lookSensitivity;
|
||||||
|
pitch -= smoothLook.y * lookSensitivity;
|
||||||
|
pitch = Mathf.Clamp(pitch, -maxPitch, maxPitch);
|
||||||
|
|
||||||
|
transform.rotation = Quaternion.Euler(pitch, yaw, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleMovement()
|
||||||
|
{
|
||||||
|
float moveX = Input.GetAxisRaw("Horizontal"); // A/D
|
||||||
|
float moveY = 0f;
|
||||||
|
float moveZ = Input.GetAxisRaw("Vertical"); // W/S
|
||||||
|
|
||||||
|
if (Input.GetKey(KeyCode.E)) moveY += 1f; // Up
|
||||||
|
if (Input.GetKey(KeyCode.Q)) moveY -= 1f; // Down
|
||||||
|
|
||||||
|
Vector3 move = new Vector3(moveX, moveY, moveZ).normalized;
|
||||||
|
float speed = moveSpeed * (Input.GetKey(KeyCode.LeftShift) ? fastMultiplier : 1f);
|
||||||
|
transform.position += transform.TransformDirection(move) * speed * Time.deltaTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cb41acd897014da429d1897a48c8c330
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -18,7 +18,6 @@
|
|||||||
#pragma target 3.0
|
#pragma target 3.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sampler2D _MainTex;
|
sampler2D _MainTex;
|
||||||
sampler2D _CameraDepthTexture;
|
sampler2D _CameraDepthTexture;
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using UnityEngine;
|
|||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using UnityEditor.Build;
|
||||||
|
|
||||||
public class EnviroBaseInspector : Editor
|
public class EnviroBaseInspector : Editor
|
||||||
{
|
{
|
||||||
@@ -150,13 +151,13 @@ public class EnviroBaseInspector : Editor
|
|||||||
|
|
||||||
public void ApplyChanges()
|
public void ApplyChanges()
|
||||||
{
|
{
|
||||||
if (EditorGUI.EndChangeCheck ()) {
|
if (EditorGUI.EndChangeCheck())
|
||||||
|
{
|
||||||
serializedObj.ApplyModifiedProperties();
|
serializedObj.ApplyModifiedProperties();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void AddDefineSymbol(string symbol)
|
||||||
public void AddDefineSymbol(string symbol)
|
|
||||||
{
|
{
|
||||||
var targets = Enum.GetValues(typeof(BuildTargetGroup))
|
var targets = Enum.GetValues(typeof(BuildTargetGroup))
|
||||||
.Cast<BuildTargetGroup>()
|
.Cast<BuildTargetGroup>()
|
||||||
@@ -165,36 +166,42 @@ public class EnviroBaseInspector : Editor
|
|||||||
|
|
||||||
foreach (var target in targets)
|
foreach (var target in targets)
|
||||||
{
|
{
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
var namedTarget = NamedBuildTarget.FromBuildTargetGroup(target);
|
||||||
|
var defines = PlayerSettings.GetScriptingDefineSymbols(namedTarget).Trim();
|
||||||
|
#else
|
||||||
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Trim();
|
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Trim();
|
||||||
|
#endif
|
||||||
|
|
||||||
var list = defines.Split(';', ' ')
|
var list = defines.Split(new[] { ';', ' ' }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
.Where(x => !string.IsNullOrEmpty(x))
|
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
if (list.Contains(symbol))
|
if (list.Contains(symbol))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
list.Add(symbol);
|
list.Add(symbol);
|
||||||
defines = list.Aggregate((a, b) => a + ";" + b);
|
defines = string.Join(";", list);
|
||||||
|
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
PlayerSettings.SetScriptingDefineSymbols(namedTarget, defines);
|
||||||
|
#else
|
||||||
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, defines);
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, defines);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static bool IsObsolete(BuildTargetGroup group)
|
||||||
bool IsObsolete(BuildTargetGroup group)
|
|
||||||
{
|
{
|
||||||
var attrs = typeof(BuildTargetGroup)
|
var field = typeof(BuildTargetGroup).GetField(group.ToString());
|
||||||
.GetField(group.ToString())
|
if (field == null)
|
||||||
.GetCustomAttributes(typeof(ObsoleteAttribute), false);
|
return false;
|
||||||
|
|
||||||
|
var attrs = field.GetCustomAttributes(typeof(ObsoleteAttribute), false);
|
||||||
return attrs != null && attrs.Length > 0;
|
return attrs != null && attrs.Length > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveDefineSymbol(string symbol)
|
public static void RemoveDefineSymbol(string symbol)
|
||||||
{
|
{
|
||||||
string symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
|
|
||||||
|
|
||||||
var targets = Enum.GetValues(typeof(BuildTargetGroup))
|
var targets = Enum.GetValues(typeof(BuildTargetGroup))
|
||||||
.Cast<BuildTargetGroup>()
|
.Cast<BuildTargetGroup>()
|
||||||
.Where(x => x != BuildTargetGroup.Unknown)
|
.Where(x => x != BuildTargetGroup.Unknown)
|
||||||
@@ -202,13 +209,25 @@ public class EnviroBaseInspector : Editor
|
|||||||
|
|
||||||
foreach (var target in targets)
|
foreach (var target in targets)
|
||||||
{
|
{
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
var namedTarget = NamedBuildTarget.FromBuildTargetGroup(target);
|
||||||
|
var defines = PlayerSettings.GetScriptingDefineSymbols(namedTarget).Trim();
|
||||||
|
#else
|
||||||
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Trim();
|
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Trim();
|
||||||
|
#endif
|
||||||
|
var list = defines.Split(new[] { ';', ' ' }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
if (defines.Contains(symbol))
|
if (list.Contains(symbol))
|
||||||
{
|
{
|
||||||
defines = defines.Replace(symbol + "; ", "");
|
list.RemoveAll(s => s == symbol);
|
||||||
defines = defines.Replace(symbol, "");
|
defines = string.Join(";", list);
|
||||||
|
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
PlayerSettings.SetScriptingDefineSymbols(namedTarget, defines);
|
||||||
|
#else
|
||||||
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, defines);
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, defines);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
|
using UnityEditor.Build;
|
||||||
|
|
||||||
[InitializeOnLoad]
|
[InitializeOnLoad]
|
||||||
sealed class EnviroDefineSymbol
|
sealed class EnviroDefineSymbol
|
||||||
@@ -16,19 +17,27 @@ sealed class EnviroDefineSymbol
|
|||||||
|
|
||||||
foreach (var target in targets)
|
foreach (var target in targets)
|
||||||
{
|
{
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
var namedTarget = NamedBuildTarget.FromBuildTargetGroup(target);
|
||||||
|
var defines = PlayerSettings.GetScriptingDefineSymbols(namedTarget).Trim();
|
||||||
|
#else
|
||||||
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Trim();
|
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(target).Trim();
|
||||||
|
#endif
|
||||||
|
|
||||||
var list = defines.Split(';', ' ')
|
var list = defines.Split(new[] { ';', ' ' }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
.Where(x => !string.IsNullOrEmpty(x))
|
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
if (list.Contains(k_Define))
|
if (list.Contains(k_Define))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
list.Add(k_Define);
|
list.Add(k_Define);
|
||||||
defines = list.Aggregate((a, b) => a + ";" + b);
|
defines = string.Join(";", list);
|
||||||
|
|
||||||
|
#if UNITY_6000_0_OR_NEWER
|
||||||
|
PlayerSettings.SetScriptingDefineSymbols(namedTarget, defines);
|
||||||
|
#else
|
||||||
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, defines);
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, defines);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Enviro{
|
|||||||
GUILayout.BeginVertical("", boxStyle);
|
GUILayout.BeginVertical("", boxStyle);
|
||||||
GUILayout.Label("Enviro - Sky and Weather Manager",headerStyleMid);
|
GUILayout.Label("Enviro - Sky and Weather Manager",headerStyleMid);
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
GUILayout.Label("Version: 3.2.1", headerStyleMid);
|
GUILayout.Label("Version: " + myTarget.version, headerStyleMid);
|
||||||
|
|
||||||
|
|
||||||
//Help Box Button
|
//Help Box Button
|
||||||
@@ -159,6 +159,14 @@ namespace Enviro{
|
|||||||
serializedObj.Update();
|
serializedObj.Update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (myTarget.version != myTarget.configuration.version)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(configuration);
|
||||||
|
if(GUILayout.Button("Update Configuration!"))
|
||||||
|
{
|
||||||
|
myTarget.UpdateConfiguration(myTarget.configuration.version);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GUILayout.BeginVertical("", boxStyleModified);
|
GUILayout.BeginVertical("", boxStyleModified);
|
||||||
@@ -310,12 +318,10 @@ namespace Enviro{
|
|||||||
{
|
{
|
||||||
if(currentTimeModuleEditor == null)
|
if(currentTimeModuleEditor == null)
|
||||||
currentTimeModuleEditor = Editor.CreateEditor(myTarget.Time);
|
currentTimeModuleEditor = Editor.CreateEditor(myTarget.Time);
|
||||||
|
|
||||||
currentTimeModuleEditor.OnInspectorGUI();
|
currentTimeModuleEditor.OnInspectorGUI();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
GUI.backgroundColor = baseModuleColor;
|
GUI.backgroundColor = baseModuleColor;
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
GUILayout.BeginVertical("",boxStyleModified);
|
||||||
GUI.backgroundColor = Color.white;
|
GUI.backgroundColor = Color.white;
|
||||||
@@ -325,8 +331,8 @@ namespace Enviro{
|
|||||||
if(myTarget.showNonTimeControls)
|
if(myTarget.showNonTimeControls)
|
||||||
{
|
{
|
||||||
EditorGUILayout.LabelField("This module will control your sun and moon position when no time module is used.");
|
EditorGUILayout.LabelField("This module will control your sun and moon position when no time module is used.");
|
||||||
serializedObj.UpdateIfRequiredOrScript ();
|
//serializedObj.UpdateIfRequiredOrScript ();
|
||||||
EditorGUI.BeginChangeCheck();
|
//EditorGUI.BeginChangeCheck();
|
||||||
GUI.backgroundColor = categoryModuleColor;
|
GUI.backgroundColor = categoryModuleColor;
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
GUILayout.BeginVertical("",boxStyleModified);
|
||||||
GUI.backgroundColor = Color.white;
|
GUI.backgroundColor = Color.white;
|
||||||
@@ -481,6 +487,7 @@ namespace Enviro{
|
|||||||
|
|
||||||
if (myTarget.showThirdParty)
|
if (myTarget.showThirdParty)
|
||||||
{
|
{
|
||||||
|
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
|
|
||||||
//WAPI
|
//WAPI
|
||||||
@@ -558,11 +565,9 @@ namespace Enviro{
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
//////////
|
|
||||||
|
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
|
||||||
ApplyChanges();
|
ApplyChanges();
|
||||||
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace Enviro
|
|||||||
|
|
||||||
//Properties 2D
|
//Properties 2D
|
||||||
private SerializedProperty useFlatClouds, flatCloudsBaseTex, flatCloudsDetailTex, flatCloudsLightColor, flatCloudsAmbientColor, flatCloudsLightIntensity, flatCloudsAmbientIntensity,
|
private SerializedProperty useFlatClouds, flatCloudsBaseTex, flatCloudsDetailTex, flatCloudsLightColor, flatCloudsAmbientColor, flatCloudsLightIntensity, flatCloudsAmbientIntensity,
|
||||||
flatCloudsAbsorbtion, flatCloudsHGPhase, flatCloudsCoverage, flatCloudsDensity, flatCloudsAltitude, flatCloudsTonemapping, flatCloudsBaseTiling, flatCloudsDetailTiling, flatCloudsWindIntensity,flatCloudsDetailWindIntensity;
|
flatCloudsShadowIntensity, flatCloudsHGPhase, flatCloudsCoverage, flatCloudsDensity, flatCloudsAltitude, flatCloudsShadowSteps, flatCloudsBaseTiling, flatCloudsDetailTiling, flatCloudsWindIntensity,flatCloudsDetailWindIntensity;
|
||||||
|
|
||||||
//On Enable
|
//On Enable
|
||||||
public override void OnEnable()
|
public override void OnEnable()
|
||||||
@@ -45,12 +45,12 @@ namespace Enviro
|
|||||||
flatCloudsAmbientColor = serializedObj.FindProperty("settings.flatCloudsAmbientColor");
|
flatCloudsAmbientColor = serializedObj.FindProperty("settings.flatCloudsAmbientColor");
|
||||||
flatCloudsLightIntensity = serializedObj.FindProperty("settings.flatCloudsLightIntensity");
|
flatCloudsLightIntensity = serializedObj.FindProperty("settings.flatCloudsLightIntensity");
|
||||||
flatCloudsAmbientIntensity = serializedObj.FindProperty("settings.flatCloudsAmbientIntensity");
|
flatCloudsAmbientIntensity = serializedObj.FindProperty("settings.flatCloudsAmbientIntensity");
|
||||||
flatCloudsAbsorbtion = serializedObj.FindProperty("settings.flatCloudsAbsorbtion");
|
flatCloudsShadowIntensity = serializedObj.FindProperty("settings.flatCloudsShadowIntensity");
|
||||||
flatCloudsHGPhase = serializedObj.FindProperty("settings.flatCloudsHGPhase");
|
flatCloudsHGPhase = serializedObj.FindProperty("settings.flatCloudsHGPhase");
|
||||||
flatCloudsCoverage = serializedObj.FindProperty("settings.flatCloudsCoverage");
|
flatCloudsCoverage = serializedObj.FindProperty("settings.flatCloudsCoverage");
|
||||||
flatCloudsDensity = serializedObj.FindProperty("settings.flatCloudsDensity");
|
flatCloudsDensity = serializedObj.FindProperty("settings.flatCloudsDensity");
|
||||||
flatCloudsAltitude = serializedObj.FindProperty("settings.flatCloudsAltitude");
|
flatCloudsAltitude = serializedObj.FindProperty("settings.flatCloudsAltitude");
|
||||||
flatCloudsTonemapping = serializedObj.FindProperty("settings.flatCloudsTonemapping");
|
flatCloudsShadowSteps = serializedObj.FindProperty("settings.flatCloudsShadowSteps");
|
||||||
flatCloudsBaseTiling = serializedObj.FindProperty("settings.flatCloudsBaseTiling");
|
flatCloudsBaseTiling = serializedObj.FindProperty("settings.flatCloudsBaseTiling");
|
||||||
flatCloudsDetailTiling = serializedObj.FindProperty("settings.flatCloudsDetailTiling");
|
flatCloudsDetailTiling = serializedObj.FindProperty("settings.flatCloudsDetailTiling");
|
||||||
flatCloudsWindIntensity = serializedObj.FindProperty("settings.flatCloudsWindIntensity");
|
flatCloudsWindIntensity = serializedObj.FindProperty("settings.flatCloudsWindIntensity");
|
||||||
@@ -138,8 +138,12 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(flatCloudsAmbientColor);
|
EditorGUILayout.PropertyField(flatCloudsAmbientColor);
|
||||||
DisableInputStart();
|
DisableInputStart();
|
||||||
EditorGUILayout.PropertyField(flatCloudsAmbientIntensity);
|
EditorGUILayout.PropertyField(flatCloudsAmbientIntensity);
|
||||||
EditorGUILayout.PropertyField(flatCloudsAbsorbtion);
|
GUILayout.Space(5);
|
||||||
|
EditorGUILayout.PropertyField(flatCloudsShadowIntensity);
|
||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
|
DisableInputStartQuality();
|
||||||
|
EditorGUILayout.PropertyField(flatCloudsShadowSteps);
|
||||||
|
DisableInputEndQuality();
|
||||||
EditorGUILayout.PropertyField(flatCloudsHGPhase);
|
EditorGUILayout.PropertyField(flatCloudsHGPhase);
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
DisableInputStart();
|
DisableInputStart();
|
||||||
@@ -147,7 +151,6 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(flatCloudsDensity);
|
EditorGUILayout.PropertyField(flatCloudsDensity);
|
||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
EditorGUILayout.PropertyField(flatCloudsAltitude);
|
EditorGUILayout.PropertyField(flatCloudsAltitude);
|
||||||
EditorGUILayout.PropertyField(flatCloudsTonemapping);
|
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(flatCloudsWindIntensity);
|
EditorGUILayout.PropertyField(flatCloudsWindIntensity);
|
||||||
EditorGUILayout.PropertyField(flatCloudsDetailWindIntensity);
|
EditorGUILayout.PropertyField(flatCloudsDetailWindIntensity);
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace Enviro
|
|||||||
|
|
||||||
//Properties
|
//Properties
|
||||||
private SerializedProperty fog, volumetrics, ditheringTex, quality, steps, scattering,scatteringMultiplier, extinction, anistropy, maxRange,maxRangePointSpot, noiseIntensity, noiseScale, windDirection, noise;
|
private SerializedProperty fog, volumetrics, ditheringTex, quality, steps, scattering,scatteringMultiplier, extinction, anistropy, maxRange,maxRangePointSpot, noiseIntensity, noiseScale, windDirection, noise;
|
||||||
private SerializedProperty fogQualityMode,globalFogHeight, fogDensity, fogHeightFalloff, fogHeight, fogDensity2, fogHeightFalloff2, fogHeight2, fogMaxOpacity, startDistance, fogColorBlend,fogColorMod,ambientColorGradient;
|
private SerializedProperty fogQualityMode,globalFogHeight, fogDensity, fogHeightFalloff, fogHeight, fogDensity2, fogHeightFalloff2, fogHeight2, fogMaxOpacity, startDistance, fogColorBlend,fogColorMod,ambientColorGradient,blockScattering;
|
||||||
private SerializedProperty unityFog, unityFogDensity, unityFogColor, unityFogMode, unityFogStartDistance, unityFogEndDistance;
|
private SerializedProperty unityFog, unityFogDensity, unityFogColor, unityFogMode, unityFogStartDistance, unityFogEndDistance;
|
||||||
|
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
@@ -59,6 +59,7 @@ namespace Enviro
|
|||||||
fogColorBlend = serializedObj.FindProperty("Settings.fogColorBlend");
|
fogColorBlend = serializedObj.FindProperty("Settings.fogColorBlend");
|
||||||
ambientColorGradient = serializedObj.FindProperty("Settings.ambientColorGradient");
|
ambientColorGradient = serializedObj.FindProperty("Settings.ambientColorGradient");
|
||||||
fogColorMod = serializedObj.FindProperty("Settings.fogColorMod");
|
fogColorMod = serializedObj.FindProperty("Settings.fogColorMod");
|
||||||
|
blockScattering = serializedObj.FindProperty("Settings.blockScattering");
|
||||||
|
|
||||||
//HDRP
|
//HDRP
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
@@ -155,9 +156,10 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(fogMaxOpacity);
|
EditorGUILayout.PropertyField(fogMaxOpacity);
|
||||||
EditorGUILayout.PropertyField(startDistance);
|
EditorGUILayout.PropertyField(startDistance);
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
DisableInputStart();
|
|
||||||
EditorGUILayout.LabelField("Color",headerStyle);
|
EditorGUILayout.LabelField("Color",headerStyle);
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
|
EditorGUILayout.PropertyField(blockScattering);
|
||||||
|
DisableInputStart();
|
||||||
EditorGUILayout.PropertyField(fogColorBlend);
|
EditorGUILayout.PropertyField(fogColorBlend);
|
||||||
EditorGUILayout.PropertyField(fogColorMod);
|
EditorGUILayout.PropertyField(fogColorMod);
|
||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace Enviro
|
|||||||
private SerializedProperty shadowIntensity, ambientIntensityModifier,ambientMode, ambientUpdateIntervall,ambientUpdateEveryFrame, ambientSkyColorGradient, ambientEquatorColorGradient, ambientGroundColorGradient, ambientIntensityCurve;
|
private SerializedProperty shadowIntensity, ambientIntensityModifier,ambientMode, ambientUpdateIntervall,ambientUpdateEveryFrame, ambientSkyColorGradient, ambientEquatorColorGradient, ambientGroundColorGradient, ambientIntensityCurve;
|
||||||
|
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
private SerializedProperty sunIntensityCurveHDRP, moonIntensityCurveHDRP, lightColorTemperatureHDRP, lightColorTintHDRP,ambientColorTintHDRP, controlExposure, sceneExposure, controlIndirectLighting, diffuseIndirectIntensity, reflectionIndirectIntensity;
|
private SerializedProperty lightIntensityHDRP ,lightColorTemperatureHDRP,ambientColorTintHDRP, controlExposure, sceneExposure, controlIndirectLighting, diffuseIndirectIntensity, reflectionIndirectIntensity;
|
||||||
#endif
|
#endif
|
||||||
//On Enable
|
//On Enable
|
||||||
public override void OnEnable()
|
public override void OnEnable()
|
||||||
@@ -50,10 +50,8 @@ namespace Enviro
|
|||||||
ambientUpdateIntervall = serializedObj.FindProperty("Settings.ambientUpdateIntervall");
|
ambientUpdateIntervall = serializedObj.FindProperty("Settings.ambientUpdateIntervall");
|
||||||
ambientUpdateEveryFrame = serializedObj.FindProperty("Settings.ambientUpdateEveryFrame");
|
ambientUpdateEveryFrame = serializedObj.FindProperty("Settings.ambientUpdateEveryFrame");
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
sunIntensityCurveHDRP = serializedObj.FindProperty("Settings.sunIntensityCurveHDRP");
|
lightIntensityHDRP = serializedObj.FindProperty("Settings.lightIntensityHDRP");
|
||||||
moonIntensityCurveHDRP = serializedObj.FindProperty("Settings.moonIntensityCurveHDRP");
|
|
||||||
lightColorTemperatureHDRP = serializedObj.FindProperty("Settings.lightColorTemperatureHDRP");
|
lightColorTemperatureHDRP = serializedObj.FindProperty("Settings.lightColorTemperatureHDRP");
|
||||||
lightColorTintHDRP = serializedObj.FindProperty("Settings.lightColorTintHDRP");
|
|
||||||
ambientColorTintHDRP = serializedObj.FindProperty("Settings.ambientColorTintHDRP");
|
ambientColorTintHDRP = serializedObj.FindProperty("Settings.ambientColorTintHDRP");
|
||||||
controlExposure = serializedObj.FindProperty("Settings.controlExposure");
|
controlExposure = serializedObj.FindProperty("Settings.controlExposure");
|
||||||
sceneExposure = serializedObj.FindProperty("Settings.sceneExposure");
|
sceneExposure = serializedObj.FindProperty("Settings.sceneExposure");
|
||||||
@@ -113,12 +111,11 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(updateIntervallFrames);
|
EditorGUILayout.PropertyField(updateIntervallFrames);
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.LabelField("Light Intensity",headerStyle);
|
EditorGUILayout.LabelField("Light Intensity",headerStyle);
|
||||||
#if !ENVIRO_HDRP
|
|
||||||
EditorGUILayout.PropertyField(sunIntensityCurve);
|
EditorGUILayout.PropertyField(sunIntensityCurve);
|
||||||
EditorGUILayout.PropertyField(moonIntensityCurve);
|
EditorGUILayout.PropertyField(moonIntensityCurve);
|
||||||
#else
|
#if ENVIRO_HDRP
|
||||||
EditorGUILayout.PropertyField(sunIntensityCurveHDRP);
|
EditorGUILayout.PropertyField(lightIntensityHDRP);
|
||||||
EditorGUILayout.PropertyField(moonIntensityCurveHDRP);
|
|
||||||
#endif
|
#endif
|
||||||
DisableInputStart();
|
DisableInputStart();
|
||||||
EditorGUILayout.PropertyField(directLightIntensityModifier);
|
EditorGUILayout.PropertyField(directLightIntensityModifier);
|
||||||
@@ -126,11 +123,11 @@ namespace Enviro
|
|||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
EditorGUILayout.LabelField("Light Color",headerStyle);
|
EditorGUILayout.LabelField("Light Color",headerStyle);
|
||||||
#if !ENVIRO_HDRP
|
|
||||||
EditorGUILayout.PropertyField(sunColorGradient);
|
EditorGUILayout.PropertyField(sunColorGradient);
|
||||||
EditorGUILayout.PropertyField(moonColorGradient);
|
EditorGUILayout.PropertyField(moonColorGradient);
|
||||||
#else
|
|
||||||
EditorGUILayout.PropertyField(lightColorTintHDRP);
|
#if ENVIRO_HDRP
|
||||||
EditorGUILayout.PropertyField(lightColorTemperatureHDRP);
|
EditorGUILayout.PropertyField(lightColorTemperatureHDRP);
|
||||||
#endif
|
#endif
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
@@ -213,11 +210,10 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(reflectionIndirectIntensity);
|
EditorGUILayout.PropertyField(reflectionIndirectIntensity);
|
||||||
}
|
}
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
if(EnviroManager.instance.Sky != null)
|
|
||||||
{
|
|
||||||
EditorGUILayout.LabelField("Indirect Color",headerStyle);
|
EditorGUILayout.LabelField("Indirect Color",headerStyle);
|
||||||
EditorGUILayout.PropertyField(ambientColorTintHDRP);
|
EditorGUILayout.PropertyField(ambientColorTintHDRP);
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
EditorGUILayout.EndToggleGroup();
|
EditorGUILayout.EndToggleGroup();
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ namespace Enviro
|
|||||||
private EnviroLightningModule myTarget;
|
private EnviroLightningModule myTarget;
|
||||||
|
|
||||||
//Properties
|
//Properties
|
||||||
private SerializedProperty prefab, lightningStorm,randomLightingDelay, randomSpawnRange, randomTargetRange;
|
private SerializedProperty prefab, lightningStorm,randomLightingDelay, randomSpawnRange, randomTargetRange,cloudsLightningRadius ,cloudsLightningDuration;
|
||||||
|
|
||||||
|
|
||||||
//On Enable
|
//On Enable
|
||||||
@@ -30,6 +30,8 @@ namespace Enviro
|
|||||||
randomLightingDelay = serializedObj.FindProperty("Settings.randomLightingDelay");
|
randomLightingDelay = serializedObj.FindProperty("Settings.randomLightingDelay");
|
||||||
randomSpawnRange = serializedObj.FindProperty("Settings.randomSpawnRange");
|
randomSpawnRange = serializedObj.FindProperty("Settings.randomSpawnRange");
|
||||||
randomTargetRange = serializedObj.FindProperty("Settings.randomTargetRange");
|
randomTargetRange = serializedObj.FindProperty("Settings.randomTargetRange");
|
||||||
|
cloudsLightningRadius = serializedObj.FindProperty("Settings.cloudsLightningRadius");
|
||||||
|
cloudsLightningDuration = serializedObj.FindProperty("Settings.cloudsLightningDuration");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnInspectorGUI()
|
public override void OnInspectorGUI()
|
||||||
@@ -81,6 +83,11 @@ namespace Enviro
|
|||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
EditorGUILayout.PropertyField(randomSpawnRange);
|
EditorGUILayout.PropertyField(randomSpawnRange);
|
||||||
EditorGUILayout.PropertyField(randomTargetRange);
|
EditorGUILayout.PropertyField(randomTargetRange);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
EditorGUILayout.LabelField("Volumetric Clouds", headerStyle);
|
||||||
|
EditorGUILayout.PropertyField(cloudsLightningRadius);
|
||||||
|
EditorGUILayout.PropertyField(cloudsLightningDuration);
|
||||||
|
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
|||||||
@@ -147,15 +147,15 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
Undo.RecordObject(quality, "Quality Clouds Changed");
|
Undo.RecordObject(quality, "Quality Clouds Changed");
|
||||||
quality.volumetricCloudsOverride.volumetricClouds = EditorGUILayout.Toggle("Volumetric Clouds", quality.volumetricCloudsOverride.volumetricClouds);
|
quality.volumetricCloudsOverride.volumetricClouds = EditorGUILayout.Toggle("Volumetric Clouds", quality.volumetricCloudsOverride.volumetricClouds);
|
||||||
quality.volumetricCloudsOverride.dualLayer = EditorGUILayout.Toggle("Dual Layer", quality.volumetricCloudsOverride.dualLayer);
|
|
||||||
GUILayout.Space(5);
|
|
||||||
quality.volumetricCloudsOverride.downsampling = EditorGUILayout.IntSlider("Downsampling", quality.volumetricCloudsOverride.downsampling, 1,6);
|
quality.volumetricCloudsOverride.downsampling = EditorGUILayout.IntSlider("Downsampling", quality.volumetricCloudsOverride.downsampling, 1,6);
|
||||||
quality.volumetricCloudsOverride.stepsLayer1 = EditorGUILayout.IntSlider("Steps Layer 1", quality.volumetricCloudsOverride.stepsLayer1, 32,256);
|
quality.volumetricCloudsOverride.stepsLayer1 = EditorGUILayout.IntSlider("Steps Layer 1", quality.volumetricCloudsOverride.stepsLayer1, 32,256);
|
||||||
quality.volumetricCloudsOverride.stepsLayer2 = EditorGUILayout.IntSlider("Steps Layer 2", quality.volumetricCloudsOverride.stepsLayer2, 32,256);
|
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
quality.volumetricCloudsOverride.blueNoiseIntensity = EditorGUILayout.Slider("Blue Noise Intensity", quality.volumetricCloudsOverride.blueNoiseIntensity, 0f,2f);
|
quality.volumetricCloudsOverride.blueNoiseIntensity = EditorGUILayout.Slider("Blue Noise Intensity", quality.volumetricCloudsOverride.blueNoiseIntensity, 0f,2f);
|
||||||
quality.volumetricCloudsOverride.reprojectionBlendTime = EditorGUILayout.Slider("Reprojection Blending", quality.volumetricCloudsOverride.reprojectionBlendTime, 0f,10f);
|
quality.volumetricCloudsOverride.reprojectionBlendTime = EditorGUILayout.Slider("Reprojection Blending", quality.volumetricCloudsOverride.reprojectionBlendTime, 0f,10f);
|
||||||
quality.volumetricCloudsOverride.lodDistance = EditorGUILayout.Slider("LOD", quality.volumetricCloudsOverride.lodDistance, 0f,1f);
|
quality.volumetricCloudsOverride.lodDistance = EditorGUILayout.Slider("LOD", quality.volumetricCloudsOverride.lodDistance, 0f,1f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
quality.volumetricCloudsOverride.lightningSupport = EditorGUILayout.Toggle("Lightning Support", quality.volumetricCloudsOverride.lightningSupport);
|
||||||
|
quality.volumetricCloudsOverride.variableBottomNoise = EditorGUILayout.Toggle("Variable Bottom Noise", quality.volumetricCloudsOverride.variableBottomNoise);
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
@@ -183,6 +183,7 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
Undo.RecordObject(quality, "Quality FlatClouds Changed");
|
Undo.RecordObject(quality, "Quality FlatClouds Changed");
|
||||||
quality.flatCloudsOverride.flatClouds = EditorGUILayout.Toggle("Flat Clouds", quality.flatCloudsOverride.flatClouds);
|
quality.flatCloudsOverride.flatClouds = EditorGUILayout.Toggle("Flat Clouds", quality.flatCloudsOverride.flatClouds);
|
||||||
|
quality.flatCloudsOverride.flatCloudsShadowSteps = EditorGUILayout.IntSlider("Flat Clouds Shadow Steps", quality.flatCloudsOverride.flatCloudsShadowSteps,1,12);
|
||||||
quality.flatCloudsOverride.cirrusClouds = EditorGUILayout.Toggle("Cirrus Clouds", quality.flatCloudsOverride.cirrusClouds);
|
quality.flatCloudsOverride.cirrusClouds = EditorGUILayout.Toggle("Cirrus Clouds", quality.flatCloudsOverride.cirrusClouds);
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
|
|||||||
@@ -86,15 +86,24 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(globalReflectionLayers);
|
EditorGUILayout.PropertyField(globalReflectionLayers);
|
||||||
EditorGUILayout.PropertyField(globalReflectionsScale);
|
EditorGUILayout.PropertyField(globalReflectionsScale);
|
||||||
#if !ENVIRO_HDRP
|
#if !ENVIRO_HDRP
|
||||||
|
|
||||||
|
#if ENVIRO_URP
|
||||||
|
EditorGUILayout.PropertyField(updateDefaultEnvironmentReflections);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
EditorGUILayout.PropertyField(globalReflectionTimeSlicingMode);
|
||||||
|
#else
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(updateDefaultEnvironmentReflections);
|
EditorGUILayout.PropertyField(updateDefaultEnvironmentReflections);
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(customRendering);
|
EditorGUILayout.PropertyField(customRendering);
|
||||||
|
|
||||||
if (myTarget.Settings.customRendering)
|
if (myTarget.Settings.customRendering)
|
||||||
EditorGUILayout.PropertyField(customRenderingTimeSlicing);
|
EditorGUILayout.PropertyField(customRenderingTimeSlicing);
|
||||||
else
|
else
|
||||||
EditorGUILayout.PropertyField(globalReflectionTimeSlicingMode);
|
EditorGUILayout.PropertyField(globalReflectionTimeSlicingMode);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
EditorGUILayout.PropertyField(globalReflectionsUpdateOnGameTime);
|
EditorGUILayout.PropertyField(globalReflectionsUpdateOnGameTime);
|
||||||
if(myTarget.Settings.globalReflectionsUpdateOnGameTime)
|
if(myTarget.Settings.globalReflectionsUpdateOnGameTime)
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace Enviro
|
|||||||
private SerializedProperty frontColorGradient0,frontColorGradient1,frontColorGradient2,frontColorGradient3,frontColorGradient4,frontColorGradient5;
|
private SerializedProperty frontColorGradient0,frontColorGradient1,frontColorGradient2,frontColorGradient3,frontColorGradient4,frontColorGradient5;
|
||||||
private SerializedProperty frontColor0,frontColor1,frontColor2,frontColor3,frontColor4,frontColor5;
|
private SerializedProperty frontColor0,frontColor1,frontColor2,frontColor3,frontColor4,frontColor5;
|
||||||
private SerializedProperty sunDiscColorGradient, moonColorGradient, moonGlowColorGradient;
|
private SerializedProperty sunDiscColorGradient, moonColorGradient, moonGlowColorGradient;
|
||||||
private SerializedProperty sunDiscColor, moonColor, moonGlowColor, skyColorTint;
|
private SerializedProperty sunDiscColor, moonColor, moonGlowColor, skyColorTint,skyColorExponent,mieScatteringMultiplier;
|
||||||
private SerializedProperty backColorGradient0,backColorGradient1,backColorGradient2,backColorGradient3,backColorGradient4,backColorGradient5;
|
private SerializedProperty backColorGradient0,backColorGradient1,backColorGradient2,backColorGradient3,backColorGradient4,backColorGradient5;
|
||||||
private SerializedProperty backColor0,backColor1,backColor2,backColor3,backColor4,backColor5;
|
private SerializedProperty backColor0,backColor1,backColor2,backColor3,backColor4,backColor5;
|
||||||
private SerializedProperty distribution0,distribution1,distribution2,distribution3;
|
private SerializedProperty distribution0,distribution1,distribution2,distribution3;
|
||||||
@@ -56,6 +56,8 @@ namespace Enviro
|
|||||||
backColorGradient5 = serializedObj.FindProperty("Settings.backColorGradient5");
|
backColorGradient5 = serializedObj.FindProperty("Settings.backColorGradient5");
|
||||||
|
|
||||||
skyColorTint = serializedObj.FindProperty("Settings.skyColorTint");
|
skyColorTint = serializedObj.FindProperty("Settings.skyColorTint");
|
||||||
|
skyColorExponent = serializedObj.FindProperty("Settings.skyColorTint");
|
||||||
|
mieScatteringMultiplier = serializedObj.FindProperty("Settings.mieScatteringMultiplier");
|
||||||
|
|
||||||
//Sund and Moon Colors
|
//Sund and Moon Colors
|
||||||
sunDiscColorGradient = serializedObj.FindProperty("Settings.sunDiscColorGradient");
|
sunDiscColorGradient = serializedObj.FindProperty("Settings.sunDiscColorGradient");
|
||||||
@@ -177,8 +179,14 @@ namespace Enviro
|
|||||||
EditorGUILayout.LabelField("Intensity",headerStyle);
|
EditorGUILayout.LabelField("Intensity",headerStyle);
|
||||||
EditorGUILayout.PropertyField(intensity);
|
EditorGUILayout.PropertyField(intensity);
|
||||||
EditorGUILayout.PropertyField(intensityCurve);
|
EditorGUILayout.PropertyField(intensityCurve);
|
||||||
|
DisableInputStart();
|
||||||
|
EditorGUILayout.PropertyField(skyColorExponent);
|
||||||
|
DisableInputEnd();
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(mieScatteringIntensityCurve);
|
EditorGUILayout.PropertyField(mieScatteringIntensityCurve);
|
||||||
|
DisableInputStart();
|
||||||
|
EditorGUILayout.PropertyField(mieScatteringMultiplier);
|
||||||
|
DisableInputEnd();
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.LabelField("HDRP Settings",headerStyle);
|
EditorGUILayout.LabelField("HDRP Settings",headerStyle);
|
||||||
|
|||||||
@@ -9,25 +9,20 @@ namespace Enviro
|
|||||||
public class EnviroCloudsModuleEditor : EnviroModuleEditor
|
public class EnviroCloudsModuleEditor : EnviroModuleEditor
|
||||||
{
|
{
|
||||||
private EnviroVolumetricCloudsModule myTarget;
|
private EnviroVolumetricCloudsModule myTarget;
|
||||||
private SerializedProperty dualLayer,customWeatherMap,depthBlending,depthTest,sunLightColorGradient,moonLightColorGradient, ambientColorGradient,ambientLighIntensity,cloudShadows, cloudShadowsIntensity,
|
private SerializedProperty customWeatherMap,depthBlending,depthTest,sunLightColorGradient,moonLightColorGradient, ambientColorGradient,ambientLighIntensity,cloudShadows, cloudShadowsIntensity,
|
||||||
|
|
||||||
noise, detailNoise, curlTex, blueNoise, cloudsWorldScale,maxRenderDistance, atmosphereColorSaturateDistance, cloudsTravelSpeed;
|
noise, detailNoise, curlTex, blueNoise,bottomsOffsetNoise, cloudsWorldScale,maxRenderDistance, atmosphereColorSaturateDistance, cloudsTravelSpeed;
|
||||||
//Properties Layer 1
|
//Properties Layer 1
|
||||||
private SerializedProperty bottomCloudsHeightLayer1,topCloudsHeightLayer1,densityLayer1,densitySmoothnessLayer1, coverageLayer1,worleyFreq1Layer1, worleyFreq2Layer1, dilateCoverageLayer1, dilateTypeLayer1,cloudsTypeModifierLayer1, locationOffsetLayer1,
|
private SerializedProperty bottomCloudsHeightLayer1,topCloudsHeightLayer1,densityLayer1,densitySmoothnessLayer1, coverageLayer1,worleyFreq1Layer1, worleyFreq2Layer1, dilateCoverageLayer1, dilateTypeLayer1,cloudsTypeModifierLayer1, locationOffsetLayer1,
|
||||||
scatteringIntensityLayer1, silverLiningSpreadLayer1, powderIntensityLayer1,
|
scatteringIntensityLayer1, silverLiningSpreadLayer1, lightningIntensity,exposure, baseNoiseMultiplierLayer1,detailNoiseMultiplierLayer1,
|
||||||
curlIntensityLayer1, lightStepModifierLayer1, lightAbsorbtionLayer1,baseNoiseUVLayer1, detailNoiseUVLayer1,
|
curlIntensityLayer1, lightStepModifierLayer1, lightAbsorbtionLayer1,baseNoiseUVLayer1, detailNoiseUVLayer1,rampShapeLayer1,edgeHighlightStrength,
|
||||||
baseErosionIntensityLayer1, detailErosionIntensityLayer1, multiScatteringALayer1, multiScatteringBLayer1,multiScatteringCLayer1,anvilBiasLayer1;
|
baseErosionIntensityLayer1, detailErosionIntensityLayer1, multiScatterStrengthLayer1, multiScatterFalloffLayer1,ambientFloorLayer1,cloudTypeShapingLayer1, bottomShapeLayer1,midShapeLayer1,topShapeLayer1,topLayerLayer1,silverLiningIntensityLayer1;
|
||||||
|
|
||||||
//Properties Layer 2
|
|
||||||
private SerializedProperty bottomCloudsHeightLayer2,topCloudsHeightLayer2,densityLayer2,densitySmoothnessLayer2, coverageLayer2,worleyFreq1Layer2, worleyFreq2Layer2, dilateCoverageLayer2, dilateTypeLayer2,cloudsTypeModifierLayer2, locationOffsetLayer2,
|
|
||||||
scatteringIntensityLayer2, silverLiningSpreadLayer2, powderIntensityLayer2,
|
|
||||||
curlIntensityLayer2, lightStepModifierLayer2, lightAbsorbtionLayer2, baseNoiseUVLayer2, detailNoiseUVLayer2,
|
|
||||||
baseErosionIntensityLayer2, detailErosionIntensityLayer2, multiScatteringALayer2, multiScatteringBLayer2,multiScatteringCLayer2, anvilBiasLayer2;
|
|
||||||
//Properties Quality
|
//Properties Quality
|
||||||
private SerializedProperty volumetricClouds, downsampling, stepsLayer1, stepsLayer2, blueNoiseIntensity, reprojectionBlendTime, lodDistance;
|
private SerializedProperty volumetricClouds,lightningSupport,variableBottomNoise, downsampling, stepsLayer1, blueNoiseIntensity, reprojectionBlendTime, lodDistance;
|
||||||
|
|
||||||
private SerializedProperty windSpeedModifierLayer1, windUpwardsLayer1, cloudsWindDirectionXModifierLayer1, cloudsWindDirectionYModifierLayer1;
|
private SerializedProperty windSpeedModifierLayer1, windUpwardsLayer1, cloudsWindDirectionXModifierLayer1, cloudsWindDirectionYModifierLayer1;
|
||||||
private SerializedProperty windSpeedModifierLayer2, windUpwardsLayer2, cloudsWindDirectionXModifierLayer2, cloudsWindDirectionYModifierLayer2;
|
|
||||||
//On Enable
|
//On Enable
|
||||||
public override void OnEnable()
|
public override void OnEnable()
|
||||||
{
|
{
|
||||||
@@ -44,12 +39,12 @@ namespace Enviro
|
|||||||
moonLightColorGradient = serializedObj.FindProperty("settingsGlobal.moonLightColorGradient");
|
moonLightColorGradient = serializedObj.FindProperty("settingsGlobal.moonLightColorGradient");
|
||||||
depthBlending = serializedObj.FindProperty("settingsGlobal.depthBlending");
|
depthBlending = serializedObj.FindProperty("settingsGlobal.depthBlending");
|
||||||
depthTest = serializedObj.FindProperty("settingsGlobal.depthTest");
|
depthTest = serializedObj.FindProperty("settingsGlobal.depthTest");
|
||||||
dualLayer = serializedObj.FindProperty("settingsGlobal.dualLayer");
|
|
||||||
cloudShadows = serializedObj.FindProperty("settingsGlobal.cloudShadows");
|
cloudShadows = serializedObj.FindProperty("settingsGlobal.cloudShadows");
|
||||||
cloudShadowsIntensity = serializedObj.FindProperty("settingsGlobal.cloudShadowsIntensity");
|
cloudShadowsIntensity = serializedObj.FindProperty("settingsGlobal.cloudShadowsIntensity");
|
||||||
noise = serializedObj.FindProperty("settingsGlobal.noise");
|
noise = serializedObj.FindProperty("settingsGlobal.noise");
|
||||||
detailNoise = serializedObj.FindProperty("settingsGlobal.detailNoise");
|
detailNoise = serializedObj.FindProperty("settingsGlobal.detailNoise");
|
||||||
curlTex = serializedObj.FindProperty("settingsGlobal.curlTex");
|
curlTex = serializedObj.FindProperty("settingsGlobal.curlTex");
|
||||||
|
bottomsOffsetNoise = serializedObj.FindProperty("settingsGlobal.bottomsOffsetNoise");
|
||||||
blueNoise = serializedObj.FindProperty("settingsGlobal.blueNoise");
|
blueNoise = serializedObj.FindProperty("settingsGlobal.blueNoise");
|
||||||
cloudsWorldScale = serializedObj.FindProperty("settingsGlobal.cloudsWorldScale");
|
cloudsWorldScale = serializedObj.FindProperty("settingsGlobal.cloudsWorldScale");
|
||||||
maxRenderDistance = serializedObj.FindProperty("settingsGlobal.maxRenderDistance");
|
maxRenderDistance = serializedObj.FindProperty("settingsGlobal.maxRenderDistance");
|
||||||
@@ -59,76 +54,55 @@ namespace Enviro
|
|||||||
|
|
||||||
//Quality
|
//Quality
|
||||||
volumetricClouds = serializedObj.FindProperty("settingsQuality.volumetricClouds");
|
volumetricClouds = serializedObj.FindProperty("settingsQuality.volumetricClouds");
|
||||||
|
lightningSupport = serializedObj.FindProperty("settingsQuality.lightningSupport");
|
||||||
|
variableBottomNoise = serializedObj.FindProperty("settingsQuality.variableBottomNoise");
|
||||||
|
|
||||||
downsampling = serializedObj.FindProperty("settingsQuality.downsampling");
|
downsampling = serializedObj.FindProperty("settingsQuality.downsampling");
|
||||||
stepsLayer1 = serializedObj.FindProperty("settingsQuality.stepsLayer1");
|
stepsLayer1 = serializedObj.FindProperty("settingsQuality.stepsLayer1");
|
||||||
stepsLayer2 = serializedObj.FindProperty("settingsQuality.stepsLayer2");
|
|
||||||
blueNoiseIntensity = serializedObj.FindProperty("settingsQuality.blueNoiseIntensity");
|
blueNoiseIntensity = serializedObj.FindProperty("settingsQuality.blueNoiseIntensity");
|
||||||
reprojectionBlendTime = serializedObj.FindProperty("settingsQuality.reprojectionBlendTime");
|
reprojectionBlendTime = serializedObj.FindProperty("settingsQuality.reprojectionBlendTime");
|
||||||
lodDistance = serializedObj.FindProperty("settingsQuality.lodDistance");
|
lodDistance = serializedObj.FindProperty("settingsQuality.lodDistance");
|
||||||
|
|
||||||
//Layer 1
|
//Layer 1
|
||||||
bottomCloudsHeightLayer1 = serializedObj.FindProperty("settingsLayer1.bottomCloudsHeight");
|
bottomCloudsHeightLayer1 = serializedObj.FindProperty("settingsVolume.bottomCloudsHeight");
|
||||||
topCloudsHeightLayer1 = serializedObj.FindProperty("settingsLayer1.topCloudsHeight");
|
topCloudsHeightLayer1 = serializedObj.FindProperty("settingsVolume.topCloudsHeight");
|
||||||
coverageLayer1 = serializedObj.FindProperty("settingsLayer1.coverage");
|
coverageLayer1 = serializedObj.FindProperty("settingsVolume.coverage");
|
||||||
worleyFreq1Layer1 = serializedObj.FindProperty("settingsLayer1.worleyFreq1");
|
worleyFreq1Layer1 = serializedObj.FindProperty("settingsVolume.worleyFreq1");
|
||||||
worleyFreq2Layer1 = serializedObj.FindProperty("settingsLayer1.worleyFreq2");
|
worleyFreq2Layer1 = serializedObj.FindProperty("settingsVolume.worleyFreq2");
|
||||||
dilateCoverageLayer1 = serializedObj.FindProperty("settingsLayer1.dilateCoverage");
|
dilateCoverageLayer1 = serializedObj.FindProperty("settingsVolume.dilateCoverage");
|
||||||
dilateTypeLayer1 = serializedObj.FindProperty("settingsLayer1.dilateType");
|
dilateTypeLayer1 = serializedObj.FindProperty("settingsVolume.dilateType");
|
||||||
cloudsTypeModifierLayer1 = serializedObj.FindProperty("settingsLayer1.cloudsTypeModifier");
|
cloudsTypeModifierLayer1 = serializedObj.FindProperty("settingsVolume.cloudsTypeModifier");
|
||||||
locationOffsetLayer1 = serializedObj.FindProperty("settingsLayer1.locationOffset");
|
locationOffsetLayer1 = serializedObj.FindProperty("settingsVolume.locationOffset");
|
||||||
densityLayer1 = serializedObj.FindProperty("settingsLayer1.density");
|
densityLayer1 = serializedObj.FindProperty("settingsVolume.density");
|
||||||
densitySmoothnessLayer1 = serializedObj.FindProperty("settingsLayer1.densitySmoothness");
|
rampShapeLayer1 = serializedObj.FindProperty("settingsVolume.rampShape");
|
||||||
scatteringIntensityLayer1 = serializedObj.FindProperty("settingsLayer1.scatteringIntensity");
|
densitySmoothnessLayer1 = serializedObj.FindProperty("settingsVolume.densitySmoothness");
|
||||||
silverLiningSpreadLayer1 = serializedObj.FindProperty("settingsLayer1.silverLiningSpread");
|
scatteringIntensityLayer1 = serializedObj.FindProperty("settingsVolume.scatteringIntensity");
|
||||||
powderIntensityLayer1 = serializedObj.FindProperty("settingsLayer1.powderIntensity");
|
silverLiningSpreadLayer1 = serializedObj.FindProperty("settingsVolume.silverLiningSpread");
|
||||||
curlIntensityLayer1 = serializedObj.FindProperty("settingsLayer1.curlIntensity");
|
silverLiningIntensityLayer1 = serializedObj.FindProperty("settingsVolume.silverLiningIntensity");
|
||||||
lightStepModifierLayer1 = serializedObj.FindProperty("settingsLayer1.lightStepModifier");
|
edgeHighlightStrength = serializedObj.FindProperty("settingsVolume.edgeHighlightStrength");
|
||||||
lightAbsorbtionLayer1 = serializedObj.FindProperty("settingsLayer1.lightAbsorbtion");
|
baseNoiseMultiplierLayer1 = serializedObj.FindProperty("settingsVolume.baseNoiseMultiplier");
|
||||||
baseNoiseUVLayer1 = serializedObj.FindProperty("settingsLayer1.baseNoiseUV");
|
detailNoiseMultiplierLayer1= serializedObj.FindProperty("settingsVolume.detailNoiseMultiplier");
|
||||||
detailNoiseUVLayer1 = serializedObj.FindProperty("settingsLayer1.detailNoiseUV");
|
lightningIntensity = serializedObj.FindProperty("settingsVolume.lightningIntensity");
|
||||||
baseErosionIntensityLayer1 = serializedObj.FindProperty("settingsLayer1.baseErosionIntensity");
|
exposure = serializedObj.FindProperty("settingsVolume.exposure");
|
||||||
detailErosionIntensityLayer1 = serializedObj.FindProperty("settingsLayer1.detailErosionIntensity");
|
curlIntensityLayer1 = serializedObj.FindProperty("settingsVolume.curlIntensity");
|
||||||
multiScatteringALayer1 = serializedObj.FindProperty("settingsLayer1.multiScatteringA");
|
lightStepModifierLayer1 = serializedObj.FindProperty("settingsVolume.lightStepModifier");
|
||||||
multiScatteringBLayer1 = serializedObj.FindProperty("settingsLayer1.multiScatteringB");
|
lightAbsorbtionLayer1 = serializedObj.FindProperty("settingsVolume.absorbtion");
|
||||||
multiScatteringCLayer1 = serializedObj.FindProperty("settingsLayer1.multiScatteringC");
|
baseNoiseUVLayer1 = serializedObj.FindProperty("settingsVolume.baseNoiseUV");
|
||||||
anvilBiasLayer1 = serializedObj.FindProperty("settingsLayer1.anvilBias");
|
detailNoiseUVLayer1 = serializedObj.FindProperty("settingsVolume.detailNoiseUV");
|
||||||
|
baseErosionIntensityLayer1 = serializedObj.FindProperty("settingsVolume.baseErosionIntensity");
|
||||||
windSpeedModifierLayer1 = serializedObj.FindProperty("settingsLayer1.windSpeedModifier");
|
detailErosionIntensityLayer1 = serializedObj.FindProperty("settingsVolume.detailErosionIntensity");
|
||||||
windUpwardsLayer1 = serializedObj.FindProperty("settingsLayer1.windUpwards");
|
multiScatterStrengthLayer1 = serializedObj.FindProperty("settingsVolume.multiScatterStrength");
|
||||||
cloudsWindDirectionXModifierLayer1 = serializedObj.FindProperty("settingsLayer1.cloudsWindDirectionXModifier");
|
multiScatterFalloffLayer1 = serializedObj.FindProperty("settingsVolume.multiScatterFalloff");
|
||||||
cloudsWindDirectionYModifierLayer1 = serializedObj.FindProperty("settingsLayer1.cloudsWindDirectionYModifier");
|
ambientFloorLayer1 = serializedObj.FindProperty("settingsVolume.ambientFloor");
|
||||||
|
cloudTypeShapingLayer1 = serializedObj.FindProperty("settingsVolume.cloudTypeShaping");
|
||||||
//Layer 2
|
bottomShapeLayer1 = serializedObj.FindProperty("settingsVolume.bottomShape");
|
||||||
bottomCloudsHeightLayer2= serializedObj.FindProperty("settingsLayer2.bottomCloudsHeight");
|
midShapeLayer1 = serializedObj.FindProperty("settingsVolume.midShape");
|
||||||
topCloudsHeightLayer2= serializedObj.FindProperty("settingsLayer2.topCloudsHeight");
|
topShapeLayer1 = serializedObj.FindProperty("settingsVolume.topShape");
|
||||||
coverageLayer2 = serializedObj.FindProperty("settingsLayer2.coverage");
|
topLayerLayer1 = serializedObj.FindProperty("settingsVolume.topLayer");
|
||||||
worleyFreq1Layer2 = serializedObj.FindProperty("settingsLayer2.worleyFreq1");
|
windSpeedModifierLayer1 = serializedObj.FindProperty("settingsVolume.windSpeedModifier");
|
||||||
worleyFreq2Layer2 = serializedObj.FindProperty("settingsLayer2.worleyFreq2");
|
windUpwardsLayer1 = serializedObj.FindProperty("settingsVolume.windUpwards");
|
||||||
dilateCoverageLayer2 = serializedObj.FindProperty("settingsLayer2.dilateCoverage");
|
cloudsWindDirectionXModifierLayer1 = serializedObj.FindProperty("settingsVolume.cloudsWindDirectionXModifier");
|
||||||
dilateTypeLayer2 = serializedObj.FindProperty("settingsLayer2.dilateType");
|
cloudsWindDirectionYModifierLayer1 = serializedObj.FindProperty("settingsVolume.cloudsWindDirectionYModifier");
|
||||||
cloudsTypeModifierLayer2 = serializedObj.FindProperty("settingsLayer2.cloudsTypeModifier");
|
|
||||||
locationOffsetLayer2 = serializedObj.FindProperty("settingsLayer2.locationOffset");
|
|
||||||
densityLayer2 = serializedObj.FindProperty("settingsLayer2.density");
|
|
||||||
densitySmoothnessLayer2 = serializedObj.FindProperty("settingsLayer2.densitySmoothness");
|
|
||||||
scatteringIntensityLayer2 = serializedObj.FindProperty("settingsLayer2.scatteringIntensity");
|
|
||||||
silverLiningSpreadLayer2 = serializedObj.FindProperty("settingsLayer2.silverLiningSpread");
|
|
||||||
powderIntensityLayer2 = serializedObj.FindProperty("settingsLayer2.powderIntensity");
|
|
||||||
curlIntensityLayer2 = serializedObj.FindProperty("settingsLayer2.curlIntensity");
|
|
||||||
lightStepModifierLayer2 = serializedObj.FindProperty("settingsLayer2.lightStepModifier");
|
|
||||||
lightAbsorbtionLayer2 = serializedObj.FindProperty("settingsLayer2.lightAbsorbtion");
|
|
||||||
baseNoiseUVLayer2 = serializedObj.FindProperty("settingsLayer2.baseNoiseUV");
|
|
||||||
detailNoiseUVLayer2 = serializedObj.FindProperty("settingsLayer2.detailNoiseUV");
|
|
||||||
baseErosionIntensityLayer2 = serializedObj.FindProperty("settingsLayer2.baseErosionIntensity");
|
|
||||||
detailErosionIntensityLayer2 = serializedObj.FindProperty("settingsLayer2.detailErosionIntensity");
|
|
||||||
multiScatteringALayer2 = serializedObj.FindProperty("settingsLayer2.multiScatteringA");
|
|
||||||
multiScatteringBLayer2 = serializedObj.FindProperty("settingsLayer2.multiScatteringB");
|
|
||||||
multiScatteringCLayer2 = serializedObj.FindProperty("settingsLayer2.multiScatteringC");
|
|
||||||
anvilBiasLayer2 = serializedObj.FindProperty("settingsLayer2.anvilBias");
|
|
||||||
|
|
||||||
windSpeedModifierLayer2 = serializedObj.FindProperty("settingsLayer2.windSpeedModifier");
|
|
||||||
windUpwardsLayer2 = serializedObj.FindProperty("settingsLayer2.windUpwards");
|
|
||||||
cloudsWindDirectionXModifierLayer2 = serializedObj.FindProperty("settingsLayer2.cloudsWindDirectionXModifier");
|
|
||||||
cloudsWindDirectionYModifierLayer2 = serializedObj.FindProperty("settingsLayer2.cloudsWindDirectionYModifier");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnInspectorGUI()
|
public override void OnInspectorGUI()
|
||||||
@@ -173,6 +147,9 @@ namespace Enviro
|
|||||||
GUILayout.Label("Quality", headerStyle);
|
GUILayout.Label("Quality", headerStyle);
|
||||||
DisableInputStartQuality();
|
DisableInputStartQuality();
|
||||||
EditorGUILayout.PropertyField(volumetricClouds);
|
EditorGUILayout.PropertyField(volumetricClouds);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
EditorGUILayout.PropertyField(lightningSupport);
|
||||||
|
EditorGUILayout.PropertyField(variableBottomNoise);
|
||||||
DisableInputEndQuality();
|
DisableInputEndQuality();
|
||||||
EditorGUILayout.PropertyField(depthBlending);
|
EditorGUILayout.PropertyField(depthBlending);
|
||||||
if(!myTarget.settingsGlobal.depthBlending)
|
if(!myTarget.settingsGlobal.depthBlending)
|
||||||
@@ -180,10 +157,8 @@ namespace Enviro
|
|||||||
DisableInputStartQuality();
|
DisableInputStartQuality();
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(downsampling);
|
EditorGUILayout.PropertyField(downsampling);
|
||||||
EditorGUILayout.PropertyField(dualLayer);
|
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(stepsLayer1);
|
EditorGUILayout.PropertyField(stepsLayer1);
|
||||||
EditorGUILayout.PropertyField(stepsLayer2);
|
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(blueNoiseIntensity);
|
EditorGUILayout.PropertyField(blueNoiseIntensity);
|
||||||
EditorGUILayout.PropertyField(reprojectionBlendTime);
|
EditorGUILayout.PropertyField(reprojectionBlendTime);
|
||||||
@@ -198,6 +173,7 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(noise);
|
EditorGUILayout.PropertyField(noise);
|
||||||
EditorGUILayout.PropertyField(detailNoise);
|
EditorGUILayout.PropertyField(detailNoise);
|
||||||
EditorGUILayout.PropertyField(curlTex);
|
EditorGUILayout.PropertyField(curlTex);
|
||||||
|
EditorGUILayout.PropertyField(bottomsOffsetNoise);
|
||||||
EditorGUILayout.PropertyField(blueNoise);
|
EditorGUILayout.PropertyField(blueNoise);
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
GUILayout.Label("Lighting", headerStyle);
|
GUILayout.Label("Lighting", headerStyle);
|
||||||
@@ -223,8 +199,8 @@ namespace Enviro
|
|||||||
GUI.backgroundColor = categoryModuleColor;
|
GUI.backgroundColor = categoryModuleColor;
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
GUILayout.BeginVertical("",boxStyleModified);
|
||||||
GUI.backgroundColor = Color.white;
|
GUI.backgroundColor = Color.white;
|
||||||
myTarget.showLayer1Controls = GUILayout.Toggle(myTarget.showLayer1Controls, "Settings: Layer 1", headerFoldout);
|
myTarget.showVolumeSettings = GUILayout.Toggle(myTarget.showVolumeSettings, "Volume Settings", headerFoldout);
|
||||||
if(myTarget.showLayer1Controls)
|
if(myTarget.showVolumeSettings)
|
||||||
{
|
{
|
||||||
//Coverage
|
//Coverage
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
GUILayout.BeginVertical("",boxStyleModified);
|
||||||
@@ -245,8 +221,14 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(dilateCoverageLayer1);
|
EditorGUILayout.PropertyField(dilateCoverageLayer1);
|
||||||
EditorGUILayout.PropertyField(dilateTypeLayer1);
|
EditorGUILayout.PropertyField(dilateTypeLayer1);
|
||||||
EditorGUILayout.PropertyField(cloudsTypeModifierLayer1);
|
EditorGUILayout.PropertyField(cloudsTypeModifierLayer1);
|
||||||
EditorGUILayout.PropertyField(anvilBiasLayer1);
|
EditorGUILayout.PropertyField(cloudTypeShapingLayer1);
|
||||||
|
EditorGUILayout.PropertyField(bottomShapeLayer1);
|
||||||
|
EditorGUILayout.PropertyField(midShapeLayer1);
|
||||||
|
EditorGUILayout.PropertyField(topShapeLayer1);
|
||||||
|
EditorGUILayout.PropertyField(rampShapeLayer1);
|
||||||
|
EditorGUILayout.PropertyField(topLayerLayer1);
|
||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(locationOffsetLayer1);
|
EditorGUILayout.PropertyField(locationOffsetLayer1);
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
@@ -258,14 +240,18 @@ namespace Enviro
|
|||||||
if(myTarget.showLightingControls)
|
if(myTarget.showLightingControls)
|
||||||
{
|
{
|
||||||
DisableInputStart();
|
DisableInputStart();
|
||||||
|
EditorGUILayout.PropertyField(exposure);
|
||||||
|
GUILayout.Space(5);
|
||||||
EditorGUILayout.PropertyField(scatteringIntensityLayer1);
|
EditorGUILayout.PropertyField(scatteringIntensityLayer1);
|
||||||
|
EditorGUILayout.PropertyField(multiScatterStrengthLayer1);
|
||||||
EditorGUILayout.PropertyField(multiScatteringALayer1);
|
EditorGUILayout.PropertyField(multiScatterFalloffLayer1);
|
||||||
EditorGUILayout.PropertyField(multiScatteringBLayer1);
|
EditorGUILayout.PropertyField(ambientFloorLayer1);
|
||||||
EditorGUILayout.PropertyField(multiScatteringCLayer1);
|
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
|
EditorGUILayout.PropertyField(silverLiningIntensityLayer1);
|
||||||
EditorGUILayout.PropertyField(silverLiningSpreadLayer1);
|
EditorGUILayout.PropertyField(silverLiningSpreadLayer1);
|
||||||
EditorGUILayout.PropertyField(powderIntensityLayer1);
|
EditorGUILayout.PropertyField(edgeHighlightStrength);
|
||||||
|
EditorGUILayout.PropertyField(lightningIntensity);
|
||||||
|
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
EditorGUILayout.PropertyField(lightAbsorbtionLayer1);
|
EditorGUILayout.PropertyField(lightAbsorbtionLayer1);
|
||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
@@ -287,7 +273,9 @@ namespace Enviro
|
|||||||
EditorGUILayout.PropertyField(detailNoiseUVLayer1);
|
EditorGUILayout.PropertyField(detailNoiseUVLayer1);
|
||||||
DisableInputStart();
|
DisableInputStart();
|
||||||
EditorGUILayout.PropertyField(baseErosionIntensityLayer1);
|
EditorGUILayout.PropertyField(baseErosionIntensityLayer1);
|
||||||
|
EditorGUILayout.PropertyField(baseNoiseMultiplierLayer1);
|
||||||
EditorGUILayout.PropertyField(detailErosionIntensityLayer1);
|
EditorGUILayout.PropertyField(detailErosionIntensityLayer1);
|
||||||
|
EditorGUILayout.PropertyField(detailNoiseMultiplierLayer1);
|
||||||
EditorGUILayout.PropertyField(curlIntensityLayer1);
|
EditorGUILayout.PropertyField(curlIntensityLayer1);
|
||||||
DisableInputEnd();
|
DisableInputEnd();
|
||||||
}
|
}
|
||||||
@@ -308,98 +296,7 @@ namespace Enviro
|
|||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
//Layer 1 End
|
//Layer End
|
||||||
|
|
||||||
if(myTarget.settingsGlobal.dualLayer) {
|
|
||||||
//Layer 2
|
|
||||||
GUI.backgroundColor = categoryModuleColor;
|
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
|
||||||
GUI.backgroundColor = Color.white;
|
|
||||||
myTarget.showLayer2Controls = GUILayout.Toggle(myTarget.showLayer2Controls, "Settings: Layer 2", headerFoldout);
|
|
||||||
if(myTarget.showLayer2Controls)
|
|
||||||
{
|
|
||||||
//Coverage
|
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
|
||||||
myTarget.showCoverageControls = GUILayout.Toggle(myTarget.showCoverageControls, "Coverage", headerFoldout);
|
|
||||||
|
|
||||||
if(myTarget.showCoverageControls)
|
|
||||||
{
|
|
||||||
EditorGUILayout.PropertyField(bottomCloudsHeightLayer2);
|
|
||||||
EditorGUILayout.PropertyField(topCloudsHeightLayer2);
|
|
||||||
GUILayout.Space(10);
|
|
||||||
DisableInputStart();
|
|
||||||
EditorGUILayout.PropertyField(coverageLayer2);
|
|
||||||
DisableInputEnd();
|
|
||||||
EditorGUILayout.PropertyField(worleyFreq1Layer2);
|
|
||||||
EditorGUILayout.PropertyField(worleyFreq2Layer2);
|
|
||||||
DisableInputStart();
|
|
||||||
EditorGUILayout.PropertyField(dilateCoverageLayer2);
|
|
||||||
EditorGUILayout.PropertyField(dilateTypeLayer2);
|
|
||||||
EditorGUILayout.PropertyField(cloudsTypeModifierLayer2);
|
|
||||||
EditorGUILayout.PropertyField(anvilBiasLayer2);
|
|
||||||
DisableInputEnd();
|
|
||||||
EditorGUILayout.PropertyField(locationOffsetLayer2);
|
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
//Lighting
|
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
|
||||||
myTarget.showLightingControls = GUILayout.Toggle(myTarget.showLightingControls, "Lighting", headerFoldout);
|
|
||||||
|
|
||||||
if(myTarget.showLightingControls)
|
|
||||||
{
|
|
||||||
DisableInputStart();
|
|
||||||
EditorGUILayout.PropertyField(scatteringIntensityLayer2);
|
|
||||||
EditorGUILayout.PropertyField(multiScatteringALayer2);
|
|
||||||
EditorGUILayout.PropertyField(multiScatteringBLayer2);
|
|
||||||
EditorGUILayout.PropertyField(multiScatteringCLayer2);
|
|
||||||
GUILayout.Space(10);
|
|
||||||
EditorGUILayout.PropertyField(silverLiningSpreadLayer2);
|
|
||||||
EditorGUILayout.PropertyField(powderIntensityLayer2);
|
|
||||||
GUILayout.Space(10);
|
|
||||||
EditorGUILayout.PropertyField(lightAbsorbtionLayer2);
|
|
||||||
DisableInputEnd();
|
|
||||||
EditorGUILayout.PropertyField(lightStepModifierLayer2);
|
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
//Density
|
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
|
||||||
myTarget.showDensityControls = GUILayout.Toggle(myTarget.showDensityControls, "Density", headerFoldout);
|
|
||||||
|
|
||||||
if(myTarget.showDensityControls)
|
|
||||||
{
|
|
||||||
DisableInputStart();
|
|
||||||
EditorGUILayout.PropertyField(densityLayer2);
|
|
||||||
EditorGUILayout.PropertyField(densitySmoothnessLayer2);
|
|
||||||
DisableInputEnd();
|
|
||||||
EditorGUILayout.PropertyField(baseNoiseUVLayer2);
|
|
||||||
EditorGUILayout.PropertyField(detailNoiseUVLayer2);
|
|
||||||
DisableInputStart();
|
|
||||||
EditorGUILayout.PropertyField(baseErosionIntensityLayer2);
|
|
||||||
EditorGUILayout.PropertyField(detailErosionIntensityLayer2);
|
|
||||||
EditorGUILayout.PropertyField(curlIntensityLayer2);
|
|
||||||
DisableInputEnd();
|
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
//Wind
|
|
||||||
GUILayout.BeginVertical("",boxStyleModified);
|
|
||||||
myTarget.showWindControls = GUILayout.Toggle(myTarget.showWindControls, "Wind", headerFoldout);
|
|
||||||
|
|
||||||
if(myTarget.showWindControls)
|
|
||||||
{
|
|
||||||
EditorGUILayout.PropertyField(windSpeedModifierLayer2);
|
|
||||||
EditorGUILayout.PropertyField(windUpwardsLayer2);
|
|
||||||
GUILayout.Space(5);
|
|
||||||
EditorGUILayout.PropertyField(cloudsWindDirectionXModifierLayer2);
|
|
||||||
EditorGUILayout.PropertyField(cloudsWindDirectionYModifierLayer2);
|
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
//Layer 2 End
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Save Load
|
/// Save Load
|
||||||
|
|||||||
@@ -178,10 +178,13 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
GUIContent colorTitle = new GUIContent();
|
GUIContent colorTitle = new GUIContent();
|
||||||
colorTitle.text = "Sky Color Tint";
|
colorTitle.text = "Color Tint";
|
||||||
colorTitle.tooltip = "Sets a color tint for skybox";
|
colorTitle.tooltip = "Sets a color tint for skybox";
|
||||||
//curWT.skyOverride.intensity = EditorGUILayout.FloatField("Direct Light Intensity", curWT.lightingOverride.directLightIntensityModifier,0f,2f);
|
|
||||||
curWT.skyOverride.skyColorTint = EditorGUILayout.ColorField(colorTitle, curWT.skyOverride.skyColorTint,true,false,true);
|
curWT.skyOverride.skyColorTint = EditorGUILayout.ColorField(colorTitle, curWT.skyOverride.skyColorTint,true,false,true);
|
||||||
|
curWT.skyOverride.skyColorExponent = EditorGUILayout.Slider("Color Exponent", curWT.skyOverride.skyColorExponent,0f,2f);
|
||||||
|
curWT.skyOverride.mieScatteringMultiplier = EditorGUILayout.Slider("Mie Scattering Multiplier", curWT.skyOverride.mieScatteringMultiplier,0f,2f);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
@@ -195,64 +198,57 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
GUILayout.Space(5);
|
GUILayout.Space(5);
|
||||||
GUILayout.BeginVertical ("", boxStyleModified);
|
GUILayout.BeginVertical ("", boxStyleModified);
|
||||||
|
EditorGUILayout.LabelField("Coverage", headerStyle);
|
||||||
curWT.cloudsOverride.showLayer1 = GUILayout.Toggle(curWT.cloudsOverride.showLayer1, "Layer 1", headerFoldout);
|
curWT.cloudsOverride.coverage = EditorGUILayout.Slider("Coverage", curWT.cloudsOverride.coverage,-1f,1f);
|
||||||
if(curWT.cloudsOverride.showLayer1)
|
curWT.cloudsOverride.dilateCoverage = EditorGUILayout.Slider("Dilate Coverage", curWT.cloudsOverride.dilateCoverage,0f,1f);
|
||||||
{
|
|
||||||
curWT.cloudsOverride.coverageLayer1 = EditorGUILayout.Slider("Coverage", curWT.cloudsOverride.coverageLayer1,-1f,1f);
|
|
||||||
curWT.cloudsOverride.dilateCoverageLayer1 = EditorGUILayout.Slider("Dilate Coverage", curWT.cloudsOverride.dilateCoverageLayer1,0f,1f);
|
|
||||||
curWT.cloudsOverride.dilateTypeLayer1 = EditorGUILayout.Slider("Dilate Type", curWT.cloudsOverride.dilateTypeLayer1,0f,1f);
|
|
||||||
curWT.cloudsOverride.typeModifierLayer1 = EditorGUILayout.Slider("Type Modifier", curWT.cloudsOverride.typeModifierLayer1,0f,1f);
|
|
||||||
curWT.cloudsOverride.anvilBiasLayer1 = EditorGUILayout.Slider("Anvil Bias", curWT.cloudsOverride.anvilBiasLayer1,0f,1f);
|
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
curWT.cloudsOverride.scatteringIntensityLayer1 = EditorGUILayout.Slider("Scattering Intensity", curWT.cloudsOverride.scatteringIntensityLayer1,0f,2f);
|
EditorGUILayout.LabelField("Type Shaping", headerStyle);
|
||||||
curWT.cloudsOverride.multiScatteringALayer1 = EditorGUILayout.Slider("Multi Scattering A", curWT.cloudsOverride.multiScatteringALayer1,0f,1f);
|
curWT.cloudsOverride.dilateType = EditorGUILayout.Slider("Dilate Type", curWT.cloudsOverride.dilateType,0f,1f);
|
||||||
curWT.cloudsOverride.multiScatteringBLayer1 = EditorGUILayout.Slider("Multi Scattering B", curWT.cloudsOverride.multiScatteringBLayer1,0f,1f);
|
curWT.cloudsOverride.typeModifier = EditorGUILayout.Slider("Type Modifier", curWT.cloudsOverride.typeModifier,0f,1f);
|
||||||
curWT.cloudsOverride.multiScatteringCLayer1 = EditorGUILayout.Slider("Multi Scattering C", curWT.cloudsOverride.multiScatteringCLayer1,0f,1f);
|
curWT.cloudsOverride.cloudTypeShaping = EditorGUILayout.Slider("Type Influence", curWT.cloudsOverride.cloudTypeShaping,0f,1f);
|
||||||
curWT.cloudsOverride.powderIntensityLayer1 = EditorGUILayout.Slider("Powder Intensity", curWT.cloudsOverride.powderIntensityLayer1,0f,1f);
|
GUILayout.Space(10);
|
||||||
curWT.cloudsOverride.silverLiningSpreadLayer1 = EditorGUILayout.Slider("Silver Lining Spread", curWT.cloudsOverride.silverLiningSpreadLayer1,0f,1f);
|
EditorGUILayout.LabelField("Segment Shaping", headerStyle);
|
||||||
curWT.cloudsOverride.ligthAbsorbtionLayer1 = EditorGUILayout.Slider("Light Absorbtion", curWT.cloudsOverride.ligthAbsorbtionLayer1,0f,2f);
|
curWT.cloudsOverride.bottomShape = EditorGUILayout.Slider("Bottom Shape", curWT.cloudsOverride.bottomShape,-5f,5f);
|
||||||
|
curWT.cloudsOverride.midShape = EditorGUILayout.Slider("Mid Shape", curWT.cloudsOverride.midShape,-5f,5f);
|
||||||
|
curWT.cloudsOverride.topShape = EditorGUILayout.Slider("Top Shape", curWT.cloudsOverride.topShape,-5f,5f);
|
||||||
|
curWT.cloudsOverride.rampShape = EditorGUILayout.Slider("Ramp Shape", curWT.cloudsOverride.rampShape,0f,2f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
curWT.cloudsOverride.topLayer = EditorGUILayout.Slider("Top Layer", curWT.cloudsOverride.topLayer,0f,2f);
|
||||||
|
GUILayout.Space(10);
|
||||||
|
EditorGUILayout.LabelField("Lighting", headerStyle);
|
||||||
|
curWT.cloudsOverride.exposure = EditorGUILayout.Slider("Exposure", curWT.cloudsOverride.exposure,0.0f,2f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
curWT.cloudsOverride.scatteringIntensity = EditorGUILayout.Slider("Scattering Intensity", curWT.cloudsOverride.scatteringIntensity,0f,10f);
|
||||||
|
curWT.cloudsOverride.multiScatterStrength = EditorGUILayout.Slider("Multi Scattering Strength", curWT.cloudsOverride.multiScatterStrength,0f,1f);
|
||||||
|
curWT.cloudsOverride.multiScatterFalloff = EditorGUILayout.Slider("Multi Scattering Falloff", curWT.cloudsOverride.multiScatterFalloff,0f,0.5f);
|
||||||
|
curWT.cloudsOverride.ambientFloor = EditorGUILayout.Slider("Ambient Floor", curWT.cloudsOverride.ambientFloor,0f,1f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
curWT.cloudsOverride.silverLiningIntensity = EditorGUILayout.Slider("Silver Lining Intensity", curWT.cloudsOverride.silverLiningIntensity,0f,2f);
|
||||||
|
curWT.cloudsOverride.silverLiningSpread = EditorGUILayout.Slider("Silver Lining Spread", curWT.cloudsOverride.silverLiningSpread,0f,1f);
|
||||||
|
curWT.cloudsOverride.edgeHighlightStrength = EditorGUILayout.Slider("Edge Highlights", curWT.cloudsOverride.edgeHighlightStrength,0f,1f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
curWT.cloudsOverride.ligthAbsorbtion = EditorGUILayout.Slider("Light Absorbtion", curWT.cloudsOverride.ligthAbsorbtion,0f,2.0f);
|
||||||
curWT.cloudsOverride.ambientLightIntensity = EditorGUILayout.Slider("Ambient Light Intensity", curWT.cloudsOverride.ambientLightIntensity, 0f, 2f);
|
curWT.cloudsOverride.ambientLightIntensity = EditorGUILayout.Slider("Ambient Light Intensity", curWT.cloudsOverride.ambientLightIntensity, 0f, 2f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
curWT.cloudsOverride.lightningIntensity = EditorGUILayout.Slider("Lightning Intensity", curWT.cloudsOverride.lightningIntensity,0.0f,2f);
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
curWT.cloudsOverride.densityLayer1 = EditorGUILayout.Slider("Density", curWT.cloudsOverride.densityLayer1,0f,2f);
|
EditorGUILayout.LabelField("Density", headerStyle);
|
||||||
curWT.cloudsOverride.densitySmoothnessLayer1 = EditorGUILayout.Slider("Density Smoothness", curWT.cloudsOverride.densitySmoothnessLayer1,0f,2f);
|
curWT.cloudsOverride.density = EditorGUILayout.Slider("Density", curWT.cloudsOverride.density,0f,2f);
|
||||||
curWT.cloudsOverride.baseErosionIntensityLayer1 = EditorGUILayout.Slider("Base Erosion Intensity", curWT.cloudsOverride.baseErosionIntensityLayer1,0f,1f);
|
curWT.cloudsOverride.densitySmoothness = EditorGUILayout.Slider("Density Smoothness", curWT.cloudsOverride.densitySmoothness,0f,2f);
|
||||||
curWT.cloudsOverride.detailErosionIntensityLayer1 = EditorGUILayout.Slider("Detail Erosion Intensity", curWT.cloudsOverride.detailErosionIntensityLayer1,0f,1f);
|
GUILayout.Space(10);
|
||||||
curWT.cloudsOverride.curlIntensityLayer1 = EditorGUILayout.Slider("Curl Intensity", curWT.cloudsOverride.curlIntensityLayer1,0f,1f);
|
EditorGUILayout.LabelField("Noise Shaping", headerStyle);
|
||||||
|
curWT.cloudsOverride.baseNoiseUVMultiplier = EditorGUILayout.Slider("Base Noise UV Multiplier", curWT.cloudsOverride.baseNoiseUVMultiplier,0f,2f);
|
||||||
|
curWT.cloudsOverride.baseErosionIntensity = EditorGUILayout.Slider("Base Erosion Intensity", curWT.cloudsOverride.baseErosionIntensity,0f,1f);
|
||||||
|
curWT.cloudsOverride.baseNoiseMultiplier = EditorGUILayout.Slider("Base Noise Multiplier", curWT.cloudsOverride.baseNoiseMultiplier,0f,2f);
|
||||||
|
GUILayout.Space(5);
|
||||||
|
curWT.cloudsOverride.detailNoiseUVMultiplier = EditorGUILayout.Slider("Detail Noise UV Multiplier", curWT.cloudsOverride.detailNoiseUVMultiplier,0f,2f);
|
||||||
|
curWT.cloudsOverride.detailErosionIntensity = EditorGUILayout.Slider("Detail Erosion Intensity", curWT.cloudsOverride.detailErosionIntensity,0f,1f);
|
||||||
|
curWT.cloudsOverride.detailNoiseMultiplier = EditorGUILayout.Slider("Detail Noise Multiplier", curWT.cloudsOverride.detailNoiseMultiplier,0f,2f);
|
||||||
|
curWT.cloudsOverride.curlIntensity = EditorGUILayout.Slider("Curl Intensity", curWT.cloudsOverride.curlIntensity,0f,1f);
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
if(EnviroManager.instance == null || EnviroManager.instance.VolumetricClouds.settingsGlobal.dualLayer)
|
|
||||||
{
|
|
||||||
GUILayout.BeginVertical ("", boxStyleModified);
|
|
||||||
curWT.cloudsOverride.showLayer2 = GUILayout.Toggle(curWT.cloudsOverride.showLayer2, "Layer 2", headerFoldout);
|
|
||||||
if(curWT.cloudsOverride.showLayer2)
|
|
||||||
{
|
|
||||||
curWT.cloudsOverride.coverageLayer2 = EditorGUILayout.Slider("Coverage", curWT.cloudsOverride.coverageLayer2,-1f,1f);
|
|
||||||
curWT.cloudsOverride.dilateCoverageLayer2 = EditorGUILayout.Slider("Dilate Coverage", curWT.cloudsOverride.dilateCoverageLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.dilateTypeLayer2 = EditorGUILayout.Slider("Dilate Type", curWT.cloudsOverride.dilateTypeLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.typeModifierLayer2 = EditorGUILayout.Slider("Type Modifier", curWT.cloudsOverride.typeModifierLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.anvilBiasLayer2 = EditorGUILayout.Slider("Anvil Bias", curWT.cloudsOverride.anvilBiasLayer2,0f,1f);
|
|
||||||
GUILayout.Space(10);
|
|
||||||
curWT.cloudsOverride.scatteringIntensityLayer2 = EditorGUILayout.Slider("Scattering Intensity", curWT.cloudsOverride.scatteringIntensityLayer2,0f,2f);
|
|
||||||
curWT.cloudsOverride.multiScatteringALayer2 = EditorGUILayout.Slider("Multi Scattering A", curWT.cloudsOverride.multiScatteringALayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.multiScatteringBLayer2 = EditorGUILayout.Slider("Multi Scattering B", curWT.cloudsOverride.multiScatteringBLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.multiScatteringCLayer2 = EditorGUILayout.Slider("Multi Scattering C", curWT.cloudsOverride.multiScatteringCLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.powderIntensityLayer2 = EditorGUILayout.Slider("Powder Intensity", curWT.cloudsOverride.powderIntensityLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.silverLiningSpreadLayer2 = EditorGUILayout.Slider("Silver Lining Spread", curWT.cloudsOverride.silverLiningSpreadLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.ligthAbsorbtionLayer2 = EditorGUILayout.Slider("Light Absorbtion", curWT.cloudsOverride.ligthAbsorbtionLayer2,0f,2f);
|
|
||||||
curWT.cloudsOverride.ambientLightIntensity = EditorGUILayout.Slider("Ambient Light Intensity", curWT.cloudsOverride.ambientLightIntensity,0f,2f);
|
|
||||||
GUILayout.Space(10);
|
|
||||||
curWT.cloudsOverride.densityLayer2 = EditorGUILayout.Slider("Density", curWT.cloudsOverride.densityLayer2,0f,2f);
|
|
||||||
curWT.cloudsOverride.densitySmoothnessLayer2 = EditorGUILayout.Slider("Density Smoothness", curWT.cloudsOverride.densitySmoothnessLayer2,0f,2f);
|
|
||||||
curWT.cloudsOverride.baseErosionIntensityLayer2 = EditorGUILayout.Slider("Base Erosion Intensity", curWT.cloudsOverride.baseErosionIntensityLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.detailErosionIntensityLayer2 = EditorGUILayout.Slider("Detail Erosion Intensity", curWT.cloudsOverride.detailErosionIntensityLayer2,0f,1f);
|
|
||||||
curWT.cloudsOverride.curlIntensityLayer2 = EditorGUILayout.Slider("Curl Intensity", curWT.cloudsOverride.curlIntensityLayer2,0f,1f);
|
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,8 +271,7 @@ namespace Enviro
|
|||||||
curWT.flatCloudsOverride.flatCloudsLightIntensity = EditorGUILayout.Slider("Flat Clouds Light Intensity", curWT.flatCloudsOverride.flatCloudsLightIntensity,0f,2f);
|
curWT.flatCloudsOverride.flatCloudsLightIntensity = EditorGUILayout.Slider("Flat Clouds Light Intensity", curWT.flatCloudsOverride.flatCloudsLightIntensity,0f,2f);
|
||||||
curWT.flatCloudsOverride.flatCloudsAmbientIntensity = EditorGUILayout.Slider("Flat Clouds Ambient Intensity", curWT.flatCloudsOverride.flatCloudsAmbientIntensity,0f,2f);
|
curWT.flatCloudsOverride.flatCloudsAmbientIntensity = EditorGUILayout.Slider("Flat Clouds Ambient Intensity", curWT.flatCloudsOverride.flatCloudsAmbientIntensity,0f,2f);
|
||||||
curWT.flatCloudsOverride.flatCloudsDensity =EditorGUILayout.Slider("Flat Clouds Density", curWT.flatCloudsOverride.flatCloudsDensity,0f,2f);
|
curWT.flatCloudsOverride.flatCloudsDensity =EditorGUILayout.Slider("Flat Clouds Density", curWT.flatCloudsOverride.flatCloudsDensity,0f,2f);
|
||||||
|
curWT.flatCloudsOverride.flatCloudsShadowIntensity = EditorGUILayout.Slider("Flat Clouds Shadow Intensity", curWT.flatCloudsOverride.flatCloudsShadowIntensity,0f,2f);
|
||||||
curWT.flatCloudsOverride.flatCloudsAbsorbtion = EditorGUILayout.Slider("Flat Clouds Light Absorbtion", curWT.flatCloudsOverride.flatCloudsAbsorbtion,0f,2f);
|
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
@@ -325,7 +320,7 @@ namespace Enviro
|
|||||||
curWT.fogOverride.anistropy = EditorGUILayout.Slider("Anistropy", curWT.fogOverride.anistropy,0f,1.0f);
|
curWT.fogOverride.anistropy = EditorGUILayout.Slider("Anistropy", curWT.fogOverride.anistropy,0f,1.0f);
|
||||||
#else
|
#else
|
||||||
EditorGUILayout.LabelField("HDRP Fog", headerStyle);
|
EditorGUILayout.LabelField("HDRP Fog", headerStyle);
|
||||||
curWT.fogOverride.fogAttenuationDistance = EditorGUILayout.Slider("Attenuation Distance", curWT.fogOverride.fogAttenuationDistance,0f,400f);
|
curWT.fogOverride.fogAttenuationDistance = EditorGUILayout.Slider("Attenuation Distance", curWT.fogOverride.fogAttenuationDistance,0f,4000f);
|
||||||
curWT.fogOverride.baseHeight = EditorGUILayout.FloatField("Base Height", curWT.fogOverride.baseHeight);
|
curWT.fogOverride.baseHeight = EditorGUILayout.FloatField("Base Height", curWT.fogOverride.baseHeight);
|
||||||
curWT.fogOverride.maxHeight = EditorGUILayout.FloatField("Max Height", curWT.fogOverride.maxHeight);
|
curWT.fogOverride.maxHeight = EditorGUILayout.FloatField("Max Height", curWT.fogOverride.maxHeight);
|
||||||
GUILayout.Space(10);
|
GUILayout.Space(10);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
public class EnviroConfiguration : ScriptableObject
|
public class EnviroConfiguration : ScriptableObject
|
||||||
{
|
{
|
||||||
|
public string version = "";
|
||||||
public EnviroTimeModule timeModule;
|
public EnviroTimeModule timeModule;
|
||||||
public EnviroLightingModule lightingModule;
|
public EnviroLightingModule lightingModule;
|
||||||
public EnviroReflectionsModule reflectionsModule;
|
public EnviroReflectionsModule reflectionsModule;
|
||||||
@@ -30,6 +31,7 @@ namespace Enviro
|
|||||||
public static EnviroConfiguration CreateMyAsset()
|
public static EnviroConfiguration CreateMyAsset()
|
||||||
{
|
{
|
||||||
EnviroConfiguration config = ScriptableObject.CreateInstance<EnviroConfiguration>();
|
EnviroConfiguration config = ScriptableObject.CreateInstance<EnviroConfiguration>();
|
||||||
|
config.version = "3.3.0";
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
// Create and save the new profile with unique name
|
// Create and save the new profile with unique name
|
||||||
string path = UnityEditor.AssetDatabase.GetAssetPath (UnityEditor.Selection.activeObject);
|
string path = UnityEditor.AssetDatabase.GetAssetPath (UnityEditor.Selection.activeObject);
|
||||||
|
|||||||
@@ -16,14 +16,14 @@ namespace Enviro
|
|||||||
public Mode type;
|
public Mode type;
|
||||||
|
|
||||||
[Range(-10f, 0f)]
|
[Range(-10f, 0f)]
|
||||||
public float density = 0.0f;
|
public float density = -10.0f;
|
||||||
|
|
||||||
public float radius = 1.0f;
|
public float radius = 1.0f;
|
||||||
public float stretch = 2.0f;
|
public float stretch = 2.0f;
|
||||||
[Range(0, 1)]
|
[Range(0, 1)]
|
||||||
public float feather = 0.7f;
|
public float feather = 0.7f;
|
||||||
|
|
||||||
public Vector3 size;
|
public Vector3 size = Vector3.one * 10;
|
||||||
|
|
||||||
void OnEnable()
|
void OnEnable()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using UnityEditor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Enviro
|
namespace Enviro
|
||||||
@@ -51,6 +52,20 @@ namespace Enviro
|
|||||||
return (value - from1) / (to1 - from1) * (to2 - from2) + from2;
|
return (value - from1) / (to1 - from1) * (to2 - from2) + from2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void DestroyExtended (Object obj)
|
||||||
|
{
|
||||||
|
if(Application.isPlaying)
|
||||||
|
{
|
||||||
|
MonoBehaviour.Destroy(obj);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MonoBehaviour.DestroyImmediate(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Checks if Enviro Effects should render on this camera for URP/HDRP
|
// Checks if Enviro Effects should render on this camera for URP/HDRP
|
||||||
public static bool CanRenderOnCamera (Camera cam)
|
public static bool CanRenderOnCamera (Camera cam)
|
||||||
{
|
{
|
||||||
@@ -261,6 +276,25 @@ namespace Enviro
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Find the default profile. .y
|
||||||
|
public static EnviroConfiguration GetConfig(string name)
|
||||||
|
{
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
string[] assets = UnityEditor.AssetDatabase.FindAssets(name, null);
|
||||||
|
|
||||||
|
for (int idx = 0; idx < assets.Length; idx++)
|
||||||
|
{
|
||||||
|
string path = UnityEditor.AssetDatabase.GUIDToAssetPath(assets[idx]);
|
||||||
|
|
||||||
|
if (path.Contains(".asset"))
|
||||||
|
{
|
||||||
|
return UnityEditor.AssetDatabase.LoadAssetAtPath<EnviroConfiguration>(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
public static UnityEngine.Rendering.VolumeProfile GetDefaultSkyAndFogProfile(string name)
|
public static UnityEngine.Rendering.VolumeProfile GetDefaultSkyAndFogProfile(string name)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ namespace Enviro
|
|||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
public UnityEngine.Rendering.Volume volumeHDRP;
|
public UnityEngine.Rendering.Volume volumeHDRP;
|
||||||
public UnityEngine.Rendering.VolumeProfile volumeProfileHDRP;
|
public UnityEngine.Rendering.VolumeProfile volumeProfileHDRP;
|
||||||
|
public UnityEngine.Rendering.HighDefinition.CustomPassVolume customPassVolumeHDRP;
|
||||||
#endif
|
#endif
|
||||||
//////
|
//////
|
||||||
|
|
||||||
@@ -226,6 +227,14 @@ namespace Enviro
|
|||||||
|
|
||||||
EventInit();
|
EventInit();
|
||||||
SetSRPKeywords();
|
SetSRPKeywords();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (isNight)
|
||||||
|
NotifyIsNight();
|
||||||
|
else
|
||||||
|
NotifyIsDay();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDisable()
|
void OnDisable()
|
||||||
@@ -498,6 +507,34 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
volumeHDRP.sharedProfile = volumeProfileHDRP;
|
volumeHDRP.sharedProfile = volumeProfileHDRP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(customPassVolumeHDRP == null)
|
||||||
|
{
|
||||||
|
GameObject volume = new GameObject();
|
||||||
|
volume.name = "Enviro Custom Pass";
|
||||||
|
volume.transform.SetParent(transform);
|
||||||
|
volume.transform.localPosition = Vector3.zero;
|
||||||
|
customPassVolumeHDRP = volume.AddComponent<UnityEngine.Rendering.HighDefinition.CustomPassVolume>();
|
||||||
|
customPassVolumeHDRP.isGlobal = true;
|
||||||
|
customPassVolumeHDRP.injectionPoint = UnityEngine.Rendering.HighDefinition.CustomPassInjectionPoint.AfterOpaqueAndSky;
|
||||||
|
customPassVolumeHDRP.AddPassOfType<EnviroHDRPCustomPass>();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Check if a pass of type EnviroHDRPCustomPass already exists
|
||||||
|
bool hasPass = false;
|
||||||
|
foreach (var pass in customPassVolumeHDRP.customPasses)
|
||||||
|
{
|
||||||
|
if (pass is EnviroHDRPCustomPass)
|
||||||
|
{
|
||||||
|
hasPass = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!hasPass)
|
||||||
|
customPassVolumeHDRP.AddPassOfType<EnviroHDRPCustomPass>();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ namespace Enviro
|
|||||||
|
|
||||||
public class EnviroManagerBase : MonoBehaviour
|
public class EnviroManagerBase : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
public string version => "3.3.1";
|
||||||
|
private string defaultConfig => "Default Enviro Configuration 3_3_1";
|
||||||
|
|
||||||
//Modules
|
//Modules
|
||||||
public EnviroConfiguration configuration;
|
public EnviroConfiguration configuration;
|
||||||
|
|
||||||
@@ -1206,6 +1209,53 @@ namespace Enviro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateConfiguration (string fromVersion)
|
||||||
|
{
|
||||||
|
EnviroConfiguration defaults = EnviroHelper.GetConfig(defaultConfig);
|
||||||
|
|
||||||
|
if(defaults != null)
|
||||||
|
{
|
||||||
|
if(fromVersion != version)
|
||||||
|
{
|
||||||
|
if (fromVersion == "")
|
||||||
|
{
|
||||||
|
if (configuration.volumetricCloudModule != null)
|
||||||
|
{
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.noise = defaults.volumetricCloudModule.settingsGlobal.noise;
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.detailNoise = defaults.volumetricCloudModule.settingsGlobal.detailNoise;
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.curlTex = defaults.volumetricCloudModule.settingsGlobal.curlTex;
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.bottomsOffsetNoise = defaults.volumetricCloudModule.settingsGlobal.bottomsOffsetNoise;
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.atmosphereColorSaturateDistance = defaults.volumetricCloudModule.settingsGlobal.atmosphereColorSaturateDistance;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.worleyFreq1 = defaults.volumetricCloudModule.settingsVolume.worleyFreq1;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.worleyFreq2 = defaults.volumetricCloudModule.settingsVolume.worleyFreq2;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.baseNoiseUV = defaults.volumetricCloudModule.settingsVolume.baseNoiseUV;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.detailNoiseUV = defaults.volumetricCloudModule.settingsVolume.detailNoiseUV;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.windSpeedModifier = defaults.volumetricCloudModule.settingsVolume.windSpeedModifier;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.windUpwards = defaults.volumetricCloudModule.settingsVolume.windUpwards;
|
||||||
|
|
||||||
|
configuration.lightingModule.Settings.sceneExposure = defaults.lightingModule.Settings.sceneExposure;
|
||||||
|
configuration.Sky.Settings.skyExposureHDRP = defaults.Sky.Settings.skyExposureHDRP;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (fromVersion == "3.3.0")
|
||||||
|
{
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.atmosphereColorSaturateDistance = defaults.volumetricCloudModule.settingsGlobal.atmosphereColorSaturateDistance;
|
||||||
|
configuration.volumetricCloudModule.settingsGlobal.curlTex = defaults.volumetricCloudModule.settingsGlobal.curlTex;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.baseNoiseUV = defaults.volumetricCloudModule.settingsVolume.baseNoiseUV;
|
||||||
|
configuration.volumetricCloudModule.settingsVolume.detailNoiseUV = defaults.volumetricCloudModule.settingsVolume.detailNoiseUV;
|
||||||
|
}
|
||||||
|
|
||||||
|
configuration.version = version;
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
UnityEditor.EditorUtility.SetDirty(configuration);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogError("Could not find default config asset: " + defaultConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,285 @@
|
|||||||
|
#if ENVIRO_HDRP
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine.Rendering.HighDefinition;
|
||||||
|
using UnityEngine.Rendering;
|
||||||
|
using UnityEngine.Experimental.Rendering;
|
||||||
|
|
||||||
|
namespace Enviro
|
||||||
|
{
|
||||||
|
class EnviroHDRPCustomPass : CustomPass
|
||||||
|
{
|
||||||
|
private Material blitTrough;
|
||||||
|
private List<EnviroVolumetricCloudRenderer> volumetricCloudsRender = new List<EnviroVolumetricCloudRenderer>();
|
||||||
|
private Vector3 floatingPointOriginMod = Vector3.zero;
|
||||||
|
|
||||||
|
private RTHandle sourceHandle;
|
||||||
|
private RTHandle temp1Handle;
|
||||||
|
private RTHandle temp2Handle;
|
||||||
|
|
||||||
|
protected override void Setup(ScriptableRenderContext renderContext, CommandBuffer cmd)
|
||||||
|
{
|
||||||
|
if (blitTrough == null)
|
||||||
|
blitTrough = new Material(Shader.Find("Hidden/Enviro/BlitTroughHDRP"));
|
||||||
|
|
||||||
|
// We allocate persistent RTHandles dynamically when Execute runs for the first time
|
||||||
|
sourceHandle = null;
|
||||||
|
temp1Handle = null;
|
||||||
|
temp2Handle = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public RTHandle ReallocateIfNeeded(RTHandle handle, RenderTextureDescriptor desc, string name)
|
||||||
|
{
|
||||||
|
bool needsRealloc = handle == null || handle.rt == null;
|
||||||
|
|
||||||
|
if (!needsRealloc)
|
||||||
|
{
|
||||||
|
var hDesc = handle.rt.descriptor;
|
||||||
|
|
||||||
|
// Compare only the format & dimension
|
||||||
|
if (hDesc.graphicsFormat != desc.graphicsFormat ||
|
||||||
|
hDesc.dimension != desc.dimension)
|
||||||
|
{
|
||||||
|
needsRealloc = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (needsRealloc)
|
||||||
|
{
|
||||||
|
if (handle != null)
|
||||||
|
RTHandles.Release(handle);
|
||||||
|
|
||||||
|
// Allocate with scale = 1, dynamic scaling will adjust automatically
|
||||||
|
handle = RTHandles.Alloc(
|
||||||
|
Vector2.one,
|
||||||
|
colorFormat: desc.graphicsFormat,
|
||||||
|
dimension: desc.dimension,
|
||||||
|
enableRandomWrite: false,
|
||||||
|
useMipMap: desc.useMipMap,
|
||||||
|
name: name,
|
||||||
|
useDynamicScale: true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return handle;
|
||||||
|
}
|
||||||
|
protected override void Execute(CustomPassContext ctx)
|
||||||
|
{
|
||||||
|
HDCamera camera = ctx.hdCamera;
|
||||||
|
|
||||||
|
if (ctx.cameraColorBuffer == null || ctx.cameraColorBuffer.rt == null ||
|
||||||
|
camera.camera.cameraType == CameraType.Preview ||
|
||||||
|
!EnviroHelper.CanRenderOnCamera(camera.camera) || EnviroManager.instance == null && EnviroManager.instance.configuration != null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
var desc = ctx.cameraColorBuffer.rt.descriptor;
|
||||||
|
|
||||||
|
// Reallocate only if needed
|
||||||
|
sourceHandle = ReallocateIfNeeded(sourceHandle, desc, "Enviro Source");
|
||||||
|
temp1Handle = ReallocateIfNeeded(temp1Handle, desc, "Enviro Temp1");
|
||||||
|
|
||||||
|
if (EnviroManager.instance.VolumetricClouds != null && EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows)
|
||||||
|
temp2Handle = ReallocateIfNeeded(temp2Handle, desc, "Enviro Temp2");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Copy camera buffer to persistent source
|
||||||
|
HDUtils.BlitCameraTexture(ctx.cmd, ctx.cameraColorBuffer, sourceHandle);
|
||||||
|
|
||||||
|
// Get quality and flags
|
||||||
|
EnviroQuality myQuality = EnviroHelper.GetQualityForCamera(camera.camera);
|
||||||
|
bool renderVolumetricClouds = EnviroManager.instance.VolumetricClouds != null && myQuality.volumetricCloudsOverride.volumetricClouds;
|
||||||
|
bool renderFog = EnviroManager.instance.Fog != null && myQuality.fogOverride.fog;
|
||||||
|
|
||||||
|
floatingPointOriginMod = EnviroManager.instance.Objects?.worldAnchor != null
|
||||||
|
? EnviroManager.instance.Objects.worldAnchor.transform.position
|
||||||
|
: Vector3.zero;
|
||||||
|
|
||||||
|
// Ensure clouds renderer exists
|
||||||
|
if (renderVolumetricClouds && GetCloudsRenderer(camera.camera) == null)
|
||||||
|
CreateCloudsRenderer(camera.camera);
|
||||||
|
|
||||||
|
SetMatrix(camera.camera);
|
||||||
|
|
||||||
|
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(camera.camera);
|
||||||
|
|
||||||
|
// ----- Depth-aware render logic -----
|
||||||
|
if (renderVolumetricClouds && renderFog)
|
||||||
|
{
|
||||||
|
if (camera.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsVolume.bottomCloudsHeight)
|
||||||
|
{
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera, ctx.cmd, sourceHandle, temp1Handle, renderer, myQuality);
|
||||||
|
|
||||||
|
if (EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows &&
|
||||||
|
camera.camera.cameraType != CameraType.Reflection)
|
||||||
|
{
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera, ctx.cmd, temp1Handle, temp2Handle, renderer);
|
||||||
|
|
||||||
|
EnviroManager.instance.Fog.RenderHeightFogHDRP(camera.camera, ctx.cmd, temp2Handle, ctx.cameraColorBuffer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
EnviroManager.instance.Fog.RenderHeightFogHDRP(camera.camera, ctx.cmd, temp1Handle, ctx.cameraColorBuffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
EnviroManager.instance.Fog.RenderHeightFogHDRP(camera.camera, ctx.cmd, sourceHandle, temp1Handle);
|
||||||
|
|
||||||
|
if (EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows &&
|
||||||
|
camera.camera.cameraType != CameraType.Reflection)
|
||||||
|
{
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera, ctx.cmd, temp1Handle, temp2Handle, renderer);
|
||||||
|
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera, ctx.cmd, temp2Handle, ctx.cameraColorBuffer, renderer, myQuality);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera, ctx.cmd, temp1Handle, ctx.cameraColorBuffer, renderer, myQuality);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (renderVolumetricClouds)
|
||||||
|
{
|
||||||
|
if (EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows &&
|
||||||
|
camera.camera.cameraType != CameraType.Reflection)
|
||||||
|
{
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera, ctx.cmd, sourceHandle, temp1Handle, renderer);
|
||||||
|
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera, ctx.cmd, temp1Handle, ctx.cameraColorBuffer, renderer, myQuality);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera, ctx.cmd, sourceHandle, ctx.cameraColorBuffer, renderer, myQuality);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (renderFog)
|
||||||
|
{
|
||||||
|
|
||||||
|
EnviroManager.instance.Fog.RenderHeightFogHDRP(camera.camera, ctx.cmd, sourceHandle, ctx.cameraColorBuffer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// blitTrough.SetTexture("_InputTexture", sourceHandle);
|
||||||
|
// CoreUtils.SetRenderTarget(ctx.cmd, ctx.cameraColorBuffer, ctx.cameraDepthBuffer, ClearFlag.None);
|
||||||
|
// HDUtils.DrawFullScreen(ctx.cmd, blitTrough);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!renderVolumetricClouds)
|
||||||
|
Shader.SetGlobalTexture("_EnviroClouds", Texture2D.blackTexture);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Cleanup()
|
||||||
|
{
|
||||||
|
if (blitTrough != null) CoreUtils.Destroy(blitTrough);
|
||||||
|
|
||||||
|
if (sourceHandle != null) RTHandles.Release(sourceHandle);
|
||||||
|
if (temp1Handle != null) RTHandles.Release(temp1Handle);
|
||||||
|
if (temp2Handle != null) RTHandles.Release(temp2Handle);
|
||||||
|
|
||||||
|
for (int i = 0; i < volumetricCloudsRender.Count; i++)
|
||||||
|
CleanCloudsRenderer(volumetricCloudsRender[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- Cloud renderer helpers -----
|
||||||
|
private EnviroVolumetricCloudRenderer CreateCloudsRenderer(Camera cam)
|
||||||
|
{
|
||||||
|
EnviroVolumetricCloudRenderer r = new EnviroVolumetricCloudRenderer();
|
||||||
|
r.camera = cam;
|
||||||
|
volumetricCloudsRender.Add(r);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CleanCloudsRenderer(EnviroVolumetricCloudRenderer renderer)
|
||||||
|
{
|
||||||
|
if (renderer.fullBuffer != null)
|
||||||
|
foreach (var b in renderer.fullBuffer) if (b != null) CoreUtils.Destroy(b);
|
||||||
|
|
||||||
|
if (renderer.undersampleBuffer != null) CoreUtils.Destroy(renderer.undersampleBuffer);
|
||||||
|
if (renderer.downsampledDepth != null) CoreUtils.Destroy(renderer.downsampledDepth);
|
||||||
|
if (renderer.raymarchMat != null) CoreUtils.Destroy(renderer.raymarchMat);
|
||||||
|
if (renderer.reprojectMat != null) CoreUtils.Destroy(renderer.reprojectMat);
|
||||||
|
if (renderer.blendAndLightingMat != null) CoreUtils.Destroy(renderer.blendAndLightingMat);
|
||||||
|
if (renderer.depthMat != null) CoreUtils.Destroy(renderer.depthMat);
|
||||||
|
if (renderer.shadowMat != null) CoreUtils.Destroy(renderer.shadowMat);
|
||||||
|
}
|
||||||
|
|
||||||
|
private EnviroVolumetricCloudRenderer GetCloudsRenderer(Camera cam)
|
||||||
|
{
|
||||||
|
foreach (var r in volumetricCloudsRender)
|
||||||
|
if (r.camera == cam) return r;
|
||||||
|
|
||||||
|
return CreateCloudsRenderer(cam);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetMatrix(Camera myCam)
|
||||||
|
{
|
||||||
|
#if ENABLE_VR && ENABLE_XR_MODULE
|
||||||
|
if (UnityEngine.XR.XRSettings.enabled && UnityEngine.XR.XRSettings.stereoRenderingMode == UnityEngine.XR.XRSettings.StereoRenderingMode.SinglePassInstanced)
|
||||||
|
{
|
||||||
|
// Both stereo eye inverse view matrices
|
||||||
|
Matrix4x4 left_world_from_view = myCam.GetStereoViewMatrix(Camera.StereoscopicEye.Left).inverse;
|
||||||
|
Matrix4x4 right_world_from_view = myCam.GetStereoViewMatrix(Camera.StereoscopicEye.Right).inverse;
|
||||||
|
|
||||||
|
// Both stereo eye inverse projection matrices, plumbed through GetGPUProjectionMatrix to compensate for render texture
|
||||||
|
Matrix4x4 left_screen_from_view = myCam.GetStereoProjectionMatrix(Camera.StereoscopicEye.Left);
|
||||||
|
Matrix4x4 right_screen_from_view = myCam.GetStereoProjectionMatrix(Camera.StereoscopicEye.Right);
|
||||||
|
Matrix4x4 left_view_from_screen = GL.GetGPUProjectionMatrix(left_screen_from_view, true).inverse;
|
||||||
|
Matrix4x4 right_view_from_screen = GL.GetGPUProjectionMatrix(right_screen_from_view, true).inverse;
|
||||||
|
|
||||||
|
// Negate [1,1] to reflect Unity's CBuffer state
|
||||||
|
if (SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.OpenGLCore && SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.OpenGLES3)
|
||||||
|
{
|
||||||
|
left_view_from_screen[1, 1] *= -1;
|
||||||
|
right_view_from_screen[1, 1] *= -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Shader.SetGlobalMatrix("_LeftWorldFromView", left_world_from_view);
|
||||||
|
Shader.SetGlobalMatrix("_RightWorldFromView", right_world_from_view);
|
||||||
|
Shader.SetGlobalMatrix("_LeftViewFromScreen", left_view_from_screen);
|
||||||
|
Shader.SetGlobalMatrix("_RightViewFromScreen", right_view_from_screen);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Main eye inverse view matrix
|
||||||
|
Matrix4x4 left_world_from_view = myCam.cameraToWorldMatrix;
|
||||||
|
|
||||||
|
// Inverse projection matrices, plumbed through GetGPUProjectionMatrix to compensate for render texture
|
||||||
|
Matrix4x4 screen_from_view = myCam.projectionMatrix;
|
||||||
|
Matrix4x4 left_view_from_screen = GL.GetGPUProjectionMatrix(screen_from_view, true).inverse;
|
||||||
|
|
||||||
|
// Negate [1,1] to reflect Unity's CBuffer state
|
||||||
|
if (SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.OpenGLCore && SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.OpenGLES3)
|
||||||
|
left_view_from_screen[1, 1] *= -1;
|
||||||
|
|
||||||
|
Shader.SetGlobalMatrix("_LeftWorldFromView", left_world_from_view);
|
||||||
|
Shader.SetGlobalMatrix("_LeftViewFromScreen", left_view_from_screen);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
// Main eye inverse view matrix
|
||||||
|
Matrix4x4 left_world_from_view = myCam.cameraToWorldMatrix;
|
||||||
|
|
||||||
|
// Inverse projection matrices, plumbed through GetGPUProjectionMatrix to compensate for render texture
|
||||||
|
Matrix4x4 screen_from_view = myCam.projectionMatrix;
|
||||||
|
Matrix4x4 left_view_from_screen = GL.GetGPUProjectionMatrix(screen_from_view, true).inverse;
|
||||||
|
|
||||||
|
// Negate [1,1] to reflect Unity's CBuffer state
|
||||||
|
if (SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.OpenGLCore && SystemInfo.graphicsDeviceType != UnityEngine.Rendering.GraphicsDeviceType.OpenGLES3)
|
||||||
|
left_view_from_screen[1, 1] *= -1;
|
||||||
|
|
||||||
|
Shader.SetGlobalMatrix("_LeftWorldFromView", left_world_from_view);
|
||||||
|
Shader.SetGlobalMatrix("_LeftViewFromScreen", left_view_from_screen);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6e7ac1f0b8835dd49ae0c2334bb590a6
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
//Deprecated since 3.3. Please use the custom pass system now!
|
||||||
|
|
||||||
|
/*
|
||||||
#if ENVIRO_HDRP
|
#if ENVIRO_HDRP
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Rendering;
|
using UnityEngine.Rendering;
|
||||||
@@ -7,7 +10,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace Enviro
|
namespace Enviro
|
||||||
{
|
{
|
||||||
[Serializable, VolumeComponentMenu("Post-processing/Enviro/Effects Renderer")]
|
[Serializable, VolumeComponentMenu("Post-processing/Enviro/Effects Renderer (DEPRECATED)")]
|
||||||
public class EnviroHDRPRenderer : CustomPostProcessVolumeComponent, IPostProcessComponent
|
public class EnviroHDRPRenderer : CustomPostProcessVolumeComponent, IPostProcessComponent
|
||||||
{
|
{
|
||||||
public bool IsActive() => EnviroManager.instance != null;
|
public bool IsActive() => EnviroManager.instance != null;
|
||||||
@@ -86,13 +89,15 @@ namespace Enviro
|
|||||||
//Set some global matrixes used for all the enviro effects.
|
//Set some global matrixes used for all the enviro effects.
|
||||||
SetMatrix(camera.camera);
|
SetMatrix(camera.camera);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Clouds
|
//Clouds
|
||||||
if(EnviroManager.instance.Fog != null && EnviroManager.instance.VolumetricClouds != null && renderVolumetricClouds && renderFog)
|
if(EnviroManager.instance.Fog != null && EnviroManager.instance.VolumetricClouds != null && renderVolumetricClouds && renderFog)
|
||||||
{
|
{
|
||||||
RenderTexture temp1 = RenderTexture.GetTemporary(source.rt.descriptor);
|
RenderTexture temp1 = RenderTexture.GetTemporary(source.rt.descriptor);
|
||||||
RTHandle temp1Handle = RTHandles.Alloc(temp1);
|
RTHandle temp1Handle = RTHandles.Alloc(temp1);
|
||||||
|
|
||||||
if(camera.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsLayer1.bottomCloudsHeight)
|
if(camera.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsVolume.bottomCloudsHeight)
|
||||||
{
|
{
|
||||||
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(camera.camera);
|
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(camera.camera);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera,cmd, source, temp1Handle, renderer, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera,cmd, source, temp1Handle, renderer, myQuality);
|
||||||
@@ -120,8 +125,8 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
RenderTexture temp2 = RenderTexture.GetTemporary(source.rt.descriptor);
|
RenderTexture temp2 = RenderTexture.GetTemporary(source.rt.descriptor);
|
||||||
RTHandle temp2Handle = RTHandles.Alloc(temp2);
|
RTHandle temp2Handle = RTHandles.Alloc(temp2);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera,cmd, temp1Handle, temp2Handle, renderer, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera,cmd,temp1Handle,temp2Handle,renderer);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera,cmd,temp2Handle,destination,renderer);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera,cmd, temp2Handle, destination, renderer, myQuality);
|
||||||
RenderTexture.ReleaseTemporary(temp2);
|
RenderTexture.ReleaseTemporary(temp2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -142,8 +147,8 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
RenderTexture temp1 = RenderTexture.GetTemporary(source.rt.descriptor);
|
RenderTexture temp1 = RenderTexture.GetTemporary(source.rt.descriptor);
|
||||||
RTHandle temp1Handle = RTHandles.Alloc(temp1);
|
RTHandle temp1Handle = RTHandles.Alloc(temp1);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera,cmd, source, temp1Handle, renderer, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera,cmd,source,temp1Handle,renderer);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsHDRP(camera.camera,cmd,temp1Handle,destination,renderer);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsHDRP(camera.camera,cmd, temp1Handle, destination, renderer, myQuality);
|
||||||
RenderTexture.ReleaseTemporary(temp1);
|
RenderTexture.ReleaseTemporary(temp1);
|
||||||
//temp1Handle.Release();
|
//temp1Handle.Release();
|
||||||
}
|
}
|
||||||
@@ -288,3 +293,4 @@ namespace Enviro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
@@ -172,7 +172,7 @@ namespace Enviro
|
|||||||
RenderTexture temp2 = RenderTexture.GetTemporary(src.descriptor);
|
RenderTexture temp2 = RenderTexture.GetTemporary(src.descriptor);
|
||||||
|
|
||||||
|
|
||||||
if(myCam.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsLayer1.bottomCloudsHeight)
|
if(myCam.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsVolume.bottomCloudsHeight)
|
||||||
{
|
{
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricClouds(myCam, src, temp, volumetricCloudsRender, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricClouds(myCam, src, temp, volumetricCloudsRender, myQuality);
|
||||||
|
|
||||||
@@ -192,8 +192,8 @@ namespace Enviro
|
|||||||
|
|
||||||
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && myCam.cameraType != CameraType.Reflection)
|
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && myCam.cameraType != CameraType.Reflection)
|
||||||
{
|
{
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricClouds(myCam,temp,temp2,volumetricCloudsRender,myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadows(temp,temp2,volumetricCloudsRender);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadows(temp2,dest,volumetricCloudsRender);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricClouds(myCam,temp2,dest,volumetricCloudsRender,myQuality);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -209,8 +209,8 @@ namespace Enviro
|
|||||||
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && myCam.cameraType != CameraType.Reflection)
|
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && myCam.cameraType != CameraType.Reflection)
|
||||||
{
|
{
|
||||||
RenderTexture temp = RenderTexture.GetTemporary(src.descriptor);
|
RenderTexture temp = RenderTexture.GetTemporary(src.descriptor);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricClouds(myCam,src,temp,volumetricCloudsRender, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadows(src,temp,volumetricCloudsRender);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadows(temp,dest,volumetricCloudsRender);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricClouds(myCam,temp,dest,volumetricCloudsRender, myQuality);
|
||||||
RenderTexture.ReleaseTemporary(temp);
|
RenderTexture.ReleaseTemporary(temp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ namespace Enviro {
|
|||||||
{
|
{
|
||||||
TextureHandle temp1 = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "Temp1", false);
|
TextureHandle temp1 = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "Temp1", false);
|
||||||
|
|
||||||
if(cameraData.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsLayer1.bottomCloudsHeight)
|
if(cameraData.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsVolume.bottomCloudsHeight)
|
||||||
{
|
{
|
||||||
|
|
||||||
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(cameraData.camera);
|
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(cameraData.camera);
|
||||||
@@ -317,8 +317,9 @@ namespace Enviro {
|
|||||||
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && cameraData.camera.cameraType != CameraType.Reflection)
|
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && cameraData.camera.cameraType != CameraType.Reflection)
|
||||||
{
|
{
|
||||||
TextureHandle temp2 = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "Temp2", false);
|
TextureHandle temp2 = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "Temp2", false);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(this,renderGraph, resourceData, cameraData,temp1,temp2, renderer, myQuality);
|
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderGraph, resourceData, cameraData,temp2,resourceData.activeColorTexture, renderer);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderGraph, resourceData, cameraData,temp1,temp2, renderer);
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(this,renderGraph, resourceData, cameraData,temp2,resourceData.activeColorTexture, renderer, myQuality);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -333,8 +334,9 @@ namespace Enviro {
|
|||||||
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && cameraData.camera.cameraType != CameraType.Reflection)
|
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && cameraData.camera.cameraType != CameraType.Reflection)
|
||||||
{
|
{
|
||||||
TextureHandle temp1 = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "Temp1", false);
|
TextureHandle temp1 = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "Temp1", false);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(this,renderGraph, resourceData, cameraData,source,temp1, renderer, myQuality);
|
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderGraph, resourceData, cameraData,temp1,resourceData.activeColorTexture, renderer);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderGraph, resourceData, cameraData,source,temp1, renderer);
|
||||||
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(this,renderGraph, resourceData, cameraData,temp1,resourceData.activeColorTexture, renderer, myQuality);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ namespace Enviro
|
|||||||
{
|
{
|
||||||
RenderTexture temp1 = RenderTexture.GetTemporary(renderingData.cameraData.cameraTargetDescriptor);
|
RenderTexture temp1 = RenderTexture.GetTemporary(renderingData.cameraData.cameraTargetDescriptor);
|
||||||
|
|
||||||
if(renderingData.cameraData.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsLayer1.bottomCloudsHeight)
|
if(renderingData.cameraData.camera.transform.position.y - floatingPointOriginMod.y < EnviroManager.instance.VolumetricClouds.settingsVolume.bottomCloudsHeight)
|
||||||
{
|
{
|
||||||
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(renderingData.cameraData.camera);
|
EnviroVolumetricCloudRenderer renderer = GetCloudsRenderer(renderingData.cameraData.camera);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(renderingData,this,cmd, sourceTemp, temp1, renderer, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(renderingData,this,cmd, sourceTemp, temp1, renderer, myQuality);
|
||||||
@@ -253,8 +253,8 @@ namespace Enviro
|
|||||||
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && renderingData.cameraData.camera.cameraType != CameraType.Reflection)
|
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && renderingData.cameraData.camera.cameraType != CameraType.Reflection)
|
||||||
{
|
{
|
||||||
RenderTexture temp2 = RenderTexture.GetTemporary(renderingData.cameraData.cameraTargetDescriptor);
|
RenderTexture temp2 = RenderTexture.GetTemporary(renderingData.cameraData.cameraTargetDescriptor);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(renderingData,this,cmd, temp1, temp2, renderer, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderingData.cameraData.camera,cmd,temp1,temp2,renderer);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderingData.cameraData.camera,cmd,temp2,cameraColorTarget,renderer);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(renderingData,this,cmd, temp2, cameraColorTarget, renderer, myQuality);
|
||||||
RenderTexture.ReleaseTemporary(temp2);
|
RenderTexture.ReleaseTemporary(temp2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -273,8 +273,8 @@ namespace Enviro
|
|||||||
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && renderingData.cameraData.camera.cameraType != CameraType.Reflection)
|
if(EnviroManager.instance.VolumetricClouds.settingsGlobal.cloudShadows && renderingData.cameraData.camera.cameraType != CameraType.Reflection)
|
||||||
{
|
{
|
||||||
RenderTexture temp1 = RenderTexture.GetTemporary(renderingData.cameraData.cameraTargetDescriptor);
|
RenderTexture temp1 = RenderTexture.GetTemporary(renderingData.cameraData.cameraTargetDescriptor);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(renderingData,this,cmd, sourceTemp, temp1, renderer, myQuality);
|
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderingData.cameraData.camera,cmd,sourceTemp,temp1,renderer);
|
||||||
EnviroManager.instance.VolumetricClouds.RenderCloudsShadowsURP(this,renderingData.cameraData.camera,cmd,temp1,cameraColorTarget,renderer);
|
EnviroManager.instance.VolumetricClouds.RenderVolumetricCloudsURP(renderingData,this,cmd, temp1, cameraColorTarget, renderer, myQuality);
|
||||||
RenderTexture.ReleaseTemporary(temp1);
|
RenderTexture.ReleaseTemporary(temp1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace Enviro
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if(EnviroManager.instance.Objects.audio != null)
|
if(EnviroManager.instance.Objects.audio != null)
|
||||||
DestroyImmediate(EnviroManager.instance.Objects.audio);
|
EnviroHelper.DestroyExtended(EnviroManager.instance.Objects.audio);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -92,12 +92,17 @@ namespace Enviro
|
|||||||
|
|
||||||
public void CreateAudio()
|
public void CreateAudio()
|
||||||
{
|
{
|
||||||
|
|
||||||
if(EnviroManager.instance.Objects.audio != null)
|
if(EnviroManager.instance.Objects.audio != null)
|
||||||
DestroyImmediate(EnviroManager.instance.Objects.audio);
|
{
|
||||||
|
EnviroHelper.DestroyExtended(EnviroManager.instance.Objects.audio);
|
||||||
|
EnviroManager.instance.Objects.audio = null;
|
||||||
|
}
|
||||||
|
|
||||||
if(EnviroManager.instance.Objects.audio == null)
|
if(EnviroManager.instance.Objects.audio == null)
|
||||||
{
|
{
|
||||||
EnviroManager.instance.Objects.audio = new GameObject();
|
EnviroManager.instance.Objects.audio = new GameObject();
|
||||||
|
EnviroManager.instance.Objects.audio.hideFlags = HideFlags.DontSave;
|
||||||
EnviroManager.instance.Objects.audio.name = "Audio";
|
EnviroManager.instance.Objects.audio.name = "Audio";
|
||||||
EnviroManager.instance.Objects.audio.transform.SetParent(EnviroManager.instance.transform);
|
EnviroManager.instance.Objects.audio.transform.SetParent(EnviroManager.instance.transform);
|
||||||
EnviroManager.instance.Objects.audio.transform.localPosition = Vector3.zero;
|
EnviroManager.instance.Objects.audio.transform.localPosition = Vector3.zero;
|
||||||
@@ -107,7 +112,7 @@ namespace Enviro
|
|||||||
for(int i = 0; i < Settings.ambientClips.Count; i++)
|
for(int i = 0; i < Settings.ambientClips.Count; i++)
|
||||||
{
|
{
|
||||||
if(Settings.ambientClips[i].myAudioSource != null)
|
if(Settings.ambientClips[i].myAudioSource != null)
|
||||||
DestroyImmediate(Settings.ambientClips[i].myAudioSource.gameObject);
|
EnviroHelper.DestroyExtended(Settings.ambientClips[i].myAudioSource.gameObject);
|
||||||
|
|
||||||
GameObject sys;
|
GameObject sys;
|
||||||
|
|
||||||
@@ -128,7 +133,7 @@ namespace Enviro
|
|||||||
for(int i = 0; i < Settings.weatherClips.Count; i++)
|
for(int i = 0; i < Settings.weatherClips.Count; i++)
|
||||||
{
|
{
|
||||||
if(Settings.weatherClips[i].myAudioSource != null)
|
if(Settings.weatherClips[i].myAudioSource != null)
|
||||||
DestroyImmediate(Settings.weatherClips[i].myAudioSource.gameObject);
|
EnviroHelper.DestroyExtended(Settings.weatherClips[i].myAudioSource.gameObject);
|
||||||
|
|
||||||
GameObject sys;
|
GameObject sys;
|
||||||
|
|
||||||
@@ -149,7 +154,7 @@ namespace Enviro
|
|||||||
for(int i = 0; i < Settings.thunderClips.Count; i++)
|
for(int i = 0; i < Settings.thunderClips.Count; i++)
|
||||||
{
|
{
|
||||||
if(Settings.thunderClips[i].myAudioSource != null)
|
if(Settings.thunderClips[i].myAudioSource != null)
|
||||||
DestroyImmediate(Settings.thunderClips[i].myAudioSource.gameObject);
|
EnviroHelper.DestroyExtended(Settings.thunderClips[i].myAudioSource.gameObject);
|
||||||
|
|
||||||
GameObject sys;
|
GameObject sys;
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ MonoBehaviour:
|
|||||||
active: 1
|
active: 1
|
||||||
Settings:
|
Settings:
|
||||||
ambientClips:
|
ambientClips:
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Day
|
name: Day
|
||||||
audioClip: {fileID: 8300000, guid: 3e0b793299afd7c4086f6dfcd604aaba, type: 3}
|
audioClip: {fileID: 8300000, guid: 3e0b793299afd7c4086f6dfcd604aaba, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: -7356562420348432203, guid: c5196b1e1a81a964ab0079efa98e857b, type: 2}
|
||||||
playBackType: 1
|
playBackType: 1
|
||||||
myAudioSource: {fileID: 0}
|
myAudioSource: {fileID: 0}
|
||||||
loop: 1
|
loop: 1
|
||||||
@@ -68,10 +68,10 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Night
|
name: Night
|
||||||
audioClip: {fileID: 8300000, guid: eef01bfe93973f4419f0b3dd1b7a6a06, type: 3}
|
audioClip: {fileID: 8300000, guid: eef01bfe93973f4419f0b3dd1b7a6a06, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: -7356562420348432203, guid: c5196b1e1a81a964ab0079efa98e857b, type: 2}
|
||||||
playBackType: 1
|
playBackType: 1
|
||||||
myAudioSource: {fileID: 0}
|
myAudioSource: {fileID: 0}
|
||||||
loop: 1
|
loop: 1
|
||||||
@@ -129,7 +129,7 @@ MonoBehaviour:
|
|||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
weatherClips:
|
weatherClips:
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Light Rain
|
name: Light Rain
|
||||||
audioClip: {fileID: 8300000, guid: 84e5ea3df3fc44749b4bf8e1fe360d49, type: 3}
|
audioClip: {fileID: 8300000, guid: 84e5ea3df3fc44749b4bf8e1fe360d49, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -144,7 +144,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Medium Rain
|
name: Medium Rain
|
||||||
audioClip: {fileID: 8300000, guid: c2b83583de6cc7c4ca613942c6fe8a76, type: 3}
|
audioClip: {fileID: 8300000, guid: c2b83583de6cc7c4ca613942c6fe8a76, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -159,7 +159,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Heavy Rain
|
name: Heavy Rain
|
||||||
audioClip: {fileID: 8300000, guid: 6ff8b8db3a3fd6e4cbfa0995856ebaca, type: 3}
|
audioClip: {fileID: 8300000, guid: 6ff8b8db3a3fd6e4cbfa0995856ebaca, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -174,68 +174,8 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
|
||||||
name: Wind_1
|
|
||||||
audioClip: {fileID: 8300000, guid: 365e7884a2a08ff44967f27cc11cf86a, type: 3}
|
|
||||||
audioMixerGroup: {fileID: 0}
|
|
||||||
playBackType: 0
|
|
||||||
myAudioSource: {fileID: 0}
|
|
||||||
loop: 1
|
|
||||||
volume: 0
|
|
||||||
volumeCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve: []
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
maxVolume: 1
|
|
||||||
- showEditor: 0
|
|
||||||
name: Wind_2
|
|
||||||
audioClip: {fileID: 8300000, guid: ce6404a444c7fdd4eb4aaa44ac9044c0, type: 3}
|
|
||||||
audioMixerGroup: {fileID: 0}
|
|
||||||
playBackType: 0
|
|
||||||
myAudioSource: {fileID: 0}
|
|
||||||
loop: 1
|
|
||||||
volume: 0
|
|
||||||
volumeCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve: []
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
maxVolume: 1
|
|
||||||
- showEditor: 0
|
|
||||||
name: Wind_3
|
|
||||||
audioClip: {fileID: 8300000, guid: 30d38840750798640a9f58e759bc1c0b, type: 3}
|
|
||||||
audioMixerGroup: {fileID: 0}
|
|
||||||
playBackType: 0
|
|
||||||
myAudioSource: {fileID: 0}
|
|
||||||
loop: 1
|
|
||||||
volume: 0
|
|
||||||
volumeCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve: []
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
maxVolume: 1
|
|
||||||
- showEditor: 0
|
|
||||||
name: Wind_Rainy
|
|
||||||
audioClip: {fileID: 8300000, guid: 1723c3badf42ee944a5e3462939ca840, type: 3}
|
|
||||||
audioMixerGroup: {fileID: 0}
|
|
||||||
playBackType: 0
|
|
||||||
myAudioSource: {fileID: 0}
|
|
||||||
loop: 1
|
|
||||||
volume: 0
|
|
||||||
volumeCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve: []
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
maxVolume: 1
|
|
||||||
thunderClips:
|
thunderClips:
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Thunder 1
|
name: Thunder 1
|
||||||
audioClip: {fileID: 8300000, guid: 6ca3bddd35a48a745b4dcecc9f65a83f, type: 3}
|
audioClip: {fileID: 8300000, guid: 6ca3bddd35a48a745b4dcecc9f65a83f, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -250,7 +190,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Thunder 2
|
name: Thunder 2
|
||||||
audioClip: {fileID: 8300000, guid: dd76e0dd59e215946a75c7338c043951, type: 3}
|
audioClip: {fileID: 8300000, guid: dd76e0dd59e215946a75c7338c043951, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -265,7 +205,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Thunder 3
|
name: Thunder 3
|
||||||
audioClip: {fileID: 8300000, guid: ee17606ad258a3543a73a326bf5bc5da, type: 3}
|
audioClip: {fileID: 8300000, guid: ee17606ad258a3543a73a326bf5bc5da, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -280,7 +220,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Thunder 4
|
name: Thunder 4
|
||||||
audioClip: {fileID: 8300000, guid: eb8c1b0f82ffe784da2459bc295b4854, type: 3}
|
audioClip: {fileID: 8300000, guid: eb8c1b0f82ffe784da2459bc295b4854, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
@@ -295,7 +235,7 @@ MonoBehaviour:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
maxVolume: 1
|
maxVolume: 1
|
||||||
- showEditor: 0
|
- showEditor: 1
|
||||||
name: Thunder 5
|
name: Thunder 5
|
||||||
audioClip: {fileID: 8300000, guid: e410de94ef87c1b4998b2d4731a717bc, type: 3}
|
audioClip: {fileID: 8300000, guid: e410de94ef87c1b4998b2d4731a717bc, type: 3}
|
||||||
audioMixerGroup: {fileID: 0}
|
audioMixerGroup: {fileID: 0}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user