您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

9335 行
406 KiB

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!2058629511 &1
VisualEffectResource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ShipCore-PowerDown
m_Graph: {fileID: 2}
m_ShaderSources:
- compute: 1
name: '[System 1]Initialize Particle'
source: "#pragma kernel CSMain\r\n#define NB_THREADS_PER_GROUP 64\n#define HAS_ATTRIBUTES
1\n#define VFX_PASSDEPTH_ACTUAL (0)\n#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n#define
VFX_PASSDEPTH_SELECTION (2)\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_SEED_CURRENT
1\n#define VFX_USE_POSITION_CURRENT 1\n#define VFX_USE_DIRECTION_CURRENT 1\n#define
VFX_USE_SIZE_CURRENT 1\n#define VFX_USE_VELOCITY_CURRENT 1\n#define VFX_USE_AGE_CURRENT
1\n#define VFX_USE_ALIVE_CURRENT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\n\r\n\nstruct
Attributes\n{\n float lifetime;\n uint seed;\n float3 position;\n
float3 direction;\n float size;\n float3 velocity;\n float age;\n
bool alive;\n};\n\nstruct SourceAttributes\n{\n};\n\n\n\r\n\r\n#define USE_DEAD_LIST
(VFX_USE_ALIVE_CURRENT && !HAS_STRIPS)\r\n\r\nRWByteAddressBuffer attributeBuffer;\r\nByteAddressBuffer
sourceAttributeBuffer;\r\n\r\nCBUFFER_START(initParams)\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n
uint nbSpawned;\t\t\t\t\t// Numbers of particle spawned\r\n uint spawnIndex;\t\t\t\t//
Index of the first particle spawned\r\n uint dispatchWidth;\r\n#else\r\n
uint offsetInAdditionalOutput;\r\n\tuint nbMax;\r\n#endif\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\n#if
USE_DEAD_LIST\r\nRWStructuredBuffer<uint> deadListIn;\r\nByteAddressBuffer
deadListCount; // This is bad to use a SRV to fetch deadList count but Unity
API currently prevent from copying to CB\r\n#endif\r\n\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\nStructuredBuffer<uint>
eventList;\r\nByteAddressBuffer inputAdditional;\r\n#endif\r\n\r\n#if HAS_STRIPS\r\nRWBuffer<uint>
stripDataBuffer;\r\n#endif\r\n\r\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.hlsl\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\n\r\n\r\nvoid
SetAttribute_F01429A3(inout float lifetime, inout uint seed, float A, float
B) /*attribute:lifetime Composition:Overwrite Source:Slot Random:Uniform channels:XYZ
*/\n{\n lifetime = lerp(A,B,RAND);\n}\nvoid PositionSphere_0(inout float3
position, inout uint seed, inout float3 direction, float3 ArcSphere_sphere_center,
float ArcSphere_sphere_radius, float ArcSphere_arc, float volumeFactor) /*positionMode:Surface
spawnMode:Random */\n{\n float cosPhi = 2.0f * RAND - 1.0f;float theta =
ArcSphere_arc * RAND;\n float rNorm = pow(volumeFactor + (1 - volumeFactor)
* RAND, 1.0f / 3.0f);\n \n float2 sincosTheta;\n sincos(theta, sincosTheta.x,
sincosTheta.y);\n sincosTheta *= sqrt(1.0f - cosPhi * cosPhi);\n \n
direction = float3(sincosTheta, cosPhi);\n position += direction * (rNorm
* ArcSphere_sphere_radius) + ArcSphere_sphere_center;\n \n}\nvoid SetAttribute_3278B543(inout
float size, inout uint seed, float A, float B) /*attribute:size Composition:Overwrite
Source:Slot Random:Uniform channels:X */\n{\n size = lerp(A,B,RAND);\n}\nvoid
VelocitySpherical_18C(inout float3 velocity, inout float3 direction, inout
uint seed, float3 position, float3 center, float MinSpeed, float MaxSpeed,
float DirectionBlend) /*composition:Add speedMode:Random */\n{\n float3
sphereDirection = VFXSafeNormalize(position - center);\n float speed = lerp(MinSpeed,MaxSpeed,RAND);\n
direction = VFXSafeNormalize(lerp(direction, sphereDirection, DirectionBlend));\n
velocity += direction * speed;\n}\n\n\r\n\r\n#if HAS_STRIPS\r\nbool GetParticleIndex(inout
uint particleIndex, uint stripIndex)\r\n{\r\n\tuint relativeIndex;\r\n\tInterlockedAdd(STRIP_DATA(STRIP_NEXT_INDEX,
stripIndex), 1, relativeIndex);\r\n\tif (relativeIndex >= PARTICLE_PER_STRIP_COUNT)
// strip is full\r\n\t{\r\n\t\tInterlockedAdd(STRIP_DATA(STRIP_NEXT_INDEX,
stripIndex), -1); // Remove previous increment\r\n\t\treturn false;\r\n\t}\r\n\r\n\tparticleIndex
= stripIndex * PARTICLE_PER_STRIP_COUNT + ((STRIP_DATA(STRIP_FIRST_INDEX, stripIndex)
+ relativeIndex) % PARTICLE_PER_STRIP_COUNT);\r\n return true;\r\n}\r\n#endif\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid
CSMain(uint3 groupId : SV_GroupID,\r\n uint3 groupThreadId
: SV_GroupThreadID)\r\n{\r\n uint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP;\r\n#if
!VFX_USE_SPAWNER_FROM_GPU\r\n id += groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\r\n#endif\r\n\r\n#if
VFX_USE_SPAWNER_FROM_GPU\r\n uint maxThreadId = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 0) << 2);\r\n uint currentSpawnIndex = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 1) << 2) - maxThreadId;\r\n#else\r\n uint maxThreadId = nbSpawned;\r\n
uint currentSpawnIndex = spawnIndex;\r\n#endif\r\n\r\n#if USE_DEAD_LIST\r\n
maxThreadId = min(maxThreadId, deadListCount.Load(0x0));\r\n#elif VFX_USE_SPAWNER_FROM_GPU\r\n
maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
on CPU\r\n#endif\r\n\r\n if (id < maxThreadId)\r\n {\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\n
int sourceIndex = eventList[id];\r\n#endif\r\n\t\tuint particleIndex = id +
currentSpawnIndex;\r\n\t\t\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n int
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n
for (sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
if (id < currentSumSpawnCount)\n {\n break;\n
}\n }\n */\n \n\r\n#endif\r\n\r\n\t\tAttributes attributes
= (Attributes)0;\r\n\t\tSourceAttributes sourceAttributes = (SourceAttributes)0;\r\n\t\t\r\n
attributes.lifetime = (float)1;\n attributes.seed = (uint)0;\n
attributes.position = float3(0, 0, 0);\n attributes.direction = float3(0,
0, 1);\n attributes.size = (float)0.100000001;\n attributes.velocity
= float3(0, 0, 0);\n attributes.age = (float)0;\n attributes.alive
= (bool)true;\n \n\r\n#if VFX_USE_PARTICLEID_CURRENT\r\n attributes.particleId
= particleIndex;\r\n#endif\r\n#if VFX_USE_SEED_CURRENT\r\n attributes.seed
= WangHash(particleIndex ^ systemSeed);\r\n#endif\r\n#if VFX_USE_SPAWNINDEX_CURRENT\r\n
attributes.spawnIndex = id;\r\n#endif\r\n#if HAS_STRIPS\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n\t\t\r\n#else\r\n
uint stripIndex = sourceIndex;\r\n#endif\r\n\t\tstripIndex = min(stripIndex,
STRIP_COUNT);\r\n\r\n if (!GetParticleIndex(particleIndex, stripIndex))\r\n
return;\r\n\r\n const StripData stripData = GetStripDataFromStripIndex(stripIndex,
PARTICLE_PER_STRIP_COUNT);\r\n\t\tInitStripAttributes(particleIndex, attributes,
stripData);\r\n\t\t// TODO Change seed to be sure we're deterministic on random
with strip\r\n#endif\r\n \r\n {\n SetAttribute_F01429A3(
/*inout */attributes.lifetime, /*inout */attributes.seed, (float)0.5, (float)11);\n
}\n {\n PositionSphere_0( /*inout */attributes.position,
/*inout */attributes.seed, /*inout */attributes.direction, float3(0, 0, 0),
(float)3.5, (float)6.28318548, (float)1);\n }\n {\n
SetAttribute_3278B543( /*inout */attributes.size, /*inout */attributes.seed,
(float)0.0500000007, (float)0.100000001);\n }\n {\n
VelocitySpherical_18C( /*inout */attributes.velocity, /*inout */attributes.direction,
/*inout */attributes.seed, attributes.position, float3(0, 0, 0), (float)12,
(float)128, (float)0.5);\n }\n \n\r\n\t\t\r\n#if VFX_USE_ALIVE_CURRENT\r\n
if (attributes.alive)\r\n#endif \r\n {\r\n#if USE_DEAD_LIST\r\n\t
uint deadIndex = deadListIn.DecrementCounter();\r\n uint index =
deadListIn[deadIndex];\r\n#else\r\n uint index = particleIndex;\r\n#endif\r\n
attributeBuffer.Store((index * 0x2 + 0x0) << 2,asuint(attributes.lifetime));\n
attributeBuffer.Store3((index * 0x8 + 0x1F400) << 2,asuint(attributes.position));\n
attributeBuffer.Store((index * 0x2 + 0x1) << 2,asuint(attributes.size));\n
attributeBuffer.Store3((index * 0x8 + 0x1F404) << 2,asuint(attributes.velocity));\n
attributeBuffer.Store((index * 0x8 + 0x1F403) << 2,asuint(attributes.age));\n
attributeBuffer.Store((index * 0x8 + 0x1F407) << 2,uint(attributes.alive));\n
\n\r\n }\r\n }\r\n}\r\n"
- compute: 1
name: '[System 1]Update Particle'
source: "#pragma kernel CSMain\r\n#define NB_THREADS_PER_GROUP 64\n#define HAS_ATTRIBUTES
1\n#define VFX_PASSDEPTH_ACTUAL (0)\n#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n#define
VFX_PASSDEPTH_SELECTION (2)\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_POSITION_CURRENT
1\n#define VFX_USE_SIZE_CURRENT 1\n#define VFX_USE_VELOCITY_CURRENT 1\n#define
VFX_USE_MASS_CURRENT 1\n#define VFX_USE_SCALEX_CURRENT 1\n#define VFX_USE_SCALEY_CURRENT
1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_USE_ALIVE_CURRENT 1\n#define
VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\n\r\nCBUFFER_START(parameters)\n
float4x4 InvFieldTransform_a;\n float4x4 FieldTransform_a;\n float4 uniform_e;\n
float deltaTime_a;\n uint3 PADDING_0;\nCBUFFER_END\n\nstruct Attributes\n{\n
float lifetime;\n float3 position;\n float size;\n float3 velocity;\n
float mass;\n float scaleX;\n float scaleY;\n float age;\n bool
alive;\n};\n\nstruct SourceAttributes\n{\n};\n\nTexture3D VectorField_a;\nSamplerState
samplerVectorField_a;\nfloat4 VectorField_a_TexelSize;\n\n\r\n\r\n#define USE_DEAD_LIST
(VFX_USE_ALIVE_CURRENT && !HAS_STRIPS)\r\n\r\nRWByteAddressBuffer attributeBuffer;\r\n\r\n#if
USE_DEAD_LIST\r\nRWStructuredBuffer<uint> deadListOut;\r\n#endif\r\n\r\n#if
VFX_HAS_INDIRECT_DRAW\r\nRWStructuredBuffer<uint> indirectBuffer;\r\n#endif\r\n\r\n#if
HAS_STRIPS\r\nRWBuffer<uint> stripDataBuffer;\r\n#endif\r\n\r\n#if VFX_USE_STRIPALIVE_CURRENT\r\nBuffer<uint>
attachedStripDataBuffer;\r\n#endif\r\n\r\nCBUFFER_START(updateParams)\r\n
uint nbMax;\r\n\tuint dispatchWidth;\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.hlsl\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\n\r\n\r\nvoid
VectorFieldForce_267A9(inout float3 velocity, float mass, float3 position,
VFXSampler3D VectorField, float4x4 InvFieldTransform, float4x4 FieldTransform,
float Intensity, float Drag, float deltaTime) /*DataEncoding:UnsignedNormalized
Mode:Relative ClosedField:False ConserveMagnitude:False */\n{\n float3 vectorFieldCoord
= mul(InvFieldTransform, float4(position,1.0f)).xyz;\n \n float3 value
= SampleTexture(VectorField, vectorFieldCoord + 0.5f).xyz * 2.0f - 1.0f;\n
value = mul(FieldTransform,float4(value,0.0f)).xyz;\n \n velocity +=
((value * Intensity) - velocity) * min(1.0f,Drag * deltaTime / mass);\n}\nvoid
ConformToSphere(inout float3 velocity, float3 position, float mass, float3
Sphere_center, float Sphere_radius, float attractionSpeed, float attractionForce,
float stickDistance, float stickForce, float deltaTime)\n{\n \n float3
dir = Sphere_center - position;\n float distToCenter = length(dir);\n
float distToSurface = distToCenter - Sphere_radius;\n dir /= max(VFX_FLT_MIN,distToCenter);
// safe normalize\n float spdNormal = dot(dir,velocity);\n float ratio
= smoothstep(0.0,stickDistance * 2.0,abs(distToSurface));\n float tgtSpeed
= sign(distToSurface) * attractionSpeed * ratio;\n float deltaSpeed = tgtSpeed
- spdNormal;\n velocity += sign(deltaSpeed) * min(abs(deltaSpeed),deltaTime
* lerp(stickForce,attractionForce,ratio)) * dir / mass;\n}\nvoid Drag_1(inout
float3 velocity, float mass, float size, float scaleX, float scaleY, float
dragCoefficient, float deltaTime) /*UseParticleSize:True */\n{\n \n float2
side = size * (scaleX, scaleY);\n dragCoefficient *= side.x * side.y;\n
velocity *= max(0.0,(1.0 - (dragCoefficient * deltaTime) / mass));\n}\nvoid
CollisionSphere_0(inout float3 position, inout float3 velocity, inout float
age, float lifetime, float3 Sphere_center, float Sphere_radius, float Bounce,
float Friction, float LifetimeLoss, float deltaTime, float colliderSign, float
radius) /*mode:Solid radiusMode:None roughSurface:False */\n{\n \n float3
nextPos = position + velocity * deltaTime;\n float3 dir = nextPos - Sphere_center;\n
float sqrLength = dot(dir, dir);\n float totalRadius = Sphere_radius + colliderSign
* radius;\n if (colliderSign * sqrLength <= colliderSign * totalRadius *
totalRadius)\n {\n float dist = sqrt(sqrLength);\n float3
n = colliderSign * dir / dist;\n position -= n * (dist - totalRadius)
* colliderSign;\n \n float projVelocity = dot(n, velocity);\n
\n float3 normalVelocity = projVelocity * n;\n float3 tangentVelocity
= velocity - normalVelocity;\n \n if (projVelocity < 0)\n
velocity -= ((1 + Bounce) * projVelocity) * n;\n velocity -= Friction
* tangentVelocity;\n \n age += (LifetimeLoss * lifetime);\n \n
}\n}\nvoid EulerIntegration(inout float3 position, float3 velocity, float deltaTime)\n{\n
position += velocity * deltaTime;\n}\nvoid Age(inout float age, float deltaTime)\n{\n
age += deltaTime;\n}\nvoid Reap(float age, float lifetime, inout bool alive)\n{\n
if(age > lifetime) { alive = false; }\n}\n\n\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid
CSMain(uint3 groupId : SV_GroupID,\r\n uint3 groupThreadId
: SV_GroupThreadID)\r\n{\r\n\tuint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP
+ groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\r\n\tuint index = id;\r\n\tif
(id < nbMax)\r\n\t{\r\n Attributes attributes = (Attributes)0;\r\n\t\tSourceAttributes
sourceAttributes = (SourceAttributes)0;\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\n\t\tattributes.alive
= (attributeBuffer.Load((index * 0x8 + 0x1F407) << 2));\n\t\t\n\r\n\t\tif (attributes.alive)\r\n\t\t{\r\n\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\tattributes.position
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F400) << 2));\n\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\tattributes.velocity
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F404) << 2));\n\t\t\tattributes.mass
= (float)1;\n\t\t\tattributes.scaleX = (float)1;\n\t\t\tattributes.scaleY =
(float)1;\n\t\t\tattributes.age = asfloat(attributeBuffer.Load((index * 0x8
+ 0x1F403) << 2));\n\t\t\t\n\r\n\r\n// Initialize built-in needed attributes\r\n#if
VFX_USE_OLDPOSITION_CURRENT\r\n\t\t\tattributes.oldPosition = attributes.position;\r\n#endif\r\n#if
HAS_STRIPS\r\n const StripData stripData = GetStripDataFromParticleIndex(index,
PARTICLE_PER_STRIP_COUNT);\r\n InitStripAttributes(index, attributes,
stripData);\r\n#endif\r\n\t\t\t\r\n\t\t\t{\n\t\t\t VectorFieldForce_267A9(
/*inout */attributes.velocity, attributes.mass, attributes.position, GetVFXSampler(VectorField_a,
samplerVectorField_a), InvFieldTransform_a, FieldTransform_a, (float)7, (float)3,
deltaTime_a);\n\t\t\t}\n\t\t\t{\n\t\t\t ConformToSphere( /*inout */attributes.velocity,
attributes.position, attributes.mass, float3(0, 0, 0), (float)1, (float)5,
(float)20, (float)0.100000001, (float)50, deltaTime_a);\n\t\t\t}\n\t\t\t{\n\t\t\t
Drag_1( /*inout */attributes.velocity, attributes.mass, attributes.size, attributes.scaleX,
attributes.scaleY, (float)2000, deltaTime_a);\n\t\t\t}\n\t\t\t{\n\t\t\t
float tmp_bd = SampleCurve(uniform_e,attributes.age);\n\t\t\t CollisionSphere_0(
/*inout */attributes.position, /*inout */attributes.velocity, /*inout */attributes.age,
attributes.lifetime, float3(0, 0, 0), tmp_bd, (float)0.100000001, (float)0,
(float)0, deltaTime_a, (float)1, (float)0);\n\t\t\t}\n\t\t\tEulerIntegration(
/*inout */attributes.position, attributes.velocity, deltaTime_a);\n\t\t\tAge(
/*inout */attributes.age, deltaTime_a);\n\t\t\tReap(attributes.age, attributes.lifetime,
/*inout */attributes.alive);\n\t\t\t\n\r\n\r\n\t\t\tif (attributes.alive)\r\n\t\t\t{\r\n\t\t\t\tattributeBuffer.Store3((index
* 0x8 + 0x1F400) << 2,asuint(attributes.position));\n\t\t\t\tattributeBuffer.Store3((index
* 0x8 + 0x1F404) << 2,asuint(attributes.velocity));\n\t\t\t\tattributeBuffer.Store((index
* 0x8 + 0x1F403) << 2,asuint(attributes.age));\n\t\t\t\t\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\n
uint indirectIndex = indirectBuffer.IncrementCounter();\r\n\t\t\t\tindirectBuffer[indirectIndex]
= index;\r\n#endif\r\n\r\n#if HAS_STRIPS\t\t\t\r\n\t\t\t\tuint relativeIndexInStrip
= GetRelativeIndex(index, stripData);\r\n\t\t\t\tInterlockedMin(STRIP_DATA(STRIP_MIN_ALIVE,
stripData.stripIndex), relativeIndexInStrip);\r\n\t\t\t\tInterlockedMax(STRIP_DATA(STRIP_MAX_ALIVE,
stripData.stripIndex), relativeIndexInStrip);\r\n#endif\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tattributeBuffer.Store((index
* 0x8 + 0x1F407) << 2,uint(attributes.alive));\n\t\t\t\t\n\r\n#if USE_DEAD_LIST
&& !VFX_USE_STRIPALIVE_CURRENT\r\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\r\n\t\t\t\tdeadListOut[deadIndex]
= index;\r\n#endif\r\n\t\t\t}\r\n\t\t}\r\n#if USE_DEAD_LIST && VFX_USE_STRIPALIVE_CURRENT\r\n
else if (attributes.stripAlive)\r\n {\r\n if (STRIP_DATA_X(attachedStripDataBuffer,
STRIP_MIN_ALIVE, index) == ~1) // Attached strip is no longer alive, recycle
the particle \r\n {\r\n uint deadIndex = deadListOut.IncrementCounter();\r\n\t\t\t\tdeadListOut[deadIndex]
= index;\r\n attributes.stripAlive = false;\r\n
\r\n } \r\n }\r\n#endif\r\n#else\r\n\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\tattributes.position
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F400) << 2));\n\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\tattributes.velocity
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F404) << 2));\n\t\tattributes.mass
= (float)1;\n\t\tattributes.scaleX = (float)1;\n\t\tattributes.scaleY = (float)1;\n\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x8 + 0x1F403) << 2));\n\t\tattributes.alive
= (attributeBuffer.Load((index * 0x8 + 0x1F407) << 2));\n\t\t\n\r\n\t\t\r\n#if
VFX_USE_OLDPOSITION_CURRENT\r\n\t\tattributes.oldPosition = attributes.position;\r\n#endif\r\n#if
HAS_STRIPS\r\n const StripData stripData = GetStripDataFromParticleIndex(index,
PARTICLE_PER_STRIP_COUNT);\r\n InitStripAttributes(index, attributes,
stripData);\r\n#endif\r\n\t\t\r\n\t\t{\n\t\t VectorFieldForce_267A9( /*inout
*/attributes.velocity, attributes.mass, attributes.position, GetVFXSampler(VectorField_a,
samplerVectorField_a), InvFieldTransform_a, FieldTransform_a, (float)7, (float)3,
deltaTime_a);\n\t\t}\n\t\t{\n\t\t ConformToSphere( /*inout */attributes.velocity,
attributes.position, attributes.mass, float3(0, 0, 0), (float)1, (float)5,
(float)20, (float)0.100000001, (float)50, deltaTime_a);\n\t\t}\n\t\t{\n\t\t
Drag_1( /*inout */attributes.velocity, attributes.mass, attributes.size, attributes.scaleX,
attributes.scaleY, (float)2000, deltaTime_a);\n\t\t}\n\t\t{\n\t\t float
tmp_bd = SampleCurve(uniform_e,attributes.age);\n\t\t CollisionSphere_0(
/*inout */attributes.position, /*inout */attributes.velocity, /*inout */attributes.age,
attributes.lifetime, float3(0, 0, 0), tmp_bd, (float)0.100000001, (float)0,
(float)0, deltaTime_a, (float)1, (float)0);\n\t\t}\n\t\tEulerIntegration( /*inout
*/attributes.position, attributes.velocity, deltaTime_a);\n\t\tAge( /*inout
*/attributes.age, deltaTime_a);\n\t\tReap(attributes.age, attributes.lifetime,
/*inout */attributes.alive);\n\t\t\n\r\n\t\tattributeBuffer.Store3((index *
0x8 + 0x1F400) << 2,asuint(attributes.position));\n\t\tattributeBuffer.Store3((index
* 0x8 + 0x1F404) << 2,asuint(attributes.velocity));\n\t\tattributeBuffer.Store((index
* 0x8 + 0x1F403) << 2,asuint(attributes.age));\n\t\tattributeBuffer.Store((index
* 0x8 + 0x1F407) << 2,uint(attributes.alive));\n\t\t\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\n
uint indirectIndex = indirectBuffer.IncrementCounter();\r\n\t\tindirectBuffer[indirectIndex]
= index;\r\n#endif\r\n#endif\r\n\t}\r\n}\r\n"
- compute: 0
name: '[System 1]Output Particle Quad'
source: "Shader \"Hidden/VFX/ShipCore-PowerDown/System 1/Output Particle Quad\"\n{\r\n\tSubShader\r\n\t{\t\r\n\t\tCull
Off\r\n\t\t\r\n\t\tTags { \"Queue\"=\"Transparent+0\" \"IgnoreProjector\"=\"True\"
\"RenderType\"=\"Transparent\" }\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tBlend
SrcAlpha One \n\t\tZTest LEqual\n\t\tZWrite Off\n\t\tCull Off\n\t\t\n\t\n\t\t\t\n\t\tHLSLINCLUDE\n\t\t\n\t\t#define
NB_THREADS_PER_GROUP 64\n\t\t#define HAS_ATTRIBUTES 1\n\t\t#define VFX_PASSDEPTH_ACTUAL
(0)\n\t\t#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n\t\t#define VFX_PASSDEPTH_SELECTION
(2)\n\t\t#define VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_POSITION_CURRENT
1\n\t\t#define VFX_USE_SIZE_CURRENT 1\n\t\t#define VFX_USE_VELOCITY_CURRENT
1\n\t\t#define VFX_USE_SCALEX_CURRENT 1\n\t\t#define VFX_USE_SCALEY_CURRENT
1\n\t\t#define VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_USE_COLOR_CURRENT 1\n\t\t#define
VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT 1\n\t\t#define VFX_USE_AXISX_CURRENT
1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define VFX_USE_AXISZ_CURRENT 1\n\t\t#define
VFX_USE_ANGLEX_CURRENT 1\n\t\t#define VFX_USE_ANGLEY_CURRENT 1\n\t\t#define
VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT 1\n\t\t#define
VFX_USE_PIVOTY_CURRENT 1\n\t\t#define VFX_USE_PIVOTZ_CURRENT 1\n\t\t#define
VFX_USE_SCALEZ_CURRENT 1\n\t\t#define VFX_COLORMAPPING_GRADIENTMAPPED 1\n\t\t#define
IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define VFX_BYPASS_EXPOSURE
1\n\t\t#define VFX_PRIMITIVE_QUAD 1\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t#define
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
float4 uniform_b;\n\t\t float Color_b;\n\t\t float gradient;\n\t\t
uint2 PADDING_0;\n\t\tCBUFFER_END\n\t\t\n\t\tstruct Attributes\n\t\t{\n\t\t
float lifetime;\n\t\t float3 position;\n\t\t float size;\n\t\t float3
velocity;\n\t\t float scaleX;\n\t\t float scaleY;\n\t\t float age;\n\t\t
float3 color;\n\t\t float alpha;\n\t\t bool alive;\n\t\t float3 axisX;\n\t\t
float3 axisY;\n\t\t float3 axisZ;\n\t\t float angleX;\n\t\t float
angleY;\n\t\t float angleZ;\n\t\t float pivotX;\n\t\t float pivotY;\n\t\t
float pivotZ;\n\t\t float scaleZ;\n\t\t};\n\t\t\n\t\tstruct SourceAttributes\n\t\t{\n\t\t};\n\t\t\n\t\tTexture2D
mainTexture;\n\t\tSamplerState samplermainTexture;\n\t\tfloat4 mainTexture_TexelSize;\n\t\t\n\n\t\t\n\t\t#define
VFX_NEEDS_COLOR_INTERPOLATOR (VFX_USE_COLOR_CURRENT || VFX_USE_ALPHA_CURRENT)\n\t\t#if
HAS_STRIPS\n\t\t#define VFX_OPTIONAL_INTERPOLATION \n\t\t#else\n\t\t#define
VFX_OPTIONAL_INTERPOLATION nointerpolation\n\t\t#endif\n\t\t\n\t\tByteAddressBuffer
attributeBuffer;\t\n\t\t\n\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\tStructuredBuffer<uint>
indirectBuffer;\t\n\t\t#endif\t\n\t\t\n\t\t#if USE_DEAD_LIST_COUNT\n\t\tByteAddressBuffer
deadListCount;\n\t\t#endif\n\t\t\n\t\t#if HAS_STRIPS\n\t\tBuffer<uint> stripDataBuffer;\n\t\t#endif\n\t\t\n\t\t#if
WRITE_MOTION_VECTOR_IN_FORWARD || USE_MOTION_VECTORS_PASS\n\t\tByteAddressBuffer
elementToVFXBufferPrevious;\n\t\t#endif\n\t\t\n\t\tCBUFFER_START(outputParams)\n\t\t\tfloat
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\t// Helper macros
to always use a valid instanceID\n\t\t#if defined(UNITY_STEREO_INSTANCING_ENABLED)\n\t\t\t#define
VFX_DECLARE_INSTANCE_ID UNITY_VERTEX_INPUT_INSTANCE_ID\n\t\t\t#define VFX_GET_INSTANCE_ID(i)
unity_InstanceID\n\t\t#else\n\t\t\t#define VFX_DECLARE_INSTANCE_ID uint
instanceID : SV_InstanceID;\n\t\t\t#define VFX_GET_INSTANCE_ID(i) i.instanceID\n\t\t#endif\n\t\t\n\t\tENDHLSL\n\t\t\n\r\n\t\tPass\n\t\t{\t\t\n\t\t\tTags
{ \"LightMode\"=\"SceneSelectionPass\" }\n\t\t\n\t\t\tZWrite On\n\t\t\tBlend
Off\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#define VFX_PASSDEPTH VFX_PASSDEPTH_SELECTION\n\t\t\t#pragma
target 4.5\n\t\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos : SV_POSITION;\n\t\t\t\t#if
USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4 uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2
uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION
|| VFX_USE_ALPHA_CURRENT\n\t\t\t\t// x: alpha threshold\n\t\t\t\t// y: frame
blending factor\n\t\t\t\t// z: alpha\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION float3
builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\tfloat4 cPosPrevious :
TEXCOORD3;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD4;\n\t\t\t\t#endif\n\t\t\t
\n\t\t\t #if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t float3 posWS : TEXCOORD5;\n\t\t\t
#endif\n\t\t\t \n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\t#define
VFX_VARYING_PS_INPUTS ps_input\n\t\t\t#define VFX_VARYING_POSCS pos\n\t\t\t#define
VFX_VARYING_ALPHA builtInInterpolants.z\n\t\t\t#define VFX_VARYING_ALPHATHRESHOLD
builtInInterpolants.x\n\t\t\t#define VFX_VARYING_FRAMEBLEND builtInInterpolants.y\n\t\t\t#define
VFX_VARYING_MOTIONVECTORSCALE builtInInterpolants2.xy\n\t\t\t#define VFX_VARYING_UV
uv\n\t\t\t\n\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t#define VFX_VARYING_POSWS
posWS\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
SHADERPASS SHADERPASS_MOTION_VECTORS\n\t\t\t#else\n\t\t\t#define SHADERPASS
SHADERPASS_DEPTH_ONLY\n\t\t\t#endif\n\t\t\t#if !(defined(VFX_VARYING_PS_INPUTS)
&& defined(VFX_VARYING_POSCS))\n\t\t\t#error VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS
and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
SetAttribute_D5151642(inout float scaleX, inout float scaleY, inout float scaleZ,
float3 Scale) /*attribute:scale Composition:Overwrite Source:Slot Random:Off
channels:XYZ */\n\t\t\t{\n\t\t\t scaleX = Scale.x;\n\t\t\t scaleY = Scale.y;\n\t\t\t
scaleZ = Scale.z;\n\t\t\t}\n\t\t\tvoid AttributeFromCurve_48A86161(inout float3
color, inout float alpha, float age, float lifetime, float Color) /*attribute:color
Composition:Overwrite AlphaComposition:Overwrite SampleMode:OverLife Mode:PerComponent
ColorMode:ColorAndAlpha channels:XYZ */\n\t\t\t{\n\t\t\t float t = age /
lifetime;\n\t\t\t float4 value = 0.0f;\n\t\t\t value = SampleGradient(Color,
t);\n\t\t\t color = value.rgb;\n\t\t\t alpha = value.a;\n\t\t\t}\n\t\t\tvoid
Orient_94A(inout float3 axisX, inout float3 axisY, inout float3 axisZ, float3
position, float3 velocity) /*mode:AlongVelocity axes:ZY */\n\t\t\t{\n\t\t\t
\n\t\t\t axisY = normalize(velocity);\n\t\t\t axisZ = position - GetViewVFXPosition();\n\t\t\t
axisX = normalize(cross(axisY,axisZ));\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#if defined(HAS_STRIPS) && !defined(VFX_PRIMITIVE_QUAD)\n\t\t\t#error
VFX_PRIMITIVE_QUAD must be defined when HAS_STRIPS is.\n\t\t\t#endif\n\t\t\t\n\t\t\tstruct
vs_input\n\t\t\t{\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#define PARTICLE_IN_EDGE (id & 1)\n\t\t\t\n\t\t\tfloat3 GetParticlePosition(uint
index)\n\t\t\t{\n\t\t\t\tstruct Attributes attributes = (Attributes)0;\n\t\t\t\tattributes.position
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F400) << 2));\n\t\t\t\t\n\n\t\t\t\treturn
attributes.position;\n\t\t\t}\n\t\t\t\n\t\t\tfloat3 GetStripTangent(float3
currentPos, uint relativeIndex, const StripData stripData)\n\t\t\t{\n\t\t\t\tfloat3
prevTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex > 0)\n\t\t\t\t{\n\t\t\t\t\tuint
prevIndex = GetParticleIndex(relativeIndex - 1,stripData);\n\t\t\t\t\tprevTangent
= normalize(currentPos - GetParticlePosition(prevIndex));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfloat3
nextTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex < stripData.nextIndex
- 1)\n\t\t\t\t{\n\t\t\t\t\tuint nextIndex = GetParticleIndex(relativeIndex
+ 1,stripData);\n\t\t\t\t\tnextTangent = normalize(GetParticlePosition(nextIndex)
- currentPos);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn normalize(prevTangent +
nextTangent);\n\t\t\t}\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, vs_input i)\n\t\t\t{\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tid += VFX_GET_INSTANCE_ID(i) * 8192;\n\t\t\t\tconst uint
vertexPerStripCount = (PARTICLE_PER_STRIP_COUNT - 1) << 2;\n\t\t\t\tconst StripData
stripData = GetStripDataFromStripIndex(id / vertexPerStripCount, PARTICLE_PER_STRIP_COUNT);\n\t\t\t\tuint
currentIndex = ((id % vertexPerStripCount) >> 2) + (id & 1); // relative index
of particle\n\t\t\t\t\n\t\t\t\tuint maxEdgeIndex = currentIndex - PARTICLE_IN_EDGE
+ 1;\n\t\t\t\tif (maxEdgeIndex >= stripData.nextIndex)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\tuint
index = GetParticleIndex(currentIndex, stripData);\n\t\t\t#else\n\t\t\t\tuint
index = (id >> 2) + VFX_GET_INSTANCE_ID(i) * 2048;\n\t\t\t#endif\n\t\t\t#elif
VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index = (id >> 3) + VFX_GET_INSTANCE_ID(i)
* 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount = 0;\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x2 + 0x0) << 2));\n\t\t\t\t\t\tattributes.position = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x1F400) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x2 + 0x1) << 2));\n\t\t\t\t\t\tattributes.velocity = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x1F404) << 2));\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x8 + 0x1F403) << 2));\n\t\t\t\t\t\tattributes.color = float3(1, 1, 1);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x8 + 0x1F407) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x8 + 0x1F407) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\t\t\t\tattributes.position
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F400) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\t\t\t\tattributes.velocity
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F404) << 2));\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x8 + 0x1F403) << 2));\n\t\t\t\t\t\tattributes.color
= float3(1, 1, 1);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
float tmp_bc = SampleCurve(uniform_b,attributes.age);\n\t\t\t\t float3 tmp_be
= float3((float)0.5, tmp_bc, (float)1);\n\t\t\t\t SetAttribute_D5151642(
/*inout */attributes.scaleX, /*inout */attributes.scaleY, /*inout */attributes.scaleZ,
tmp_be);\n\t\t\t\t}\n\t\t\t\tAttributeFromCurve_48A86161( /*inout */attributes.color,
/*inout */attributes.alpha, attributes.age, attributes.lifetime, Color_b);\n\t\t\t\tOrient_94A(
/*inout */attributes.axisX, /*inout */attributes.axisY, /*inout */attributes.axisZ,
attributes.position, attributes.velocity);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t#if
!HAS_STRIPS\n\t\t\t\tif (!attributes.alive)\n\t\t\t\t\treturn o;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t#if HAS_STRIPS\n\t\t\t#if VFX_STRIPS_UV_STRECHED\n\t\t\t\to.VFX_VARYING_UV.x
= (float)(currentIndex) / (stripData.nextIndex - 1);\n\t\t\t#elif VFX_STRIPS_UV_PER_SEGMENT\n\t\t\t\to.VFX_VARYING_UV.x
= PARTICLE_IN_EDGE;\n\t\t\t#else\n\t\t\t\t\n\t\t\t o.VFX_VARYING_UV.x =
texCoord;\n\t\t\t#endif\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2)
>> 1);\n\t\t\t\tconst float2 vOffsets = float2(0.0f,o.VFX_VARYING_UV.y - 0.5f);\n\t\t\t\t\n\t\t\t#if
VFX_STRIPS_SWAP_UV\n\t\t\t\to.VFX_VARYING_UV.xy = float2(1.0f - o.VFX_VARYING_UV.y,
o.VFX_VARYING_UV.x);\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// Orient strips along
their tangents\n\t\t\t\tattributes.axisX = GetStripTangent(attributes.position,
currentIndex, stripData);\n\t\t\t#if !VFX_STRIPS_ORIENT_CUSTOM\n\t\t\t\tattributes.axisZ
= attributes.position - GetViewVFXPosition();\n\t\t\t#endif\n\t\t\t\tattributes.axisY
= normalize(cross(attributes.axisZ, attributes.axisX));\n\t\t\t\tattributes.axisZ
= normalize(cross(attributes.axisX, attributes.axisY));\n\t\t\t\t\n\t\t\t#else\n\t\t\t\to.VFX_VARYING_UV.x
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#elif
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f,
\t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f, \t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tsize3 += size3 < 0.0f ? -VFX_EPSILON : VFX_EPSILON; //
Add an epsilon so that size is never 0 for strips\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\tconst
float4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = float3(vOffsets, 0.0f);\n\t\t\t\tfloat3 vPos = mul(elementToVFX,float4(inputVertexPosition,
1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS = TransformPositionVFXToClip(vPos);\n\t\t\t
\n\t\t\t float3 vPosWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\n\t\t\t
#ifdef VFX_VARYING_POSWS\n\t\t\t o.VFX_VARYING_POSWS = vPosWS;\n\t\t\t
#endif\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define
BENT_FACTOR_MULTIPLIER 2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
= vOffsets * normalBendingFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\tint _ObjectId;\n\t\t\tint _PassValue;\n\t\t\t#endif\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#pragma
fragment frag\n\t\t\tfloat4 frag(ps_input i) : SV_TARGET\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t
#ifdef VFX_SHADERGRAPH\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t
\n\t\t\t float alpha = OUTSG.;\n\t\t\t #else\n\t\t\t float
alpha = VFXGetFragmentColor(i).a;\n\t\t\t alpha *= VFXGetTextureColor(VFX_SAMPLER(mainTexture),i).a;\n\t\t\t
#endif\n\t\t\t\tVFXClipFragmentColor(alpha,i);\n\t\t\t\t\n\t\t\t\t#if VFX_PASSDEPTH
== VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\t\t\n\t\t\t\t\t\t\tfloat2 velocity =
(i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w) - (i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\t\tVFXEncodeMotionVector(velocity *
0.5f, encodedMotionVector);\n\t\t\t\t\t\t\t\n\t\t\t\t\treturn encodedMotionVector;\n\t\t\t\t#elif
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\t\t\treturn float4(_ObjectId,
_PassValue, 1.0, 1.0);\n\t\t\t\t#elif VFX_PASSDEPTH == VFX_PASSDEPTH_ACTUAL\n\t\t\t\t\treturn
(float4)0;\n\t\t\t\t#else\n\t\t\t\t\t#error VFX_PASSDEPTH undefined \n\t\t\t\t#endif\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t\t\r\n\t\t//
Forward pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"ForwardOnly\"
}\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t#pragma multi_compile
_ DEBUG_DISPLAY\n\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos :
SV_POSITION;\n\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4 uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2
uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if USE_SOFT_PARTICLE || USE_ALPHA_TEST
|| USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT || WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\t//
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\tfloat4
cPosPrevious : TEXCOORD4;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD5;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
SHADERGRAPH_NEEDS_NORMAL_FORWARD\n\t\t\t\tfloat3 normal : TEXCOORD6;\n\t\t\t\t#endif\n\t\t\t\t#if
SHADERGRAPH_NEEDS_TANGENT_FORWARD\n\t\t\t\tfloat3 tangent : TEXCOORD7;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t
\n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\tstruct
ps_output\n\t\t\t{\n\t\t\t\tfloat4 color : SV_Target0;\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\tfloat4
outMotionVector : SV_Target1;\n\t\t#endif\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS
ps_input\n\t\t#define VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR
color.rgb\n\t\t#define VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t#endif\n\t\t\n\t\t#define SHADERPASS SHADERPASS_FORWARD_UNLIT\n\t\t\t\n\t\t#if
SHADERGRAPH_NEEDS_NORMAL_FORWARD\n\t\t#define VFX_VARYING_NORMAL normal\n\t\t#endif\n\t\t#if
SHADERGRAPH_NEEDS_TANGENT_FORWARD\n\t\t#define VFX_VARYING_TANGENT tangent\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
SetAttribute_D5151642(inout float scaleX, inout float scaleY, inout float scaleZ,
float3 Scale) /*attribute:scale Composition:Overwrite Source:Slot Random:Off
channels:XYZ */\n\t\t\t{\n\t\t\t scaleX = Scale.x;\n\t\t\t scaleY = Scale.y;\n\t\t\t
scaleZ = Scale.z;\n\t\t\t}\n\t\t\tvoid AttributeFromCurve_48A86161(inout float3
color, inout float alpha, float age, float lifetime, float Color) /*attribute:color
Composition:Overwrite AlphaComposition:Overwrite SampleMode:OverLife Mode:PerComponent
ColorMode:ColorAndAlpha channels:XYZ */\n\t\t\t{\n\t\t\t float t = age /
lifetime;\n\t\t\t float4 value = 0.0f;\n\t\t\t value = SampleGradient(Color,
t);\n\t\t\t color = value.rgb;\n\t\t\t alpha = value.a;\n\t\t\t}\n\t\t\tvoid
Orient_94A(inout float3 axisX, inout float3 axisY, inout float3 axisZ, float3
position, float3 velocity) /*mode:AlongVelocity axes:ZY */\n\t\t\t{\n\t\t\t
\n\t\t\t axisY = normalize(velocity);\n\t\t\t axisZ = position - GetViewVFXPosition();\n\t\t\t
axisX = normalize(cross(axisY,axisZ));\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#if defined(HAS_STRIPS) && !defined(VFX_PRIMITIVE_QUAD)\n\t\t\t#error
VFX_PRIMITIVE_QUAD must be defined when HAS_STRIPS is.\n\t\t\t#endif\n\t\t\t\n\t\t\tstruct
vs_input\n\t\t\t{\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#define PARTICLE_IN_EDGE (id & 1)\n\t\t\t\n\t\t\tfloat3 GetParticlePosition(uint
index)\n\t\t\t{\n\t\t\t\tstruct Attributes attributes = (Attributes)0;\n\t\t\t\tattributes.position
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F400) << 2));\n\t\t\t\t\n\n\t\t\t\treturn
attributes.position;\n\t\t\t}\n\t\t\t\n\t\t\tfloat3 GetStripTangent(float3
currentPos, uint relativeIndex, const StripData stripData)\n\t\t\t{\n\t\t\t\tfloat3
prevTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex > 0)\n\t\t\t\t{\n\t\t\t\t\tuint
prevIndex = GetParticleIndex(relativeIndex - 1,stripData);\n\t\t\t\t\tprevTangent
= normalize(currentPos - GetParticlePosition(prevIndex));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfloat3
nextTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex < stripData.nextIndex
- 1)\n\t\t\t\t{\n\t\t\t\t\tuint nextIndex = GetParticleIndex(relativeIndex
+ 1,stripData);\n\t\t\t\t\tnextTangent = normalize(GetParticlePosition(nextIndex)
- currentPos);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn normalize(prevTangent +
nextTangent);\n\t\t\t}\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, vs_input i)\n\t\t\t{\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tid += VFX_GET_INSTANCE_ID(i) * 8192;\n\t\t\t\tconst uint
vertexPerStripCount = (PARTICLE_PER_STRIP_COUNT - 1) << 2;\n\t\t\t\tconst StripData
stripData = GetStripDataFromStripIndex(id / vertexPerStripCount, PARTICLE_PER_STRIP_COUNT);\n\t\t\t\tuint
currentIndex = ((id % vertexPerStripCount) >> 2) + (id & 1); // relative index
of particle\n\t\t\t\t\n\t\t\t\tuint maxEdgeIndex = currentIndex - PARTICLE_IN_EDGE
+ 1;\n\t\t\t\tif (maxEdgeIndex >= stripData.nextIndex)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\tuint
index = GetParticleIndex(currentIndex, stripData);\n\t\t\t#else\n\t\t\t\tuint
index = (id >> 2) + VFX_GET_INSTANCE_ID(i) * 2048;\n\t\t\t#endif\n\t\t\t#elif
VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index = (id >> 3) + VFX_GET_INSTANCE_ID(i)
* 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount = 0;\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x2 + 0x0) << 2));\n\t\t\t\t\t\tattributes.position = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x1F400) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x2 + 0x1) << 2));\n\t\t\t\t\t\tattributes.velocity = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x1F404) << 2));\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x8 + 0x1F403) << 2));\n\t\t\t\t\t\tattributes.color = float3(1, 1, 1);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x8 + 0x1F407) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x8 + 0x1F407) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\t\t\t\tattributes.position
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F400) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\t\t\t\tattributes.velocity
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x1F404) << 2));\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x8 + 0x1F403) << 2));\n\t\t\t\t\t\tattributes.color
= float3(1, 1, 1);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
float tmp_bc = SampleCurve(uniform_b,attributes.age);\n\t\t\t\t float3 tmp_be
= float3((float)0.5, tmp_bc, (float)1);\n\t\t\t\t SetAttribute_D5151642(
/*inout */attributes.scaleX, /*inout */attributes.scaleY, /*inout */attributes.scaleZ,
tmp_be);\n\t\t\t\t}\n\t\t\t\tAttributeFromCurve_48A86161( /*inout */attributes.color,
/*inout */attributes.alpha, attributes.age, attributes.lifetime, Color_b);\n\t\t\t\tOrient_94A(
/*inout */attributes.axisX, /*inout */attributes.axisY, /*inout */attributes.axisZ,
attributes.position, attributes.velocity);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t#if
!HAS_STRIPS\n\t\t\t\tif (!attributes.alive)\n\t\t\t\t\treturn o;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t#if HAS_STRIPS\n\t\t\t#if VFX_STRIPS_UV_STRECHED\n\t\t\t\to.VFX_VARYING_UV.x
= (float)(currentIndex) / (stripData.nextIndex - 1);\n\t\t\t#elif VFX_STRIPS_UV_PER_SEGMENT\n\t\t\t\to.VFX_VARYING_UV.x
= PARTICLE_IN_EDGE;\n\t\t\t#else\n\t\t\t\t\n\t\t\t o.VFX_VARYING_UV.x =
texCoord;\n\t\t\t#endif\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2)
>> 1);\n\t\t\t\tconst float2 vOffsets = float2(0.0f,o.VFX_VARYING_UV.y - 0.5f);\n\t\t\t\t\n\t\t\t#if
VFX_STRIPS_SWAP_UV\n\t\t\t\to.VFX_VARYING_UV.xy = float2(1.0f - o.VFX_VARYING_UV.y,
o.VFX_VARYING_UV.x);\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// Orient strips along
their tangents\n\t\t\t\tattributes.axisX = GetStripTangent(attributes.position,
currentIndex, stripData);\n\t\t\t#if !VFX_STRIPS_ORIENT_CUSTOM\n\t\t\t\tattributes.axisZ
= attributes.position - GetViewVFXPosition();\n\t\t\t#endif\n\t\t\t\tattributes.axisY
= normalize(cross(attributes.axisZ, attributes.axisX));\n\t\t\t\tattributes.axisZ
= normalize(cross(attributes.axisX, attributes.axisY));\n\t\t\t\t\n\t\t\t#else\n\t\t\t\to.VFX_VARYING_UV.x
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#elif
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f,
\t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f, \t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tsize3 += size3 < 0.0f ? -VFX_EPSILON : VFX_EPSILON; //
Add an epsilon so that size is never 0 for strips\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\tconst
float4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = float3(vOffsets, 0.0f);\n\t\t\t\tfloat3 vPos = mul(elementToVFX,float4(inputVertexPosition,
1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS = TransformPositionVFXToClip(vPos);\n\t\t\t
\n\t\t\t float3 vPosWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\n\t\t\t
#ifdef VFX_VARYING_POSWS\n\t\t\t o.VFX_VARYING_POSWS = vPosWS;\n\t\t\t
#endif\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define
BENT_FACTOR_MULTIPLIER 2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
= vOffsets * normalBendingFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t#if
VFX_SHADERGRAPH\n\t\t\t\n\t\t#endif\n\t\t\t\t\n\t\t\t#pragma fragment frag\n\t\t\tps_output
frag(ps_input i)\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tps_output
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\t\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t\t\t\tconst
float faceMul = frontFace ? 1.0f : -1.0f;\n\t\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tconst
float faceMul = 1.0f;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3
normalWS = i.VFX_VARYING_NORMAL * faceMul;\n\t\t\t\t\t\t\tconst VFXUVData uvData
= GetUVData(i);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\t\t\t\tfloat3
tangentWS = i.VFX_VARYING_TANGENT;\n\t\t\t\t\t\t\tfloat3 bitangentWS = cross(i.VFX_VARYING_TANGENT,i.VFX_VARYING_NORMAL);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
defined(VFX_VARYING_BENTFACTORS) && USE_NORMAL_BENDING\t\n\t\t\t\t\t\t\tfloat3
bentFactors = float3(i.VFX_VARYING_BENTFACTORS.xy,sqrt(1.0f - dot(i.VFX_VARYING_BENTFACTORS,i.VFX_VARYING_BENTFACTORS)));\n\t\t\t\t\t\t\tnormalWS
= tangentWS * bentFactors.x + bitangentWS * bentFactors.y + normalWS * bentFactors.z;\n\t\t\t\t\t\t\ttangentWS
= normalize(cross(normalWS,bitangentWS));\n\t\t\t\t\t\t\tbitangentWS = cross(tangentWS,normalWS);\n\t\t\t\t\t\t\ttangentWS
*= faceMul;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3x3 tbn
= float3x3(tangentWS,bitangentWS,normalWS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
USE_NORMAL_MAP\n\t\t\t\t\t\t\tfloat3 n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\t\t\t\tfloat
normalScale = 1.0f;\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_NORMALSCALE\n\t\t\t\t\t\t\tnormalScale
= i.VFX_VARYING_NORMALSCALE;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tnormalWS
= normalize(lerp(normalWS,mul(n,tbn),normalScale));\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t#if
VFX_SHADERGRAPH\n\t\t \n\t\t \n\t\t \n\t\t \n\t\t
#if HAS_SHADERGRAPH_PARAM_COLOR\n\t\t o.color.rgb = OUTSG..rgb;\n\t\t
#endif\n\t\t \n\t\t #if HAS_SHADERGRAPH_PARAM_ALPHA \n\t\t
o.color.a = OUTSG.;\n\t\t #endif\n\t\t#else\n\t\t\t\n\t\t\t\t#define
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\to.color
= VFXApplyPreExposure(o.color, i);\n\t\t#endif\n\t\t\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
= saturate(o.color.a);\n\t\t\t\to.color = VFXTransformFinalColor(o.color);\n\t\t\t\t\n\t\t#if
WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\t\n\t\t\t\t\t\tfloat2 velocity = (i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w)
- (i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\tVFXEncodeMotionVector(velocity * 0.5f,
encodedMotionVector);\n\t\t\t\t\t\t\n\t\t\t\to.outMotionVector = encodedMotionVector;\n\t\t
o.outMotionVector.a = o.color.a < i.VFX_VARYING_ALPHATHRESHOLD ? 0.0f : 1.0f;
//Independant clipping for motion vector pass\n\t\t#endif\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t}\r\n}\r\n"
- compute: 1
name: '[System 2]Update Particle'
source: "#pragma kernel CSMain\r\n#define NB_THREADS_PER_GROUP 64\n#define HAS_ATTRIBUTES
1\n#define VFX_PASSDEPTH_ACTUAL (0)\n#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n#define
VFX_PASSDEPTH_SELECTION (2)\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_SIZE_CURRENT
1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_USE_ALIVE_CURRENT 1\n#define
VFX_HAS_INDIRECT_DRAW 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\n\r\nCBUFFER_START(parameters)\n
float4 uniform_b;\n float deltaTime_b;\n uint3 PADDING_0;\nCBUFFER_END\n\nstruct
Attributes\n{\n float lifetime;\n float size;\n float age;\n bool
alive;\n};\n\nstruct SourceAttributes\n{\n};\n\n\n\r\n\r\n#define USE_DEAD_LIST
(VFX_USE_ALIVE_CURRENT && !HAS_STRIPS)\r\n\r\nRWByteAddressBuffer attributeBuffer;\r\n\r\n#if
USE_DEAD_LIST\r\nRWStructuredBuffer<uint> deadListOut;\r\n#endif\r\n\r\n#if
VFX_HAS_INDIRECT_DRAW\r\nRWStructuredBuffer<uint> indirectBuffer;\r\n#endif\r\n\r\n#if
HAS_STRIPS\r\nRWBuffer<uint> stripDataBuffer;\r\n#endif\r\n\r\n#if VFX_USE_STRIPALIVE_CURRENT\r\nBuffer<uint>
attachedStripDataBuffer;\r\n#endif\r\n\r\nCBUFFER_START(updateParams)\r\n
uint nbMax;\r\n\tuint dispatchWidth;\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.hlsl\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\n\r\n\r\nvoid
SetAttribute_3278B22F(inout float size, float Size) /*attribute:size Composition:Overwrite
Source:Slot Random:Off channels:XYZ */\n{\n size = Size;\n}\nvoid Age(inout
float age, float deltaTime)\n{\n age += deltaTime;\n}\nvoid Reap(float age,
float lifetime, inout bool alive)\n{\n if(age > lifetime) { alive = false;
}\n}\n\n\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid CSMain(uint3
groupId : SV_GroupID,\r\n uint3 groupThreadId : SV_GroupThreadID)\r\n{\r\n\tuint
id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP + groupId.y * dispatchWidth
* NB_THREADS_PER_GROUP;\r\n\tuint index = id;\r\n\tif (id < nbMax)\r\n\t{\r\n
Attributes attributes = (Attributes)0;\r\n\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\n\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\n\r\n\t\tif (attributes.alive)\r\n\t\t{\r\n\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\n\r\n\r\n//
Initialize built-in needed attributes\r\n#if VFX_USE_OLDPOSITION_CURRENT\r\n\t\t\tattributes.oldPosition
= attributes.position;\r\n#endif\r\n#if HAS_STRIPS\r\n const StripData
stripData = GetStripDataFromParticleIndex(index, PARTICLE_PER_STRIP_COUNT);\r\n
InitStripAttributes(index, attributes, stripData);\r\n#endif\r\n\t\t\t\r\n\t\t\t{\n\t\t\t
float tmp_v = SampleCurve(uniform_b,attributes.age);\n\t\t\t SetAttribute_3278B22F(
/*inout */attributes.size, tmp_v);\n\t\t\t}\n\t\t\tAge( /*inout */attributes.age,
deltaTime_b);\n\t\t\tReap(attributes.age, attributes.lifetime, /*inout */attributes.alive);\n\t\t\t\n\r\n\r\n\t\t\tif
(attributes.alive)\r\n\t\t\t{\r\n\t\t\t\tattributeBuffer.Store((index * 0x1
+ 0x4) << 2,asuint(attributes.size));\n\t\t\t\tattributeBuffer.Store((index
* 0x2 + 0x8) << 2,asuint(attributes.age));\n\t\t\t\t\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\n
uint indirectIndex = indirectBuffer.IncrementCounter();\r\n\t\t\t\tindirectBuffer[indirectIndex]
= index;\r\n#endif\r\n\r\n#if HAS_STRIPS\t\t\t\r\n\t\t\t\tuint relativeIndexInStrip
= GetRelativeIndex(index, stripData);\r\n\t\t\t\tInterlockedMin(STRIP_DATA(STRIP_MIN_ALIVE,
stripData.stripIndex), relativeIndexInStrip);\r\n\t\t\t\tInterlockedMax(STRIP_DATA(STRIP_MAX_ALIVE,
stripData.stripIndex), relativeIndexInStrip);\r\n#endif\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tattributeBuffer.Store((index
* 0x2 + 0x9) << 2,uint(attributes.alive));\n\t\t\t\t\n\r\n#if USE_DEAD_LIST
&& !VFX_USE_STRIPALIVE_CURRENT\r\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\r\n\t\t\t\tdeadListOut[deadIndex]
= index;\r\n#endif\r\n\t\t\t}\r\n\t\t}\r\n#if USE_DEAD_LIST && VFX_USE_STRIPALIVE_CURRENT\r\n
else if (attributes.stripAlive)\r\n {\r\n if (STRIP_DATA_X(attachedStripDataBuffer,
STRIP_MIN_ALIVE, index) == ~1) // Attached strip is no longer alive, recycle
the particle \r\n {\r\n uint deadIndex = deadListOut.IncrementCounter();\r\n\t\t\t\tdeadListOut[deadIndex]
= index;\r\n attributes.stripAlive = false;\r\n
\r\n } \r\n }\r\n#endif\r\n#else\r\n\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\n\r\n\t\t\r\n#if
VFX_USE_OLDPOSITION_CURRENT\r\n\t\tattributes.oldPosition = attributes.position;\r\n#endif\r\n#if
HAS_STRIPS\r\n const StripData stripData = GetStripDataFromParticleIndex(index,
PARTICLE_PER_STRIP_COUNT);\r\n InitStripAttributes(index, attributes,
stripData);\r\n#endif\r\n\t\t\r\n\t\t{\n\t\t float tmp_v = SampleCurve(uniform_b,attributes.age);\n\t\t
SetAttribute_3278B22F( /*inout */attributes.size, tmp_v);\n\t\t}\n\t\tAge(
/*inout */attributes.age, deltaTime_b);\n\t\tReap(attributes.age, attributes.lifetime,
/*inout */attributes.alive);\n\t\t\n\r\n\t\tattributeBuffer.Store((index *
0x1 + 0x4) << 2,asuint(attributes.size));\n\t\tattributeBuffer.Store((index
* 0x2 + 0x8) << 2,asuint(attributes.age));\n\t\tattributeBuffer.Store((index
* 0x2 + 0x9) << 2,uint(attributes.alive));\n\t\t\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\n
uint indirectIndex = indirectBuffer.IncrementCounter();\r\n\t\tindirectBuffer[indirectIndex]
= index;\r\n#endif\r\n#endif\r\n\t}\r\n}\r\n"
- compute: 1
name: '[System 2]Initialize Particle'
source: "#pragma kernel CSMain\r\n#define NB_THREADS_PER_GROUP 64\n#define HAS_ATTRIBUTES
1\n#define VFX_PASSDEPTH_ACTUAL (0)\n#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n#define
VFX_PASSDEPTH_SELECTION (2)\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_SIZE_CURRENT
1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_USE_ALIVE_CURRENT 1\n#define
VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\n\r\n\nstruct
Attributes\n{\n float lifetime;\n float size;\n float age;\n bool
alive;\n};\n\nstruct SourceAttributes\n{\n};\n\n\n\r\n\r\n#define USE_DEAD_LIST
(VFX_USE_ALIVE_CURRENT && !HAS_STRIPS)\r\n\r\nRWByteAddressBuffer attributeBuffer;\r\nByteAddressBuffer
sourceAttributeBuffer;\r\n\r\nCBUFFER_START(initParams)\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n
uint nbSpawned;\t\t\t\t\t// Numbers of particle spawned\r\n uint spawnIndex;\t\t\t\t//
Index of the first particle spawned\r\n uint dispatchWidth;\r\n#else\r\n
uint offsetInAdditionalOutput;\r\n\tuint nbMax;\r\n#endif\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\n#if
USE_DEAD_LIST\r\nRWStructuredBuffer<uint> deadListIn;\r\nByteAddressBuffer
deadListCount; // This is bad to use a SRV to fetch deadList count but Unity
API currently prevent from copying to CB\r\n#endif\r\n\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\nStructuredBuffer<uint>
eventList;\r\nByteAddressBuffer inputAdditional;\r\n#endif\r\n\r\n#if HAS_STRIPS\r\nRWBuffer<uint>
stripDataBuffer;\r\n#endif\r\n\r\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.hlsl\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\n\r\n\r\nvoid
SetAttribute_F0142CB9(inout float lifetime, float Lifetime) /*attribute:lifetime
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n{\n lifetime
= Lifetime;\n}\n\n\r\n\r\n#if HAS_STRIPS\r\nbool GetParticleIndex(inout uint
particleIndex, uint stripIndex)\r\n{\r\n\tuint relativeIndex;\r\n\tInterlockedAdd(STRIP_DATA(STRIP_NEXT_INDEX,
stripIndex), 1, relativeIndex);\r\n\tif (relativeIndex >= PARTICLE_PER_STRIP_COUNT)
// strip is full\r\n\t{\r\n\t\tInterlockedAdd(STRIP_DATA(STRIP_NEXT_INDEX,
stripIndex), -1); // Remove previous increment\r\n\t\treturn false;\r\n\t}\r\n\r\n\tparticleIndex
= stripIndex * PARTICLE_PER_STRIP_COUNT + ((STRIP_DATA(STRIP_FIRST_INDEX, stripIndex)
+ relativeIndex) % PARTICLE_PER_STRIP_COUNT);\r\n return true;\r\n}\r\n#endif\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid
CSMain(uint3 groupId : SV_GroupID,\r\n uint3 groupThreadId
: SV_GroupThreadID)\r\n{\r\n uint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP;\r\n#if
!VFX_USE_SPAWNER_FROM_GPU\r\n id += groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\r\n#endif\r\n\r\n#if
VFX_USE_SPAWNER_FROM_GPU\r\n uint maxThreadId = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 0) << 2);\r\n uint currentSpawnIndex = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 1) << 2) - maxThreadId;\r\n#else\r\n uint maxThreadId = nbSpawned;\r\n
uint currentSpawnIndex = spawnIndex;\r\n#endif\r\n\r\n#if USE_DEAD_LIST\r\n
maxThreadId = min(maxThreadId, deadListCount.Load(0x0));\r\n#elif VFX_USE_SPAWNER_FROM_GPU\r\n
maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
on CPU\r\n#endif\r\n\r\n if (id < maxThreadId)\r\n {\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\n
int sourceIndex = eventList[id];\r\n#endif\r\n\t\tuint particleIndex = id +
currentSpawnIndex;\r\n\t\t\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n int
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n
for (sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
if (id < currentSumSpawnCount)\n {\n break;\n
}\n }\n */\n \n\r\n#endif\r\n\r\n\t\tAttributes attributes
= (Attributes)0;\r\n\t\tSourceAttributes sourceAttributes = (SourceAttributes)0;\r\n\t\t\r\n
attributes.lifetime = (float)1;\n attributes.size = (float)0.100000001;\n
attributes.age = (float)0;\n attributes.alive = (bool)true;\n
\n\r\n#if VFX_USE_PARTICLEID_CURRENT\r\n attributes.particleId = particleIndex;\r\n#endif\r\n#if
VFX_USE_SEED_CURRENT\r\n attributes.seed = WangHash(particleIndex ^
systemSeed);\r\n#endif\r\n#if VFX_USE_SPAWNINDEX_CURRENT\r\n attributes.spawnIndex
= id;\r\n#endif\r\n#if HAS_STRIPS\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n\t\t\r\n#else\r\n
uint stripIndex = sourceIndex;\r\n#endif\r\n\t\tstripIndex = min(stripIndex,
STRIP_COUNT);\r\n\r\n if (!GetParticleIndex(particleIndex, stripIndex))\r\n
return;\r\n\r\n const StripData stripData = GetStripDataFromStripIndex(stripIndex,
PARTICLE_PER_STRIP_COUNT);\r\n\t\tInitStripAttributes(particleIndex, attributes,
stripData);\r\n\t\t// TODO Change seed to be sure we're deterministic on random
with strip\r\n#endif\r\n \r\n {\n SetAttribute_F0142CB9(
/*inout */attributes.lifetime, (float)4);\n }\n \n\r\n\t\t\r\n#if
VFX_USE_ALIVE_CURRENT\r\n if (attributes.alive)\r\n#endif \r\n
{\r\n#if USE_DEAD_LIST\r\n\t uint deadIndex = deadListIn.DecrementCounter();\r\n
uint index = deadListIn[deadIndex];\r\n#else\r\n uint index = particleIndex;\r\n#endif\r\n
attributeBuffer.Store((index * 0x1 + 0x0) << 2,asuint(attributes.lifetime));\n
attributeBuffer.Store((index * 0x1 + 0x4) << 2,asuint(attributes.size));\n
attributeBuffer.Store((index * 0x2 + 0x8) << 2,asuint(attributes.age));\n
attributeBuffer.Store((index * 0x2 + 0x9) << 2,uint(attributes.alive));\n
\n\r\n }\r\n }\r\n}\r\n"
- compute: 0
name: '[System 2]Output Particle Distortion Mesh'
source: "Shader \"Hidden/VFX/ShipCore-PowerDown/System 2/Output Particle Distortion
Mesh\"\n{\r\n\tSubShader\r\n\t{\t\r\n\t\tCull Off\r\n\t\t\r\n\t\tTags { \"Queue\"=\"Transparent\"
\"IgnoreProjector\"=\"True\" \"RenderType\"=\"Transparent\" }\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tBlend
One One\n\t\tZTest LEqual\n\t\tZWrite Off\n\t\tCull Back\n\t\t\n\t\n\t\t\t\n\t\tHLSLINCLUDE\n\t\t\n\t\t#define
NB_THREADS_PER_GROUP 64\n\t\t#define HAS_ATTRIBUTES 1\n\t\t#define VFX_PASSDEPTH_ACTUAL
(0)\n\t\t#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n\t\t#define VFX_PASSDEPTH_SELECTION
(2)\n\t\t#define VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_SIZE_CURRENT
1\n\t\t#define VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_USE_POSITION_CURRENT
1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT 1\n\t\t#define
VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define VFX_USE_AXISZ_CURRENT
1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define VFX_USE_ANGLEY_CURRENT
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT
1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define VFX_USE_PIVOTZ_CURRENT
1\n\t\t#define VFX_USE_SCALEX_CURRENT 1\n\t\t#define VFX_USE_SCALEY_CURRENT
1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT
1\n\t\t#define IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define
USE_UV_SCALE_BIAS 1\n\t\t#define DISTORTION_SCREENSPACE 1\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t#define
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
float4 Alpha_a;\n\t\t float2 uvBias;\n\t\t uint2 PADDING_0;\n\t\tCBUFFER_END\n\t\t\n\t\tstruct
Attributes\n\t\t{\n\t\t float lifetime;\n\t\t float size;\n\t\t float
age;\n\t\t float3 position;\n\t\t float alpha;\n\t\t bool alive;\n\t\t
float3 axisX;\n\t\t float3 axisY;\n\t\t float3 axisZ;\n\t\t float
angleX;\n\t\t float angleY;\n\t\t float angleZ;\n\t\t float pivotX;\n\t\t
float pivotY;\n\t\t float pivotZ;\n\t\t float scaleX;\n\t\t float
scaleY;\n\t\t float scaleZ;\n\t\t};\n\t\t\n\t\tstruct SourceAttributes\n\t\t{\n\t\t};\n\t\t\n\t\tTexture2D
distortionBlurMap;\n\t\tSamplerState samplerdistortionBlurMap;\n\t\tfloat4
distortionBlurMap_TexelSize;\n\t\t\n\n\t\t\n\t\t#define VFX_NEEDS_COLOR_INTERPOLATOR
(VFX_USE_COLOR_CURRENT || VFX_USE_ALPHA_CURRENT)\n\t\t#if HAS_STRIPS\n\t\t#define
VFX_OPTIONAL_INTERPOLATION \n\t\t#else\n\t\t#define VFX_OPTIONAL_INTERPOLATION
nointerpolation\n\t\t#endif\n\t\t\n\t\tByteAddressBuffer attributeBuffer;\t\n\t\t\n\t\t#if
VFX_HAS_INDIRECT_DRAW\n\t\tStructuredBuffer<uint> indirectBuffer;\t\n\t\t#endif\t\n\t\t\n\t\t#if
USE_DEAD_LIST_COUNT\n\t\tByteAddressBuffer deadListCount;\n\t\t#endif\n\t\t\n\t\t#if
HAS_STRIPS\n\t\tBuffer<uint> stripDataBuffer;\n\t\t#endif\n\t\t\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD
|| USE_MOTION_VECTORS_PASS\n\t\tByteAddressBuffer elementToVFXBufferPrevious;\n\t\t#endif\n\t\t\n\t\tCBUFFER_START(outputParams)\n\t\t\tfloat
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\t// Helper macros
to always use a valid instanceID\n\t\t#if defined(UNITY_STEREO_INSTANCING_ENABLED)\n\t\t\t#define
VFX_DECLARE_INSTANCE_ID UNITY_VERTEX_INPUT_INSTANCE_ID\n\t\t\t#define VFX_GET_INSTANCE_ID(i)
unity_InstanceID\n\t\t#else\n\t\t\t#define VFX_DECLARE_INSTANCE_ID uint
instanceID : SV_InstanceID;\n\t\t\t#define VFX_GET_INSTANCE_ID(i) i.instanceID\n\t\t#endif\n\t\t\n\t\tENDHLSL\n\t\t\n\r\n\t\tPass\n\t\t{\t\t\n\t\t\tTags
{ \"LightMode\"=\"SceneSelectionPass\" }\n\t\t\n\t\t\tZWrite On\n\t\t\tBlend
Off\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#define VFX_PASSDEPTH VFX_PASSDEPTH_SELECTION\n\t\t\t\n\t\t\t#pragma
target 4.5\n\t\t\t#define UNITY_MATERIAL_LIT\n\t\t\t#pragma multi_compile _
WRITE_NORMAL_BUFFER\n\t\t\t\n\t\t\tstruct ps_input\n\t\t\t{\t\t\n\t\t\t\tfloat4
pos : SV_POSITION;\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV1\n\t\t\t
float4 uv1 : COLOR2;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV2\n\t\t\t
float4 uv2 : COLOR3;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV3\n\t\t\t
float4 uv3 : COLOR4;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_COLOR\n\t\t\t
float4 vertexColor : COLOR1;\n\t\t\t #endif\n\t\t\t\t#if USE_ALPHA_TEST
|| USE_FLIPBOOK_INTERPOLATION || VFX_USE_ALPHA_CURRENT\n\t\t\t\t// x: alpha
threshold\n\t\t\t\t// y: frame blending factor\n\t\t\t\t// z: alpha\n\t\t\t\t//
w: smoothness\n\t\t\t\tnointerpolation float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t// x: motion vector scale u\n\t\t\t\t//
y: motion vector scale v\n\t\t\t\tnointerpolation float2 builtInInterpolants2
: TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t\t#if defined(WRITE_NORMAL_BUFFER) || SHADERGRAPH_NEEDS_NORMAL_DEPTHONLY\n\t\t\t\tfloat3
normal : TEXCOORD4;\n\t\t\t\t#if SHADERGRAPH_NEEDS_TANGENT_DEPTHONLY\n\t\t\t\tfloat4
tangent : TEXCOORD5;\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\tfloat4 cPosPrevious :
TEXCOORD6;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD7;\n\t\t\t\t#endif\n\t\t\t
\n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\t#define
VFX_VARYING_PS_INPUTS ps_input\n\t\t\t#define VFX_VARYING_POSCS pos\n\t\t\t#define
VFX_VARYING_ALPHA builtInInterpolants.z\n\t\t\t#define VFX_VARYING_ALPHATHRESHOLD
builtInInterpolants.x\n\t\t\t#define VFX_VARYING_FRAMEBLEND builtInInterpolants.y\n\t\t\t#define
VFX_VARYING_MOTIONVECTORSCALE builtInInterpolants2.xy\n\t\t\t#define VFX_VARYING_UV
uv\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t\t#endif\n\t\t\t\n\t\t\t#if defined(WRITE_NORMAL_BUFFER)
|| SHADERGRAPH_NEEDS_NORMAL_DEPTHONLY\n\t\t\t#define VFX_VARYING_NORMAL normal\n\t\t\t#endif\n\t\t\t#ifdef
WRITE_NORMAL_BUFFER\n\t\t\t#define VFX_VARYING_SMOOTHNESS builtInInterpolants.w\n\t\t\t#endif\n\t\t\t#if
SHADERGRAPH_NEEDS_TANGENT_DEPTHONLY\n\t\t\t#define VFX_VARYING_TANGENT tangent\n\t\t\t#endif\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\n\t\t\t#if
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
AttributeFromCurve_7BA3F6A(inout float alpha, float age, float lifetime, float4
Alpha) /*attribute:alpha Composition:Overwrite AlphaComposition:Overwrite SampleMode:OverLife
Mode:PerComponent ColorMode:ColorAndAlpha channels:XYZ */\n\t\t\t{\n\t\t\t
float t = age / lifetime;\n\t\t\t float value = 0.0f;\n\t\t\t value =
SampleCurve(Alpha, t);\n\t\t\t alpha = value;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\tstruct
vs_input\n\t\t\t{\n\t\t\t\tfloat3 pos : POSITION;\n\t\t\t\tfloat2 uv : TEXCOORD0;\n\t\t\t
#if VFX_SHADERGRAPH_HAS_UV1\n\t\t\t float4 uv1 : TEXCOORD1;\n\t\t\t #endif\n\t\t\t
#if VFX_SHADERGRAPH_HAS_UV2\n\t\t\t float4 uv2 : TEXCOORD2;\n\t\t\t #endif\n\t\t\t
#if VFX_SHADERGRAPH_HAS_UV3\n\t\t\t float4 uv3 : TEXCOORD3;\n\t\t\t #endif\n\t\t\t
#if VFX_SHADERGRAPH_HAS_COLOR\n\t\t\t float4 vertexColor : COLOR;\n\t\t\t
#endif\n\t\t\t\tfloat3 normal : NORMAL;\n\t\t\t\t#if defined(VFX_VARYING_TANGENT)
|| SHADERGRAPH_HAS_NORMAL\n\t\t\t\tfloat4 tangent : TANGENT;\n\t\t\t\t#endif\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#pragma
vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS vert(vs_input i)\n\t\t\t{\n\t\t\t
VFX_VARYING_PS_INPUTS o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t\tuint
index = VFX_GET_INSTANCE_ID(i);\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount
= 0;\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position = float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x2 + 0x9) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tAttributeFromCurve_7BA3F6A(
/*inout */attributes.alpha, attributes.age, attributes.lifetime, Alpha_a);\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif
(!attributes.alive)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_UV.xy
= i.uv;\n\t\t\t \n\t\t\t #if VFX_SHADERGRAPH_HAS_UV1\n\t\t\t o.uv1
= i.uv1;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV2\n\t\t\t
o.uv2 = i.uv2;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV3\n\t\t\t
o.uv3 = i.uv3;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_COLOR\n\t\t\t
o.vertexColor = i.vertexColor;\n\t\t\t #endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = i.pos;\n\t\t\t\tfloat4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
vPos = mul(elementToVFX,float4(inputVertexPosition,1.0f)).xyz;\n\t\t\t\tfloat4
csPos = TransformPositionVFXToClip(vPos);\n\t\t\t\to.VFX_VARYING_POSCS = csPos;\n\t\t\t\t\n\t\t\t\tfloat3
normalWS = normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,
i.normal)));\n\t\t\t\t#ifdef VFX_VARYING_NORMAL // TODO Should use inverse
transpose\n\t\t\t\to.VFX_VARYING_NORMAL = normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = float4(normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,i.tangent.xyz))),i.tangent.w);\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\tfloat2
uvScale = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t uvScale
= float2(1, 3);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define SHADERPASS SHADERPASS_MOTION_VECTORS\n\t\t\t#else\n\t\t\t#define
SHADERPASS SHADERPASS_DEPTH_ONLY\n\t\t\t#endif\n\t\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXLit.hlsl\"\n\t\t\t\n\t\t\t#ifndef
VFX_SHADERGRAPH\n\t\t\t\n\t\t\tvoid VFXGetHDRPLitData(out SurfaceData surfaceData,
out BuiltinData builtinData, out BSDFData bsdfData, out PreLightData preLightData,
VFX_VARYING_PS_INPUTS i, float3 normalWS, const VFXUVData uvData, uint2 tileIndex)\n\t\t\t{\t\n\t\t\t\t#if
HDRP_MATERIAL_TYPE_TRANSLUCENT\n\t\t\t\t // Loads diffusion profile\n\t\t\t\t#else\n\t\t\t\tconst
uint diffusionProfileHash = 0;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\tfloat3 posRWS
= VFXGetPositionRWS(i);\n\t\t\t\tfloat4 posSS = i.VFX_VARYING_POSCS;\n\t\t\t\tPositionInputs
posInput = GetPositionInput(posSS.xy, _ScreenSize.zw, posSS.z, posSS.w, posRWS,
tileIndex);\n\t\t\t\t\n\t\t\t\tfloat alpha;\n\t\t\t\tsurfaceData = VFXGetSurfaceData(i,normalWS,uvData,diffusionProfileHash,alpha);\t\n\t\t\t\tbsdfData
= ConvertSurfaceDataToBSDFData(posSS.xy, surfaceData);\n\t\t\t\n\t\t\t\tpreLightData
= GetPreLightData(GetWorldSpaceNormalizeViewDir(posRWS),posInput,bsdfData);\n\t\t\t\t\n\t\t\t\tpreLightData.diffuseFGD
= 1.0f;\n\t\t\t //TODO: investigate why this is needed\n\t\t\t preLightData.coatPartLambdaV
= 0;\n\t\t\t preLightData.coatIblR = 0;\n\t\t\t preLightData.coatIblF
= 0;\n\t\t\t \n\t\t\t\tbuiltinData = VFXGetBuiltinData(i,posInput,surfaceData,uvData,alpha);\n\t\t\t}\n\t\t\t\n\t\t\tvoid
VFXGetHDRPLitData(out SurfaceData surfaceData, out BuiltinData builtinData,
VFX_VARYING_PS_INPUTS i, float3 normalWS, const VFXUVData uvData)\n\t\t\t{\n\t\t\t\tBSDFData
bsdfData = (BSDFData)0;\n\t\t\t\tPreLightData preLightData = (PreLightData)0;\n\t\t\t\tpreLightData.diffuseFGD
= 1.0f;\n\t\t\t\tVFXGetHDRPLitData(surfaceData,builtinData,bsdfData,preLightData,i,normalWS,uvData,uint2(0,0));\n\t\t\t}\n\t\t\t\n\t\t\t#endif\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXLitPixelOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\tint _ObjectId;\n\t\t\tint _PassValue;\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma
fragment frag\n\t\t\tvoid frag(ps_input i\n\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t,
bool frontFace : SV_IsFrontFace\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH
== VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\t, out float4 outMotionVector : SV_Target0\n\t\t\t\t#ifdef
WRITE_NORMAL_BUFFER\n\t\t\t\t\t, out float4 outNormalBuffer : SV_Target1\n\t\t\t\t#endif\n\t\t\t#else\n\t\t\t\t#ifdef
WRITE_NORMAL_BUFFER\n\t\t\t\t\t, out float4 outNormalBuffer : SV_Target0\n\t\t\t\t#elif
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\t\t\t, out float4 outColor :
SV_Target0\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t\t\t)\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\t\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t\t\t\tconst
float faceMul = frontFace ? 1.0f : -1.0f;\n\t\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tconst
float faceMul = 1.0f;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3
normalWS = normalize(i.VFX_VARYING_NORMAL * faceMul);\n\t\t\t\t\t\t\tconst
VFXUVData uvData = GetUVData(i);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\t\t\t\tfloat3
tangentWS = normalize(i.VFX_VARYING_TANGENT.xyz);\n\t\t\t\t\t\t\tfloat3 bitangentWS
= cross(normalWS,tangentWS) * (i.VFX_VARYING_TANGENT.w * faceMul);\n\t\t\t\t\t\t\tfloat3x3
tbn = float3x3(tangentWS,bitangentWS,normalWS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
USE_NORMAL_MAP\n\t\t\t\t\t\t\tfloat3 n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\t\t\t\tfloat
normalScale = 1.0f;\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_NORMALSCALE\n\t\t\t\t\t\t\tnormalScale
= i.VFX_VARYING_NORMALSCALE;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tnormalWS
= normalize(lerp(normalWS,mul(n,tbn),normalScale));\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t#ifdef
VFX_SHADERGRAPH\n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t float
alpha = OUTSG.;\n\t\t\t #else\n\t\t\t\tfloat alpha = VFXGetFragmentColor(i).a;\n\t\t\t\t#if
HDRP_USE_BASE_COLOR_MAP_ALPHA\n\t\t\t\t\talpha *= VFXGetTextureColor(VFX_SAMPLER(baseColorMap),i).a;\n\t\t\t\t#endif\n\t\t\t
#endif\n\t\t\t\tVFXClipFragmentColor(alpha,i);\n\t\t\t\t\n\t\t\t\t#ifdef WRITE_NORMAL_BUFFER\n\t\t\t
#ifndef VFX_SHADERGRAPH\n\t\t\t VFXComputePixelOutputToNormalBuffer(i,normalWS,uvData,outNormalBuffer);\n\t\t\t
#else\n\t\t\t #if HAS_SHADERGRAPH_PARAM_NORMAL\n\t\t\t
float3 n = OUTSG.Normal_8;\n\t\t\t normalWS = mul(n,tbn);\n\t\t\t
#endif\n\t\t\t SurfaceData surface = (SurfaceData)0;\n\t\t\t
\n\t\t\t surface.normalWS = normalWS;\n\t\t\t \n\t\t\t
EncodeIntoNormalBuffer(ConvertSurfaceDataToNormalData(surface), i.VFX_VARYING_POSCS.xy,
outNormalBuffer);\n\t\t\t #endif\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\t\t\n\t\t\t\t\t\t\tfloat2
velocity = (i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w) -
(i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\t\tVFXEncodeMotionVector(velocity *
0.5f, encodedMotionVector);\n\t\t\t\t\t\t\t\n\t\t\t\t\toutMotionVector = encodedMotionVector;\n\t\t\t\t#elif
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\t\t\t// We use depth prepass
for scene selection in the editor, this code allow to output the outline correctly\n\t\t\t\t\toutColor
= float4(_ObjectId, _PassValue, 1.0, 1.0);\n\t\t\t\t#elif VFX_PASSDEPTH ==
VFX_PASSDEPTH_ACTUAL\n\t\t\t\t\t//void\n\t\t\t\t#else\n\t\t\t\t\t#error VFX_PASSDEPTH
undefined\n\t\t\t\t#endif\n\t\t\t}\n\t\t\t\n\t\t\n\t\t\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t//
Distortion pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"DistortionVectors\"
}\n\t\t\n\t\t\tStencil\n\t\t\t{\n\t\t\t\tWriteMask 64\n\t\t\t\tRef 64\n\t\t\t\tComp
Always\n\t\t\t\tPass Replace\n\t\t\t}\n\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma
target 4.5\n\t\t\t#pragma multi_compile _ DEBUG_DISPLAY\n\t\t\t\n\t\t\t#define
USE_NORMAL_MAP DISTORTION_NORMALBASED\n\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4
pos : SV_POSITION;\n\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\n\t\t\t\t#if
USE_SOFT_PARTICLE || VFX_USE_ALPHA_CURRENT || USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t//
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
z: frame blending factor\n\t\t\t\t// w: alpha\n\t\t\t\tnointerpolation float4
builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vector scale u\n\t\t\t\t// y: motion vector scale v\n\t\t\t\tnointerpolation
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\n\t\t\t\t//
x: horizontal value / normal scale\n\t\t\t\t// y: vertical value \n\t\t\t\t//
z: blur scale\n\t\t\t\tnointerpolation float3 distortionInterpolants : TEXCOORD3;\n\t\t\n\t\t\t\t#if
USE_SOFT_PARTICLE\n\t\t\t\tfloat4 projPos : TEXCOORD4;\n\t\t\t\t#endif\n\t\t\n\t\t\t\t#if
DISTORTION_NORMALBASED\n\t\t\t\tfloat3 normal : TEXCOORD5;\n\t\t\t\tfloat4
tangent : TEXCOORD6;\n\t\t\t\t#endif\n\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\n\t\t\tstruct
ps_output\n\t\t\t{\n\t\t\t\tfloat4 distortion : SV_Target0;\n\t\t\t};\n\t\t\n\t\t\t#define
VFX_VARYING_PS_INPUTS ps_input\n\t\t\t#define VFX_VARYING_POSCS pos\n\t\t\t#define
VFX_VARYING_POSSS projPos\n\t\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
builtInInterpolants.x\n\t\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t\t#define
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t\t#define VFX_VARYING_MOTIONVECTORSCALE
builtInInterpolants2.xy\n\t\t\t#define VFX_VARYING_ALPHA builtInInterpolants.w\n\t\t#if
DISTORTION_NORMALBASED\n\t\t\t#define VFX_VARYING_NORMAL normal\n\t\t\t#define
VFX_VARYING_TANGENT tangent\n\t\t#endif\n\t\t\t#define VFX_VARYING_UV uv\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\t#if
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
AttributeFromCurve_7BA3F6A(inout float alpha, float age, float lifetime, float4
Alpha) /*attribute:alpha Composition:Overwrite AlphaComposition:Overwrite SampleMode:OverLife
Mode:PerComponent ColorMode:ColorAndAlpha channels:XYZ */\n\t\t\t{\n\t\t\t
float t = age / lifetime;\n\t\t\t float value = 0.0f;\n\t\t\t value =
SampleCurve(Alpha, t);\n\t\t\t alpha = value;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\tstruct
vs_input\n\t\t\t{\n\t\t\t\tfloat3 pos : POSITION;\n\t\t\t\tfloat2 uv : TEXCOORD0;\n\t\t\t
#if VFX_SHADERGRAPH_HAS_UV1\n\t\t\t float4 uv1 : TEXCOORD1;\n\t\t\t #endif\n\t\t\t
#if VFX_SHADERGRAPH_HAS_UV2\n\t\t\t float4 uv2 : TEXCOORD2;\n\t\t\t #endif\n\t\t\t
#if VFX_SHADERGRAPH_HAS_UV3\n\t\t\t float4 uv3 : TEXCOORD3;\n\t\t\t #endif\n\t\t\t
#if VFX_SHADERGRAPH_HAS_COLOR\n\t\t\t float4 vertexColor : COLOR;\n\t\t\t
#endif\n\t\t\t\tfloat3 normal : NORMAL;\n\t\t\t\t#if defined(VFX_VARYING_TANGENT)
|| SHADERGRAPH_HAS_NORMAL\n\t\t\t\tfloat4 tangent : TANGENT;\n\t\t\t\t#endif\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#pragma
vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS vert(vs_input i)\n\t\t\t{\n\t\t\t
VFX_VARYING_PS_INPUTS o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t\tuint
index = VFX_GET_INSTANCE_ID(i);\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount
= 0;\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position = float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x2 + 0x9) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tAttributeFromCurve_7BA3F6A(
/*inout */attributes.alpha, attributes.age, attributes.lifetime, Alpha_a);\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif
(!attributes.alive)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_UV.xy
= i.uv;\n\t\t\t \n\t\t\t #if VFX_SHADERGRAPH_HAS_UV1\n\t\t\t o.uv1
= i.uv1;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV2\n\t\t\t
o.uv2 = i.uv2;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_UV3\n\t\t\t
o.uv3 = i.uv3;\n\t\t\t #endif\n\t\t\t #if VFX_SHADERGRAPH_HAS_COLOR\n\t\t\t
o.vertexColor = i.vertexColor;\n\t\t\t #endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = i.pos;\n\t\t\t\tfloat4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
vPos = mul(elementToVFX,float4(inputVertexPosition,1.0f)).xyz;\n\t\t\t\tfloat4
csPos = TransformPositionVFXToClip(vPos);\n\t\t\t\to.VFX_VARYING_POSCS = csPos;\n\t\t\t\t\n\t\t\t\tfloat3
normalWS = normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,
i.normal)));\n\t\t\t\t#ifdef VFX_VARYING_NORMAL // TODO Should use inverse
transpose\n\t\t\t\to.VFX_VARYING_NORMAL = normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = float4(normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,i.tangent.xyz))),i.tangent.w);\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\tfloat2
uvScale = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t uvScale
= float2(1, 3);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t#if
DISTORTION_SCREENSPACE\n\t\t\t\t\t\t\t\t\t\t\t\tfloat2 distortionScale = (float2)0;\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t distortionScale = float2(16, 16);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.xy
= distortionScale;\n\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t#if
DISTORTION_NORMALBASED\n\t\t\t\t\t\t\t\t\t\t\t\tfloat2 distortionScale = (float2)0;\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t distortionScale = float2(16, 16);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.x
= distortionScale;\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.y = 0.0;\n\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfloat
blurScale = (float)0;\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t blurScale = (float)0.100000001;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.z
= blurScale;\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t#if DISTORTION_SCALE_BY_DISTANCE\n\t\t\t\t\t\t\t\t\t\t\t\t//
Scale Distortion by Distance\n\t\t\t\t\t\t\t\t\t\t\t\tfloat clipPosW = o.VFX_VARYING_POSCS.w;\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.xy
/= clipPosW;\n\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t#pragma
fragment frag\n\t\t\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tps_output
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tfloat2
distortion;\n\t\t\t\t\t\t\t\t\tfloat blur;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
DISTORTION_SCREENSPACE\n\t\t\t\t\t\t\t\t\tfloat3 smpDistort = VFXGetTextureColor(VFX_SAMPLER(distortionBlurMap),i).xyz;\n\t\t\t\t\t\t\t\t\tdistortion
= (smpDistort.xy * 2.0 - 1.0) * i.distortionInterpolants.xy;\n\t\t\t\t\t\t\t\t\tblur
= smpDistort.z * i.distortionInterpolants.z;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
DISTORTION_NORMALBASED\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\t\t\t\t\t\t\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t\t\t\t\t\t\t\t\tconst
float faceMul = frontFace ? 1.0f : -1.0f;\n\t\t\t\t\t\t\t\t\t\t\t\t#else\n\t\t\t\t\t\t\t\t\t\t\t\tconst
float faceMul = 1.0f;\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3
normalWS = normalize(i.VFX_VARYING_NORMAL * faceMul);\n\t\t\t\t\t\t\t\t\t\t\t\tconst
VFXUVData uvData = GetUVData(i);\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3 tangentWS = normalize(i.VFX_VARYING_TANGENT.xyz);\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3
bitangentWS = cross(normalWS,tangentWS) * (i.VFX_VARYING_TANGENT.w * faceMul);\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3x3
tbn = float3x3(tangentWS,bitangentWS,normalWS);\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#if
USE_NORMAL_MAP\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3 n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\t\t\t\t\t\t\t\t\tfloat
normalScale = 1.0f;\n\t\t\t\t\t\t\t\t\t\t\t\t#ifdef VFX_VARYING_NORMALSCALE\n\t\t\t\t\t\t\t\t\t\t\t\tnormalScale
= i.VFX_VARYING_NORMALSCALE;\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\tnormalWS
= normalize(lerp(normalWS,mul(n,tbn),normalScale));\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tfloat3
viewNormal = mul(VFXGetWorldToViewRotMatrix(),normalWS);\n\t\t\t\t\t\t\t\t\tfloat
smpSmoothness = VFXGetTextureColor(VFX_SAMPLER(smoothnessMap),i).a;\n\t\t\t\t\t\t\t\t\tfloat
smpMask = VFXGetTextureColor(VFX_SAMPLER(alphaMask),i).a;\n\t\t\t\t\t\t\t\t\tdistortion
= viewNormal.xy * i.distortionInterpolants.x * smpMask;\n\t\t\t\t\t\t\t\t\tblur
= (1.0-smpSmoothness) * i.distortionInterpolants.z * smpMask; \n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\tfloat
fade = VFXGetSoftParticleFade(i);\n\t\t\t\t\t\t\t\t\to.distortion.xyw = fade
* i.VFX_VARYING_ALPHA * float3(distortion.xy, blur);\n\t\t\t\t\t\t\t\t\to.distortion.z
= 1.0;\n\t\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t}\r\n}\r\n"
- compute: 0
name: '[System 2]Output Particle Quad'
source: "Shader \"Hidden/VFX/ShipCore-PowerDown/System 2/Output Particle Quad\"\n{\r\n\tSubShader\r\n\t{\t\r\n\t\tCull
Off\r\n\t\t\r\n\t\tTags { \"Queue\"=\"Transparent+0\" \"IgnoreProjector\"=\"True\"
\"RenderType\"=\"Transparent\" }\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tBlend
SrcAlpha OneMinusSrcAlpha \n\t\tZTest LEqual\n\t\tZWrite Off\n\t\tCull Off\n\t\t\n\t\n\t\t\t\n\t\tHLSLINCLUDE\n\t\t\n\t\t#define
NB_THREADS_PER_GROUP 64\n\t\t#define HAS_ATTRIBUTES 1\n\t\t#define VFX_PASSDEPTH_ACTUAL
(0)\n\t\t#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n\t\t#define VFX_PASSDEPTH_SELECTION
(2)\n\t\t#define VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_SIZE_CURRENT
1\n\t\t#define VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_USE_POSITION_CURRENT
1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT 1\n\t\t#define
VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define VFX_USE_AXISZ_CURRENT
1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define VFX_USE_ANGLEY_CURRENT
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT
1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define VFX_USE_PIVOTZ_CURRENT
1\n\t\t#define VFX_USE_SCALEX_CURRENT 1\n\t\t#define VFX_USE_SCALEY_CURRENT
1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define VFX_USE_COLOR_CURRENT
1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define IS_TRANSPARENT_PARTICLE
1\n\t\t#define VFX_BLENDMODE_ALPHA 1\n\t\t#define VFX_HAS_INDIRECT_DRAW 1\n\t\t#define
VFX_BYPASS_EXPOSURE 1\n\t\t#define USE_DEAD_LIST_COUNT 1\n\t\t#define VFX_PRIMITIVE_QUAD
1\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t#define
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
float4 Alpha_b;\n\t\tCBUFFER_END\n\t\t\n\t\tstruct Attributes\n\t\t{\n\t\t
float lifetime;\n\t\t float size;\n\t\t float age;\n\t\t float3 position;\n\t\t
float alpha;\n\t\t bool alive;\n\t\t float3 axisX;\n\t\t float3 axisY;\n\t\t
float3 axisZ;\n\t\t float angleX;\n\t\t float angleY;\n\t\t float
angleZ;\n\t\t float pivotX;\n\t\t float pivotY;\n\t\t float pivotZ;\n\t\t
float scaleX;\n\t\t float scaleY;\n\t\t float scaleZ;\n\t\t float3
color;\n\t\t};\n\t\t\n\t\tstruct SourceAttributes\n\t\t{\n\t\t};\n\t\t\n\t\tTexture2D
mainTexture;\n\t\tSamplerState samplermainTexture;\n\t\tfloat4 mainTexture_TexelSize;\n\t\t\n\n\t\t\n\t\t#define
VFX_NEEDS_COLOR_INTERPOLATOR (VFX_USE_COLOR_CURRENT || VFX_USE_ALPHA_CURRENT)\n\t\t#if
HAS_STRIPS\n\t\t#define VFX_OPTIONAL_INTERPOLATION \n\t\t#else\n\t\t#define
VFX_OPTIONAL_INTERPOLATION nointerpolation\n\t\t#endif\n\t\t\n\t\tByteAddressBuffer
attributeBuffer;\t\n\t\t\n\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\tStructuredBuffer<uint>
indirectBuffer;\t\n\t\t#endif\t\n\t\t\n\t\t#if USE_DEAD_LIST_COUNT\n\t\tByteAddressBuffer
deadListCount;\n\t\t#endif\n\t\t\n\t\t#if HAS_STRIPS\n\t\tBuffer<uint> stripDataBuffer;\n\t\t#endif\n\t\t\n\t\t#if
WRITE_MOTION_VECTOR_IN_FORWARD || USE_MOTION_VECTORS_PASS\n\t\tByteAddressBuffer
elementToVFXBufferPrevious;\n\t\t#endif\n\t\t\n\t\tCBUFFER_START(outputParams)\n\t\t\tfloat
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\t// Helper macros
to always use a valid instanceID\n\t\t#if defined(UNITY_STEREO_INSTANCING_ENABLED)\n\t\t\t#define
VFX_DECLARE_INSTANCE_ID UNITY_VERTEX_INPUT_INSTANCE_ID\n\t\t\t#define VFX_GET_INSTANCE_ID(i)
unity_InstanceID\n\t\t#else\n\t\t\t#define VFX_DECLARE_INSTANCE_ID uint
instanceID : SV_InstanceID;\n\t\t\t#define VFX_GET_INSTANCE_ID(i) i.instanceID\n\t\t#endif\n\t\t\n\t\tENDHLSL\n\t\t\n\r\n\t\tPass\n\t\t{\t\t\n\t\t\tTags
{ \"LightMode\"=\"SceneSelectionPass\" }\n\t\t\n\t\t\tZWrite On\n\t\t\tBlend
Off\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#define VFX_PASSDEPTH VFX_PASSDEPTH_SELECTION\n\t\t\t#pragma
target 4.5\n\t\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos : SV_POSITION;\n\t\t\t\t#if
USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4 uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2
uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION
|| VFX_USE_ALPHA_CURRENT\n\t\t\t\t// x: alpha threshold\n\t\t\t\t// y: frame
blending factor\n\t\t\t\t// z: alpha\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION float3
builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\tfloat4 cPosPrevious :
TEXCOORD3;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD4;\n\t\t\t\t#endif\n\t\t\t
\n\t\t\t #if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t float3 posWS : TEXCOORD5;\n\t\t\t
#endif\n\t\t\t \n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\t#define
VFX_VARYING_PS_INPUTS ps_input\n\t\t\t#define VFX_VARYING_POSCS pos\n\t\t\t#define
VFX_VARYING_ALPHA builtInInterpolants.z\n\t\t\t#define VFX_VARYING_ALPHATHRESHOLD
builtInInterpolants.x\n\t\t\t#define VFX_VARYING_FRAMEBLEND builtInInterpolants.y\n\t\t\t#define
VFX_VARYING_MOTIONVECTORSCALE builtInInterpolants2.xy\n\t\t\t#define VFX_VARYING_UV
uv\n\t\t\t\n\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t#define VFX_VARYING_POSWS
posWS\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
SHADERPASS SHADERPASS_MOTION_VECTORS\n\t\t\t#else\n\t\t\t#define SHADERPASS
SHADERPASS_DEPTH_ONLY\n\t\t\t#endif\n\t\t\t#if !(defined(VFX_VARYING_PS_INPUTS)
&& defined(VFX_VARYING_POSCS))\n\t\t\t#error VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS
and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
Orient_4(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
axes:ZY */\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if VFX_LOCAL_SPACE
// Need to remove potential scale in local transform\n\t\t\t axisX = normalize(axisX);\n\t\t\t
axisY = normalize(axisY);\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
#else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid
AttributeFromCurve_7BA3F6A(inout float alpha, float age, float lifetime, float4
Alpha) /*attribute:alpha Composition:Overwrite AlphaComposition:Overwrite SampleMode:OverLife
Mode:PerComponent ColorMode:ColorAndAlpha channels:XYZ */\n\t\t\t{\n\t\t\t
float t = age / lifetime;\n\t\t\t float value = 0.0f;\n\t\t\t value =
SampleCurve(Alpha, t);\n\t\t\t alpha = value;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#if
defined(HAS_STRIPS) && !defined(VFX_PRIMITIVE_QUAD)\n\t\t\t#error VFX_PRIMITIVE_QUAD
must be defined when HAS_STRIPS is.\n\t\t\t#endif\n\t\t\t\n\t\t\tstruct vs_input\n\t\t\t{\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#define PARTICLE_IN_EDGE (id & 1)\n\t\t\t\n\t\t\tfloat3 GetParticlePosition(uint
index)\n\t\t\t{\n\t\t\t\tstruct Attributes attributes = (Attributes)0;\n\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\n\n\t\t\t\treturn attributes.position;\n\t\t\t}\n\t\t\t\n\t\t\tfloat3
GetStripTangent(float3 currentPos, uint relativeIndex, const StripData stripData)\n\t\t\t{\n\t\t\t\tfloat3
prevTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex > 0)\n\t\t\t\t{\n\t\t\t\t\tuint
prevIndex = GetParticleIndex(relativeIndex - 1,stripData);\n\t\t\t\t\tprevTangent
= normalize(currentPos - GetParticlePosition(prevIndex));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfloat3
nextTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex < stripData.nextIndex
- 1)\n\t\t\t\t{\n\t\t\t\t\tuint nextIndex = GetParticleIndex(relativeIndex
+ 1,stripData);\n\t\t\t\t\tnextTangent = normalize(GetParticlePosition(nextIndex)
- currentPos);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn normalize(prevTangent +
nextTangent);\n\t\t\t}\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, vs_input i)\n\t\t\t{\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tid += VFX_GET_INSTANCE_ID(i) * 8192;\n\t\t\t\tconst uint
vertexPerStripCount = (PARTICLE_PER_STRIP_COUNT - 1) << 2;\n\t\t\t\tconst StripData
stripData = GetStripDataFromStripIndex(id / vertexPerStripCount, PARTICLE_PER_STRIP_COUNT);\n\t\t\t\tuint
currentIndex = ((id % vertexPerStripCount) >> 2) + (id & 1); // relative index
of particle\n\t\t\t\t\n\t\t\t\tuint maxEdgeIndex = currentIndex - PARTICLE_IN_EDGE
+ 1;\n\t\t\t\tif (maxEdgeIndex >= stripData.nextIndex)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\tuint
index = GetParticleIndex(currentIndex, stripData);\n\t\t\t#else\n\t\t\t\tuint
index = (id >> 2) + VFX_GET_INSTANCE_ID(i) * 2048;\n\t\t\t#endif\n\t\t\t#elif
VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index = (id >> 3) + VFX_GET_INSTANCE_ID(i)
* 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount = 0;\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position = float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x2 + 0x9) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\tattributes.color = float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\tattributes.color
= float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\tOrient_4(
/*inout */attributes.axisX, /*inout */attributes.axisY, /*inout */attributes.axisZ);\n\t\t\t\tAttributeFromCurve_7BA3F6A(
/*inout */attributes.alpha, attributes.age, attributes.lifetime, Alpha_b);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t#if
!HAS_STRIPS\n\t\t\t\tif (!attributes.alive)\n\t\t\t\t\treturn o;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t#if HAS_STRIPS\n\t\t\t#if VFX_STRIPS_UV_STRECHED\n\t\t\t\to.VFX_VARYING_UV.x
= (float)(currentIndex) / (stripData.nextIndex - 1);\n\t\t\t#elif VFX_STRIPS_UV_PER_SEGMENT\n\t\t\t\to.VFX_VARYING_UV.x
= PARTICLE_IN_EDGE;\n\t\t\t#else\n\t\t\t\t\n\t\t\t o.VFX_VARYING_UV.x =
texCoord;\n\t\t\t#endif\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2)
>> 1);\n\t\t\t\tconst float2 vOffsets = float2(0.0f,o.VFX_VARYING_UV.y - 0.5f);\n\t\t\t\t\n\t\t\t#if
VFX_STRIPS_SWAP_UV\n\t\t\t\to.VFX_VARYING_UV.xy = float2(1.0f - o.VFX_VARYING_UV.y,
o.VFX_VARYING_UV.x);\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// Orient strips along
their tangents\n\t\t\t\tattributes.axisX = GetStripTangent(attributes.position,
currentIndex, stripData);\n\t\t\t#if !VFX_STRIPS_ORIENT_CUSTOM\n\t\t\t\tattributes.axisZ
= attributes.position - GetViewVFXPosition();\n\t\t\t#endif\n\t\t\t\tattributes.axisY
= normalize(cross(attributes.axisZ, attributes.axisX));\n\t\t\t\tattributes.axisZ
= normalize(cross(attributes.axisX, attributes.axisY));\n\t\t\t\t\n\t\t\t#else\n\t\t\t\to.VFX_VARYING_UV.x
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#elif
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f,
\t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f, \t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tsize3 += size3 < 0.0f ? -VFX_EPSILON : VFX_EPSILON; //
Add an epsilon so that size is never 0 for strips\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\tconst
float4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = float3(vOffsets, 0.0f);\n\t\t\t\tfloat3 vPos = mul(elementToVFX,float4(inputVertexPosition,
1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS = TransformPositionVFXToClip(vPos);\n\t\t\t
\n\t\t\t float3 vPosWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\n\t\t\t
#ifdef VFX_VARYING_POSWS\n\t\t\t o.VFX_VARYING_POSWS = vPosWS;\n\t\t\t
#endif\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define
BENT_FACTOR_MULTIPLIER 2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
= vOffsets * normalBendingFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\tint _ObjectId;\n\t\t\tint _PassValue;\n\t\t\t#endif\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#pragma
fragment frag\n\t\t\tfloat4 frag(ps_input i) : SV_TARGET\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t
#ifdef VFX_SHADERGRAPH\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t
\n\t\t\t float alpha = OUTSG.;\n\t\t\t #else\n\t\t\t float
alpha = VFXGetFragmentColor(i).a;\n\t\t\t alpha *= VFXGetTextureColor(VFX_SAMPLER(mainTexture),i).a;\n\t\t\t
#endif\n\t\t\t\tVFXClipFragmentColor(alpha,i);\n\t\t\t\t\n\t\t\t\t#if VFX_PASSDEPTH
== VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\t\t\n\t\t\t\t\t\t\tfloat2 velocity =
(i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w) - (i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\t\tVFXEncodeMotionVector(velocity *
0.5f, encodedMotionVector);\n\t\t\t\t\t\t\t\n\t\t\t\t\treturn encodedMotionVector;\n\t\t\t\t#elif
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\t\t\treturn float4(_ObjectId,
_PassValue, 1.0, 1.0);\n\t\t\t\t#elif VFX_PASSDEPTH == VFX_PASSDEPTH_ACTUAL\n\t\t\t\t\treturn
(float4)0;\n\t\t\t\t#else\n\t\t\t\t\t#error VFX_PASSDEPTH undefined \n\t\t\t\t#endif\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t\t\r\n\t\t//
Forward pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"ForwardOnly\"
}\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t#pragma multi_compile
_ DEBUG_DISPLAY\n\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos :
SV_POSITION;\n\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4 uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2
uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if USE_SOFT_PARTICLE || USE_ALPHA_TEST
|| USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT || WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\t//
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\tfloat4
cPosPrevious : TEXCOORD4;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD5;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
SHADERGRAPH_NEEDS_NORMAL_FORWARD\n\t\t\t\tfloat3 normal : TEXCOORD6;\n\t\t\t\t#endif\n\t\t\t\t#if
SHADERGRAPH_NEEDS_TANGENT_FORWARD\n\t\t\t\tfloat3 tangent : TEXCOORD7;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t
\n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\tstruct
ps_output\n\t\t\t{\n\t\t\t\tfloat4 color : SV_Target0;\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\tfloat4
outMotionVector : SV_Target1;\n\t\t#endif\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS
ps_input\n\t\t#define VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR
color.rgb\n\t\t#define VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t#endif\n\t\t\n\t\t#define SHADERPASS SHADERPASS_FORWARD_UNLIT\n\t\t\t\n\t\t#if
SHADERGRAPH_NEEDS_NORMAL_FORWARD\n\t\t#define VFX_VARYING_NORMAL normal\n\t\t#endif\n\t\t#if
SHADERGRAPH_NEEDS_TANGENT_FORWARD\n\t\t#define VFX_VARYING_TANGENT tangent\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
Orient_4(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
axes:ZY */\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if VFX_LOCAL_SPACE
// Need to remove potential scale in local transform\n\t\t\t axisX = normalize(axisX);\n\t\t\t
axisY = normalize(axisY);\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
#else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid
AttributeFromCurve_7BA3F6A(inout float alpha, float age, float lifetime, float4
Alpha) /*attribute:alpha Composition:Overwrite AlphaComposition:Overwrite SampleMode:OverLife
Mode:PerComponent ColorMode:ColorAndAlpha channels:XYZ */\n\t\t\t{\n\t\t\t
float t = age / lifetime;\n\t\t\t float value = 0.0f;\n\t\t\t value =
SampleCurve(Alpha, t);\n\t\t\t alpha = value;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#if
defined(HAS_STRIPS) && !defined(VFX_PRIMITIVE_QUAD)\n\t\t\t#error VFX_PRIMITIVE_QUAD
must be defined when HAS_STRIPS is.\n\t\t\t#endif\n\t\t\t\n\t\t\tstruct vs_input\n\t\t\t{\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#define PARTICLE_IN_EDGE (id & 1)\n\t\t\t\n\t\t\tfloat3 GetParticlePosition(uint
index)\n\t\t\t{\n\t\t\t\tstruct Attributes attributes = (Attributes)0;\n\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\n\n\t\t\t\treturn attributes.position;\n\t\t\t}\n\t\t\t\n\t\t\tfloat3
GetStripTangent(float3 currentPos, uint relativeIndex, const StripData stripData)\n\t\t\t{\n\t\t\t\tfloat3
prevTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex > 0)\n\t\t\t\t{\n\t\t\t\t\tuint
prevIndex = GetParticleIndex(relativeIndex - 1,stripData);\n\t\t\t\t\tprevTangent
= normalize(currentPos - GetParticlePosition(prevIndex));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfloat3
nextTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex < stripData.nextIndex
- 1)\n\t\t\t\t{\n\t\t\t\t\tuint nextIndex = GetParticleIndex(relativeIndex
+ 1,stripData);\n\t\t\t\t\tnextTangent = normalize(GetParticlePosition(nextIndex)
- currentPos);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn normalize(prevTangent +
nextTangent);\n\t\t\t}\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, vs_input i)\n\t\t\t{\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tid += VFX_GET_INSTANCE_ID(i) * 8192;\n\t\t\t\tconst uint
vertexPerStripCount = (PARTICLE_PER_STRIP_COUNT - 1) << 2;\n\t\t\t\tconst StripData
stripData = GetStripDataFromStripIndex(id / vertexPerStripCount, PARTICLE_PER_STRIP_COUNT);\n\t\t\t\tuint
currentIndex = ((id % vertexPerStripCount) >> 2) + (id & 1); // relative index
of particle\n\t\t\t\t\n\t\t\t\tuint maxEdgeIndex = currentIndex - PARTICLE_IN_EDGE
+ 1;\n\t\t\t\tif (maxEdgeIndex >= stripData.nextIndex)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\tuint
index = GetParticleIndex(currentIndex, stripData);\n\t\t\t#else\n\t\t\t\tuint
index = (id >> 2) + VFX_GET_INSTANCE_ID(i) * 2048;\n\t\t\t#endif\n\t\t\t#elif
VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index = (id >> 3) + VFX_GET_INSTANCE_ID(i)
* 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount = 0;\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position = float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x2 + 0x9) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\tattributes.color = float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\tattributes.color
= float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\tOrient_4(
/*inout */attributes.axisX, /*inout */attributes.axisY, /*inout */attributes.axisZ);\n\t\t\t\tAttributeFromCurve_7BA3F6A(
/*inout */attributes.alpha, attributes.age, attributes.lifetime, Alpha_b);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t#if
!HAS_STRIPS\n\t\t\t\tif (!attributes.alive)\n\t\t\t\t\treturn o;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t#if HAS_STRIPS\n\t\t\t#if VFX_STRIPS_UV_STRECHED\n\t\t\t\to.VFX_VARYING_UV.x
= (float)(currentIndex) / (stripData.nextIndex - 1);\n\t\t\t#elif VFX_STRIPS_UV_PER_SEGMENT\n\t\t\t\to.VFX_VARYING_UV.x
= PARTICLE_IN_EDGE;\n\t\t\t#else\n\t\t\t\t\n\t\t\t o.VFX_VARYING_UV.x =
texCoord;\n\t\t\t#endif\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2)
>> 1);\n\t\t\t\tconst float2 vOffsets = float2(0.0f,o.VFX_VARYING_UV.y - 0.5f);\n\t\t\t\t\n\t\t\t#if
VFX_STRIPS_SWAP_UV\n\t\t\t\to.VFX_VARYING_UV.xy = float2(1.0f - o.VFX_VARYING_UV.y,
o.VFX_VARYING_UV.x);\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// Orient strips along
their tangents\n\t\t\t\tattributes.axisX = GetStripTangent(attributes.position,
currentIndex, stripData);\n\t\t\t#if !VFX_STRIPS_ORIENT_CUSTOM\n\t\t\t\tattributes.axisZ
= attributes.position - GetViewVFXPosition();\n\t\t\t#endif\n\t\t\t\tattributes.axisY
= normalize(cross(attributes.axisZ, attributes.axisX));\n\t\t\t\tattributes.axisZ
= normalize(cross(attributes.axisX, attributes.axisY));\n\t\t\t\t\n\t\t\t#else\n\t\t\t\to.VFX_VARYING_UV.x
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#elif
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f,
\t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f, \t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tsize3 += size3 < 0.0f ? -VFX_EPSILON : VFX_EPSILON; //
Add an epsilon so that size is never 0 for strips\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\tconst
float4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = float3(vOffsets, 0.0f);\n\t\t\t\tfloat3 vPos = mul(elementToVFX,float4(inputVertexPosition,
1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS = TransformPositionVFXToClip(vPos);\n\t\t\t
\n\t\t\t float3 vPosWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\n\t\t\t
#ifdef VFX_VARYING_POSWS\n\t\t\t o.VFX_VARYING_POSWS = vPosWS;\n\t\t\t
#endif\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define
BENT_FACTOR_MULTIPLIER 2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
= vOffsets * normalBendingFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t#if
VFX_SHADERGRAPH\n\t\t\t\n\t\t#endif\n\t\t\t\t\n\t\t\t#pragma fragment frag\n\t\t\tps_output
frag(ps_input i)\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tps_output
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\t\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t\t\t\tconst
float faceMul = frontFace ? 1.0f : -1.0f;\n\t\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tconst
float faceMul = 1.0f;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3
normalWS = i.VFX_VARYING_NORMAL * faceMul;\n\t\t\t\t\t\t\tconst VFXUVData uvData
= GetUVData(i);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\t\t\t\tfloat3
tangentWS = i.VFX_VARYING_TANGENT;\n\t\t\t\t\t\t\tfloat3 bitangentWS = cross(i.VFX_VARYING_TANGENT,i.VFX_VARYING_NORMAL);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
defined(VFX_VARYING_BENTFACTORS) && USE_NORMAL_BENDING\t\n\t\t\t\t\t\t\tfloat3
bentFactors = float3(i.VFX_VARYING_BENTFACTORS.xy,sqrt(1.0f - dot(i.VFX_VARYING_BENTFACTORS,i.VFX_VARYING_BENTFACTORS)));\n\t\t\t\t\t\t\tnormalWS
= tangentWS * bentFactors.x + bitangentWS * bentFactors.y + normalWS * bentFactors.z;\n\t\t\t\t\t\t\ttangentWS
= normalize(cross(normalWS,bitangentWS));\n\t\t\t\t\t\t\tbitangentWS = cross(tangentWS,normalWS);\n\t\t\t\t\t\t\ttangentWS
*= faceMul;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3x3 tbn
= float3x3(tangentWS,bitangentWS,normalWS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
USE_NORMAL_MAP\n\t\t\t\t\t\t\tfloat3 n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\t\t\t\tfloat
normalScale = 1.0f;\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_NORMALSCALE\n\t\t\t\t\t\t\tnormalScale
= i.VFX_VARYING_NORMALSCALE;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tnormalWS
= normalize(lerp(normalWS,mul(n,tbn),normalScale));\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t#if
VFX_SHADERGRAPH\n\t\t \n\t\t \n\t\t \n\t\t \n\t\t
#if HAS_SHADERGRAPH_PARAM_COLOR\n\t\t o.color.rgb = OUTSG..rgb;\n\t\t
#endif\n\t\t \n\t\t #if HAS_SHADERGRAPH_PARAM_ALPHA \n\t\t
o.color.a = OUTSG.;\n\t\t #endif\n\t\t#else\n\t\t\t\n\t\t\t\t#define
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\to.color
= VFXApplyPreExposure(o.color, i);\n\t\t#endif\n\t\t\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
= saturate(o.color.a);\n\t\t\t\to.color = VFXTransformFinalColor(o.color);\n\t\t\t\t\n\t\t#if
WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\t\n\t\t\t\t\t\tfloat2 velocity = (i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w)
- (i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\tVFXEncodeMotionVector(velocity * 0.5f,
encodedMotionVector);\n\t\t\t\t\t\t\n\t\t\t\to.outMotionVector = encodedMotionVector;\n\t\t
o.outMotionVector.a = o.color.a < i.VFX_VARYING_ALPHATHRESHOLD ? 0.0f : 1.0f;
//Independant clipping for motion vector pass\n\t\t#endif\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t}\r\n}\r\n"
- compute: 0
name: '[System 2]Output Particle Quad'
source: "Shader \"Hidden/VFX/ShipCore-PowerDown/System 2/Output Particle Quad\"\n{\r\n\tSubShader\r\n\t{\t\r\n\t\tCull
Off\r\n\t\t\r\n\t\tTags { \"Queue\"=\"Transparent+0\" \"IgnoreProjector\"=\"True\"
\"RenderType\"=\"Transparent\" }\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tBlend
SrcAlpha One \n\t\tZTest LEqual\n\t\tZWrite Off\n\t\tCull Off\n\t\t\n\t\n\t\t\t\n\t\tHLSLINCLUDE\n\t\t\n\t\t#define
NB_THREADS_PER_GROUP 64\n\t\t#define HAS_ATTRIBUTES 1\n\t\t#define VFX_PASSDEPTH_ACTUAL
(0)\n\t\t#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n\t\t#define VFX_PASSDEPTH_SELECTION
(2)\n\t\t#define VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_SIZE_CURRENT
1\n\t\t#define VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_USE_POSITION_CURRENT
1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT 1\n\t\t#define
VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define VFX_USE_AXISZ_CURRENT
1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define VFX_USE_ANGLEY_CURRENT
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT
1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define VFX_USE_PIVOTZ_CURRENT
1\n\t\t#define VFX_USE_SCALEX_CURRENT 1\n\t\t#define VFX_USE_SCALEY_CURRENT
1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define VFX_USE_COLOR_CURRENT
1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define IS_TRANSPARENT_PARTICLE
1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define VFX_BYPASS_EXPOSURE 1\n\t\t#define
VFX_PRIMITIVE_QUAD 1\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t#define
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
float gradient_b;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\t\n\t\tstruct
Attributes\n\t\t{\n\t\t float lifetime;\n\t\t float size;\n\t\t float
age;\n\t\t float3 position;\n\t\t float alpha;\n\t\t bool alive;\n\t\t
float3 axisX;\n\t\t float3 axisY;\n\t\t float3 axisZ;\n\t\t float
angleX;\n\t\t float angleY;\n\t\t float angleZ;\n\t\t float pivotX;\n\t\t
float pivotY;\n\t\t float pivotZ;\n\t\t float scaleX;\n\t\t float
scaleY;\n\t\t float scaleZ;\n\t\t float3 color;\n\t\t};\n\t\t\n\t\tstruct
SourceAttributes\n\t\t{\n\t\t};\n\t\t\n\t\tTexture2D mainTexture;\n\t\tSamplerState
samplermainTexture;\n\t\tfloat4 mainTexture_TexelSize;\n\t\t\n\n\t\t\n\t\t#define
VFX_NEEDS_COLOR_INTERPOLATOR (VFX_USE_COLOR_CURRENT || VFX_USE_ALPHA_CURRENT)\n\t\t#if
HAS_STRIPS\n\t\t#define VFX_OPTIONAL_INTERPOLATION \n\t\t#else\n\t\t#define
VFX_OPTIONAL_INTERPOLATION nointerpolation\n\t\t#endif\n\t\t\n\t\tByteAddressBuffer
attributeBuffer;\t\n\t\t\n\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\tStructuredBuffer<uint>
indirectBuffer;\t\n\t\t#endif\t\n\t\t\n\t\t#if USE_DEAD_LIST_COUNT\n\t\tByteAddressBuffer
deadListCount;\n\t\t#endif\n\t\t\n\t\t#if HAS_STRIPS\n\t\tBuffer<uint> stripDataBuffer;\n\t\t#endif\n\t\t\n\t\t#if
WRITE_MOTION_VECTOR_IN_FORWARD || USE_MOTION_VECTORS_PASS\n\t\tByteAddressBuffer
elementToVFXBufferPrevious;\n\t\t#endif\n\t\t\n\t\tCBUFFER_START(outputParams)\n\t\t\tfloat
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\t// Helper macros
to always use a valid instanceID\n\t\t#if defined(UNITY_STEREO_INSTANCING_ENABLED)\n\t\t\t#define
VFX_DECLARE_INSTANCE_ID UNITY_VERTEX_INPUT_INSTANCE_ID\n\t\t\t#define VFX_GET_INSTANCE_ID(i)
unity_InstanceID\n\t\t#else\n\t\t\t#define VFX_DECLARE_INSTANCE_ID uint
instanceID : SV_InstanceID;\n\t\t\t#define VFX_GET_INSTANCE_ID(i) i.instanceID\n\t\t#endif\n\t\t\n\t\tENDHLSL\n\t\t\n\r\n\t\tPass\n\t\t{\t\t\n\t\t\tTags
{ \"LightMode\"=\"SceneSelectionPass\" }\n\t\t\n\t\t\tZWrite On\n\t\t\tBlend
Off\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#define VFX_PASSDEPTH VFX_PASSDEPTH_SELECTION\n\t\t\t#pragma
target 4.5\n\t\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos : SV_POSITION;\n\t\t\t\t#if
USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4 uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2
uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION
|| VFX_USE_ALPHA_CURRENT\n\t\t\t\t// x: alpha threshold\n\t\t\t\t// y: frame
blending factor\n\t\t\t\t// z: alpha\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION float3
builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\tfloat4 cPosPrevious :
TEXCOORD3;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD4;\n\t\t\t\t#endif\n\t\t\t
\n\t\t\t #if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t float3 posWS : TEXCOORD5;\n\t\t\t
#endif\n\t\t\t \n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\t#define
VFX_VARYING_PS_INPUTS ps_input\n\t\t\t#define VFX_VARYING_POSCS pos\n\t\t\t#define
VFX_VARYING_ALPHA builtInInterpolants.z\n\t\t\t#define VFX_VARYING_ALPHATHRESHOLD
builtInInterpolants.x\n\t\t\t#define VFX_VARYING_FRAMEBLEND builtInInterpolants.y\n\t\t\t#define
VFX_VARYING_MOTIONVECTORSCALE builtInInterpolants2.xy\n\t\t\t#define VFX_VARYING_UV
uv\n\t\t\t\n\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t#define VFX_VARYING_POSWS
posWS\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t\t#endif\n\t\t\t\n\t\t\t#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t#define
SHADERPASS SHADERPASS_MOTION_VECTORS\n\t\t\t#else\n\t\t\t#define SHADERPASS
SHADERPASS_DEPTH_ONLY\n\t\t\t#endif\n\t\t\t#if !(defined(VFX_VARYING_PS_INPUTS)
&& defined(VFX_VARYING_POSCS))\n\t\t\t#error VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS
and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
Orient_4(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
axes:ZY */\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if VFX_LOCAL_SPACE
// Need to remove potential scale in local transform\n\t\t\t axisX = normalize(axisX);\n\t\t\t
axisY = normalize(axisY);\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
#else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid
ColorOverLife_733E3(float age, float lifetime, inout float3 color, inout float
alpha, float gradient) /*mode:ColorAndAlpha ColorComposition:Multiply AlphaComposition:Multiply
*/\n\t\t\t{\n\t\t\t \n\t\t\t float4 sampledColor = SampleGradient(gradient,
age/lifetime);\n\t\t\t color *= sampledColor.rgb;\n\t\t\t alpha *= sampledColor.a;\n\t\t\t
\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#if defined(HAS_STRIPS) && !defined(VFX_PRIMITIVE_QUAD)\n\t\t\t#error
VFX_PRIMITIVE_QUAD must be defined when HAS_STRIPS is.\n\t\t\t#endif\n\t\t\t\n\t\t\tstruct
vs_input\n\t\t\t{\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#define PARTICLE_IN_EDGE (id & 1)\n\t\t\t\n\t\t\tfloat3 GetParticlePosition(uint
index)\n\t\t\t{\n\t\t\t\tstruct Attributes attributes = (Attributes)0;\n\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\n\n\t\t\t\treturn attributes.position;\n\t\t\t}\n\t\t\t\n\t\t\tfloat3
GetStripTangent(float3 currentPos, uint relativeIndex, const StripData stripData)\n\t\t\t{\n\t\t\t\tfloat3
prevTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex > 0)\n\t\t\t\t{\n\t\t\t\t\tuint
prevIndex = GetParticleIndex(relativeIndex - 1,stripData);\n\t\t\t\t\tprevTangent
= normalize(currentPos - GetParticlePosition(prevIndex));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfloat3
nextTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex < stripData.nextIndex
- 1)\n\t\t\t\t{\n\t\t\t\t\tuint nextIndex = GetParticleIndex(relativeIndex
+ 1,stripData);\n\t\t\t\t\tnextTangent = normalize(GetParticlePosition(nextIndex)
- currentPos);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn normalize(prevTangent +
nextTangent);\n\t\t\t}\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, vs_input i)\n\t\t\t{\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tid += VFX_GET_INSTANCE_ID(i) * 8192;\n\t\t\t\tconst uint
vertexPerStripCount = (PARTICLE_PER_STRIP_COUNT - 1) << 2;\n\t\t\t\tconst StripData
stripData = GetStripDataFromStripIndex(id / vertexPerStripCount, PARTICLE_PER_STRIP_COUNT);\n\t\t\t\tuint
currentIndex = ((id % vertexPerStripCount) >> 2) + (id & 1); // relative index
of particle\n\t\t\t\t\n\t\t\t\tuint maxEdgeIndex = currentIndex - PARTICLE_IN_EDGE
+ 1;\n\t\t\t\tif (maxEdgeIndex >= stripData.nextIndex)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\tuint
index = GetParticleIndex(currentIndex, stripData);\n\t\t\t#else\n\t\t\t\tuint
index = (id >> 2) + VFX_GET_INSTANCE_ID(i) * 2048;\n\t\t\t#endif\n\t\t\t#elif
VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index = (id >> 3) + VFX_GET_INSTANCE_ID(i)
* 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount = 0;\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position = float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x2 + 0x9) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\tattributes.color = float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\tattributes.color
= float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\tOrient_4(
/*inout */attributes.axisX, /*inout */attributes.axisY, /*inout */attributes.axisZ);\n\t\t\t\tColorOverLife_733E3(attributes.age,
attributes.lifetime, /*inout */attributes.color, /*inout */attributes.alpha,
gradient_b);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t#if !HAS_STRIPS\n\t\t\t\tif (!attributes.alive)\n\t\t\t\t\treturn
o;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#if VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#if VFX_STRIPS_UV_STRECHED\n\t\t\t\to.VFX_VARYING_UV.x =
(float)(currentIndex) / (stripData.nextIndex - 1);\n\t\t\t#elif VFX_STRIPS_UV_PER_SEGMENT\n\t\t\t\to.VFX_VARYING_UV.x
= PARTICLE_IN_EDGE;\n\t\t\t#else\n\t\t\t\t\n\t\t\t o.VFX_VARYING_UV.x =
texCoord;\n\t\t\t#endif\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2)
>> 1);\n\t\t\t\tconst float2 vOffsets = float2(0.0f,o.VFX_VARYING_UV.y - 0.5f);\n\t\t\t\t\n\t\t\t#if
VFX_STRIPS_SWAP_UV\n\t\t\t\to.VFX_VARYING_UV.xy = float2(1.0f - o.VFX_VARYING_UV.y,
o.VFX_VARYING_UV.x);\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// Orient strips along
their tangents\n\t\t\t\tattributes.axisX = GetStripTangent(attributes.position,
currentIndex, stripData);\n\t\t\t#if !VFX_STRIPS_ORIENT_CUSTOM\n\t\t\t\tattributes.axisZ
= attributes.position - GetViewVFXPosition();\n\t\t\t#endif\n\t\t\t\tattributes.axisY
= normalize(cross(attributes.axisZ, attributes.axisX));\n\t\t\t\tattributes.axisZ
= normalize(cross(attributes.axisX, attributes.axisY));\n\t\t\t\t\n\t\t\t#else\n\t\t\t\to.VFX_VARYING_UV.x
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#elif
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f,
\t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f, \t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tsize3 += size3 < 0.0f ? -VFX_EPSILON : VFX_EPSILON; //
Add an epsilon so that size is never 0 for strips\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\tconst
float4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = float3(vOffsets, 0.0f);\n\t\t\t\tfloat3 vPos = mul(elementToVFX,float4(inputVertexPosition,
1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS = TransformPositionVFXToClip(vPos);\n\t\t\t
\n\t\t\t float3 vPosWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\n\t\t\t
#ifdef VFX_VARYING_POSWS\n\t\t\t o.VFX_VARYING_POSWS = vPosWS;\n\t\t\t
#endif\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define
BENT_FACTOR_MULTIPLIER 2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
= vOffsets * normalBendingFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#if
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\tint _ObjectId;\n\t\t\tint _PassValue;\n\t\t\t#endif\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#pragma
fragment frag\n\t\t\tfloat4 frag(ps_input i) : SV_TARGET\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t
#ifdef VFX_SHADERGRAPH\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t
\n\t\t\t float alpha = OUTSG.;\n\t\t\t #else\n\t\t\t float
alpha = VFXGetFragmentColor(i).a;\n\t\t\t alpha *= VFXGetTextureColor(VFX_SAMPLER(mainTexture),i).a;\n\t\t\t
#endif\n\t\t\t\tVFXClipFragmentColor(alpha,i);\n\t\t\t\t\n\t\t\t\t#if VFX_PASSDEPTH
== VFX_PASSDEPTH_MOTION_VECTOR\n\t\t\t\t\t\n\t\t\t\t\t\t\tfloat2 velocity =
(i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w) - (i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\t\tVFXEncodeMotionVector(velocity *
0.5f, encodedMotionVector);\n\t\t\t\t\t\t\t\n\t\t\t\t\treturn encodedMotionVector;\n\t\t\t\t#elif
VFX_PASSDEPTH == VFX_PASSDEPTH_SELECTION\n\t\t\t\t\treturn float4(_ObjectId,
_PassValue, 1.0, 1.0);\n\t\t\t\t#elif VFX_PASSDEPTH == VFX_PASSDEPTH_ACTUAL\n\t\t\t\t\treturn
(float4)0;\n\t\t\t\t#else\n\t\t\t\t\t#error VFX_PASSDEPTH undefined \n\t\t\t\t#endif\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t\t\r\n\t\t//
Forward pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"ForwardOnly\"
}\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t#pragma multi_compile
_ DEBUG_DISPLAY\n\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos :
SV_POSITION;\n\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4 uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2
uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if USE_SOFT_PARTICLE || USE_ALPHA_TEST
|| USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT || WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\t//
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tVFX_OPTIONAL_INTERPOLATION
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\tfloat4
cPosPrevious : TEXCOORD4;\n\t\t\t\tfloat4 cPosNonJiterred : TEXCOORD5;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t#if
SHADERGRAPH_NEEDS_NORMAL_FORWARD\n\t\t\t\tfloat3 normal : TEXCOORD6;\n\t\t\t\t#endif\n\t\t\t\t#if
SHADERGRAPH_NEEDS_TANGENT_FORWARD\n\t\t\t\tfloat3 tangent : TEXCOORD7;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t
\n\t\t\t\t\n\t\t\t\tUNITY_VERTEX_OUTPUT_STEREO\n\t\t\t};\n\t\t\t\n\t\t\tstruct
ps_output\n\t\t\t{\n\t\t\t\tfloat4 color : SV_Target0;\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\tfloat4
outMotionVector : SV_Target1;\n\t\t#endif\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS
ps_input\n\t\t#define VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR
color.rgb\n\t\t#define VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t#if WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t#define
VFX_VARYING_VELOCITY_CPOS cPosNonJiterred\n\t\t#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS
cPosPrevious\n\t\t#endif\n\t\t\n\t\t#define SHADERPASS SHADERPASS_FORWARD_UNLIT\n\t\t\t\n\t\t#if
SHADERGRAPH_NEEDS_NORMAL_FORWARD\n\t\t#define VFX_VARYING_NORMAL normal\n\t\t#endif\n\t\t#if
SHADERGRAPH_NEEDS_TANGENT_FORWARD\n\t\t#define VFX_VARYING_TANGENT tangent\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXCommon.hlsl\"\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\t\t\t\n\n\t\t\tvoid
Orient_4(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
axes:ZY */\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if VFX_LOCAL_SPACE
// Need to remove potential scale in local transform\n\t\t\t axisX = normalize(axisX);\n\t\t\t
axisY = normalize(axisY);\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
#else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid
ColorOverLife_733E3(float age, float lifetime, inout float3 color, inout float
alpha, float gradient) /*mode:ColorAndAlpha ColorComposition:Multiply AlphaComposition:Multiply
*/\n\t\t\t{\n\t\t\t \n\t\t\t float4 sampledColor = SampleGradient(gradient,
age/lifetime);\n\t\t\t color *= sampledColor.rgb;\n\t\t\t alpha *= sampledColor.a;\n\t\t\t
\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#if defined(HAS_STRIPS) && !defined(VFX_PRIMITIVE_QUAD)\n\t\t\t#error
VFX_PRIMITIVE_QUAD must be defined when HAS_STRIPS is.\n\t\t\t#endif\n\t\t\t\n\t\t\tstruct
vs_input\n\t\t\t{\n\t\t\t\tVFX_DECLARE_INSTANCE_ID\n\t\t\t};\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#define PARTICLE_IN_EDGE (id & 1)\n\t\t\t\n\t\t\tfloat3 GetParticlePosition(uint
index)\n\t\t\t{\n\t\t\t\tstruct Attributes attributes = (Attributes)0;\n\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\n\n\t\t\t\treturn attributes.position;\n\t\t\t}\n\t\t\t\n\t\t\tfloat3
GetStripTangent(float3 currentPos, uint relativeIndex, const StripData stripData)\n\t\t\t{\n\t\t\t\tfloat3
prevTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex > 0)\n\t\t\t\t{\n\t\t\t\t\tuint
prevIndex = GetParticleIndex(relativeIndex - 1,stripData);\n\t\t\t\t\tprevTangent
= normalize(currentPos - GetParticlePosition(prevIndex));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfloat3
nextTangent = (float3)0.0f;\n\t\t\t\tif (relativeIndex < stripData.nextIndex
- 1)\n\t\t\t\t{\n\t\t\t\t\tuint nextIndex = GetParticleIndex(relativeIndex
+ 1,stripData);\n\t\t\t\t\tnextTangent = normalize(GetParticlePosition(nextIndex)
- currentPos);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn normalize(prevTangent +
nextTangent);\n\t\t\t}\n\t\t\t#endif\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, vs_input i)\n\t\t\t{\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\n\t\t\t\tUNITY_SETUP_INSTANCE_ID(i);\n\t\t\t\tUNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);\n\t\t\t\n\t\t\t#if
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tid += VFX_GET_INSTANCE_ID(i) * 8192;\n\t\t\t\tconst uint
vertexPerStripCount = (PARTICLE_PER_STRIP_COUNT - 1) << 2;\n\t\t\t\tconst StripData
stripData = GetStripDataFromStripIndex(id / vertexPerStripCount, PARTICLE_PER_STRIP_COUNT);\n\t\t\t\tuint
currentIndex = ((id % vertexPerStripCount) >> 2) + (id & 1); // relative index
of particle\n\t\t\t\t\n\t\t\t\tuint maxEdgeIndex = currentIndex - PARTICLE_IN_EDGE
+ 1;\n\t\t\t\tif (maxEdgeIndex >= stripData.nextIndex)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\tuint
index = GetParticleIndex(currentIndex, stripData);\n\t\t\t#else\n\t\t\t\tuint
index = (id >> 2) + VFX_GET_INSTANCE_ID(i) * 2048;\n\t\t\t#endif\n\t\t\t#elif
VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index = (id >> 3) + VFX_GET_INSTANCE_ID(i)
* 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount = 0;\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\tAttributes
attributes = (Attributes)0;\n\t\t\t\t\t\tSourceAttributes sourceAttributes
= (SourceAttributes)0;\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\tattributes.lifetime = asfloat(attributeBuffer.Load((index
* 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size = asfloat(attributeBuffer.Load((index
* 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age = asfloat(attributeBuffer.Load((index
* 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position = float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha
= (float)1;\n\t\t\t\t\t\tattributes.alive = (attributeBuffer.Load((index *
0x2 + 0x9) << 2));\n\t\t\t\t\t\tattributes.axisX = float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY
= float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ = float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX
= (float)0;\n\t\t\t\t\t\tattributes.angleY = (float)0;\n\t\t\t\t\t\tattributes.angleZ
= (float)0;\n\t\t\t\t\t\tattributes.pivotX = (float)0;\n\t\t\t\t\t\tattributes.pivotY
= (float)0;\n\t\t\t\t\t\tattributes.pivotZ = (float)0;\n\t\t\t\t\t\tattributes.scaleX
= (float)1;\n\t\t\t\t\t\tattributes.scaleY = (float)1;\n\t\t\t\t\t\tattributes.scaleZ
= (float)1;\n\t\t\t\t\t\tattributes.color = float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tattributes.alive
= (attributeBuffer.Load((index * 0x2 + 0x9) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
!HAS_STRIPS\n\t\t\t\t\t\tif (!attributes.alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tattributes.lifetime
= asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tattributes.size
= asfloat(attributeBuffer.Load((index * 0x1 + 0x4) << 2));\n\t\t\t\t\t\tattributes.age
= asfloat(attributeBuffer.Load((index * 0x2 + 0x8) << 2));\n\t\t\t\t\t\tattributes.position
= float3(0, 0, 0);\n\t\t\t\t\t\tattributes.alpha = (float)1;\n\t\t\t\t\t\tattributes.axisX
= float3(1, 0, 0);\n\t\t\t\t\t\tattributes.axisY = float3(0, 1, 0);\n\t\t\t\t\t\tattributes.axisZ
= float3(0, 0, 1);\n\t\t\t\t\t\tattributes.angleX = (float)0;\n\t\t\t\t\t\tattributes.angleY
= (float)0;\n\t\t\t\t\t\tattributes.angleZ = (float)0;\n\t\t\t\t\t\tattributes.pivotX
= (float)0;\n\t\t\t\t\t\tattributes.pivotY = (float)0;\n\t\t\t\t\t\tattributes.pivotZ
= (float)0;\n\t\t\t\t\t\tattributes.scaleX = (float)1;\n\t\t\t\t\t\tattributes.scaleY
= (float)1;\n\t\t\t\t\t\tattributes.scaleZ = (float)1;\n\t\t\t\t\t\tattributes.color
= float3(1, 1, 1);\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t//
Initialize built-in needed attributes\n\t\t\t\t\t\t#if HAS_STRIPS\n\t\t\t\t\t\tInitStripAttributes(index,
attributes, stripData);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\tOrient_4(
/*inout */attributes.axisX, /*inout */attributes.axisY, /*inout */attributes.axisZ);\n\t\t\t\tColorOverLife_733E3(attributes.age,
attributes.lifetime, /*inout */attributes.color, /*inout */attributes.alpha,
gradient_b);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t#if !HAS_STRIPS\n\t\t\t\tif (!attributes.alive)\n\t\t\t\t\treturn
o;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#if VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t#if VFX_STRIPS_UV_STRECHED\n\t\t\t\to.VFX_VARYING_UV.x =
(float)(currentIndex) / (stripData.nextIndex - 1);\n\t\t\t#elif VFX_STRIPS_UV_PER_SEGMENT\n\t\t\t\to.VFX_VARYING_UV.x
= PARTICLE_IN_EDGE;\n\t\t\t#else\n\t\t\t\t\n\t\t\t o.VFX_VARYING_UV.x =
texCoord;\n\t\t\t#endif\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2)
>> 1);\n\t\t\t\tconst float2 vOffsets = float2(0.0f,o.VFX_VARYING_UV.y - 0.5f);\n\t\t\t\t\n\t\t\t#if
VFX_STRIPS_SWAP_UV\n\t\t\t\to.VFX_VARYING_UV.xy = float2(1.0f - o.VFX_VARYING_UV.y,
o.VFX_VARYING_UV.x);\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// Orient strips along
their tangents\n\t\t\t\tattributes.axisX = GetStripTangent(attributes.position,
currentIndex, stripData);\n\t\t\t#if !VFX_STRIPS_ORIENT_CUSTOM\n\t\t\t\tattributes.axisZ
= attributes.position - GetViewVFXPosition();\n\t\t\t#endif\n\t\t\t\tattributes.axisY
= normalize(cross(attributes.axisZ, attributes.axisX));\n\t\t\t\tattributes.axisZ
= normalize(cross(attributes.axisX, attributes.axisY));\n\t\t\t\t\n\t\t\t#else\n\t\t\t\to.VFX_VARYING_UV.x
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t#endif\n\t\t\t\t\n\t\t\t#elif
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f,
\t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f, \t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
size3 = float3(attributes.size,attributes.size,attributes.size);\n\t\t\t\t\t\t#if
VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x *= attributes.scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y *= attributes.scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z *= attributes.scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t#if
HAS_STRIPS\n\t\t\t\tsize3 += size3 < 0.0f ? -VFX_EPSILON : VFX_EPSILON; //
Add an epsilon so that size is never 0 for strips\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\tconst
float4x4 elementToVFX = GetElementToVFXMatrix(\n\t\t\t\t\tattributes.axisX,\n\t\t\t\t\tattributes.axisY,\n\t\t\t\t\tattributes.axisZ,\n\t\t\t\t\tfloat3(attributes.angleX,attributes.angleY,attributes.angleZ),\n\t\t\t\t\tfloat3(attributes.pivotX,attributes.pivotY,attributes.pivotZ),\n\t\t\t\t\tsize3,\n\t\t\t\t\tattributes.position);\n\t\t\t\t\t\n\t\t\t\tfloat3
inputVertexPosition = float3(vOffsets, 0.0f);\n\t\t\t\tfloat3 vPos = mul(elementToVFX,float4(inputVertexPosition,
1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS = TransformPositionVFXToClip(vPos);\n\t\t\t
\n\t\t\t float3 vPosWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\n\t\t\t
#ifdef VFX_VARYING_POSWS\n\t\t\t o.VFX_VARYING_POSWS = vPosWS;\n\t\t\t
#endif\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define
BENT_FACTOR_MULTIPLIER 2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
= vOffsets * normalBendingFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_VELOCITY_CPOS) && defined(VFX_VARYING_VELOCITY_CPOS_PREVIOUS)\n\t\t\t\t\t\tfloat4x4
previousElementToVFX = (float4x4)0;\n\t\t\t\t\t\tpreviousElementToVFX[3] =
float4(0,0,0,1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\tfor (int
itIndexMatrixRow = 0; itIndexMatrixRow < 3; ++itIndexMatrixRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tUNITY_UNROLL\n\t\t\t\t\t\t\tfor
(int itIndexMatrixCol = 0; itIndexMatrixCol < 4; ++itIndexMatrixCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuint
itIndexMatrix = itIndexMatrixCol * 4 + itIndexMatrixRow;\n\t\t\t\t\t\t\t\tuint
read = elementToVFXBufferPrevious.Load((index * 16 + itIndexMatrix) << 2);\n\t\t\t\t\t\t\t\tpreviousElementToVFX[itIndexMatrixRow][itIndexMatrixCol]
= asfloat(read);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint
previousFrameIndex = elementToVFXBufferPrevious.Load((index * 16 + 15) << 2);\n\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= o.VFX_VARYING_VELOCITY_CPOS_PREVIOUS = float4(0.0f, 0.0f, 0.0f, 1.0f);\n\t\t\t\t\t\tif
(asuint(currentFrameIndex) - previousFrameIndex == 1u)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfloat3
oldvPos = mul(previousElementToVFX,float4(inputVertexPosition, 1.0f)).xyz;\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS_PREVIOUS
= TransformPositionVFXToPreviousClip(oldvPos);\n\t\t\t\t\t\t\to.VFX_VARYING_VELOCITY_CPOS
= TransformPositionVFXToNonJitteredClip(vPos);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
= attributes.color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT
&& defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA = attributes.alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
(USE_ALPHA_TEST || WRITE_MOTION_VECTOR_IN_FORWARD) && (!VFX_SHADERGRAPH ||
!HAS_SHADERGRAPH_PARAM_ALPHATHRESHOLD) && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined (VFX_VARYING_UV)\n\t\t\t\t\t\to.VFX_VARYING_UV.xy = o.VFX_VARYING_UV.xy
* uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
USE_FLIPBOOK && defined(VFX_VARYING_UV)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVFXUVData
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, attributes.texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION && defined(VFX_VARYING_UV)
&& defined (VFX_VARYING_FRAMEBLEND)\n\t\t\t\t\t\to.VFX_VARYING_UV.zw = uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND
= uvData.blend;\n\t\t\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS && defined(VFX_VARYING_MOTIONVECTORSCALE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.hlsl\"\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t#if
VFX_SHADERGRAPH\n\t\t\t\n\t\t#endif\n\t\t\t\t\n\t\t\t#pragma fragment frag\n\t\t\tps_output
frag(ps_input i)\n\t\t\t{\n\t\t\t\tUNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);\n\t\t\t\tps_output
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\t\t\t#ifdef
VFX_VARYING_NORMAL\n\t\t\t\t\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t\t\t\tconst
float faceMul = frontFace ? 1.0f : -1.0f;\n\t\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tconst
float faceMul = 1.0f;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3
normalWS = i.VFX_VARYING_NORMAL * faceMul;\n\t\t\t\t\t\t\tconst VFXUVData uvData
= GetUVData(i);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\t\t\t\tfloat3
tangentWS = i.VFX_VARYING_TANGENT;\n\t\t\t\t\t\t\tfloat3 bitangentWS = cross(i.VFX_VARYING_TANGENT,i.VFX_VARYING_NORMAL);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
defined(VFX_VARYING_BENTFACTORS) && USE_NORMAL_BENDING\t\n\t\t\t\t\t\t\tfloat3
bentFactors = float3(i.VFX_VARYING_BENTFACTORS.xy,sqrt(1.0f - dot(i.VFX_VARYING_BENTFACTORS,i.VFX_VARYING_BENTFACTORS)));\n\t\t\t\t\t\t\tnormalWS
= tangentWS * bentFactors.x + bitangentWS * bentFactors.y + normalWS * bentFactors.z;\n\t\t\t\t\t\t\ttangentWS
= normalize(cross(normalWS,bitangentWS));\n\t\t\t\t\t\t\tbitangentWS = cross(tangentWS,normalWS);\n\t\t\t\t\t\t\ttangentWS
*= faceMul;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3x3 tbn
= float3x3(tangentWS,bitangentWS,normalWS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
USE_NORMAL_MAP\n\t\t\t\t\t\t\tfloat3 n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\t\t\t\tfloat
normalScale = 1.0f;\n\t\t\t\t\t\t\t#ifdef VFX_VARYING_NORMALSCALE\n\t\t\t\t\t\t\tnormalScale
= i.VFX_VARYING_NORMALSCALE;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\tnormalWS
= normalize(lerp(normalWS,mul(n,tbn),normalScale));\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t#if
VFX_SHADERGRAPH\n\t\t \n\t\t \n\t\t \n\t\t \n\t\t
#if HAS_SHADERGRAPH_PARAM_COLOR\n\t\t o.color.rgb = OUTSG..rgb;\n\t\t
#endif\n\t\t \n\t\t #if HAS_SHADERGRAPH_PARAM_ALPHA \n\t\t
o.color.a = OUTSG.;\n\t\t #endif\n\t\t#else\n\t\t\t\n\t\t\t\t#define
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\to.color
= VFXApplyPreExposure(o.color, i);\n\t\t#endif\n\t\t\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
= saturate(o.color.a);\n\t\t\t\to.color = VFXTransformFinalColor(o.color);\n\t\t\t\t\n\t\t#if
WRITE_MOTION_VECTOR_IN_FORWARD\n\t\t\t\t\n\t\t\t\t\t\tfloat2 velocity = (i.VFX_VARYING_VELOCITY_CPOS.xy/i.VFX_VARYING_VELOCITY_CPOS.w)
- (i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.xy/i.VFX_VARYING_VELOCITY_CPOS_PREVIOUS.w);\n\t\t\t\t\t\t#if
UNITY_UV_STARTS_AT_TOP\n\t\t\t\t\t\t\tvelocity.y = -velocity.y;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfloat4
encodedMotionVector = 0.0f;\n\t\t\t\t\t\tVFXEncodeMotionVector(velocity * 0.5f,
encodedMotionVector);\n\t\t\t\t\t\t\n\t\t\t\to.outMotionVector = encodedMotionVector;\n\t\t
o.outMotionVector.a = o.color.a < i.VFX_VARYING_ALPHATHRESHOLD ? 0.0f : 1.0f;
//Independant clipping for motion vector pass\n\t\t#endif\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t}\r\n}\r\n"
- compute: 1
name: '[System 2]CameraSort'
source: "#pragma kernel CSMain\r\n#define NB_THREADS_PER_GROUP 64\n#define HAS_ATTRIBUTES
1\n#define VFX_PASSDEPTH_ACTUAL (0)\n#define VFX_PASSDEPTH_MOTION_VECTOR (1)\n#define
VFX_PASSDEPTH_SELECTION (2)\n#define VFX_USE_POSITION_CURRENT 1\n#define USE_DEAD_LIST_COUNT
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.render-pipelines.high-definition/Runtime/VFXGraph/Shaders/VFXDefines.hlsl\"\n\n\r\nCBUFFER_START(parameters)\n
float4x4 localToWorld;\nCBUFFER_END\n\nstruct Attributes\n{\n float3 position;\n};\n\nstruct
SourceAttributes\n{\n};\n\n\n\r\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.hlsl\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.hlsl\"\n\n\r\n\r\nCBUFFER_START(params)\r\n
uint nbMax;\r\n uint dispatchWidth;\r\nCBUFFER_END\r\n\r\nCBUFFER_START(cameraParams)\r\n
float3 cameraPosition;\r\nCBUFFER_END\r\n\r\nByteAddressBuffer attributeBuffer;\r\nStructuredBuffer<uint>
inputBuffer;\r\n\r\n#if USE_DEAD_LIST_COUNT\r\nByteAddressBuffer deadListCount;\r\n#endif\r\n\r\nstruct
Kvp\r\n{\r\n\tfloat sortKey;\r\n\tuint index;\r\n};\r\n\r\nRWStructuredBuffer<Kvp>
outputBuffer;\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid CSMain(uint3
groupId : SV_GroupID,\r\n uint3 groupThreadId : SV_GroupThreadID)\r\n{\r\n\tuint
threshold = nbMax;\r\n#if USE_DEAD_LIST_COUNT\r\n\tthreshold -= deadListCount.Load(0);\r\n#endif\r\n\tuint
id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP + groupId.y * dispatchWidth
* NB_THREADS_PER_GROUP;\r\n\tif (id < threshold)\r\n\t{\r\n\t\tuint index =
inputBuffer[id];\r\n\t\t\r\n\t\tAttributes attributes = (Attributes)0;\r\n\t\tattributes.position
= float3(0, 0, 0);\n\t\t\n\r\n\t\t\r\n#if VFX_LOCAL_SPACE\r\n\t\tfloat3 wPos
= mul(localToWorld,float4(attributes.position,1.0f)).xyz;\r\n#else\r\n\t\tfloat3
wPos = attributes.position;\r\n#endif\r\n\t\tfloat3 camToPos = wPos - cameraPosition;\r\n\t\t\r\n\t\tKvp
kvp;\r\n\t\tkvp.sortKey = dot(camToPos,camToPos); // sqr distance to the camera\r\n\t\tkvp.index
= index;\r\n\r\n\t\toutputBuffer[id] = kvp;\r\n\t}\r\n}\r\n"
m_Infos:
m_Expressions:
m_Expressions:
- op: 7
valueIndex: 0
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: -1
- op: 1
valueIndex: 1
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 27
valueIndex: 2
data[0]: 0
data[1]: 1
data[2]: -1
data[3]: 1
- op: 23
valueIndex: 3
data[0]: 2
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 4
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 5
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 13
- op: 1
valueIndex: 6
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 26
valueIndex: 7
data[0]: 3
data[1]: 4
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 8
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 13
- op: 3
valueIndex: 9
data[0]: 6
data[1]: 7
data[2]: 6
data[3]: -1
- op: 1
valueIndex: 12
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 13
- op: 1
valueIndex: 13
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 3
- op: 56
valueIndex: 16
data[0]: 5
data[1]: -1
data[2]: -1
data[3]: 0
- op: 1
valueIndex: 20
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 3
- op: 1
valueIndex: 23
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 14
- op: 1
valueIndex: 24
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 14
- op: 34
valueIndex: 25
data[0]: 11
data[1]: 9
data[2]: 13
data[3]: -1
- op: 56
valueIndex: 41
data[0]: 10
data[1]: -1
data[2]: -1
data[3]: 1
- op: 56
valueIndex: 45
data[0]: 8
data[1]: -1
data[2]: -1
data[3]: 2
- op: 1
valueIndex: 49
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 14
- op: 1
valueIndex: 50
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 51
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 13
- op: 1
valueIndex: 52
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 53
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 13
- op: 1
valueIndex: 54
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 7
- op: 57
valueIndex: 55
data[0]: 19
data[1]: -1
data[2]: -1
data[3]: 0
- op: 57
valueIndex: 56
data[0]: 15
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 57
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 7
- op: 57
valueIndex: 58
data[0]: 14
data[1]: -1
data[2]: -1
data[3]: 2
- op: 1
valueIndex: 59
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 2
- op: 1
valueIndex: 61
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 62
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 7
- op: 2
valueIndex: 63
data[0]: 0
data[1]: 6
data[2]: -1
data[3]: -1
- op: 1
valueIndex: 65
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 2
- op: 56
valueIndex: 67
data[0]: 21
data[1]: -1
data[2]: -1
data[3]: 3
- op: 56
valueIndex: 71
data[0]: 23
data[1]: -1
data[2]: -1
data[3]: 4
- op: 1
valueIndex: 75
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 2
- op: 1
valueIndex: 77
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 78
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 79
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 2
- op: 1
valueIndex: 81
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 3
- op: 1
valueIndex: 84
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 2
- op: 1
valueIndex: 86
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 3
- op: 1
valueIndex: 89
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 3
- op: 1
valueIndex: 92
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 15
- op: 1
valueIndex: 93
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 6
- op: 1
valueIndex: 94
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 95
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 96
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 97
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 98
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 99
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 100
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 9
- op: 36
valueIndex: 101
data[0]: 16
data[1]: -1
data[2]: -1
data[3]: -1
- op: 1
valueIndex: 117
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 118
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 7
- op: 6
valueIndex: 119
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: -1
- op: 1
valueIndex: 120
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 121
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 1
valueIndex: 122
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: 1
- op: 9
valueIndex: 123
data[0]: -1
data[1]: -1
data[2]: -1
data[3]: -1
m_NeedsLocalToWorld: 1
m_NeedsWorldToLocal: 0
m_NeededMainCameraBuffers: 0
m_PropertySheet:
m_Float:
m_Array:
- m_ExpressionIndex: 1
m_Value: 12
- m_ExpressionIndex: 4
m_Value: 360
- m_ExpressionIndex: 6
m_Value: 0
- m_ExpressionIndex: 20
m_Value: 1
- m_ExpressionIndex: 22
m_Value: 0.5
- m_ExpressionIndex: 30
m_Value: 4
- m_ExpressionIndex: 37
m_Value: 3
- m_ExpressionIndex: 38
m_Value: 50
- m_ExpressionIndex: 46
m_Value: 11
- m_ExpressionIndex: 47
m_Value: 3.5
- m_ExpressionIndex: 48
m_Value: 2000
- m_ExpressionIndex: 49
m_Value: 6.2831855
- m_ExpressionIndex: 50
m_Value: 0.1
- m_ExpressionIndex: 51
m_Value: 128
- m_ExpressionIndex: 54
m_Value: 7
- m_ExpressionIndex: 57
m_Value: 5
- m_ExpressionIndex: 58
m_Value: 20
- m_ExpressionIndex: 59
m_Value: 0.05
m_Vector2f:
m_Array:
- m_ExpressionIndex: 29
m_Value: {x: 16, y: 16}
- m_ExpressionIndex: 33
m_Value: {x: 1, y: 3}
- m_ExpressionIndex: 36
m_Value: {x: 1, y: 1}
- m_ExpressionIndex: 39
m_Value: {x: 0, y: 0}
- m_ExpressionIndex: 41
m_Value: {x: 64000, y: 64000}
m_Vector3f:
m_Array:
- m_ExpressionIndex: 11
m_Value: {x: 0, y: 0, z: 0}
- m_ExpressionIndex: 13
m_Value: {x: 7, y: 7, z: 7}
- m_ExpressionIndex: 40
m_Value: {x: 1, y: 1, z: 1}
- m_ExpressionIndex: 42
m_Value: {x: 0, y: 1, z: 0}
- m_ExpressionIndex: 43
m_Value: {x: 2, y: 3, z: 2}
m_Vector4f:
m_Array: []
m_Uint:
m_Array:
- m_ExpressionIndex: 45
m_Value: 4294967295
m_Int:
m_Array: []
m_Matrix4x4f:
m_Array: []
m_AnimationCurve:
m_Array:
- m_ExpressionIndex: 5
m_Value:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 13.432012
inSlope: -12.97699
outSlope: -12.97699
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1.067426
value: 6.6903534
inSlope: -2.5035205
outSlope: -2.5035205
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 2.4490862
value: 4.941454
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
- m_ExpressionIndex: 8
m_Value:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.25
value: 4.9489784
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
- m_ExpressionIndex: 10
m_Value:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.25
value: 9.284998
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 3.5590024
value: 5.0213594
inSlope: -3.298775
outSlope: -3.298775
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
- m_ExpressionIndex: 21
m_Value:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.5007682
value: 0.9982312
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
- m_ExpressionIndex: 23
m_Value:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.5007682
value: 0.8577397
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_Gradient:
m_Array:
- m_ExpressionIndex: 14
m_Value:
serializedVersion: 2
key0: {r: 0, g: 0, b: 0, a: 1}
key1: {r: 0.054815024, g: 0.038180854, b: 0.20754719, a: 1}
key2: {r: 0.2784301, g: 0.18823527, b: 0.81960785, a: 0}
key3: {r: 0.34845594, g: 0.6161975, b: 1.3431392, a: 0}
key4: {r: 0.5235183, g: 1.0961432, b: 1.724, a: 0}
key5: {r: 2.315, g: 2.0287042, b: 1.502932, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 11062
ctime2: 24722
ctime3: 36287
ctime4: 50702
ctime5: 65535
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 6
m_NumAlphaKeys: 2
- m_ExpressionIndex: 15
m_Value:
serializedVersion: 2
key0: {r: 28.51895, g: 28.51895, b: 28.51895, a: 1}
key1: {r: 0.83056265, g: 0.83056265, b: 0.83056265, a: 0.9750639}
key2: {r: 0.5, g: 0.5, b: 0.5, a: 0.8}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 4609
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 6453
atime2: 32432
atime3: 65535
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 4
- m_ExpressionIndex: 19
m_Value:
serializedVersion: 2
key0: {r: 8.901707, g: 83.140495, b: 106.264145, a: 1}
key1: {r: 0, g: 4.4088035, b: 8.809244, a: 0.9577465}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 84
ctime1: 8129
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 50886
atime2: 65535
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 3
m_NamedObject:
m_Array:
- m_ExpressionIndex: 24
m_Value: {fileID: 2800000, guid: 49cb5aa34272b034d8b754c65d9cdbfa, type: 3}
- m_ExpressionIndex: 27
m_Value: {fileID: 2800000, guid: f1fca8903cd16a94cb202da8ada6e10e, type: 3}
- m_ExpressionIndex: 31
m_Value: {fileID: 2800000, guid: 1d8481de16af723418a688958c41224b, type: 3}
- m_ExpressionIndex: 52
m_Value: {fileID: 11700000, guid: 08937e3134903c5488be506a2dac71e9, type: 2}
- m_ExpressionIndex: 55
m_Value: {fileID: 2800000, guid: 7d27e4538f7899c4d8b1a4b0712b77e1, type: 3}
- m_ExpressionIndex: 44
m_Value: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
m_Bool:
m_Array: []
m_ExposedExpressions: []
m_Buffers:
- type: 1
size: 640000
layout:
- name: lifetime
type: 1
offset:
bucket: 0
structure: 2
element: 0
- name: size
type: 1
offset:
bucket: 0
structure: 2
element: 1
- name: position
type: 3
offset:
bucket: 128000
structure: 8
element: 0
- name: age
type: 1
offset:
bucket: 128000
structure: 8
element: 3
- name: velocity
type: 3
offset:
bucket: 128000
structure: 8
element: 4
- name: alive
type: 17
offset:
bucket: 128000
structure: 8
element: 7
capacity: 64000
stride: 4
- type: 1
size: 16
layout:
- name: lifetime
type: 1
offset:
bucket: 0
structure: 1
element: 0
- name: size
type: 1
offset:
bucket: 4
structure: 1
element: 0
- name: age
type: 1
offset:
bucket: 8
structure: 2
element: 0
- name: alive
type: 17
offset:
bucket: 8
structure: 2
element: 1
capacity: 4
stride: 4
- type: 1
size: 1
layout:
- name: spawnCount
type: 1
offset:
bucket: 0
structure: 1
element: 0
capacity: 1
stride: 4
- type: 4
size: 64000
layout: []
capacity: 0
stride: 4
- type: 1
size: 1
layout: []
capacity: 0
stride: 4
- type: 1
size: 1
layout:
- name: spawnCount
type: 1
offset:
bucket: 0
structure: 1
element: 0
capacity: 1
stride: 4
- type: 4
size: 1
layout: []
capacity: 0
stride: 4
- type: 1
size: 1
layout: []
capacity: 0
stride: 4
- type: 4
size: 1
layout: []
capacity: 0
stride: 4
- type: 0
size: 1
layout: []
capacity: 0
stride: 8
- type: 0
size: 1
layout: []
capacity: 0
stride: 8
m_TemporaryBuffers: []
m_CPUBuffers:
- capacity: 1
stride: 1
layout:
- name: spawnCount
type: 1
offset:
bucket: 0
structure: 1
element: 0
initialData:
data: 00000000
- capacity: 1
stride: 1
layout:
- name: spawnCount
type: 1
offset:
bucket: 0
structure: 1
element: 0
initialData:
data: 00000000
- capacity: 1
stride: 1
layout:
- name: spawnCount
type: 1
offset:
bucket: 0
structure: 1
element: 0
initialData:
data: 00000000
m_Events:
- name: OnPlay
playSystems:
stopSystems:
- name: OnStop
playSystems:
stopSystems: 0000000001000000
- name: PowerDown
playSystems: 0000000001000000
stopSystems:
m_RuntimeVersion: 10
m_RendererSettings:
motionVectorGenerationMode: 0
shadowCastingMode: 0
receiveShadows: 0
reflectionProbeUsage: 0
lightProbeUsage: 0
m_CullingFlags: 3
m_UpdateMode: 0
m_PreWarmDeltaTime: 0.05
m_PreWarmStepCount: 0
m_InitialEventName: OnPlay
m_Systems:
- type: 0
flags: 0
capacity: 0
layer: 4294967295
buffers:
- nameId: spawner_output
index: 1
values: []
tasks:
- type: 268435457
buffers: []
temporaryBuffers: []
values:
- nameId: Count
index: 36
- nameId: Delay
index: 39
params: []
processor: {fileID: 0}
shaderSourceIndex: -1
- type: 0
flags: 0
capacity: 0
layer: 4294967295
buffers:
- nameId: spawner_output
index: 2
values: []
tasks:
- type: 268435457
buffers: []
temporaryBuffers: []
values:
- nameId: Count
index: 41
- nameId: Delay
index: 39
params: []
processor: {fileID: 0}
shaderSourceIndex: -1
- type: 1
flags: 1
capacity: 64000
layer: 4294967295
buffers:
- nameId: attributeBuffer
index: 0
- nameId: sourceAttributeBuffer
index: 2
- nameId: deadList
index: 3
- nameId: deadListCount
index: 4
- nameId: spawner_input
index: 2
values:
- nameId: bounds_center
index: 11
- nameId: bounds_size
index: 40
tasks:
- type: 536870912
buffers:
- nameId: attributeBuffer
index: 0
- nameId: deadListIn
index: 3
- nameId: deadListCount
index: 4
- nameId: sourceAttributeBuffer
index: 2
temporaryBuffers: []
values: []
params:
- nameId: bounds_center
index: 11
- nameId: bounds_size
index: 40
processor: {fileID: 0}
shaderSourceIndex: 0
- type: 805306368
buffers:
- nameId: attributeBuffer
index: 0
- nameId: deadListOut
index: 3
temporaryBuffers: []
values:
- nameId: InvFieldTransform_a
index: 53
- nameId: FieldTransform_a
index: 16
- nameId: deltaTime_a
index: 56
- nameId: uniform_e
index: 18
- nameId: VectorField_a
index: 52
params: []
processor: {fileID: 0}
shaderSourceIndex: 1
- type: 1073741826
buffers:
- nameId: attributeBuffer
index: 0
temporaryBuffers: []
values:
- nameId: uniform_b
index: 12
- nameId: Color_b
index: 26
- nameId: gradient
index: 28
- nameId: mainTexture
index: 24
params:
- nameId: sortPriority
index: 0
processor: {fileID: 0}
shaderSourceIndex: 2
- type: 1
flags: 3
capacity: 1
layer: 4294967295
buffers:
- nameId: attributeBuffer
index: 1
- nameId: sourceAttributeBuffer
index: 5
- nameId: deadList
index: 6
- nameId: deadListCount
index: 7
- nameId: spawner_input
index: 1
- nameId: indirectBuffer
index: 8
- nameId: sortBufferA
index: 9
- nameId: sortBufferB
index: 10
values:
- nameId: bounds_center
index: 42
- nameId: bounds_size
index: 43
tasks:
- type: 536870912
buffers:
- nameId: attributeBuffer
index: 1
- nameId: deadListIn
index: 6
- nameId: deadListCount
index: 7
- nameId: sourceAttributeBuffer
index: 5
temporaryBuffers: []
values: []
params:
- nameId: bounds_center
index: 42
- nameId: bounds_size
index: 43
processor: {fileID: 0}
shaderSourceIndex: 4
- type: 805306368
buffers:
- nameId: attributeBuffer
index: 1
- nameId: deadListOut
index: 6
- nameId: indirectBuffer
index: 8
temporaryBuffers: []
values:
- nameId: uniform_b
index: 17
- nameId: deltaTime_b
index: 56
params: []
processor: {fileID: 0}
shaderSourceIndex: 3
- type: 805306369
buffers:
- nameId: attributeBuffer
index: 1
- nameId: inputBuffer
index: 8
- nameId: outputBuffer
index: 9
- nameId: deadListCount
index: 7
temporaryBuffers: []
values:
- nameId: localToWorld
index: 60
params: []
processor: {fileID: 0}
shaderSourceIndex: 8
- type: 1073741828
buffers:
- nameId: attributeBuffer
index: 1
temporaryBuffers: []
values:
- nameId: Alpha_a
index: 34
- nameId: uvBias
index: 32
- nameId: distortionBlurMap
index: 31
params:
- nameId: mesh
index: 44
- nameId: subMeshMask
index: 45
- nameId: sortPriority
index: 0
processor: {fileID: 0}
shaderSourceIndex: 5
- type: 1073741826
buffers:
- nameId: attributeBuffer
index: 1
- nameId: indirectBuffer
index: 8
- nameId: deadListCount
index: 7
temporaryBuffers: []
values:
- nameId: Alpha_b
index: 35
- nameId: mainTexture
index: 27
params:
- nameId: sortPriority
index: 0
- nameId: indirectDraw
index: 1
processor: {fileID: 0}
shaderSourceIndex: 6
- type: 1073741826
buffers:
- nameId: attributeBuffer
index: 1
temporaryBuffers: []
values:
- nameId: gradient_b
index: 25
- nameId: mainTexture
index: 55
params:
- nameId: sortPriority
index: 0
processor: {fileID: 0}
shaderSourceIndex: 7
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7d4c867f6b72b714dbb5fd1780afe208, type: 3}
m_Name: ShipCore-PowerDown
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 4}
- {fileID: 8}
- {fileID: 9}
- {fileID: 44}
- {fileID: 86}
- {fileID: 100}
- {fileID: 104}
- {fileID: 108}
- {fileID: 121}
- {fileID: 140}
- {fileID: 148}
- {fileID: 156}
- {fileID: 162}
- {fileID: 166}
- {fileID: 168}
- {fileID: 172}
- {fileID: 174}
- {fileID: 178}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_UIInfos: {fileID: 3}
m_ParameterInfo: []
m_GraphVersion: 4
m_saved: 1
m_SubgraphDependencies: []
m_CategoryPath:
--- !u!114 &3
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d01270efd3285ea4a9d6c555cb0a8027, type: 3}
m_Name:
m_EditorClassIdentifier:
groupInfos: []
stickyNoteInfos: []
systemInfos: []
categories: []
uiBounds:
serializedVersion: 2
x: 10047
y: -4897
width: 2657
height: 3610
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 73a13919d81fb7444849bae8b5c812a2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 5}
m_UIPosition: {x: 10860, y: -4014}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Label:
m_Data: {fileID: 0}
m_InputFlowSlot:
- link:
- context: {fileID: 8}
slotIndex: 0
- link: []
m_OutputFlowSlot:
- link:
- context: {fileID: 108}
slotIndex: 0
loopDuration: 0
loopCount: 0
delayBeforeLoop: 0
delayAfterLoop: 0
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5e382412bb691334bb79457a6c127924, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 4}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 6}
- {fileID: 7}
m_OutputSlots: []
m_Disabled: 0
repeat: 0
spawnMode: 0
delayMode: 0
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 6}
m_MasterData:
m_Owner: {fileID: 5}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 1
m_Space: 2147483647
m_Property:
name: Count
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the number of particles to be spawned with each burst.
m_Regex:
m_RegexMaxLength: 0
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &7
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 7}
m_MasterData:
m_Owner: {fileID: 5}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: Delay
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the delay in seconds between each burst.
m_Regex:
m_RegexMaxLength: 0
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2461f61b3c026d54db1951a4e17ab20e, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 11273, y: -4897}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Label:
m_Data: {fileID: 0}
m_InputFlowSlot:
- link: []
m_OutputFlowSlot:
- link:
- context: {fileID: 4}
slotIndex: 0
- context: {fileID: 100}
slotIndex: 0
eventName: PowerDown
--- !u!114 &9
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9dfea48843f53fc438eabc12a3a30abc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 20}
- {fileID: 21}
- {fileID: 24}
- {fileID: 33}
- {fileID: 36}
m_UIPosition: {x: 11930, y: -3952}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 10}
m_OutputSlots: []
m_Label:
m_Data: {fileID: 19}
m_InputFlowSlot:
- link:
- context: {fileID: 100}
slotIndex: 0
m_OutputFlowSlot:
- link:
- context: {fileID: 44}
slotIndex: 0
--- !u!114 &10
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 11}
- {fileID: 15}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 9}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":1.0,"y":1.0,"z":1.0}}'
m_Space: 0
m_Property:
name: bounds
m_serializedType:
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The culling bounds of this system. The Visual Effect is only visible
if the bounding box specified here is visible to the camera.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &11
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 10}
m_Children:
- {fileID: 12}
- {fileID: 13}
- {fileID: 14}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the box.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &12
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 11}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &13
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 11}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &14
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 11}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &15
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 10}
m_Children:
- {fileID: 16}
- {fileID: 17}
- {fileID: 18}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: size
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the size of the box along each axis.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &16
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 15}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &17
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 15}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &18
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 15}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 10}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &19
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d78581a96eae8bf4398c282eb0b098bd, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
title:
m_Owners:
- {fileID: 9}
- {fileID: 44}
- {fileID: 86}
dataType: 0
capacity: 64000
stripCapacity: 16
particlePerStripCount: 16
m_Space: 0
--- !u!114 &20
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 9}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Disabled: 1
attribute: position
Composition: 0
Source: 1
Random: 0
channels: 6
--- !u!114 &21
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 9}
m_Children: []
m_UIPosition: {x: 0, y: 42}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 22}
- {fileID: 23}
m_OutputSlots: []
m_Disabled: 0
attribute: lifetime
Composition: 0
Source: 0
Random: 2
channels: 6
--- !u!114 &22
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 22}
m_MasterData:
m_Owner: {fileID: 21}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.5
m_Space: 2147483647
m_Property:
name: A
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: "Indicates how long the particle can stay alive. If the particle\u2019s
age exceeds its lifetime, the particle is destroyed."
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &23
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 23}
m_MasterData:
m_Owner: {fileID: 21}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 11
m_Space: 2147483647
m_Property:
name: B
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: "Indicates how long the particle can stay alive. If the particle\u2019s
age exceeds its lifetime, the particle is destroyed."
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &24
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47b4ca114d6538548942a32238cf630d, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 9}
m_Children: []
m_UIPosition: {x: 0, y: 135}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 25}
m_OutputSlots: []
m_Disabled: 0
positionMode: 0
spawnMode: 0
--- !u!114 &25
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 26}
- {fileID: 32}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 24}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.ArcSphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"sphere":{"center":{"x":0.0,"y":0.0,"z":0.0},"radius":3.5},"arc":6.2831854820251469}'
m_Space: 0
m_Property:
name: ArcSphere
m_serializedType:
m_SerializableType: UnityEditor.VFX.ArcSphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the sphere used for positioning the particles.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &26
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 25}
m_Children:
- {fileID: 27}
- {fileID: 31}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: sphere
m_serializedType:
m_SerializableType: UnityEditor.VFX.Sphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &27
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 26}
m_Children:
- {fileID: 28}
- {fileID: 29}
- {fileID: 30}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &28
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 27}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &29
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 27}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &30
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 27}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &31
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 26}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: radius
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the radius of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &32
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 25}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 25}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: arc
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 4
m_Min: -Infinity
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 0
m_Min: 0
m_Max: 6.2831855
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Controls how much of the sphere is used. The value is in radians.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &33
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 9}
m_Children: []
m_UIPosition: {x: 0, y: 334}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 34}
- {fileID: 35}
m_OutputSlots: []
m_Disabled: 0
attribute: size
Composition: 0
Source: 0
Random: 2
channels: 0
--- !u!114 &34
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 34}
m_MasterData:
m_Owner: {fileID: 33}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.05
m_Space: 2147483647
m_Property:
name: A
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The uniform size of the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &35
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 35}
m_MasterData:
m_Owner: {fileID: 33}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.1
m_Space: 2147483647
m_Property:
name: B
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The uniform size of the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &36
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 92b80e8cb44326640b88bb8cddd23c0b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 9}
m_Children: []
m_UIPosition: {x: 0, y: 427}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 37}
- {fileID: 41}
- {fileID: 42}
- {fileID: 43}
m_OutputSlots: []
m_Disabled: 0
composition: 1
speedMode: 1
--- !u!114 &37
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 38}
- {fileID: 39}
- {fileID: 40}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 37}
m_MasterData:
m_Owner: {fileID: 36}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"x":0.0,"y":0.0,"z":0.0}'
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the spherical direction. Particles will move
outwards from this position.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &38
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 37}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 37}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &39
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 37}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 37}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &40
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 37}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 37}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &41
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 41}
m_MasterData:
m_Owner: {fileID: 36}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 12
m_Space: 2147483647
m_Property:
name: MinSpeed
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the minimum speed by which the particles will move in the new
direction.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &42
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 42}
m_MasterData:
m_Owner: {fileID: 36}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 128
m_Space: 2147483647
m_Property:
name: MaxSpeed
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the maximum speed by which the particles will move in the new
direction.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &43
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 43}
m_MasterData:
m_Owner: {fileID: 36}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.5
m_Space: 2147483647
m_Property:
name: DirectionBlend
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Controls the blend between the original emission direction and the
new direction.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &44
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2dc095764ededfa4bb32fa602511ea4b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 46}
- {fileID: 63}
- {fileID: 74}
- {fileID: 76}
m_UIPosition: {x: 12312, y: -2924}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Label:
m_Data: {fileID: 19}
m_InputFlowSlot:
- link:
- context: {fileID: 9}
slotIndex: 0
m_OutputFlowSlot:
- link:
- context: {fileID: 86}
slotIndex: 0
integration: 0
angularIntegration: 0
ageParticles: 1
reapParticles: 1
--- !u!114 &46
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b5ef41639278ae84eac41b1850137685, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 44}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 47}
- {fileID: 48}
- {fileID: 61}
- {fileID: 62}
m_OutputSlots: []
m_Disabled: 0
DataEncoding: 0
Mode: 1
ClosedField: 0
ConserveMagnitude: 0
--- !u!114 &47
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ef9ecf819143d0a439c558ab8e84fce7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 47}
m_MasterData:
m_Owner: {fileID: 46}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Texture3D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":11700000,"guid":"08937e3134903c5488be506a2dac71e9","type":2}}'
m_Space: 2147483647
m_Property:
name: VectorField
m_serializedType:
m_SerializableType: UnityEngine.Texture3D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the vector field used to apply force to the particles.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &48
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a4dabe497818b98468b0ebebf7de6583, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 49}
- {fileID: 53}
- {fileID: 57}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 46}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.OrientedBox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"angles":{"x":0.0,"y":90.0,"z":0.0},"size":{"x":7.0,"y":7.0,"z":7.0}}'
m_Space: 0
m_Property:
name: FieldTransform
m_serializedType:
m_SerializableType: UnityEditor.VFX.OrientedBox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the transform with which to position, scale, or rotate the
field.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &49
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 48}
m_Children:
- {fileID: 50}
- {fileID: 51}
- {fileID: 52}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the box.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &50
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 49}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &51
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 49}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &52
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 49}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &53
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 48}
m_Children:
- {fileID: 54}
- {fileID: 55}
- {fileID: 56}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: angles
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 4
m_Min: -Infinity
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the orientation of the box.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &54
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 53}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &55
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 53}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots:
- {fileID: 161}
--- !u!114 &56
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 53}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &57
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 48}
m_Children:
- {fileID: 58}
- {fileID: 59}
- {fileID: 60}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: size
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the size of the box along each axis.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &58
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 57}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &59
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 57}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &60
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 57}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 48}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &61
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 61}
m_MasterData:
m_Owner: {fileID: 46}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 7
m_Space: 2147483647
m_Property:
name: Intensity
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the intensity of the field. Higher values increase the particle
velocity.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &62
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 62}
m_MasterData:
m_Owner: {fileID: 46}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 3
m_Space: 2147483647
m_Property:
name: Drag
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the drag coefficient. Higher drag leads to a stronger force
influence over the particle velocity.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &63
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a58e066cb558cf41a5b79a0095f6bbc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 44}
m_Children: []
m_UIPosition: {x: 0, y: 292}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 64}
- {fileID: 70}
- {fileID: 71}
- {fileID: 72}
- {fileID: 73}
m_OutputSlots: []
m_Disabled: 0
--- !u!114 &64
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 65}
- {fileID: 69}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 64}
m_MasterData:
m_Owner: {fileID: 63}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.Sphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"radius":1.0}'
m_Space: 0
m_Property:
name: Sphere
m_serializedType:
m_SerializableType: UnityEditor.VFX.Sphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the sphere to which particles can conform.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &65
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 64}
m_Children:
- {fileID: 66}
- {fileID: 67}
- {fileID: 68}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 64}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &66
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 65}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 64}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &67
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 65}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 64}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &68
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 65}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 64}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &69
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 64}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 64}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: radius
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the radius of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &70
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 70}
m_MasterData:
m_Owner: {fileID: 63}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 5
m_Space: 2147483647
m_Property:
name: attractionSpeed
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the speed with which particles are attracted towards the surface
of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &71
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 71}
m_MasterData:
m_Owner: {fileID: 63}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 20
m_Space: 2147483647
m_Property:
name: attractionForce
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the strength of the force pulling particles towards the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &72
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 72}
m_MasterData:
m_Owner: {fileID: 63}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.1
m_Space: 2147483647
m_Property:
name: stickDistance
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the distance at which particles attempt to stick to the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &73
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 73}
m_MasterData:
m_Owner: {fileID: 63}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 50
m_Space: 2147483647
m_Property:
name: stickForce
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the strength of the force keeping particles on the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &74
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b294673e879f9cf449cc9de536818ea9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 44}
m_Children: []
m_UIPosition: {x: 0, y: 439}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 75}
m_OutputSlots: []
m_Disabled: 0
UseParticleSize: 1
--- !u!114 &75
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 75}
m_MasterData:
m_Owner: {fileID: 74}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 2000
m_Space: 2147483647
m_Property:
name: dragCoefficient
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the drag coefficient. Higher drag forces particles to slow
down more.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &76
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a1046201700a4ae428a525579e74b99e, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 44}
m_Children: []
m_UIPosition: {x: 0, y: 548}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 77}
- {fileID: 180}
- {fileID: 84}
- {fileID: 85}
m_OutputSlots: []
m_Disabled: 0
mode: 0
radiusMode: 0
roughSurface: 0
--- !u!114 &77
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 78}
- {fileID: 82}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 77}
m_MasterData:
m_Owner: {fileID: 76}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.Sphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"radius":1.0}'
m_Space: 0
m_Property:
name: Sphere
m_serializedType:
m_SerializableType: UnityEditor.VFX.Sphere, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the sphere with which particles can collide.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &78
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 77}
m_Children:
- {fileID: 79}
- {fileID: 80}
- {fileID: 81}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 77}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &79
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 78}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 77}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &80
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 78}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 77}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &81
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 78}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 77}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &82
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 77}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 77}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: radius
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the radius of the sphere.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 165}
--- !u!114 &84
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 84}
m_MasterData:
m_Owner: {fileID: 76}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: Friction
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets how much speed is lost after a collision.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &85
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 85}
m_MasterData:
m_Owner: {fileID: 76}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: LifetimeLoss
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: "Sets what proportion of a particle\u2019s life is lost after a
collision."
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &86
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0b9e6b9139e58d4c957ec54595da7d3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 91}
- {fileID: 97}
- {fileID: 99}
m_UIPosition: {x: 12233, y: -1930}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 88}
- {fileID: 87}
m_OutputSlots: []
m_Label:
m_Data: {fileID: 19}
m_InputFlowSlot:
- link:
- context: {fileID: 44}
slotIndex: 0
m_OutputFlowSlot:
- link: []
blendMode: 0
useAlphaClipping: 0
generateMotionVector: 0
m_SubOutputs:
- {fileID: 96}
cullMode: 0
zWriteMode: 0
zTestMode: 0
colorMapping: 1
uvMode: 0
useSoftParticle: 0
sortPriority: 0
sort: 0
indirectDraw: 0
castShadows: 0
useExposureWeight: 0
shaderGraph: {fileID: 0}
shadergraphGUID:
primitiveType: 1
useGeometryShader: 0
--- !u!114 &87
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 87}
m_MasterData:
m_Owner: {fileID: 86}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"49cb5aa34272b034d8b754c65d9cdbfa","type":3}}'
m_Space: 2147483647
m_Property:
name: mainTexture
m_serializedType:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Specifies the base color (RGB) and opacity (A) of the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &88
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76f778ff57c4e8145b9681fe3268d8e9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 88}
m_MasterData:
m_Owner: {fileID: 86}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"colorKeys":[{"color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"time":0.0},{"color":{"r":0.05481502413749695,"g":0.03818085417151451,"b":0.20754718780517579,"a":1.0},"time":0.16879530251026154},{"color":{"r":0.27843010425567629,"g":0.18823526799678803,"b":0.8196078538894653,"a":1.0},"time":0.3772335350513458},{"color":{"r":0.34845593571662905,"g":0.6161975264549255,"b":1.3431391716003419,"a":1.0},"time":0.5537041425704956},{"color":{"r":0.5235183238983154,"g":1.0961432456970215,"b":1.7239999771118165,"a":1.0},"time":0.7736629247665405},{"color":{"r":2.315000057220459,"g":2.0287041664123537,"b":1.5029319524765015,"a":1.0},"time":1.0}],"alphaKeys":[{"alpha":1.0,"time":0.0},{"alpha":1.0,"time":1.0}],"gradientMode":0}'
m_Space: 2147483647
m_Property:
name: gradient
m_serializedType:
m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The gradient used to sample color
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &91
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 86}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 92}
m_OutputSlots: []
m_Disabled: 0
attribute: scale
Composition: 0
Source: 0
Random: 0
channels: 6
--- !u!114 &92
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 93}
- {fileID: 94}
- {fileID: 95}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 92}
m_MasterData:
m_Owner: {fileID: 91}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"x":0.5,"y":4.0,"z":1.0}'
m_Space: 2147483647
m_Property:
name: Scale
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &93
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 92}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 92}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &94
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 92}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 92}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots:
- {fileID: 177}
--- !u!114 &95
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 92}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 92}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &96
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
opaqueRenderQueue: 0
transparentRenderQueue: 1
--- !u!114 &97
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01ec2c1930009b04ea08905b47262415, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 86}
m_Children: []
m_UIPosition: {x: 0, y: 163}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 98}
m_OutputSlots: []
m_Disabled: 0
attribute: color
Composition: 0
AlphaComposition: 0
SampleMode: 0
Mode: 1
ColorMode: 3
channels: 6
--- !u!114 &98
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76f778ff57c4e8145b9681fe3268d8e9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 98}
m_MasterData:
m_Owner: {fileID: 97}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"colorKeys":[{"color":{"r":28.518949508666993,"g":28.518949508666993,"b":28.518949508666993,"a":1.0},"time":0.0},{"color":{"r":0.8305626511573792,"g":0.8305626511573792,"b":0.8305626511573792,"a":1.0},"time":0.07032883167266846},{"color":{"r":0.5,"g":0.5,"b":0.5,"a":1.0},"time":1.0}],"alphaKeys":[{"alpha":1.0,"time":0.0},{"alpha":0.9750639200210571,"time":0.09846647083759308},{"alpha":0.800000011920929,"time":0.4948805868625641},{"alpha":0.0,"time":1.0}],"gradientMode":0}'
m_Space: 2147483647
m_Property:
name: Color
m_serializedType:
m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &99
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d16c6aeaef944094b9a1633041804207, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 86}
m_Children: []
m_UIPosition: {x: 0, y: 290}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Disabled: 0
mode: 6
axes: 4
--- !u!114 &100
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 73a13919d81fb7444849bae8b5c812a2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 101}
m_UIPosition: {x: 12082, y: -4362}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Label:
m_Data: {fileID: 0}
m_InputFlowSlot:
- link:
- context: {fileID: 8}
slotIndex: 0
- link: []
m_OutputFlowSlot:
- link:
- context: {fileID: 9}
slotIndex: 0
loopDuration: 0
loopCount: 0
delayBeforeLoop: 0
delayAfterLoop: 0
--- !u!114 &101
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5e382412bb691334bb79457a6c127924, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 100}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 102}
- {fileID: 103}
m_OutputSlots: []
m_Disabled: 0
repeat: 0
spawnMode: 0
delayMode: 0
--- !u!114 &102
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 102}
m_MasterData:
m_Owner: {fileID: 101}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 64000
m_Space: 2147483647
m_Property:
name: Count
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the number of particles to be spawned with each burst.
m_Regex:
m_RegexMaxLength: 0
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &103
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 103}
m_MasterData:
m_Owner: {fileID: 101}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: Delay
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the delay in seconds between each burst.
m_Regex:
m_RegexMaxLength: 0
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &104
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2dc095764ededfa4bb32fa602511ea4b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 106}
m_UIPosition: {x: 10877, y: -3216}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Label:
m_Data: {fileID: 118}
m_InputFlowSlot:
- link:
- context: {fileID: 108}
slotIndex: 0
m_OutputFlowSlot:
- link:
- context: {fileID: 121}
slotIndex: 0
- context: {fileID: 140}
slotIndex: 0
- context: {fileID: 148}
slotIndex: 0
integration: 0
angularIntegration: 0
ageParticles: 1
reapParticles: 1
--- !u!114 &106
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 104}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 107}
m_OutputSlots: []
m_Disabled: 0
attribute: size
Composition: 0
Source: 0
Random: 0
channels: 6
--- !u!114 &107
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 107}
m_MasterData:
m_Owner: {fileID: 106}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.1
m_Space: 2147483647
m_Property:
name: Size
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The uniform size of the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 171}
--- !u!114 &108
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9dfea48843f53fc438eabc12a3a30abc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 119}
m_UIPosition: {x: 10867, y: -3509}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 109}
m_OutputSlots: []
m_Label:
m_Data: {fileID: 118}
m_InputFlowSlot:
- link:
- context: {fileID: 4}
slotIndex: 0
m_OutputFlowSlot:
- link:
- context: {fileID: 104}
slotIndex: 0
--- !u!114 &109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 110}
- {fileID: 114}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 108}
m_Value:
m_Type:
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"center":{"x":0.0,"y":1.0,"z":0.0},"size":{"x":2.0,"y":3.0,"z":2.0}}'
m_Space: 0
m_Property:
name: bounds
m_serializedType:
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The culling bounds of this system. The Visual Effect is only visible
if the bounding box specified here is visible to the camera.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &110
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 109}
m_Children:
- {fileID: 111}
- {fileID: 112}
- {fileID: 113}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: center
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the center of the box.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &111
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 110}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &112
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 110}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &113
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 110}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &114
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac39bd03fca81b849929b9c966f1836a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 109}
m_Children:
- {fileID: 115}
- {fileID: 116}
- {fileID: 117}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: size
m_serializedType:
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the size of the box along each axis.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &115
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 114}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &116
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 114}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &117
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 114}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 109}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: z
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &118
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d78581a96eae8bf4398c282eb0b098bd, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
title:
m_Owners:
- {fileID: 108}
- {fileID: 104}
- {fileID: 121}
- {fileID: 140}
- {fileID: 148}
dataType: 0
capacity: 1
stripCapacity: 16
particlePerStripCount: 16
m_Space: 0
--- !u!114 &119
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a971fa2e110a0ac42ac1d8dae408704b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 108}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 120}
m_OutputSlots: []
m_Disabled: 0
attribute: lifetime
Composition: 0
Source: 0
Random: 0
channels: 6
--- !u!114 &120
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 120}
m_MasterData:
m_Owner: {fileID: 119}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 4
m_Space: 2147483647
m_Property:
name: Lifetime
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: "Indicates how long the particle can stay alive. If the particle\u2019s
age exceeds its lifetime, the particle is destroyed."
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &121
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2b5748c219d076d47bc5afd693a2b398, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 137}
m_UIPosition: {x: 10411, y: -2898}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 122}
- {fileID: 123}
- {fileID: 124}
- {fileID: 127}
- {fileID: 130}
- {fileID: 131}
- {fileID: 134}
m_OutputSlots: []
m_Label:
m_Data: {fileID: 118}
m_InputFlowSlot:
- link:
- context: {fileID: 104}
slotIndex: 0
m_OutputFlowSlot:
- link: []
blendMode: 0
useAlphaClipping: 0
generateMotionVector: 0
m_SubOutputs:
- {fileID: 139}
cullMode: 0
zWriteMode: 0
zTestMode: 0
colorMapping: 0
uvMode: 3
useSoftParticle: 0
sortPriority: 0
sort: 0
indirectDraw: 0
castShadows: 0
useExposureWeight: 0
distortionMode: 0
scaleByDistance: 0
--- !u!114 &122
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b47b8679b468b7347a00cdd50589bc9f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 122}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":10207,"guid":"0000000000000000e000000000000000","type":0}}'
m_Space: 2147483647
m_Property:
name: mesh
m_serializedType:
m_SerializableType: UnityEngine.Mesh, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Specifies the mesh used to render the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &123
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c52d920e7fff73b498050a6b3c4404ca, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 123}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 4294967295
m_Space: 2147483647
m_Property:
name: subMeshMask
m_serializedType:
m_SerializableType: System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Defines a bitmask to control which submeshes are rendered.
m_Regex:
m_RegexMaxLength: 0
- m_Type: 8
m_Min: -Infinity
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &124
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b2b751071c7fc14f9fa503163991826, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 125}
- {fileID: 126}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 124}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"x":1.0,"y":3.0}'
m_Space: 2147483647
m_Property:
name: uvScale
m_serializedType:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &125
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 124}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 124}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &126
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 124}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 124}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &127
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b2b751071c7fc14f9fa503163991826, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 128}
- {fileID: 129}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 127}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"x":0.0,"y":0.0}'
m_Space: 2147483647
m_Property:
name: uvBias
m_serializedType:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &128
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 127}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 127}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots:
- {fileID: 173}
--- !u!114 &129
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 127}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 127}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &130
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 130}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"1d8481de16af723418a688958c41224b","type":3}}'
m_Space: 2147483647
m_Property:
name: distortionBlurMap
m_serializedType:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: 'Distortion Map: RG for Distortion (centered on .5 gray), B for
Blur Mask.'
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &131
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b2b751071c7fc14f9fa503163991826, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 132}
- {fileID: 133}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 131}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"x":16.0,"y":16.0}'
m_Space: 2147483647
m_Property:
name: distortionScale
m_serializedType:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Screen-Space Distortion Scale
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &132
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 131}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 131}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &133
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 131}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 131}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &134
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 134}
m_MasterData:
m_Owner: {fileID: 121}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.1
m_Space: 2147483647
m_Property:
name: blurScale
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Distortion Blur Scale
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &137
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01ec2c1930009b04ea08905b47262415, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 121}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 138}
m_OutputSlots: []
m_Disabled: 0
attribute: alpha
Composition: 0
AlphaComposition: 0
SampleMode: 0
Mode: 1
ColorMode: 3
channels: 6
--- !u!114 &138
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c117b74c5c58db542bffe25c78fe92db, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 138}
m_MasterData:
m_Owner: {fileID: 137}
m_Value:
m_Type:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"frames":[{"time":0.5007681846618652,"value":0.9982311725616455,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":1.0,"value":0.0,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false}],"preWrapMode":8,"postWrapMode":8,"version":1}'
m_Space: 2147483647
m_Property:
name: Alpha
m_serializedType:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &139
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
opaqueRenderQueue: 0
transparentRenderQueue: 1
--- !u!114 &140
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0b9e6b9139e58d4c957ec54595da7d3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 144}
- {fileID: 146}
m_UIPosition: {x: 10813, y: -2897}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 141}
m_OutputSlots: []
m_Label:
m_Data: {fileID: 118}
m_InputFlowSlot:
- link:
- context: {fileID: 104}
slotIndex: 0
m_OutputFlowSlot:
- link: []
blendMode: 1
useAlphaClipping: 0
generateMotionVector: 0
m_SubOutputs:
- {fileID: 145}
cullMode: 0
zWriteMode: 0
zTestMode: 0
colorMapping: 0
uvMode: 0
useSoftParticle: 0
sortPriority: 0
sort: 0
indirectDraw: 0
castShadows: 0
useExposureWeight: 0
shaderGraph: {fileID: 0}
shadergraphGUID:
primitiveType: 1
useGeometryShader: 0
--- !u!114 &141
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 141}
m_MasterData:
m_Owner: {fileID: 140}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"f1fca8903cd16a94cb202da8ada6e10e","type":3}}'
m_Space: 2147483647
m_Property:
name: mainTexture
m_serializedType:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Specifies the base color (RGB) and opacity (A) of the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &144
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d16c6aeaef944094b9a1633041804207, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 140}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Disabled: 0
mode: 0
axes: 4
--- !u!114 &145
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
opaqueRenderQueue: 0
transparentRenderQueue: 1
--- !u!114 &146
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01ec2c1930009b04ea08905b47262415, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 140}
m_Children: []
m_UIPosition: {x: 0, y: 76}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 147}
m_OutputSlots: []
m_Disabled: 0
attribute: alpha
Composition: 0
AlphaComposition: 0
SampleMode: 0
Mode: 1
ColorMode: 3
channels: 6
--- !u!114 &147
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c117b74c5c58db542bffe25c78fe92db, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 147}
m_MasterData:
m_Owner: {fileID: 146}
m_Value:
m_Type:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"frames":[{"time":0.5007681846618652,"value":0.8577396869659424,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":1.0,"value":0.0,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false}],"preWrapMode":8,"postWrapMode":8,"version":1}'
m_Space: 2147483647
m_Property:
name: Alpha
m_serializedType:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &148
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0b9e6b9139e58d4c957ec54595da7d3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children:
- {fileID: 152}
- {fileID: 154}
m_UIPosition: {x: 11207, y: -2894}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 149}
m_OutputSlots: []
m_Label:
m_Data: {fileID: 118}
m_InputFlowSlot:
- link:
- context: {fileID: 104}
slotIndex: 0
m_OutputFlowSlot:
- link: []
blendMode: 0
useAlphaClipping: 0
generateMotionVector: 0
m_SubOutputs:
- {fileID: 153}
cullMode: 0
zWriteMode: 0
zTestMode: 0
colorMapping: 0
uvMode: 0
useSoftParticle: 0
sortPriority: 0
sort: 0
indirectDraw: 0
castShadows: 0
useExposureWeight: 0
shaderGraph: {fileID: 0}
shadergraphGUID:
primitiveType: 1
useGeometryShader: 0
--- !u!114 &149
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 149}
m_MasterData:
m_Owner: {fileID: 148}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"7d27e4538f7899c4d8b1a4b0712b77e1","type":3}}'
m_Space: 2147483647
m_Property:
name: mainTexture
m_serializedType:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Specifies the base color (RGB) and opacity (A) of the particle.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &152
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d16c6aeaef944094b9a1633041804207, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 148}
m_Children: []
m_UIPosition: {x: 0, y: 2}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots: []
m_Disabled: 0
mode: 0
axes: 4
--- !u!114 &153
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 081ffb0090424ba4cb05370a42ead6b9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
opaqueRenderQueue: 0
transparentRenderQueue: 1
--- !u!114 &154
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 956b68870e880b144bab17e5aa6e7e94, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 148}
m_Children: []
m_UIPosition: {x: 0, y: 76}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 155}
m_OutputSlots: []
m_Disabled: 0
mode: 3
ColorComposition: 2
AlphaComposition: 2
--- !u!114 &155
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76f778ff57c4e8145b9681fe3268d8e9, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 155}
m_MasterData:
m_Owner: {fileID: 154}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"colorKeys":[{"color":{"r":8.90170669555664,"g":83.14049530029297,"b":106.26414489746094,"a":1.0},"time":0.001281757839024067},{"color":{"r":0.0,"g":4.408803462982178,"b":8.809244155883789,"a":1.0},"time":0.12404058873653412},{"color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"time":1.0}],"alphaKeys":[{"alpha":1.0,"time":0.0},{"alpha":0.9577465057373047,"time":0.7764706015586853},{"alpha":0.0,"time":1.0}],"gradientMode":0}'
m_Space: 2147483647
m_Property:
name: gradient
m_serializedType:
m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The over-life Gradient
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &156
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 271b8023195cb2f4d9eab1fface2b8fb, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 11925, y: -2746}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 157}
- {fileID: 158}
m_OutputSlots:
- {fileID: 161}
--- !u!114 &157
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 157}
m_MasterData:
m_Owner: {fileID: 156}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 12
m_Space: 2147483647
m_Property:
name: Period
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the period of time to be looped over (in seconds).
m_Regex:
m_RegexMaxLength: 0
- m_Type: 1
m_Min: 0.001
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &158
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b2b751071c7fc14f9fa503163991826, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children:
- {fileID: 159}
- {fileID: 160}
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 158}
m_MasterData:
m_Owner: {fileID: 156}
m_Value:
m_Type:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"x":0.0,"y":360.0}'
m_Space: 2147483647
m_Property:
name: Range
m_serializedType:
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the output value range interpolated over the period of time.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &159
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 158}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 158}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: x
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &160
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 158}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 158}
m_MasterData:
m_Owner: {fileID: 0}
m_Value:
m_Type:
m_SerializableType:
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: y
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &161
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 161}
m_MasterData:
m_Owner: {fileID: 156}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: t
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Outputs the current time within the specified time period.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 1
m_LinkedSlots:
- {fileID: 55}
--- !u!114 &162
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f8bcc906a6d398c46b18826714448709, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 10364, y: -2002}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 163}
- {fileID: 164}
m_OutputSlots:
- {fileID: 165}
--- !u!114 &163
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c117b74c5c58db542bffe25c78fe92db, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 163}
m_MasterData:
m_Owner: {fileID: 162}
m_Value:
m_Type:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"frames":[{"time":0.0,"value":0.0,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":0.25,"value":4.948978424072266,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":1.0,"value":0.0,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false}],"preWrapMode":8,"postWrapMode":8,"version":1}'
m_Space: 2147483647
m_Property:
name: curve
m_serializedType:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the curve to sample from.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &164
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 164}
m_MasterData:
m_Owner: {fileID: 162}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: time
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the time along the curve to take a sample from.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 167}
--- !u!114 &165
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 165}
m_MasterData:
m_Owner: {fileID: 162}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: s
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Outputs the sampled value from the curve at the specified time.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 1
m_LinkedSlots:
- {fileID: 82}
--- !u!114 &166
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 486e063e1ed58c843942ea4122829ab1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 10047, y: -2017}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots:
- {fileID: 167}
attribute: age
location: 0
mask: xyz
--- !u!114 &167
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 167}
m_MasterData:
m_Owner: {fileID: 166}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: age
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: "The age of the particle. If a particle\u2019s age exceeds its lifetime,
it gets destroyed."
m_Regex:
m_RegexMaxLength: 0
m_Direction: 1
m_LinkedSlots:
- {fileID: 164}
- {fileID: 170}
--- !u!114 &168
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f8bcc906a6d398c46b18826714448709, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 10099, y: -3033}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 169}
- {fileID: 170}
m_OutputSlots:
- {fileID: 171}
--- !u!114 &169
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c117b74c5c58db542bffe25c78fe92db, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 169}
m_MasterData:
m_Owner: {fileID: 168}
m_Value:
m_Type:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"frames":[{"time":0.0,"value":0.0,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":0.25,"value":9.284997940063477,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":3.55900239944458,"value":5.021359443664551,"inTangent":-3.2987749576568605,"outTangent":-3.2987749576568605,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false}],"preWrapMode":8,"postWrapMode":8,"version":1}'
m_Space: 2147483647
m_Property:
name: curve
m_serializedType:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the curve to sample from.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &170
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 170}
m_MasterData:
m_Owner: {fileID: 168}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: time
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the time along the curve to take a sample from.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 167}
--- !u!114 &171
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 171}
m_MasterData:
m_Owner: {fileID: 168}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: s
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Outputs the sampled value from the curve at the specified time.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 1
m_LinkedSlots:
- {fileID: 107}
--- !u!114 &172
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7d33fb94df928ef4c986f97607706b82, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 10265, y: -2667}
m_UICollapsed: 0
m_UISuperCollapsed: 1
m_InputSlots: []
m_OutputSlots:
- {fileID: 173}
m_expressionOp: 7
--- !u!114 &173
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 173}
m_MasterData:
m_Owner: {fileID: 172}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject:
m_Space: 2147483647
m_Property:
name: TotalTime
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes: []
m_Direction: 1
m_LinkedSlots:
- {fileID: 128}
--- !u!114 &174
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f8bcc906a6d398c46b18826714448709, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 11980, y: -1604}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots:
- {fileID: 175}
- {fileID: 176}
m_OutputSlots:
- {fileID: 177}
--- !u!114 &175
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c117b74c5c58db542bffe25c78fe92db, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 175}
m_MasterData:
m_Owner: {fileID: 174}
m_Value:
m_Type:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"frames":[{"time":0.0,"value":13.432011604309082,"inTangent":-12.97698974609375,"outTangent":-12.97698974609375,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":1.0674259662628174,"value":6.6903533935546879,"inTangent":-2.5035204887390138,"outTangent":-2.5035204887390138,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false},{"time":2.4490861892700197,"value":4.94145393371582,"inTangent":0.0,"outTangent":0.0,"tangentMode":0,"leftTangentMode":0,"rightTangentMode":0,"broken":false}],"preWrapMode":8,"postWrapMode":8,"version":1}'
m_Space: 2147483647
m_Property:
name: curve
m_serializedType:
m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the curve to sample from.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &176
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 176}
m_MasterData:
m_Owner: {fileID: 174}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: time
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets the time along the curve to take a sample from.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 179}
--- !u!114 &177
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 177}
m_MasterData:
m_Owner: {fileID: 174}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: s
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Outputs the sampled value from the curve at the specified time.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 1
m_LinkedSlots:
- {fileID: 94}
--- !u!114 &178
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 486e063e1ed58c843942ea4122829ab1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 2}
m_Children: []
m_UIPosition: {x: 11679, y: -1602}
m_UICollapsed: 0
m_UISuperCollapsed: 0
m_InputSlots: []
m_OutputSlots:
- {fileID: 179}
attribute: age
location: 0
mask: xyz
--- !u!114 &179
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 179}
m_MasterData:
m_Owner: {fileID: 178}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0
m_Space: 2147483647
m_Property:
name: age
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: "The age of the particle. If a particle\u2019s age exceeds its lifetime,
it gets destroyed."
m_Regex:
m_RegexMaxLength: 0
m_Direction: 1
m_LinkedSlots:
- {fileID: 176}
--- !u!114 &180
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 180}
m_MasterData:
m_Owner: {fileID: 76}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.1
m_Space: 2147483647
m_Property:
name: Bounce
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: Sets how much bounce to apply after a collision.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []