master
uc-hoba 8 years ago
parent f4a85669a5
commit 49e826e567
  1. 162
      Unity_2018_Frozen/Assets/Frozen/Frozen.unity
  2. 4
      Unity_2018_Frozen/Assets/Frozen/FrozenCanvas.renderTexture
  3. 98
      Unity_2018_Frozen/Assets/Frozen/Material/Point.mat
  4. 10
      Unity_2018_Frozen/Assets/Frozen/Material/Point.mat.meta
  5. 2
      Unity_2018_Frozen/Assets/Frozen/Material/Snowflake.mat
  6. 2
      Unity_2018_Frozen/Assets/Frozen/ParticleUniforms.asset
  7. 13
      Unity_2018_Frozen/Assets/Frozen/Script/SnowflakeParticleUpdater.cs
  8. 113
      Unity_2018_Frozen/Assets/Frozen/Shader/FrozenParticleUnlitPoint.shader
  9. 10
      Unity_2018_Frozen/Assets/Frozen/Shader/FrozenParticleUnlitPoint.shader.meta
  10. 6
      Unity_2018_Frozen/Assets/ParticleWorks/Script/ParticleViewerMesh.cs

@ -23,7 +23,7 @@ RenderSettings:
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1 m_AmbientIntensity: 0.5
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: 2100000, guid: d8da8ee0c05959f40b595cff10460db1, type: 2} m_SkyboxMaterial: {fileID: 2100000, guid: d8da8ee0c05959f40b595cff10460db1, type: 2}
@ -37,7 +37,7 @@ RenderSettings:
m_ReflectionBounces: 1 m_ReflectionBounces: 1
m_ReflectionIntensity: 1 m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0} m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0} m_Sun: {fileID: 1071731254}
m_IndirectSpecularColor: {r: 0.021216419, g: 0.053037528, b: 0.08577963, a: 1} m_IndirectSpecularColor: {r: 0.021216419, g: 0.053037528, b: 0.08577963, a: 1}
--- !u!157 &3 --- !u!157 &3
LightmapSettings: LightmapSettings:
@ -548,13 +548,15 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
reset: 0 reset: 0
maxParticles: 100000 maxParticles: 500000
particleBuffer: {fileID: 438615022} particleBuffer: {fileID: 438615022}
shader: {fileID: 7200000, guid: d6604fabdbb13e9428c849c59feccdac, type: 3} shader: {fileID: 7200000, guid: d6604fabdbb13e9428c849c59feccdac, type: 3}
uniformBuffer: {fileID: 441718966} uniformBuffer: {fileID: 441718966}
cosineGradient: {fileID: 11400000, guid: 2138651e11178d04ba510ef9164baf46, type: 2} cosineGradient: {fileID: 11400000, guid: 2138651e11178d04ba510ef9164baf46, type: 2}
kinectOpticalFlow: {fileID: 1848145251} kinectOpticalFlow: {fileID: 1848145251}
smokeFluidSim: {fileID: 774429923} smokeFluidSim: {fileID: 774429923}
particleViewerMesh: {fileID: 776169031}
rate: 0.001
debug: debug:
--- !u!1 &368967883 --- !u!1 &368967883
GameObject: GameObject:
@ -566,6 +568,7 @@ GameObject:
- component: {fileID: 368967886} - component: {fileID: 368967886}
- component: {fileID: 368967885} - component: {fileID: 368967885}
- component: {fileID: 368967884} - component: {fileID: 368967884}
- component: {fileID: 368967887}
m_Layer: 0 m_Layer: 0
m_Name: Camera m_Name: Camera
m_TagString: Untagged m_TagString: Untagged
@ -679,6 +682,22 @@ Transform:
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!114 &368967887
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 368967883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fda5366b87aa3934a8e5823faa38f54c, type: 3}
m_Name:
m_EditorClassIdentifier:
sharingName: UnitySender
textureFormat: 28
yFlip: 1
output: {fileID: 0}
m_Shader: {fileID: 0}
--- !u!1 &386695295 --- !u!1 &386695295
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -708,7 +727,7 @@ Transform:
- {fileID: 850228141} - {fileID: 850228141}
- {fileID: 1848145250} - {fileID: 1848145250}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 7 m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &401185750 --- !u!1 &401185750
GameObject: GameObject:
@ -740,7 +759,7 @@ Transform:
- {fileID: 1579390333} - {fileID: 1579390333}
- {fileID: 343589999} - {fileID: 343589999}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 8 m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &438615021 --- !u!1 &438615021
GameObject: GameObject:
@ -905,7 +924,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: 732632615} m_Father: {fileID: 732632615}
m_RootOrder: 3 m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &441718965 --- !u!114 &441718965
MonoBehaviour: MonoBehaviour:
@ -1229,9 +1248,8 @@ Transform:
- {fileID: 438615023} - {fileID: 438615023}
- {fileID: 350883108} - {fileID: 350883108}
- {fileID: 776169028} - {fileID: 776169028}
- {fileID: 1035960134}
- {fileID: 441718964} - {fileID: 441718964}
- {fileID: 1375512056}
- {fileID: 1924148041}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 9 m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1268,7 +1286,7 @@ RectTransform:
m_AnchorMin: {x: 1, y: 1} m_AnchorMin: {x: 1, 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}
m_SizeDelta: {x: 640, y: 360} m_SizeDelta: {x: 360, y: 360}
m_Pivot: {x: 1, y: 1} m_Pivot: {x: 1, y: 1}
--- !u!114 &770059768 --- !u!114 &770059768
MonoBehaviour: MonoBehaviour:
@ -1699,6 +1717,48 @@ CanvasRenderer:
m_PrefabParentObject: {fileID: 0} m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0} m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 914653314} m_GameObject: {fileID: 914653314}
--- !u!1 &1035960133
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1035960134}
- component: {fileID: 1035960135}
m_Layer: 0
m_Name: ParticleViewerUnlit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1035960134
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1035960133}
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 &1035960135
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1035960133}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e2f970277ae55db488ae9e5e4d484912, type: 3}
m_Name:
m_EditorClassIdentifier:
buffer: {fileID: 438615022}
material: {fileID: 2100000, guid: 56457e5f2df74a44c933b2791da81324, type: 2}
--- !u!1 &1071731253 --- !u!1 &1071731253
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1844,47 +1904,6 @@ 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 &1390635887 --- !u!1 &1390635887
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1912,7 +1931,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: 6 m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1390635889 --- !u!114 &1390635889
MonoBehaviour: MonoBehaviour:
@ -2182,47 +2201,6 @@ MonoBehaviour:
colorize: 1 colorize: 1
debugMaterial: {fileID: 2100000, guid: 95b4d9b25b7a7e3449627228b10d9009, type: 2} debugMaterial: {fileID: 2100000, guid: 95b4d9b25b7a7e3449627228b10d9009, type: 2}
debugInfo: debugInfo:
--- !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
--- !u!1 &2129467936 --- !u!1 &2129467936
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

