add frozen scripts

master
hoba 8 years ago
parent 7b30307701
commit b0f9544404
  1. 16
      Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset
  2. 10
      Unity_2018_Frozen/Assets/Frozen/CosineGradient.asset.meta
  3. 530
      Unity_2018_Frozen/Assets/Frozen/Frozen.unity
  4. 10
      Unity_2018_Frozen/Assets/Frozen/Material.meta
  5. 97
      Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat
  6. 10
      Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat.meta
  7. 30
      Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset
  8. 10
      Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset.meta
  9. 372
      Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset
  10. 10
      Unity_2018_Frozen/Assets/Frozen/PostProcessingProfile.asset.meta
  11. 10
      Unity_2018_Frozen/Assets/Frozen/Shader.meta
  12. 157
      Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute
  13. 10
      Unity_2018_Frozen/Assets/Frozen/Shader/SnowflakeParticleUpdate.compute.meta
  14. 10
      Unity_2018_Frozen/Assets/Frozen/Texture.meta
  15. BIN
      Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png
  16. 87
      Unity_2018_Frozen/Assets/Frozen/Texture/Snowflake.png.meta
  17. 3
      Unity_2018_Frozen/Assets/ParticleWorks/ParticleWorks.unity
  18. 31
      Unity_2018_Frozen/Assets/ParticleWorks/Script/ParticleViewerMesh.cs
  19. 14
      Unity_2018_Frozen/Assets/ParticleWorks/Script/Utilities.cs
  20. 3
      Unity_2018_Frozen/Assets/ParticleWorks/Shader/VertexBufferUpdate.compute

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

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 2138651e11178d04ba510ef9164baf46
timeCreated: 1513340684
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

@ -26,7 +26,7 @@ RenderSettings:
m_AmbientIntensity: 1 m_AmbientIntensity: 1
m_AmbientMode: 0 m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 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_HaloStrength: 0.5
m_FlareStrength: 1 m_FlareStrength: 1
m_FlareFadeSpeed: 3 m_FlareFadeSpeed: 3
@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1 m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0} m_CustomReflection: {fileID: 0}
m_Sun: {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 --- !u!157 &3
LightmapSettings: LightmapSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -189,6 +189,8 @@ GameObject:
- component: {fileID: 151858423} - component: {fileID: 151858423}
- component: {fileID: 151858422} - component: {fileID: 151858422}
- component: {fileID: 151858421} - component: {fileID: 151858421}
- component: {fileID: 151858426}
- component: {fileID: 151858425}
m_Layer: 0 m_Layer: 0
m_Name: Main Camera m_Name: Main Camera
m_TagString: MainCamera m_TagString: MainCamera
@ -235,14 +237,14 @@ Camera:
m_CullingMask: m_CullingMask:
serializedVersion: 2 serializedVersion: 2
m_Bits: 4294967295 m_Bits: 4294967295
m_RenderingPath: -1 m_RenderingPath: 3
m_TargetTexture: {fileID: 0} m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0 m_TargetDisplay: 0
m_TargetEye: 3 m_TargetEye: 3
m_HDR: 1 m_HDR: 1
m_AllowMSAA: 0 m_AllowMSAA: 0
m_AllowDynamicResolution: 0 m_AllowDynamicResolution: 0
m_ForceIntoRT: 0 m_ForceIntoRT: 1
m_OcclusionCulling: 1 m_OcclusionCulling: 1
m_StereoConvergence: 10 m_StereoConvergence: 10
m_StereoSeparation: 0.022 m_StereoSeparation: 0.022
@ -259,6 +261,79 @@ Transform:
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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 --- !u!1 &182553293
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -382,7 +457,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 4 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &343589998 --- !u!1 &343589998
GameObject: GameObject:
@ -449,6 +524,55 @@ Camera:
m_OcclusionCulling: 1 m_OcclusionCulling: 1
m_StereoConvergence: 10 m_StereoConvergence: 10
m_StereoSeparation: 0.022 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 --- !u!1 &386695295
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -464,7 +588,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!95 &386695296 --- !u!95 &386695296
Animator: Animator:
serializedVersion: 3 serializedVersion: 3
@ -496,7 +620,7 @@ Transform:
- {fileID: 850228141} - {fileID: 850228141}
- {fileID: 1848145250} - {fileID: 1848145250}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 2 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &401185750 --- !u!1 &401185750
GameObject: GameObject:
@ -512,7 +636,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &401185751 --- !u!4 &401185751
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -528,8 +652,104 @@ Transform:
- {fileID: 1579390333} - {fileID: 1579390333}
- {fileID: 343589999} - {fileID: 343589999}
m_Father: {fileID: 0} 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_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 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 --- !u!1 &528715328
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -614,6 +834,126 @@ MeshFilter:
m_PrefabInternal: {fileID: 0} m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 528715328} m_GameObject: {fileID: 528715328}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} 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 --- !u!1001 &774429922
Prefab: Prefab:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -758,6 +1098,93 @@ MonoBehaviour:
Transform: Transform:
m_PrefabParentObject: {fileID: 400000, guid: 0b40c0b4ea4208b4792d95085b850676, type: 2} m_PrefabParentObject: {fileID: 400000, guid: 0b40c0b4ea4208b4792d95085b850676, type: 2}
m_PrefabInternal: {fileID: 774429922} 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 --- !u!1 &850228140
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -941,13 +1368,13 @@ Transform:
m_PrefabParentObject: {fileID: 0} m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0} m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1071731253} 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_LocalPosition: {x: 0, y: 3, 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: 0} m_Father: {fileID: 0}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} m_LocalEulerAnglesHint: {x: 5, y: -30, z: 0}
--- !u!1 &1196719910 --- !u!1 &1196719910
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1028,6 +1455,47 @@ CanvasRenderer:
m_PrefabParentObject: {fileID: 0} m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0} m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1196719910} 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 --- !u!1 &1430681566
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1276,4 +1744,44 @@ MonoBehaviour:
renderTextures: renderTextures:
- {fileID: 8400000, guid: da32e5550d217674aa980199f6a84db3, type: 2} - {fileID: 8400000, guid: da32e5550d217674aa980199f6a84db3, type: 2}
- {fileID: 8400000, guid: 3d63e39cdb1f2e5419672e7560e22145, 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

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

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

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 0858735f439783448b9cc855a56a9e94
timeCreated: 1519742076
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

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

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 86d4ce704ed55d343a52fed03681663d
timeCreated: 1513320663
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

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

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 79182fbaf32faca4ca265d09dbd05840
timeCreated: 1519744123
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

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

@ -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<Particle> ssbo;
RWStructuredBuffer<ParticleUniforms> uniform_buffer;
RWStructuredBuffer<float4> home_buffer;
RWStructuredBuffer<float4> 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;
}

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

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

@ -368,8 +368,7 @@ MonoBehaviour:
buffer: {fileID: 1503302983} buffer: {fileID: 1503302983}
material: {fileID: 2100000, guid: 6c404ebf6ff877a46a9ac3132b7c648d, type: 2} material: {fileID: 2100000, guid: 6c404ebf6ff877a46a9ac3132b7c648d, type: 2}
shader: {fileID: 7200000, guid: 226ca53b2a6b1f34cb8e462337683d07, type: 3} shader: {fileID: 7200000, guid: 226ca53b2a6b1f34cb8e462337683d07, type: 3}
references: references: []
- {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &590004643 --- !u!23 &590004643
MeshRenderer: MeshRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

@ -57,6 +57,37 @@ namespace UltraCombos
protected override IEnumerator Initialize() protected override IEnumerator Initialize()
{ {
if (references.Count == 0)
{
var vertices = new List<Vector3>();
var normals = new List<Vector3>();
var colors = new List<Color>();
var uvs = new List<Vector2>();
var indices = new List<int>();
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(); mesh = new Mesh();
yield return Utilities.GetReferencesParticleMesh(references, buffer.count, mesh); yield return Utilities.GetReferencesParticleMesh(references, buffer.count, mesh);

@ -152,6 +152,7 @@ namespace UltraCombos
int i = 0; int i = 0;
var vertices = new List<Vector3>(); var vertices = new List<Vector3>();
var normals = new List<Vector3>(); var normals = new List<Vector3>();
var colors = new List<Color>();
var uvs = new List<Vector2>(); var uvs = new List<Vector2>();
var indices = new List<int>(); var indices = new List<int>();
var custom_uvs = new List<Vector4>(); var custom_uvs = new List<Vector4>();
@ -165,6 +166,15 @@ namespace UltraCombos
vertices.AddRange(mesh.vertices); vertices.AddRange(mesh.vertices);
normals.AddRange(mesh.normals); normals.AddRange(mesh.normals);
uvs.AddRange(mesh.uv); 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)) foreach (var idx in mesh.GetIndices(0))
indices.Add(begin_index + idx); indices.Add(begin_index + idx);
for (int l = 0; l < mesh.vertexCount; l++) for (int l = 0; l < mesh.vertexCount; l++)
@ -184,6 +194,10 @@ namespace UltraCombos
result.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; result.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32;
result.SetVertices(vertices); result.SetVertices(vertices);
result.SetNormals(normals); result.SetNormals(normals);
if (colors.Count == vertices.Count)
{
result.SetColors(colors);
}
//result.SetUVs(0, uvs); //result.SetUVs(0, uvs);
result.SetUVs(0, custom_uvs); result.SetUVs(0, custom_uvs);
result.SetIndices(indices.ToArray(), referenceMeshes[0].GetTopology(0), 0); result.SetIndices(indices.ToArray(), referenceMeshes[0].GetTopology(0), 0);

@ -7,7 +7,7 @@ struct Vertex
{ {
float3 position; float3 position;
float3 normal; float3 normal;
//float4 color; float4 color;
float4 uv; float4 uv;
//float2 uv2; //float2 uv2;
//float4 tangent; //float4 tangent;
@ -29,6 +29,7 @@ void CSMain(uint3 id : SV_DispatchThreadID)
v.position = mul(p.model_matrix, float4(o.position, 1)).xyz; v.position = mul(p.model_matrix, float4(o.position, 1)).xyz;
v.normal = mul((float3x3)p.model_matrix, o.normal); 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); v.uv = float4(o.uv.xy, 0, 0);
vertex_buffer[id.x] = v; vertex_buffer[id.x] = v;

Loading…
Cancel
Save