Version = 1.9.4.30080; CParticleEffect $LOCAL$/Resource { EditorInfosPosition = int2(73, 52); OnSpawn = "$LOCAL$/Spawner"; CustomAttributes = "$LOCAL$/_GlobalAttributes"; Autostart = true; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_376EDA32 { Expression = "function void Eval() { CheckPos=Position; } "; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D6FE8BDD { FieldName = "CheckPos"; FieldType = float3; } CActionFactoryWithChilds $LOCAL$/Spawner { EditorInfosPosition = int2(-162, -81); ChildList = { "$LOCAL$/Layer_1", }; } CParticleEvolver_Script $LOCAL$/Script_4 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E32752C1"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E32752C1 { Expression = "function void Eval() { ReCheckPos=Position; Direction=normalize(CheckPos-ReCheckPos); } "; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B7B01818 { FieldName = "ReCheckPos"; FieldType = float3; } CParticleAttributeList $LOCAL$/_GlobalAttributes { EditorInfosPosition = int2(-599, -20); } CParticleEvolver_Localspace $LOCAL$/LocalSpace_2 { CustomName = "Localspace"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_74460CBB { FieldName = "Direction"; FieldType = float3; } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1 { Descriptor = "$LOCAL$/CParticleDescriptor_B6A83DB6"; } CParticleDescriptor $LOCAL$/CParticleDescriptor_B6A83DB6 { CustomFields = { "$LOCAL$/CParticleFieldDeclaration_D6FE8BDD", "$LOCAL$/CParticleFieldDeclaration_B7B01818", "$LOCAL$/CParticleFieldDeclaration_74460CBB", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4DEE33B1"; States = { "$LOCAL$/CParticleState_4BFDDA2B", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4DEE33B1 { Expression = "function void Eval() { Life = infinity; } "; } CParticleEvolver_Script $LOCAL$/Script_3 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_376EDA32"; } CParticleState $LOCAL$/CParticleState_4BFDDA2B { StateName = "State_0"; Evolvers = { "$LOCAL$/Script_3", "$LOCAL$/LocalSpace_2", "$LOCAL$/Script_4", "$LOCAL$/Trail_1", }; } CParticleDescriptor $LOCAL$/CParticleDescriptor_E150F316 { EditorInfosPosition = int2(-389, 723); Renderer = "$LOCAL$/CParticleRenderer_Billboard_3AA06491"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_A0C2A628", "$LOCAL$/CParticleFieldDeclaration_6935AC0B", "$LOCAL$/CParticleFieldDeclaration_1E07662A", }; Samplers = { "$LOCAL$/CParticleSamplerShape_4E03F61F", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_19938B35"; States = { "$LOCAL$/CParticleState_99DFBF9C", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_3AA06491 { EditorInfosPosition = int2(-570, 657); CustomName = "Billboard"; BillboardingMaterial = AlphaBlend_Additive_Soft; Diffuse = "Textures/BlastPack_Extended.dds"; AtlasDefinition = "Textures/BlastPack_Extended.pkat"; SoftAnimationBlending = true; AxisScale = 1.0000000e+000; NormalsBendingFactor = 6.2500000e-001; NormalsWrapFactor = 2.0000000e-001; LightExponent = 2.2000000e+000; LightScale = float3(5.0000000e+000, 5.0000000e+000, 5.0000000e+000); AmbientLight = float3(1.0000000e-001, 1.5000001e-001, 2.0000000e-001); } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A0C2A628 { EditorInfosPosition = int2(-561, 708); FieldName = "Color"; FieldType = float4; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6935AC0B { EditorInfosPosition = int2(-563, 749); FieldName = "ColorCoeff"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1E07662A { EditorInfosPosition = int2(-564, 791); FieldName = "SizeCoeff"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_19938B35 { EditorInfosPosition = int2(-568, 830); Expression = "function void Eval() { float couillunessFactor = pow(rand(0, 1), 8); Life = 1 + (1 + couillunessFactor * 2) * spawner.LifeRatio; Size = rand(0.2,0.5); Rotation = rand(-2,2); ScalarRotationSpeed = 0;//rand(-1,1); Position = SpawnShape.samplePosition(); ColorCoeff = (0.2 + couillunessFactor * 1.3) * 0.5;//(1 - pow(abs(spawner.LifeRatio*2 - 1),2)) * 0.3; SizeCoeff = (1 - pow(abs(spawner.LifeRatio*2 - 1),4)) + 0.3; Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0) * 5;//float3(0,0,-2); }"; } CParticleState $LOCAL$/CParticleState_99DFBF9C { EditorInfosPosition = int2(-570, 876); StateName = "State_0"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_6687488F", "$LOCAL$/CParticleEvolver_Field_49673AFE", "$LOCAL$/CParticleEvolver_Field_28497CD0", "$LOCAL$/CParticleEvolver_Rotation_B6A66592", "$LOCAL$/CParticleEvolver_Script_375D4ABD", }; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6687488F { EditorInfosPosition = int2(-773, 805); CustomName = "Physics"; ConstantAcceleration = float3(0.0000000e+000, 1.0000000e+000, 0.0000000e+000); Drag = 1.0000000e-001; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_49673AFE { EditorInfosPosition = int2(-767, 850); CustomName = "Field"; Name = "Size"; Evaluator = "$LOCAL$/CParticleSamplerCurve_C496D699"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C496D699 { EditorInfosPosition = int2(-862, 847); Times = { 0.0000000e+000, 3.5412490e-002, 6.4305954e-002, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 2.5731990e-001, 7.3077157e-002, 2.4938139e-001, }; FloatTangents = { 0.0000000e+000, 9.4720095e-002, 0.0000000e+000, 0.0000000e+000, 2.4945091e-002, 8.0782884e-001, 1.3235520e-001, 0.0000000e+000, }; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_28497CD0 { EditorInfosPosition = int2(-771, 909); CustomName = "Field"; Name = "Color"; Evaluator = "$LOCAL$/CParticleSamplerCurve_17CC73D3"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_17CC73D3 { EditorInfosPosition = int2(-867, 908); ValueType = Float4; Times = { 0.0000000e+000, 5.4035908e-001, 1.0000000e+000, }; FloatValues = { 1.0875289e+000, 3.0284981e+001, 2.6043091e+001, 6.4613003e-001, 5.5407912e-001, 1.8774509e+001, 1.5283390e+001, 6.2580532e-001, 1.3330801e+000, 3.0305719e+000, 4.2372961e+000, 6.6386288e-001, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, -1.7009701e+000, -1.3750279e-004, -1.1711349e+000, -2.7432361e+000, -1.7105120e+000, -6.1994679e-002, -9.9619192e-001, -2.3334539e+000, -1.4549969e+000, -5.2733961e-002, -4.2104211e-001, -1.0328560e+000, -3.2068660e+000, 1.2587701e-004, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, }; } CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_B6A66592 { EditorInfosPosition = int2(-773, 966); CustomName = "Rotation"; } CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_375D4ABD { EditorInfosPosition = int2(-767, 1024); CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7C6D31C4"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7C6D31C4 { EditorInfosPosition = int2(-879, 1022); Expression = "function void Eval() { float atlasIdFirst = 0; float atlasIdLast = 31; float cursor01 = (LifeRatio)%1; TextureID = cursor01 * (atlasIdLast - atlasIdFirst) + atlasIdFirst; Color *= ColorCoeff * 2; }"; } CParticleEvolver_Spawner $LOCAL$/Trail_1 { EditorInfosPosition = int2(-283, 669); CustomName = "Spawner"; Descriptor = "$LOCAL$/CParticleDescriptor_E150F316"; } CShapeDescriptor $LOCAL$/CShapeDescriptor_973092EC { ShapeType = SPHERE; Radius = 1.0000000e-001; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_4E03F61F { SamplerName = "SpawnShape"; Shape = "$LOCAL$/CShapeDescriptor_973092EC"; }