Version = 1.9.4.30080; CParticleEffect $LOCAL$/Resource { EditorInfosPosition = int2(73, 52); OnSpawn = "$LOCAL$/Spawner"; CustomAttributes = "$LOCAL$/_GlobalAttributes"; Autostart = true; } CActionFactoryParticleSpawnerBase $LOCAL$/LED { EditorInfosPosition = int2(-288, -61); Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A"; DurationInSeconds = 1.0000000e-003; SpawnCountMode = TotalParticleCount; SpawnCount = 1.0000000e+001; FirstSpawnDelay = 5.0000000e-001; } CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A { EditorInfosPosition = int2(-392, -44); Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_B5F66D14", "$LOCAL$/CParticleFieldDeclaration_E2FC4767", "$LOCAL$/CParticleFieldDeclaration_691720B1", "$LOCAL$/CParticleFieldDeclaration_0D6D1F2B", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7"; States = { "$LOCAL$/CParticleState_3AF8190E", }; } CActionFactoryWithChilds $LOCAL$/Spawner { EditorInfosPosition = int2(-162, -81); ChildList = { "$LOCAL$/LED", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4 { EditorInfosPosition = int2(-508, -63); CustomName = "Billboard"; BillboardingMaterial = AlphaBlend; Diffuse = "Textures/White.dds"; BillboardMode = PlanarAlignedQuad; AxisField = "UpAxis"; Axis2Field = "NormalAxis"; AxisScale = 1.0000000e+000; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7 { EditorInfosPosition = int2(-508, 22); Expression = "function void Eval() { Life = infinity; Size = 0.1; float spawnCount = 10; float particleId = spawner.LifeRatio * spawnCount; Level = spawner.LifeRatio; // 1.15 gives the spacing between each LED element. // 1.0 would make them touch each other // 2.0 would leave an empty space between each other as large as a full element Position = float3((particleId - spawnCount * 0.5) * 1.15 * Size, 0, 0); UpAxis = scene.axisUp(); NormalAxis = scene.axisForward(); } "; } CParticleState $LOCAL$/CParticleState_3AF8190E { EditorInfosPosition = int2(-508, 65); StateName = "State_0"; Evolvers = { "$LOCAL$/Script_1", }; } CParticleEvolver_Script $LOCAL$/Script_1 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_2E8404C8"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2E8404C8 { Expression = "function void Eval() { float v = Value; float4 lit = lerp(StartColor, EndColor, v); Color = pow(select(float4(0,0,0,1), lit, v >= Level) * Power,2); } "; } CParticleAttributeList $LOCAL$/_GlobalAttributes { EditorInfosPosition = int2(-599, -20); AttributeList = { "$LOCAL$/CParticleAttributeDeclaration_856636B6", "$LOCAL$/CParticleAttributeDeclaration_B00D50C3", "$LOCAL$/CParticleAttributeDeclaration_59890D42", "$LOCAL$/CParticleAttributeDeclaration_A5203D8B", }; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0D6D1F2B { FieldName = "Level"; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_856636B6 { AttributeName = "Value"; DefaultValueF4 = float4(5.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B5F66D14 { FieldName = "UpAxis"; FieldType = float3; TransformFilter = rotate; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E2FC4767 { FieldName = "NormalAxis"; FieldType = float3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_691720B1 { FieldName = "Color"; FieldType = float4; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B00D50C3 { AttributeName = "StartColor"; AttributeType = float4; DefaultValueF4 = float4(2.0000000e-001, 2.0000000e-001, 2.0000000e-001, 1.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_59890D42 { AttributeName = "EndColor"; AttributeType = float4; DefaultValueF4 = float4(0.0000000e+000, 6.9999999e-001, 8.9999998e-001, 1.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_A5203D8B { AttributeName = "Power"; DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(5.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); }