@ -11,8 +11,8 @@ RenderTexture:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_Width: 3840 m_Width: 2048
m_Height: 2160 m_Height: 2048
m_AntiAliasing: 1 m_AntiAliasing: 1
m_DepthFormat: 0 m_DepthFormat: 0
m_ColorFormat: 0 m_ColorFormat: 0

@ -0,0 +1,98 @@
%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: Point
m_Shader: {fileID: 4800000, guid: 44b738c16dcfd5445b9019d3c98e1a3c, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BlendOp: 0
- _BumpScale: 1
- _CameraFadingEnabled: 0
- _CameraFarFadeDistance: 2
- _CameraNearFadeDistance: 1
- _ColorMode: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DistortionBlend: 0.5
- _DistortionEnabled: 0
- _DistortionStrength: 1
- _DistortionStrengthScaled: 0
- _DstBlend: 0
- _Emission: 5
- _EmissionEnabled: 0
- _FlipbookMode: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _InvFade: 1
- _LightingEnabled: 0
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Size: 0.003
- _SmoothnessTextureChannel: 0
- _SoftParticlesEnabled: 0
- _SoftParticlesFarFadeDistance: 1
- _SoftParticlesNearFadeDistance: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 0.7132353, g: 0.9620458, b: 1, a: 1}
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}

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

