From b0f95444044927c94f87dc5272c6dd8ea29e28cb Mon Sep 17 00:00:00 2001 From: hoba Date: Tue, 27 Feb 2018 23:19:16 +0800 Subject: [PATCH] add frozen scripts --- .../Assets/Frozen/CosineGradient.asset | 16 + .../Assets/Frozen/CosineGradient.asset.meta | 10 + Unity_2018_Frozen/Assets/Frozen/Frozen.unity | 530 +++++++++++++++++- Unity_2018_Frozen/Assets/Frozen/Material.meta | 10 + .../Assets/Frozen/Material/Snowflake.mat | 97 ++++ .../Assets/Frozen/Material/Snowflake.mat.meta | 10 + .../Assets/Frozen/ParticleUniforms.asset | 30 + .../Assets/Frozen/ParticleUniforms.asset.meta | 10 + .../Assets/Frozen/PostProcessingProfile.asset | 372 ++++++++++++ .../Frozen/PostProcessingProfile.asset.meta | 10 + Unity_2018_Frozen/Assets/Frozen/Shader.meta | 10 + .../Shader/SnowflakeParticleUpdate.compute | 157 ++++++ .../SnowflakeParticleUpdate.compute.meta | 10 + Unity_2018_Frozen/Assets/Frozen/Texture.meta | 10 + .../Assets/Frozen/Texture/Snowflake.png | Bin 0 -> 20393 bytes .../Assets/Frozen/Texture/Snowflake.png.meta | 87 +++ .../Assets/ParticleWorks/ParticleWorks.unity | 3 +- .../Script/ParticleViewerMesh.cs | 31 + .../Assets/ParticleWorks/Script/Utilities.cs | 14 + .../Shader/VertexBufferUpdate.compute | 3 +- 20 files changed, 1406 insertions(+), 14 deletions(-) create mode 100644 Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset create mode 100644 Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/Material.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat create mode 100644 Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset create mode 100644 Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset create mode 100644 Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/Shader.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute create mode 100644 Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/Texture.meta create mode 100644 Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png create mode 100644 Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png.meta diff --git a/Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset b/Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset new file mode 100644 index 0000000..a2d2daf --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54276434dda9c694e85abaf98cdd981d, type: 3} + m_Name: CosineGradient + m_EditorClassIdentifier: + _redCoeffs: {x: 0.743, y: 0.14, z: 0.56, w: 0.453} + _greenCoeffs: {x: 0.711, y: 0.177, z: 0.3, w: 0.825} + _blueCoeffs: {x: 0.835, y: 0.131, z: 0.27, w: 0} diff --git a/Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset.meta b/Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset.meta new file mode 100644 index 0000000..dd00292 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2138651e11178d04ba510ef9164baf46 +timeCreated: 1513340684 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/Frozen.unity b/Unity_2018_Frozen/Assets/Frozen/Frozen.unity index 99131e2..4d50356 100644 --- a/Unity_2018_Frozen/Assets/Frozen/Frozen.unity +++ b/Unity_2018_Frozen/Assets/Frozen/Frozen.unity @@ -26,7 +26,7 @@ RenderSettings: m_AmbientIntensity: 1 m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_SkyboxMaterial: {fileID: 2100000, guid: d8da8ee0c05959f40b595cff10460db1, type: 2} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_IndirectSpecularColor: {r: 0.060945295, g: 0.054545894, b: 0.039643742, a: 1} --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 @@ -189,6 +189,8 @@ GameObject: - component: {fileID: 151858423} - component: {fileID: 151858422} - component: {fileID: 151858421} + - component: {fileID: 151858426} + - component: {fileID: 151858425} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -235,14 +237,14 @@ Camera: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 - m_RenderingPath: -1 + m_RenderingPath: 3 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 0 m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 + m_ForceIntoRT: 1 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 @@ -259,6 +261,79 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &151858425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 151858420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3} + m_Name: + m_EditorClassIdentifier: + sharedProfile: {fileID: 11400000, guid: 79182fbaf32faca4ca265d09dbd05840, type: 2} + isGlobal: 1 + blendDistance: 0 + weight: 1 + priority: 0 +--- !u!114 &151858426 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 151858420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3} + m_Name: + m_EditorClassIdentifier: + volumeTrigger: {fileID: 151858424} + volumeLayer: + serializedVersion: 2 + m_Bits: 4294967295 + stopNaNPropagation: 1 + antialiasingMode: 2 + temporalAntialiasing: + jitterSpread: 0.75 + sharpness: 0.25 + stationaryBlending: 0.95 + motionBlending: 0.85 + subpixelMorphologicalAntialiasing: + quality: 2 + fastApproximateAntialiasing: + fastMode: 0 + keepAlpha: 0 + fog: + enabled: 1 + excludeSkybox: 1 + debugLayer: + lightMeter: + width: 512 + height: 256 + showCurves: 1 + histogram: + width: 512 + height: 256 + channel: 3 + waveform: + exposure: 0.12 + height: 256 + vectorscope: + size: 256 + exposure: 0.12 + overlaySettings: + motionColorIntensity: 4 + motionGridSize: 64 + colorBlindnessType: 0 + colorBlindnessStrength: 1 + m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} + m_ShowToolkit: 0 + m_ShowCustomSorter: 0 + breakBeforeColorGrading: 0 + m_BeforeTransparentBundles: [] + m_BeforeStackBundles: [] + m_AfterStackBundles: [] --- !u!1 &182553293 GameObject: m_ObjectHideFlags: 0 @@ -382,7 +457,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &343589998 GameObject: @@ -449,6 +524,55 @@ Camera: m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 +--- !u!1 &350883107 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 350883108} + - component: {fileID: 350883109} + m_Layer: 0 + m_Name: ParticleUpdater + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &350883108 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 350883107} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 732632615} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &350883109 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 350883107} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 364a6df5fc849f7448e97efcaa6cefdc, type: 3} + m_Name: + m_EditorClassIdentifier: + reset: 0 + maxParticles: 500000 + particleBuffer: {fileID: 438615022} + homeBuffer: {fileID: 1375512057} + homeVelocityBuffer: {fileID: 1924148042} + shader: {fileID: 7200000, guid: d6604fabdbb13e9428c849c59feccdac, type: 3} + uniformBuffer: {fileID: 441718966} + cosineGradient: {fileID: 11400000, guid: 2138651e11178d04ba510ef9164baf46, type: 2} + debug: --- !u!1 &386695295 GameObject: m_ObjectHideFlags: 0 @@ -464,7 +588,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!95 &386695296 Animator: serializedVersion: 3 @@ -496,7 +620,7 @@ Transform: - {fileID: 850228141} - {fileID: 1848145250} m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &401185750 GameObject: @@ -512,7 +636,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &401185751 Transform: m_ObjectHideFlags: 0 @@ -528,8 +652,104 @@ Transform: - {fileID: 1579390333} - {fileID: 343589999} m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &438615021 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 438615023} + - component: {fileID: 438615022} + m_Layer: 0 + m_Name: StructuredBuffer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &438615022 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 438615021} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afa75a2a1fe8aff4ab1d6418df9d62dd, type: 3} + m_Name: + m_EditorClassIdentifier: + bufferName: ssbo +--- !u!4 &438615023 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 438615021} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 732632615} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &441718963 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 441718964} + - component: {fileID: 441718966} + - component: {fileID: 441718965} + m_Layer: 0 + m_Name: Uniforms + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &441718964 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 441718963} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 732632615} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &441718965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 441718963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 799fd07762a67b348818cbe8e6502e21, type: 3} + m_Name: + m_EditorClassIdentifier: + impule: {fileID: 0} +--- !u!114 &441718966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 441718963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de2687c4b3b02dc4ebc0495697f1cfb0, type: 3} + m_Name: + m_EditorClassIdentifier: + bufferName: uniform_buffer + uniform: {fileID: 11400000, guid: 86d4ce704ed55d343a52fed03681663d, type: 2} --- !u!1 &528715328 GameObject: m_ObjectHideFlags: 0 @@ -614,6 +834,126 @@ MeshFilter: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 528715328} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &569878373 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 569878377} + - component: {fileID: 569878376} + - component: {fileID: 569878375} + - component: {fileID: 569878374} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &569878374 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 569878373} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &569878375 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 569878373} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &569878376 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 569878373} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &569878377 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 569878373} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &732632614 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 732632615} + m_Layer: 0 + m_Name: ParticleWorks + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &732632615 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732632614} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 438615023} + - {fileID: 350883108} + - {fileID: 776169028} + - {fileID: 441718964} + - {fileID: 1375512056} + - {fileID: 1924148041} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &774429922 Prefab: m_ObjectHideFlags: 0 @@ -758,6 +1098,93 @@ MonoBehaviour: Transform: m_PrefabParentObject: {fileID: 400000, guid: 0b40c0b4ea4208b4792d95085b850676, type: 2} m_PrefabInternal: {fileID: 774429922} +--- !u!1 &776169027 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 776169028} + - component: {fileID: 776169031} + - component: {fileID: 776169030} + - component: {fileID: 776169029} + m_Layer: 0 + m_Name: ParticleViewerMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &776169028 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776169027} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 732632615} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &776169029 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776169027} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 0858735f439783448b9cc855a56a9e94, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &776169030 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776169027} + m_Mesh: {fileID: 0} +--- !u!114 &776169031 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776169027} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d54292eb10cbcf43a98b855de6807e7, type: 3} + m_Name: + m_EditorClassIdentifier: + buffer: {fileID: 438615022} + material: {fileID: 2100000, guid: 0858735f439783448b9cc855a56a9e94, type: 2} + shader: {fileID: 7200000, guid: 226ca53b2a6b1f34cb8e462337683d07, type: 3} + references: [] --- !u!1 &850228140 GameObject: m_ObjectHideFlags: 0 @@ -941,13 +1368,13 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1071731253} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalRotation: {x: 0.04213311, y: -0.2585727, z: 0.011289531, w: 0.96500653} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_LocalEulerAnglesHint: {x: 5, y: -30, z: 0} --- !u!1 &1196719910 GameObject: m_ObjectHideFlags: 0 @@ -1028,6 +1455,47 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1196719910} +--- !u!1 &1375512055 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1375512056} + - component: {fileID: 1375512057} + m_Layer: 0 + m_Name: HomeBuffer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1375512056 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375512055} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 732632615} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1375512057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1375512055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afa75a2a1fe8aff4ab1d6418df9d62dd, type: 3} + m_Name: + m_EditorClassIdentifier: + bufferName: home_buffer --- !u!1 &1430681566 GameObject: m_ObjectHideFlags: 0 @@ -1276,4 +1744,44 @@ MonoBehaviour: renderTextures: - {fileID: 8400000, guid: da32e5550d217674aa980199f6a84db3, type: 2} - {fileID: 8400000, guid: 3d63e39cdb1f2e5419672e7560e22145, type: 2} - num: 217088 +--- !u!1 &1924148040 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1924148041} + - component: {fileID: 1924148042} + m_Layer: 0 + m_Name: HomeVelocityBuffer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1924148041 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1924148040} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 732632615} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1924148042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1924148040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afa75a2a1fe8aff4ab1d6418df9d62dd, type: 3} + m_Name: + m_EditorClassIdentifier: + bufferName: home_buffer diff --git a/Unity_2018_Frozen/Assets/Frozen/Material.meta b/Unity_2018_Frozen/Assets/Frozen/Material.meta new file mode 100644 index 0000000..e7bee7e --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Material.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 46de75946e19e49428096ef4806d1a1b +folderAsset: yes +timeCreated: 1519742084 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat b/Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat new file mode 100644 index 0000000..eca2ca6 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat @@ -0,0 +1,97 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Snowflake + m_Shader: {fileID: 210, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHATEST_ON + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2450 + stringTagMap: + RenderType: TransparentCutout + disabledShaderPasses: + - ALWAYS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: b7b95dd54aad284499b5eb8ae14f1a6e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ColorMode: 0 + - _Cull: 0 + - _Cutoff: 0.408 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.342 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0.846 + - _Mode: 1 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 7.763, g: 7.763, b: 7.763, a: 1} + - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0.787, g: 0.787, b: 0.787, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} diff --git a/Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat.meta b/Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat.meta new file mode 100644 index 0000000..a9c640d --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0858735f439783448b9cc855a56a9e94 +timeCreated: 1519742076 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset b/Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset new file mode 100644 index 0000000..521afd3 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 852ced439e5120c44bd352e9c29a164f, type: 3} + m_Name: ParticleUniforms + m_EditorClassIdentifier: + numRate: 1 + movement: 1 + geomSize: 0.079 + velocityDamping: 1 + lifeDuration: 0 + lifeVariation: 0 + convergence: 0.082 + homeStrength: 0 + noiseStrength: 0.064 + noiseSeed: 0.5 + noiseTimeScale: 1 + noiseFrequency: 0.29 + forceDirection: {x: 0, y: -1, z: 0} + forceStrength: 0.015 + impulsePosition: {x: 0, y: 0, z: 0} + impulseRadius: 3 + impulseStrength: -1 diff --git a/Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset.meta b/Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset.meta new file mode 100644 index 0000000..b2f49a6 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 86d4ce704ed55d343a52fed03681663d +timeCreated: 1513320663 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset b/Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset new file mode 100644 index 0000000..0abf6c6 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset @@ -0,0 +1,372 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3} + m_Name: PostProcessingProfile + m_EditorClassIdentifier: + settings: + - {fileID: 114067151945234240} + - {fileID: 114157877957889540} + - {fileID: 114891676506052672} + - {fileID: 114967782660637982} +--- !u!114 &114067151945234240 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48a79b01ea5641d4aa6daa2e23605641, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + intensity: + overrideState: 1 + value: 1 + threshold: + overrideState: 0 + value: 1 + softKnee: + overrideState: 0 + value: 0.5 + diffusion: + overrideState: 0 + value: 7 + anamorphicRatio: + overrideState: 0 + value: 0 + color: + overrideState: 0 + value: {r: 1, g: 1, b: 1, a: 1} + fastMode: + overrideState: 0 + value: 0 + dirtTexture: + overrideState: 1 + value: {fileID: 2800000, guid: 3884f7a2d04ffe8409ad9200b275896f, type: 3} + dirtIntensity: + overrideState: 0 + value: 0 +--- !u!114 &114157877957889540 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: adb84e30e02715445aeb9959894e3b4d, type: 3} + m_Name: ColorGrading + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + gradingMode: + overrideState: 1 + value: 1 + externalLut: + overrideState: 0 + value: {fileID: 0} + tonemapper: + overrideState: 1 + value: 2 + toneCurveToeStrength: + overrideState: 0 + value: 0 + toneCurveToeLength: + overrideState: 0 + value: 0.5 + toneCurveShoulderStrength: + overrideState: 0 + value: 0 + toneCurveShoulderLength: + overrideState: 0 + value: 0.5 + toneCurveShoulderAngle: + overrideState: 0 + value: 0 + toneCurveGamma: + overrideState: 0 + value: 1 + logLut: + overrideState: 0 + value: {fileID: 0} + ldrLut: + overrideState: 0 + value: {fileID: 0} + temperature: + overrideState: 0 + value: 0 + tint: + overrideState: 0 + value: 0 + colorFilter: + overrideState: 0 + value: {r: 1, g: 1, b: 1, a: 1} + hueShift: + overrideState: 0 + value: 0 + saturation: + overrideState: 0 + value: 0 + brightness: + overrideState: 0 + value: 0 + postExposure: + overrideState: 0 + value: 0 + contrast: + overrideState: 0 + value: 0 + mixerRedOutRedIn: + overrideState: 0 + value: 100 + mixerRedOutGreenIn: + overrideState: 0 + value: 0 + mixerRedOutBlueIn: + overrideState: 0 + value: 0 + mixerGreenOutRedIn: + overrideState: 0 + value: 0 + mixerGreenOutGreenIn: + overrideState: 0 + value: 100 + mixerGreenOutBlueIn: + overrideState: 0 + value: 0 + mixerBlueOutRedIn: + overrideState: 0 + value: 0 + mixerBlueOutGreenIn: + overrideState: 0 + value: 0 + mixerBlueOutBlueIn: + overrideState: 0 + value: 100 + lift: + overrideState: 0 + value: {x: 1, y: 1, z: 1, w: 0} + gamma: + overrideState: 0 + value: {x: 1, y: 1, z: 1, w: 0} + gain: + overrideState: 0 + value: {x: 1, y: 1, z: 1, w: 0} + masterCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + redCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + greenCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + blueCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + hueVsHueCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + m_Loop: 1 + m_ZeroValue: 0.5 + m_Range: 1 + hueVsSatCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 1 + m_ZeroValue: 0.5 + m_Range: 1 + satVsSatCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 0 + m_ZeroValue: 0.5 + m_Range: 1 + lumVsSatCurve: + overrideState: 0 + value: + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Loop: 0 + m_ZeroValue: 0.5 + m_Range: 1 +--- !u!114 &114891676506052672 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6050e2d5de785ce4d931e4dbdbf2d755, type: 3} + m_Name: ChromaticAberration + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + spectralLut: + overrideState: 0 + value: {fileID: 0} + intensity: + overrideState: 1 + value: 0.181 + fastMode: + overrideState: 0 + value: 0 +--- !u!114 &114967782660637982 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a34fa72bd4185749832024e9c8010bf, type: 3} + m_Name: ScreenSpaceReflections + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + preset: + overrideState: 0 + value: 2 + maximumIterationCount: + overrideState: 0 + value: 16 + resolution: + overrideState: 0 + value: 0 + thickness: + overrideState: 0 + value: 8 + maximumMarchDistance: + overrideState: 0 + value: 100 + distanceFade: + overrideState: 0 + value: 0.5 + vignette: + overrideState: 0 + value: 0.5 diff --git a/Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset.meta b/Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset.meta new file mode 100644 index 0000000..59f49c7 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 79182fbaf32faca4ca265d09dbd05840 +timeCreated: 1519744123 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/Shader.meta b/Unity_2018_Frozen/Assets/Frozen/Shader.meta new file mode 100644 index 0000000..2dbcd4d --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: cd68b247a0f637043a3ca89ad53227c3 +folderAsset: yes +timeCreated: 1519743659 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute b/Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute new file mode 100644 index 0000000..6051024 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute @@ -0,0 +1,157 @@ +#pragma kernel CSMain + +#include "UnityCG.cginc" +#include "../../ParticleWorks/Shader/Inc/Defines.cginc" +#include "../../ParticleWorks/Shader/Inc/Math.cginc" +#include "../../ParticleWorks/Shader/Noise/noise3Dgrad.cginc" +#include "../../ParticleWorks/Shader/ParticleUniforms.cginc" + +CBUFFER_START(Variables) + float timeStep; + float timeValue; + float bufferCount; + int home_count; + float3 coeffsA; + float3 coeffsB; + float3 coeffsC; + float3 coeffsD; +CBUFFER_END + +RWStructuredBuffer ssbo; +RWStructuredBuffer uniform_buffer; +RWStructuredBuffer home_buffer; +RWStructuredBuffer home_velocity_buffer; + +[numthreads(WORK_GROUP_SIZE, 1, 1)] +void CSMain(uint3 id : SV_DispatchThreadID) +{ + uint idx = id.x; + Particle p = ssbo[idx]; + float4 home = (home_count > 0) ? home_buffer[p.seed * home_count] : float4(0, 0, 0, 1); + float4 home_velcity = (home_count > 0) ? home_velocity_buffer[p.seed * home_count] : float4(0, 0, 0, 1); + ParticleUniforms uni = uniform_buffer[0]; + + float factor = p.color.a; + float3 acc = float3(0, 0, 0); + float3 F = float3(0, 0, 0); + + //if (lifeDuration > 0.1f) + { + float duration = uni.lifeDuration * (1.0f + factor * uni.lifeVariation); + float current_life = p.life * duration + timeStep; + //bool is_reset = false; + //if (current_life > duration) + //{ + // current_life -= duration; + // is_reset = true; + //} + //if (is_reset || p.life < 0.0f) + if (current_life > duration && uni.lifeDuration > 0.1f) + { + current_life -= duration; + //if (isEmit == 0 && current_life > 0.0) current_life -= duration; + p.position = home.xyz; + p.color.rgb = float3(1, 1, 1); + p.velocity = home_velcity.xyz * uni.forceStrength * 100.0f; + //p.velocity = forceDirection * 3.0f; + } + p.life = current_life / duration; + } + + // noise + { + //float n_seed = p.seed * 0.12f; + //float time_seed = timeValue * noiseTimeScale; + float3 np = p.position * uni.noiseFrequency; + float3 n1, n2; + snoise(np, n1); + snoise(np + float3(uni.noiseSeed, p.seed * 0.12f, timeValue * uni.noiseTimeScale), n2); + F = cross(n1, n2); + acc += F * uni.noiseStrength; + } + + // convergence + { + F = -p.position; + acc += F * uni.convergence; + } + + // home as tangential + { + F = cross(p.position, float3(0, 1, 0)); + float d = clamp(abs(p.position.y), 1, 100); + F = normalize(F) * 10.0f / pow(d, 2 * 2); + acc += F * uni.homeStrength; + } + + // force + { + F = float3(0, 0, 0); + if (length(uni.forceDirection) > 0.1f) + F = normalize(uni.forceDirection) * 10.0f; + acc += F * uni.forceStrength; + } + + // impulse + { + F = uni.impulsePosition - p.position; + float mag = F.x*F.x + F.y*F.y + F.z*F.z; + float rad2 = uni.impulseRadius * uni.impulseRadius; + acc += F * exp(-mag / rad2) * uni.impulseStrength; + } + + // cosine gradient + { + float t = (uni.lifeDuration > 0.1f) ? clamp(p.life, 0.0f, 1.0f) : factor; + half3 rgb = cosine_gradient(coeffsA, coeffsB, coeffsC, coeffsD, t); +#if !defined(UNITY_COLORSPACE_GAMMA) + rgb = GammaToLinearSpace(rgb); +#endif + p.color.rgb = rgb; + } + + acc *= uni.movement; + p.velocity += acc * timeStep; + p.position += p.velocity * timeStep; + + //float damping = lerp(0.965f, 0.985f, p.seed) * velocityDamping; + p.velocity *= lerp(0.965f, 0.985f, p.seed) * uni.velocityDamping; + + // calculate rotate quat + { + float vel = length(p.velocity); + float a = (1 + factor) * vel * 0.05f; + float4 q = quat_from_axis_angle(normalize(p.velocity + float3(0, FLT_EPSILON, 0)), a); + q = quat_mult(p.quat, q); + q = normalize(q); + p.quat = lerp(p.quat, q, saturate(vel - 0.01f)); + } + + // calculate model matrix + { + float size = uni.geomSize * lerp(1, pow(1.0f - saturate(p.life), 1.0f / 2.2f), any(uni.lifeDuration)); + size *= lerp(0.5, 1.0, p.seed); + if (idx > (uint)(uni.numRate * bufferCount) || (p.life < 0.0f && uni.lifeDuration > 0.1f)) + { + size = 0.0f; + } + + float4x4 mat = make_translation_matrix(p.position); + mat = mul(mat, quat_to_rotation_matrix(p.quat)); + mat = mul(mat, make_scaling_matrix(size)); + p.model_matrix = mat; + } + + // ground collision + { + float3 pos = mul(p.model_matrix, float4(p.position, 1.0f)).xyz; + pos = p.position; + if (pos.y < 0.0f) + { + p.velocity.y = abs(p.velocity.y); + p.position.y = 0.0f; + } + } + + ssbo[id.x] = p; +} diff --git a/Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute.meta b/Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute.meta new file mode 100644 index 0000000..e8d6b5b --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d6604fabdbb13e9428c849c59feccdac +timeCreated: 1513318067 +licenseType: Free +ComputeShaderImporter: + externalObjects: {} + currentAPIMask: 4 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/Texture.meta b/Unity_2018_Frozen/Assets/Frozen/Texture.meta new file mode 100644 index 0000000..6b7bdf7 --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Texture.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 33919134f003a9b4790e2cd95edff94e +folderAsset: yes +timeCreated: 1519742561 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png b/Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png new file mode 100644 index 0000000000000000000000000000000000000000..773553c513aa30453c7dd642b945d11d0ac73d01 GIT binary patch literal 20393 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 Yg)vg6i7DUg|Kxf4+V{0;@7l-w2k1P6o&W#< literal 0 HcmV?d00001 diff --git a/Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png.meta b/Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png.meta new file mode 100644 index 0000000..5bd014b --- /dev/null +++ b/Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png.meta @@ -0,0 +1,87 @@ +fileFormatVersion: 2 +guid: b7b95dd54aad284499b5eb8ae14f1a6e +timeCreated: 1519742554 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 2 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity_2018_Frozen/Assets/ParticleWorks/ParticleWorks.unity b/Unity_2018_Frozen/Assets/ParticleWorks/ParticleWorks.unity index 6110677..b4ce2bd 100644 --- a/Unity_2018_Frozen/Assets/ParticleWorks/ParticleWorks.unity +++ b/Unity_2018_Frozen/Assets/ParticleWorks/ParticleWorks.unity @@ -368,8 +368,7 @@ MonoBehaviour: buffer: {fileID: 1503302983} material: {fileID: 2100000, guid: 6c404ebf6ff877a46a9ac3132b7c648d, type: 2} shader: {fileID: 7200000, guid: 226ca53b2a6b1f34cb8e462337683d07, type: 3} - references: - - {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} + references: [] --- !u!23 &590004643 MeshRenderer: m_ObjectHideFlags: 0 diff --git a/Unity_2018_Frozen/Assets/ParticleWorks/Script/ParticleViewerMesh.cs b/Unity_2018_Frozen/Assets/ParticleWorks/Script/ParticleViewerMesh.cs index be500cc..1102fc8 100644 --- a/Unity_2018_Frozen/Assets/ParticleWorks/Script/ParticleViewerMesh.cs +++ b/Unity_2018_Frozen/Assets/ParticleWorks/Script/ParticleViewerMesh.cs @@ -57,6 +57,37 @@ namespace UltraCombos protected override IEnumerator Initialize() { + if (references.Count == 0) + { + var vertices = new List(); + var normals = new List(); + var colors = new List(); + var uvs = new List(); + var indices = new List(); + int side = 3; + float delta = Mathf.PI * 2.0f / side; + for (int i = 0; i < side; i++) + { + float a = delta * i; + float x = Mathf.Cos(a); + float y = Mathf.Sin(a); + vertices.Add(new Vector3(x, 0, y)); + normals.Add(new Vector3(0, 1, 0)); + colors.Add(Color.white); + uvs.Add(new Vector2(x * 0.5f + 0.5f, y * 0.5f + 0.5f)); + indices.Add(i); + } + var m = new Mesh(); + m.SetVertices(vertices); + m.SetNormals(normals); + m.SetColors(colors); + m.SetUVs(0, uvs); + m.SetIndices(indices.ToArray(), MeshTopology.Triangles, 0); + m.UploadMeshData(false); + m.name = string.Format("{0} sides mesh", side); + references.Add(m); + } + mesh = new Mesh(); yield return Utilities.GetReferencesParticleMesh(references, buffer.count, mesh); diff --git a/Unity_2018_Frozen/Assets/ParticleWorks/Script/Utilities.cs b/Unity_2018_Frozen/Assets/ParticleWorks/Script/Utilities.cs index 066b05e..c197bec 100644 --- a/Unity_2018_Frozen/Assets/ParticleWorks/Script/Utilities.cs +++ b/Unity_2018_Frozen/Assets/ParticleWorks/Script/Utilities.cs @@ -152,6 +152,7 @@ namespace UltraCombos int i = 0; var vertices = new List(); var normals = new List(); + var colors = new List(); var uvs = new List(); var indices = new List(); var custom_uvs = new List(); @@ -165,6 +166,15 @@ namespace UltraCombos vertices.AddRange(mesh.vertices); normals.AddRange(mesh.normals); uvs.AddRange(mesh.uv); + if (mesh.colors.Length == mesh.vertices.Length) + { + colors.AddRange(mesh.colors); + } + else + { + for (int ci = 0; ci < mesh.vertices.Length; ci++) + colors.Add(Color.white); + } foreach (var idx in mesh.GetIndices(0)) indices.Add(begin_index + idx); for (int l = 0; l < mesh.vertexCount; l++) @@ -184,6 +194,10 @@ namespace UltraCombos result.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; result.SetVertices(vertices); result.SetNormals(normals); + if (colors.Count == vertices.Count) + { + result.SetColors(colors); + } //result.SetUVs(0, uvs); result.SetUVs(0, custom_uvs); result.SetIndices(indices.ToArray(), referenceMeshes[0].GetTopology(0), 0); diff --git a/Unity_2018_Frozen/Assets/ParticleWorks/Shader/VertexBufferUpdate.compute b/Unity_2018_Frozen/Assets/ParticleWorks/Shader/VertexBufferUpdate.compute index c331215..7fcbc0a 100644 --- a/Unity_2018_Frozen/Assets/ParticleWorks/Shader/VertexBufferUpdate.compute +++ b/Unity_2018_Frozen/Assets/ParticleWorks/Shader/VertexBufferUpdate.compute @@ -7,7 +7,7 @@ struct Vertex { float3 position; float3 normal; - //float4 color; + float4 color; float4 uv; //float2 uv2; //float4 tangent; @@ -29,6 +29,7 @@ void CSMain(uint3 id : SV_DispatchThreadID) v.position = mul(p.model_matrix, float4(o.position, 1)).xyz; v.normal = mul((float3x3)p.model_matrix, o.normal); + v.color = float4(p.color.rgb, 1.0f); v.uv = float4(o.uv.xy, 0, 0); vertex_buffer[id.x] = v;