Version = 1.9.4.30080; CParticleEffect $LOCAL$/Resource { EditorInfosPosition = int2(73, 52); OnSpawn = "$LOCAL$/Spawner"; CustomAttributes = "$LOCAL$/_GlobalAttributes"; Autostart = true; } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1 { EditorInfosPosition = int2(-288, -61); Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A"; DurationInSeconds = 5.0000000e+000; SpawnCount = 2.4000000e+001; } CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A { EditorInfosPosition = int2(-392, -44); Renderer = "$LOCAL$/CParticleRenderer_List_3552F0DC"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_F278CDC9", "$LOCAL$/CParticleFieldDeclaration_A7BA2BC0", "$LOCAL$/CParticleFieldDeclaration_C0D25583", "$LOCAL$/CParticleFieldDeclaration_CE35A2ED", "$LOCAL$/CParticleFieldDeclaration_6FF355B4", "$LOCAL$/CParticleFieldDeclaration_C3E4D23E", "$LOCAL$/CParticleFieldDeclaration_19CC9ED9", "$LOCAL$/CParticleFieldDeclaration_AC3D2A13", "$LOCAL$/CParticleFieldDeclaration_C0FEBD9D", "$LOCAL$/CParticleFieldDeclaration_763ECBA7", }; Samplers = { "$LOCAL$/CParticleSamplerShape_9F4012DD", "$LOCAL$/CParticleSamplerShape_DCDA413F", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7"; States = { "$LOCAL$/CParticleState_3AF8190E", }; } CActionFactoryWithChilds $LOCAL$/Spawner { EditorInfosPosition = int2(-162, -81); ChildList = { "$LOCAL$/Layer_1", "$LOCAL$/Layer_2", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7 { EditorInfosPosition = int2(-508, 22); Expression = "function void Eval() { Life = 0.5; Position = SpawnSphere.samplePosition(); PosStart = Position; PosEnd = TargetSphere.samplePosition(); AngleAxis = normalize(float3(rand(-1,1),rand(-1,1),rand(-1,1))); Direction = (Position - PosEnd); Distance = length(PosEnd - Position); TextureID = rand(0,3); SegmentID = rand(0,6); } "; } CParticleState $LOCAL$/CParticleState_3AF8190E { EditorInfosPosition = int2(-508, 65); StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_1", "$LOCAL$/Script_1", "$LOCAL$/Evolver_1", "$LOCAL$/Trail_1", }; } CParticleAttributeList $LOCAL$/_GlobalAttributes { EditorInfosPosition = int2(-599, -20); AttributeList = { "$LOCAL$/CParticleAttributeDeclaration_E53C1102", "$LOCAL$/CParticleAttributeDeclaration_1292CA10", "$LOCAL$/CParticleAttributeDeclaration_0272AC0C", "$LOCAL$/CParticleAttributeDeclaration_08BD57EE", "$LOCAL$/CParticleAttributeDeclaration_491ECDB3", "$LOCAL$/CParticleAttributeDeclaration_796373DD", }; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9F4012DD { SamplerName = "SpawnSphere"; Shape = "$LOCAL$/CShapeDescriptor_66C58C64"; } CShapeDescriptor $LOCAL$/CShapeDescriptor_66C58C64 { ShapeType = SPHERE; Radius = 2.5000000e-001; InnerRadius = 2.5000000e-001; } CParticleEvolver_Script $LOCAL$/Script_1 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_F2BF698C"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F2BF698C { Expression = "function void Eval() { Angle += AngleSpeed * dt; Position = PosStart + rotate(PosEnd, AngleAxis, Angle * LifeRatio); } "; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_DCDA413F { SamplerName = "TargetSphere"; Shape = "$LOCAL$/CShapeDescriptor_A534496E"; } CShapeDescriptor $LOCAL$/CShapeDescriptor_A534496E { ShapeType = SPHERE; Radius = 7.5000000e-001; InnerRadius = 7.5000000e-001; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A7BA2BC0 { FieldName = "PosEnd"; FieldType = float3; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_E53C1102 { AttributeName = "ConcentRateForce"; HasMin = true; HasMax = true; MaxValueF4 = float4(5.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleEvolver_Spawner $LOCAL$/Trail_1 { CustomName = "Spawner"; Descriptor = "$LOCAL$/CParticleDescriptor_6309D256"; } CParticleState $LOCAL$/CParticleState_C4F10C87 { StateName = "State_0"; Evolvers = { "$LOCAL$/Script_2", }; } CParticleDescriptor $LOCAL$/CParticleDescriptor_6309D256 { EditorInfosIsBlockMinimized = 0; Renderer = "$LOCAL$/CParticleRenderer_List_DFCC1FE9"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_A597BE49", "$LOCAL$/CParticleFieldDeclaration_CF38D4F2", }; Samplers = { "$LOCAL$/CParticleSamplerCurve_8CB8DE1A", "$LOCAL$/CParticleSamplerCurve_E19575BF", "$LOCAL$/CParticleSamplerCurve_AB870B0D", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_E68F14D1"; States = { "$LOCAL$/CParticleState_C4F10C87", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E68F14D1 { Expression = "function void Eval() { Life = 0.2; TextureID = parent.SegmentID; } "; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_19CC9ED9 { FieldName = "AngleAxis"; FieldType = float3; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1292CA10 { AttributeName = "AngleSpeed"; DefaultValueF4 = float4(1.2549504e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(3.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AC3D2A13 { FieldName = "Angle"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_8CB8DE1A { SamplerName = "SizeCurve"; Times = { 0.0000000e+000, 5.0369281e-001, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 9.9011409e-001, 3.0405372e-003, }; FloatTangents = { 0.0000000e+000, 2.9249582e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleEvolver_Script $LOCAL$/Script_2 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_041569E5"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_041569E5 { Expression = "function void Eval() { Size = LifeRatio * SizeMagni; Color = float4(TintColor.x * TintPow,TintColor.y * TintPow,TintColor.z * TintPow, AlphaRatio.sample(LifeRatio)) * PowCurve.sample(LifeRatio); } "; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0272AC0C { AttributeName = "TintPow"; DefaultValueF4 = float4(6.0000000e+000, 1.0000000e+000, 1.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(2.5000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E19575BF { SamplerName = "PowCurve"; Times = { 0.0000000e+000, 1.6869873e-001, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 1.0006757e+000, -1.4527068e-002, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_08BD57EE { AttributeName = "TintColor"; AttributeType = float4; DefaultValueF4 = float4(1.9306929e-001, 4.8019800e-001, 6.9554460e-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); } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A597BE49 { FieldName = "Color"; FieldType = float4; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_491ECDB3 { AttributeName = "SizeMagni"; DefaultValueF4 = float4(2.0792080e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(2.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CF38D4F2 { FieldName = "TextureID"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C0FEBD9D { FieldName = "TextureID"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F278CDC9 { FieldName = "PosStart"; FieldType = float3; TransformFilter = full; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C3E4D23E { FieldName = "NowDirection"; FieldType = float3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CE35A2ED { FieldName = "NormalDirection"; FieldType = float3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6FF355B4 { FieldName = "Distance"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C0D25583 { FieldName = "Direction"; FieldType = float3; } CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_FE664B0E { CustomName = "Ribbon"; BillboardingMaterial = AlphaBlend_Additive_Soft; Diffuse = "Textures/FX/RainbowDashTornadoRainbow.png"; AtlasDefinition = "Textures/FX/AtlasRainbowDashRainbow.pkat"; TextureUField = "LifeRatio"; } CParticleRenderer_List $LOCAL$/CParticleRenderer_List_DFCC1FE9 { CustomName = "List"; Renderers = { "$LOCAL$/CParticleRenderer_Ribbon_FE664B0E", }; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3DC650A2 { SamplerName = "AlphaRatio"; Times = { 0.0000000e+000, 1.0000000e+000, }; FloatValues = { 5.1054537e-001, 7.2726756e-003, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, -1.2587703e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_AB870B0D { SamplerName = "AlphaRatio"; Times = { 0.0000000e+000, 1.0000000e+000, }; FloatValues = { 5.1054537e-001, 7.2726756e-003, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, -1.2587703e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleRenderer_List $LOCAL$/CParticleRenderer_List_3552F0DC { CustomName = "List"; Renderers = { "$LOCAL$/CParticleRenderer_Null_2762A775", }; } CParticleRenderer_Null $LOCAL$/CParticleRenderer_Null_2762A775 { CustomName = "Null"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_763ECBA7 { FieldName = "SegmentID"; } CParticleEvolver_Physics $LOCAL$/Evolver_1 { CustomName = "Physics"; } CParticleDescriptor $LOCAL$/CParticleDescriptor_B52FC2E6 { Renderer = "$LOCAL$/CParticleRenderer_Billboard_270C88A1"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_66A09378", "$LOCAL$/CParticleFieldDeclaration_A1587B9B", "$LOCAL$/CParticleFieldDeclaration_5EC3A4FA", "$LOCAL$/CParticleFieldDeclaration_FF624A45", "$LOCAL$/CParticleFieldDeclaration_2C36E3EC", "$LOCAL$/CParticleFieldDeclaration_86701B1F", }; Samplers = { "$LOCAL$/CParticleSamplerProceduralTurbulence_319038CE", "$LOCAL$/CParticleSamplerShape_46BE1A67", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_2EE1C0A9"; States = { "$LOCAL$/CParticleState_4C6AA820", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_270C88A1 { CustomName = "Billboard"; BillboardingMaterial = Additive_Soft; Diffuse = "Textures/Fx/DirtPieces_01.dds"; AtlasDefinition = "Textures/Fx/AtlasX2.pkat"; SoftAnimationBlending = true; SoftnessDistance = 2.5000000e-001; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66A09378 { FieldName = "Color"; FieldType = float4; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A1587B9B { FieldName = "ID"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5EC3A4FA { FieldName = "Mass"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FF624A45 { FieldName = "BounceRestitution"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2C36E3EC { FieldName = "Accel"; FieldType = float3; TransformFilter = full; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_86701B1F { FieldName = "HighLight"; } CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_319038CE { SamplerName = "Turb_0"; Wavelength = 5.0000000e+000; Strength = 8.8388348e-001; Gain = 1.0000000e+000; TimeScale = 1.0000000e+000; TimeBase = 1.0000000e+000; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2EE1C0A9 { Expression = "function void Eval() { Life = rand(0.25,0.75); Size = rand(0.01,0.02); ID=ninja*4; Velocity=vrand()*ninja*6; Mass=rand(1,10); BounceRestitution=rand(0.1,0.5); Position=SpawnSphere.samplePosition(); HighLight=select(4,rand(50,100),ninja<0.4); } "; } CParticleState $LOCAL$/CParticleState_4C6AA820 { StateName = "State_0"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_43B45963", "$LOCAL$/CParticleEvolver_Script_83627262", }; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_43B45963 { CustomName = "Physics"; ConstantAcceleration = float3(0.0000000e+000, 5.0000000e+000, 0.0000000e+000); Drag = 1.0000000e+000; WorldInteractionMode = OneWay; BouncesBeforeDeath = 127; BounceRestitution = 1.0000000e+000; BounceOffset = 1.0000000e-003; } CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_83627262 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_0C20EFCD"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0C20EFCD { Expression = "function void Eval() { TextureID=min((ID+LifeRatio*2),4); Color=float4((TintColor*HighLight).xyz1*float4(1-LifeRatio).111w); } "; } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2 { Descriptor = "$LOCAL$/CParticleDescriptor_B52FC2E6"; DurationInSeconds = 5.0000000e+000; SpawnCount = 6.4000000e+001; FluxFactorExpression = "Density"; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_46BE1A67 { SamplerName = "SpawnSphere"; Shape = "$LOCAL$/CShapeDescriptor_A79305B6"; } CShapeDescriptor $LOCAL$/CShapeDescriptor_A79305B6 { ShapeType = SPHERE; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_796373DD { AttributeName = "TornadeLife"; HasMin = true; HasMax = true; MaxValueF4 = float4(1.2000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleEvolver_Localspace $LOCAL$/LocalSpace_1 { CustomName = "Localspace"; }