Version = 1.9.1.28491; CParticleEffect $LOCAL$/Resource { OnSpawn = "$LOCAL$/Spawner"; CustomAttributes = "$LOCAL$/_GlobalAttributes"; Autostart = true; } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_0 { Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A"; Infinite = true; DurationInSeconds = 2.2000000e+002; SpawnCount = 1.0000000e+004; } CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A { Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_FFD5B903", "$LOCAL$/CParticleFieldDeclaration_EC905C04", "$LOCAL$/CParticleFieldDeclaration_A6F29AB7", "$LOCAL$/CParticleFieldDeclaration_4C8C6A9E", }; Samplers = { "$LOCAL$/CParticleSamplerSpectrumImpl_03E9F740", "$LOCAL$/CParticleSamplerShape_872530CC", "$LOCAL$/CParticleSamplerProceduralTurbulence_AF1925A6", "$LOCAL$/CParticleSamplerProceduralTurbulence_91B5BF6D", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7"; States = { "$LOCAL$/CParticleState_3AF8190E", }; } CActionFactoryWithChilds $LOCAL$/Spawner { ChildList = { "$LOCAL$/Layer_0", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4 { CustomName = "Billboard"; BillboardingMaterial = Additive_NoAlpha; Diffuse = "Textures/FX/dot_NoAlpha.tga"; BillboardMode = VelocityCapsuleAlign; AxisField = "Axis"; AxisScale = 5.0000001e-002; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7 { Expression = "function void Eval() { Size = 0.025; ColorCoeff = step(rand(0,1), 0.98) * 7 + 0.15; Position = Sphere.samplePosition() * OrbitalRadius; float3 n = normalize(Position); float3 samplingLocation = SpectrumSphereMap.samplePotential(n); float t = pow(saturate(samplingLocation.x*0.5+0.5), 2); float kSpectrum = pow(AudioSpectrum.sample(t)*512, 0.5); // float killer = step(kSpectrum, 0.6); Life = rand(0.4, 0.7) * 5;// * killer; ParametricLocation = float3(t, Attr_SpectrumCutoff, rand(-1,1)); float spectrumAxis = pow(kSpectrum,1)*1; Velocity = n * spectrumAxis*4; Position += n * kSpectrum*0.05; }"; } CParticleState $LOCAL$/CParticleState_3AF8190E { StateName = "State_0"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_36D6D4BD", "$LOCAL$/CParticleEvolver_Field_A6AD56E9", "$LOCAL$/CParticleEvolver_Script_F0D33FBA", }; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD { CustomName = "Physics"; ConstantAcceleration = float3(0.0000000e+000, -5.0000000e+000, 0.0000000e+000); Drag = 2.0000000e+000; VelocityFieldSampler = "Turbulence"; } CParticleAttributeList $LOCAL$/_GlobalAttributes { AttributeList = { "$LOCAL$/CParticleAttributeDeclaration_6AA46272", "$LOCAL$/CParticleAttributeDeclaration_3154BA46", }; } CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_91B5BF6D { SamplerName = "Turbulence"; Strength = 8.8388346e-002; Gain = 1.0000000e+000; TimeScale = 5.0000000e-001; } CParticleSamplerSpectrum $LOCAL$/CParticleSamplerSpectrumImpl_03E9F740 { SamplerName = "AudioSpectrum"; Filter = Cubic; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FFD5B903 { FieldName = "ParametricLocation"; FieldType = float3; } CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F0D33FBA { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_09C84795"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_09C84795 { Expression = "function void Eval() { float3 n = normalize(Position); float t = ParametricLocation.x; float spectrum = pow(AudioSpectrum.sample(t)*50, 0.5); float spectrumAxis = pow(spectrum,1)*0.5; Size = 0.5 + pow(saturate(spectrum*0.5),8) * 0.1f; Color *= float4((1-t)*0.5 + 0.3, 0.45, 0.2 + spectrum*3, 1) * (spectrum*2 + 0.5) * ColorCoeff * step(spectrum, ParametricLocation.y) * 0.05; Axis = Velocity;// * (0.5 + spectrumAxis * 0.5); }"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_EC905C04 { FieldName = "Axis"; FieldType = float3; TransformFilter = rotate; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A6F29AB7 { FieldName = "Color"; FieldType = float4; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4C8C6A9E { FieldName = "ColorCoeff"; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A6AD56E9 { CustomName = "Field"; Name = "Color"; Evaluator = "$LOCAL$/CParticleSamplerCurve_1BEF7E08"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1BEF7E08 { ValueType = Float4; Times = { 0.0000000e+000, 1.6115719e-001, 7.0012975e-001, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 1.6564224e+000, 4.5876641e+000, 2.5381713e+000, 1.0000000e+000, 1.3358867e+000, 7.7228022e-001, 1.4703007e+000, 1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 2.9544154e-001, -8.4340531e-001, -1.6180421e-001, 0.0000000e+000, 9.8807180e-001, -2.8206766e+000, -5.4113644e-001, 0.0000000e+000, -2.3531799e+000, -1.5991031e+000, -1.9568430e+000, 0.0000000e+000, -1.3092479e+000, -8.8969910e-001, -1.0887363e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, }; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_872530CC { SamplerName = "Sphere"; Shape = "$LOCAL$/CShapeDescriptor_DE113C5F"; } CShapeDescriptor $LOCAL$/CShapeDescriptor_DE113C5F { ShapeType = CYLINDER; } CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_AF1925A6 { SamplerName = "SpectrumSphereMap"; Strength = 9.7227180e-001; Octaves = 1; Lacunarity = 1.6413631e-001; Gain = 4.0109801e-001; Interpolator = Quintic; TimeScale = 6.0000002e-001; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6AA46272 { AttributeName = "Attr_SpectrumCutoff"; AttributeDescription = "Particles below this intensity are killed\\nIf the particle is powerful enough, it will live."; DefaultValueF4 = float4(1.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_3154BA46 { AttributeName = "OrbitalRadius"; DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MinValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); MaxValueF4 = float4(5.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); }