@ -91,7 +91,7 @@ Material:
- _ZWrite: 1 - _ZWrite: 1
m_Colors: m_Colors:
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 5.168, g: 5.168, b: 5.168, a: 1} - _Color: {r: 5, g: 5, b: 5, a: 1}
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0.787, g: 0.787, b: 0.787, a: 1} - _EmissionColor: {r: 0.787, g: 0.787, b: 0.787, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}

@ -13,7 +13,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
numRate: 1 numRate: 1
movement: 1 movement: 1
geomSize: 0.2 geomSize: 0.306
velocityDamping: 0.95 velocityDamping: 0.95
lifeDuration: 7 lifeDuration: 7
lifeVariation: 0 lifeVariation: 0

@ -26,6 +26,11 @@ namespace UltraCombos.Frozen
KinectOpticalFlow kinectOpticalFlow; KinectOpticalFlow kinectOpticalFlow;
[SerializeField] [SerializeField]
FluidSim3DProject.SmokeFluidSim smokeFluidSim; FluidSim3DProject.SmokeFluidSim smokeFluidSim;
[SerializeField]
ParticleViewerMesh particleViewerMesh;
[SerializeField]
[Range(0, 1)]
public float rate = 1.0f;
[SerializeField] [SerializeField]
string debug; string debug;
@ -33,6 +38,7 @@ namespace UltraCombos.Frozen
private void Start() private void Start()
{ {
uniforms = uniformBuffer.uniform as ParticleUniforms; uniforms = uniformBuffer.uniform as ParticleUniforms;
particleViewerMesh.BufferCount = (int)(maxParticles * rate);
StartCoroutine(Initialize()); StartCoroutine(Initialize());
} }
@ -62,13 +68,6 @@ namespace UltraCombos.Frozen
private IEnumerator Initialize() private IEnumerator Initialize()
{ {
#if false
{
uint[] args = new uint[3] { (uint)Mathf.CeilToInt((float)maxHomes / WORK_GROUP_SIZE), 1, 1 };
home_args_buffer = new ComputeBuffer(1, args.Length * sizeof(uint), ComputeBufferType.IndirectArguments);
home_args_buffer.SetData(args);
}
#endif
{ {
args_buffer = shader.CreateIndirectComputeArgsBuffer(maxParticles, 1, 1); args_buffer = shader.CreateIndirectComputeArgsBuffer(maxParticles, 1, 1);
} }

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

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

@ -18,6 +18,9 @@ namespace UltraCombos
public ComputeBuffer vertexBuffer { get { return vertex_buffer; } } public ComputeBuffer vertexBuffer { get { return vertex_buffer; } }
int buffer_count = 0;
public int BufferCount { set { buffer_count = value; } }
protected override void OnFixedUpdate() protected override void OnFixedUpdate()
{ {
shader.SetBuffer(0, buffer.bufferName, buffer.obj); shader.SetBuffer(0, buffer.bufferName, buffer.obj);
@ -89,7 +92,8 @@ namespace UltraCombos
} }
mesh = new Mesh(); mesh = new Mesh();
yield return Utilities.GetReferencesParticleMesh(references, buffer.count, mesh); int max_particles = buffer_count > 0 ? buffer_count : buffer.count;
yield return Utilities.GetReferencesParticleMesh(references, max_particles, mesh);
{ {
mesh.name = string.Format("v: {0}", mesh.vertexCount); mesh.name = string.Format("v: {0}", mesh.vertexCount);

Loading…
Cancel
Save