Version = 1.9.4.30080; CParticleEffect $LOCAL$/Resource { EditorInfosPosition = int2(73, 52); OnSpawn = "$LOCAL$/Spawner"; CustomAttributes = "$LOCAL$/_GlobalAttributes"; Autostart = true; } CActionFactoryParticleSpawnerBase $LOCAL$/OutLightning_pCoords { EditorInfosPosition = int2(-288, -61); Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A"; DurationInSeconds = 1.0000000e+000; SpawnCount = 2.0000000e+000; FluxFactorExpression = "Flux"; } CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A { EditorInfosPosition = int2(-392, -44); CustomFields = { "$LOCAL$/CParticleFieldDeclaration_2FAA954C", "$LOCAL$/CParticleFieldDeclaration_3DDDE71F", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7"; States = { "$LOCAL$/CParticleState_3AF8190E", }; } CActionFactoryWithChilds $LOCAL$/Spawner { EditorInfosPosition = int2(-162, -81); ChildList = { "$LOCAL$/OutLightning_pCoords", "$LOCAL$/InLightning_pCoords", "$LOCAL$/Other", "$LOCAL$/Layer_1", "$LOCAL$/Layer_2", "$LOCAL$/Layer_3", }; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_86407B2A { AttributeName = "RGB"; AttributeType = float3; DefaultValueF4 = float4(1.0106380e-001, 3.8297871e-001, 1.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); } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7 { EditorInfosPosition = int2(-508, 22); Expression = "function void Eval() { Life = 0.25; // An great use of parametric coordinates is to set it by the spawning position of every particles, // with this you can use sampling in this place to set attributes linked by the surface of your sampler like the normal axis pCoords = Shape_0.sampleParametricCoords(); Position=Shape_0.samplePosition(pCoords)*0.9*(Scale * SizeSampler.sample(spawner.LifeRatio)); AxisUp=Shape_0.sampleNormal(pCoords); } "; } CParticleState $LOCAL$/CParticleState_3AF8190E { EditorInfosPosition = int2(-508, 65); StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_6", "$LOCAL$/Trail_1", }; } CParticleEvolver_Script $LOCAL$/Script_3 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_5F5E20FA"; } CParticleAttributeList $LOCAL$/_GlobalAttributes { EditorInfosPosition = int2(-599, -20); AttributeList = { "$LOCAL$/CParticleAttributeDeclaration_86407B2A", "$LOCAL$/CParticleAttributeDeclaration_ACB53148", "$LOCAL$/CParticleAttributeDeclaration_6D21C725", "$LOCAL$/CParticleAttributeDeclaration_E795E065", }; SamplerList = { "$LOCAL$/CParticleSamplerShape_B4A3F15A", "$LOCAL$/CParticleSamplerCurve_72582A57", }; } CShapeDescriptor $LOCAL$/CShapeDescriptor_00485E25 { ShapeType = SPHERE; Radius = 2.0000000e+000; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5F5E20FA { Expression = "function void Eval() { Size=(1-LifeRatio)*0.25*Scale; VelocityField=Turb_0.sample(Position/Scale); Color=ColorCoeff*pow(GlowCurve.sample(LifeRatio),3); } "; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2FAA954C { FieldName = "pCoords"; FieldType = int3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3DDDE71F { FieldName = "AxisUp"; FieldType = float3; TransformFilter = rotate; } CParticleEvolver_Spawner $LOCAL$/Trail_1 { CustomName = "Spawner"; SpawnMetric = Time; SpawnInterval = 3.9999999e-002; FirstSpawnDelay = 0.0000000e+000; LocalSpaceSpawn = true; ForwardAxisField = "Axis"; Descriptor = "$LOCAL$/CParticleDescriptor_FB247043"; } CParticleState $LOCAL$/CParticleState_61782B80 { StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_7", }; } CParticleDescriptor $LOCAL$/CParticleDescriptor_FB247043 { Renderer = "$LOCAL$/CParticleRenderer_Ribbon_88AD4B47"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_D3592D0B", "$LOCAL$/CParticleFieldDeclaration_66AA7FEC", "$LOCAL$/CParticleFieldDeclaration_6ED3D8FF", "$LOCAL$/CParticleFieldDeclaration_AFC47789", "$LOCAL$/CParticleFieldDeclaration_A991C3EB", }; Samplers = { "$LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328", "$LOCAL$/CParticleSamplerCurve_D9CFE688", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2"; States = { "$LOCAL$/CParticleState_61782B80", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2 { Expression = "function void Eval() { Life = rand(0.1,0.25)*(1-spawner.LifeRatio); // Associate with an evolver spawner you can make an hairy effect directed by the normal of the surface Velocity=(parent.AxisUp*30+vrand())*(Scale*SizeSampler.sample(spawner.LifeRatio)); ColorCoeff=spawner.LifeRatio*RGB.xyz1*5; TextureID=ninja*16; Mass=Scale*SizeSampler.sample(spawner.LifeRatio); } "; } CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_88AD4B47 { CustomName = "Ribbon"; BillboardingMaterial = Additive_Soft; Diffuse = "Textures/Fx/Lightning_05.dds"; AtlasDefinition = "Textures/Fx/AtlasX4.pkat"; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_BA79E974 { CustomName = "Physics"; Mass = 0.0000000e+000; Drag = 1.0000000e+000; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66AA7FEC { FieldName = "TextureID"; } CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328 { SamplerName = "Turb_0"; Wavelength = 1.5000000e+000; Strength = 2.6516504e+001; Gain = 1.0000000e+000; TimeScale = 1.0000000e+000; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D3592D0B { FieldName = "Color"; FieldType = float4; } CActionFactoryParticleSpawnerBase $LOCAL$/Ball { Descriptor = "$LOCAL$/CParticleDescriptor_207FBFFE"; DurationInSeconds = 1.0000000e+000; SpawnCount = 6.0000000e+001; } CParticleDescriptor $LOCAL$/CParticleDescriptor_207FBFFE { Renderer = "$LOCAL$/CParticleRenderer_Mesh_31DAE3BD"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_4664FEE6", "$LOCAL$/CParticleFieldDeclaration_D58C74A1", "$LOCAL$/CParticleFieldDeclaration_1BDA079B", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_26A73F99"; States = { "$LOCAL$/CParticleState_3D5454D3", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_26A73F99 { Expression = "function void Eval() { Life = 0.1; Size = (2*Scale) * SizeSampler.sample(spawner.LifeRatio); RotationInit=vrand()*pi; } "; } CParticleRenderer_Mesh_Descriptor $LOCAL$/CParticleRenderer_Mesh_Descriptor_687E3EC4 { Mesh = "Meshes/Geosphere.pkmm"; SubMeshId = 0; Material = Additive; MaterialParametersFields = { "DiffuseColor = Color", }; Diffuse = "Textures/FX/Fire2.png"; CustomName = "Mesh_Descriptor"; } CParticleState $LOCAL$/CParticleState_3D5454D3 { StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_1", }; } CParticleEvolver_Localspace $LOCAL$/LocalSpace_1 { CustomName = "Localspace"; ChildList = { "$LOCAL$/Script_2", }; } CParticleRenderer_Mesh $LOCAL$/CParticleRenderer_Mesh_31DAE3BD { CustomName = "Mesh"; Meshes = { "$LOCAL$/CParticleRenderer_Mesh_Descriptor_687E3EC4", }; ScaleField = "Size"; EulerRotationField = "Rotation"; RotationAxisAngleField = ""; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4664FEE6 { FieldName = "Size"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D58C74A1 { FieldName = "Color"; FieldType = float4; } CParticleEvolver_Script $LOCAL$/Script_2 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_71E8EF78"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_71E8EF78 { Expression = "function void Eval() { Rotation=RotationInit+float3(0,scene.Time*10,0); Color=RGB.xyz1*sin(LifeRatio*3)*0.5; } "; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1BDA079B { FieldName = "RotationInit"; FieldType = float3; TransformFilter = full; } CParticleDescriptor $LOCAL$/CParticleDescriptor_D8E1BE65 { EditorInfosPosition = int2(-392, -44); CustomFields = { "$LOCAL$/CParticleFieldDeclaration_20D35A8C", "$LOCAL$/CParticleFieldDeclaration_1694863F", "$LOCAL$/CParticleFieldDeclaration_F01DDC2E", "$LOCAL$/CParticleFieldDeclaration_E2763880", "$LOCAL$/CParticleFieldDeclaration_96156021", "$LOCAL$/CParticleFieldDeclaration_A72DDF50", "$LOCAL$/CParticleFieldDeclaration_54FF4853", "$LOCAL$/CParticleFieldDeclaration_70F4248E", }; Samplers = { "$LOCAL$/CParticleSamplerProceduralTurbulence_7110CCC0", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_30AD0A83"; States = { "$LOCAL$/CParticleState_01226A02", }; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_20D35A8C { FieldName = "pCoords"; FieldType = int3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1694863F { FieldName = "AxisUp"; FieldType = float3; TransformFilter = rotate; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F2B14DAF { FieldName = "AxisUp"; FieldType = float3; TransformFilter = rotate; } CActionFactoryWithChilds $LOCAL$/Other { EditorInfosIsBlockMinimized = 0; ChildList = { "$LOCAL$/Ball", "$LOCAL$/Glow", }; } CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_7110CCC0 { SamplerName = "Turb_0"; Wavelength = 2.0000000e+000; Strength = 7.0710678e+001; Gain = 1.0000000e+000; TimeScale = 1.0000000e+000; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_30AD0A83 { EditorInfosPosition = int2(-508, 22); Expression = "function void Eval() { Life = rand(0.25,0.5); CurrentScale = Scale * SizeSampler.sample(spawner.LifeRatio); pCoords = Shape_0.sampleParametricCoords(); Position=Shape_0.samplePosition(pCoords)* (CurrentScale * SizeSampler.sample(spawner.LifeRatio)); Mass=CurrentScale; TextureID = rand(0,512)%6; } "; } CParticleState $LOCAL$/CParticleState_01226A02 { EditorInfosPosition = int2(-508, 65); StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_4", "$LOCAL$/Trail_2", }; } CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_0F7E6FED { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_1C55A6B4"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_1C55A6B4 { Expression = "function void Eval() { // In this case the sampling of the normal is set in realtime // because the trail travel along the surface and we want to match the faces of the ribbon with the surface AxisUp=Shape_0.sampleNormal(pCoords); Position=Position*CurrentScale; VelocityField=Turb_0.sample(Position/CurrentScale); } "; } CActionFactoryParticleSpawnerBase $LOCAL$/InLightning_pCoords { EditorInfosPosition = int2(-288, -61); Descriptor = "$LOCAL$/CParticleDescriptor_D8E1BE65"; DurationInSeconds = 7.5000000e-001; SpawnCount = 3.0000000e+000; FluxFactorExpression = "Flux"; } CParticleEvolver_Projection $LOCAL$/Evolver_1 { CustomName = "Projection"; Shape = "Shape_0"; OutputParametricCoordsField = "pCoords"; } CParticleEvolver_Physics $LOCAL$/Evolver_2 { CustomName = "Physics"; Mass = 0.0000000e+000; Drag = 1.0000000e+000; } CParticleEvolver_Spawner $LOCAL$/Trail_2 { CustomName = "Spawner"; SpawnMetric = Time; SpawnInterval = 2.0000000e-002; LocalSpaceSpawn = true; Descriptor = "$LOCAL$/CParticleDescriptor_7A4351D2"; } CParticleState $LOCAL$/CParticleState_E8DB9F13 { StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_5", }; } CParticleDescriptor $LOCAL$/CParticleDescriptor_7A4351D2 { Renderer = "$LOCAL$/CParticleRenderer_Ribbon_35782C54"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_7F906BF6", "$LOCAL$/CParticleFieldDeclaration_42738008", "$LOCAL$/CParticleFieldDeclaration_F2B14DAF", "$LOCAL$/CParticleFieldDeclaration_298867DF", }; Samplers = { "$LOCAL$/CParticleSamplerCurve_43D2771E", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD"; States = { "$LOCAL$/CParticleState_E8DB9F13", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD { Expression = "function void Eval() { Life = 0.1; Size = 0.01; ColorCoeff=sin(spawner.LifeRatio*3)*RGB.xyz1*5; Position=vrand()*0.1* (Scale * parent.CurrentScale); // Simply add the normals information in the axis field of the ribbon and that\'s it! AxisUp=parent.AxisUp; TextureID = parent.TextureID; } "; } CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_35782C54 { CustomName = "Ribbon"; BillboardingMaterial = Additive_Soft; Diffuse = "Textures/FX/RainbowDashTornadoRainbow.png"; AtlasDefinition = "Textures/FX/AtlasRainbowDashRainbow.pkat"; AxisField = "AxisUp"; } CParticleEvolver_Localspace $LOCAL$/LocalSpace_5 { CustomName = "Localspace"; ChildList = { "$LOCAL$/Script_4", }; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7F906BF6 { FieldName = "Color"; FieldType = float4; } CParticleEvolver_Script $LOCAL$/Script_4 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1 { Expression = "function void Eval() { Color=float4(4)*sin(LifeRatio*3)*pow(GlowCurve.sample(LifeRatio),3); } "; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42738008 { FieldName = "ColorCoeff"; FieldType = float4; } CActionFactoryParticleSpawnerBase $LOCAL$/Glow { Descriptor = "$LOCAL$/CParticleDescriptor_29F3590A"; DurationInSeconds = 1.0000000e+000; SpawnCount = 6.0000000e+001; } CParticleDescriptor $LOCAL$/CParticleDescriptor_29F3590A { Renderer = "$LOCAL$/CParticleRenderer_Billboard_766CC37C"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_C1FAB4F9", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_32830795"; States = { "$LOCAL$/CParticleState_3A34A9EF", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_32830795 { Expression = "function void Eval() { Life = 0.1; Size = (2.1*Scale)*SizeSampler.sample(spawner.LifeRatio); Color=(RGB.xyz1*0.5+0.5)*0.1; } "; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_766CC37C { CustomName = "Billboard"; Diffuse = "Textures/Fx/Glow_02.dds"; } CParticleState $LOCAL$/CParticleState_3A34A9EF { StateName = "State_0"; Evolvers = { "$LOCAL$/LocalSpace_2", "$LOCAL$/Script_1", }; } CParticleEvolver_Localspace $LOCAL$/LocalSpace_2 { CustomName = "Localspace"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C1FAB4F9 { FieldName = "Color"; FieldType = float4; } CParticleEvolver_Localspace $LOCAL$/LocalSpace_4 { CustomName = "Localspace"; ChildList = { "$LOCAL$/Evolver_2", "$LOCAL$/Evolver_1", "$LOCAL$/CParticleEvolver_Script_0F7E6FED", }; } CParticleEvolver_Localspace $LOCAL$/LocalSpace_6 { CustomName = "Localspace"; } CParticleEvolver_Localspace $LOCAL$/LocalSpace_7 { CustomName = "Localspace"; ChildList = { "$LOCAL$/CParticleEvolver_Physics_BA79E974", "$LOCAL$/Script_3", }; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_ACB53148 { AttributeName = "Flux"; DefaultValueF4 = float4(2.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; MaxValueF4 = float4(1.0000000e+003, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000); MaxValueI4 = int4(10, 10, 10, 10); } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6D21C725 { AttributeName = "Scale"; DefaultValueF4 = float4(1.0000000e+000, 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_6ED3D8FF { FieldName = "Mass"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F01DDC2E { FieldName = "Mass"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AFC47789 { FieldName = "VelocityField"; FieldType = float3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E2763880 { FieldName = "VelocityField"; FieldType = float3; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_E795E065 { AttributeName = "Distortion"; DefaultValueF4 = float4(1.0000000e+000, 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); } CParticleEvolver_Script $LOCAL$/Script_1 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_54499B1D"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_54499B1D { Expression = "function void Eval() { } "; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_72582A57 { SamplerName = "SizeSampler"; Times = { 0.0000000e+000, 3.1219229e-001, 4.0613380e-001, 4.7359553e-001, 4.8612782e-001, 1.0000000e+000, }; FloatValues = { 2.0566951e-001, 3.5931441e-001, 7.7562624e-001, 1.6266266e+000, 8.8886678e-001, 1.0000000e+000, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 4.5734131e-001, 1.3761818e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 1.0165057e-002, 4.1680625e-001, 0.0000000e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_B4A3F15A { SamplerName = "Shape_0"; Shape = "$LOCAL$/CShapeDescriptor_00485E25"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_96156021 { FieldName = "LightningScale"; FieldType = float3; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A72DDF50 { FieldName = "CurrentScale"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_54FF4853 { FieldName = "CurrentFlux"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_43D2771E { SamplerName = "GlowCurve"; Times = { 0.0000000e+000, 1.5252139e-001, 2.8020301e-001, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 2.0132892e+000, 3.9947742e-001, 8.3351731e-003, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, -1.4297950e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D9CFE688 { SamplerName = "GlowCurve"; Times = { 0.0000000e+000, 1.5208611e-001, 2.7753931e-001, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 2.4679444e+000, 1.0251962e+000, 8.3351731e-003, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, -1.4350865e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A991C3EB { FieldName = "ColorCoeff"; FieldType = float4; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_298867DF { FieldName = "TextureID"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_70F4248E { FieldName = "TextureID"; } CParticleDescriptor $LOCAL$/CParticleDescriptor_7969208C { Renderer = "$LOCAL$/CParticleRenderer_Billboard_7A5AC43F"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_7FAD886E", }; Samplers = { "$LOCAL$/CParticleSamplerCurve_68BB78C9", "$LOCAL$/CParticleSamplerCurve_D021EC44", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_138CB2C0"; States = { "$LOCAL$/CParticleState_B343E883", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_7A5AC43F { CustomName = "Billboard"; BillboardingMaterial = AlphaBlend_Distortion; Diffuse = "Textures/FX/DistortionCircle_01.dds"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7FAD886E { FieldName = "Color"; FieldType = float4; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_68BB78C9 { SamplerName = "PreFlashSizeSampler"; Times = { 0.0000000e+000, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 1.0000000e+000, }; FloatTangents = { 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); } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_138CB2C0 { Expression = "function void Eval() { Life = 1.5; Size = (2.1) * PreFlashSizeSampler.sample(spawner.LifeRatio); Color=1; } "; } CParticleState $LOCAL$/CParticleState_B343E883 { StateName = "State_0"; Evolvers = { "$LOCAL$/CParticleEvolver_Localspace_1FF3A002", "$LOCAL$/Script_5", }; } CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_1FF3A002 { CustomName = "Localspace"; ChildList = { "$LOCAL$/CParticleEvolver_Field_FF6CDDED", }; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_FF6CDDED { CustomName = "Field"; Name = "Color"; Evaluator = "$LOCAL$/CParticleSamplerCurve_508DACB4"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_508DACB4 { ValueType = Float4; Times = { 0.0000000e+000, 3.3000004e-001, 1.0000000e+000, }; FloatValues = { 1.2252920e+001, 1.2252920e+001, 1.2252920e+001, 1.2252920e+001, 1.6135629e+000, 1.6135629e+000, 1.6135629e+000, 1.6135629e+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, -2.0815220e+001, -2.0815220e+001, -2.0815220e+001, -2.0815220e+001, -1.0668870e+000, -1.0668870e+000, -1.0668870e+000, -1.0668870e+000, -2.1661050e+000, -2.1661050e+000, -2.1661050e+000, -2.1661050e+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, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1 { Delay = 2.0000000e-001; Descriptor = "$LOCAL$/CParticleDescriptor_7969208C"; DurationInSeconds = 1.0000000e+000; } CParticleDescriptor $LOCAL$/CParticleDescriptor_07942268 { Renderer = "$LOCAL$/CParticleRenderer_List_D6AABD4B"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_55EC0275", }; Samplers = { "$LOCAL$/CParticleSamplerCurve_27EF6066", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F699E7DC"; States = { "$LOCAL$/CParticleState_527C75CF", }; } CParticleRenderer_List $LOCAL$/CParticleRenderer_List_D6AABD4B { CustomName = "List"; Renderers = { "$LOCAL$/CParticleRenderer_Billboard_8F6D306A", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_8F6D306A { CustomName = "Billboard"; Diffuse = "Textures/FX/Glow_02.dds"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_55EC0275 { FieldName = "Color"; FieldType = float4; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F699E7DC { Expression = "function void Eval() { Life = 0.7; Size = 5; //Velocity = scene.axisUp(); Color = float4(1.0); } "; } CParticleState $LOCAL$/CParticleState_527C75CF { StateName = "Evolvers"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_4901513E", "$LOCAL$/CParticleEvolver_Field_B1D389D9", "$LOCAL$/Script_6", }; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_4901513E { CustomName = "Physics"; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_B1D389D9 { CustomName = "Field"; Name = "Color"; Evaluator = "$LOCAL$/CParticleSamplerCurve_E55E9110"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E55E9110 { ValueType = Float4; Times = { 0.0000000e+000, 1.0025764e-001, 1.9101427e-001, 1.0000000e+000, }; FloatValues = { -8.2168579e-003, -8.2168579e-003, -8.2168579e-003, -8.2168579e-003, 6.9227076e-001, 2.4187570e+000, 1.6533300e+001, 1.6533300e+001, 1.2689912e-001, 3.1057596e-001, 5.8559299e-001, 4.1663635e-001, 3.2757044e-002, 4.2809024e-002, 8.5524112e-002, 2.9747784e-003, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 7.0461058e-003, 7.0461058e-003, 7.0461058e-003, 7.0461058e-003, 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, 3.7870470e-002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 3.3756945e-001, 0.0000000e+000, 0.0000000e+000, 4.1873145e-001, 3.0559379e-001, -1.9581988e-001, -1.0217938e+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); } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2 { Delay = 3.0000001e-001; Descriptor = "$LOCAL$/CParticleDescriptor_07942268"; DurationInSeconds = 1.0000000e-001; SpawnCountMode = TotalParticleCount; } CParticleDescriptor $LOCAL$/CParticleDescriptor_741B7204 { Renderer = "$LOCAL$/CParticleRenderer_List_FA023717"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_A12196E1", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_69F79EB8"; States = { "$LOCAL$/CParticleState_3EEAC7DB", }; } CParticleRenderer_List $LOCAL$/CParticleRenderer_List_FA023717 { CustomName = "List"; Renderers = { "$LOCAL$/CParticleRenderer_Billboard_70D60826", }; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_70D60826 { CustomName = "Billboard"; Diffuse = "Textures/FX/Glow_02.dds"; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A12196E1 { FieldName = "Color"; FieldType = float4; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_69F79EB8 { Expression = "function void Eval() { Life = 0.3; Size = 5; //Velocity = scene.axisUp(); Color = float4(1.0); } "; } CParticleState $LOCAL$/CParticleState_3EEAC7DB { StateName = "Evolvers"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_86A1C63A", "$LOCAL$/CParticleEvolver_Field_E7DE6485", "$LOCAL$/CParticleEvolver_Field_FA0A135F", }; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_86A1C63A { CustomName = "Physics"; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_E7DE6485 { CustomName = "Field"; Name = "Color"; Evaluator = "$LOCAL$/CParticleSamplerCurve_173BEB2C"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_173BEB2C { ValueType = Float4; Times = { 0.0000000e+000, 1.0000000e+000, }; FloatValues = { -8.2168579e-003, -8.2168579e-003, -8.2168579e-003, -8.2168579e-003, 6.4559206e-002, 6.4559206e-002, 6.4559206e-002, 6.4559206e-002, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 1.0705090e+000, 1.0705090e+000, 1.0705090e+000, 1.0705090e+000, 4.3558908e-001, 4.5341939e-001, -2.4205603e-001, -3.9989603e-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_Field $LOCAL$/CParticleEvolver_Field_FA0A135F { CustomName = "Field"; Name = "Size"; Evaluator = "$LOCAL$/CParticleSamplerCurve_1AF9760E"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1AF9760E { Times = { 0.0000000e+000, 5.7562411e-001, 1.0000000e+000, }; FloatValues = { 4.7029600e+000, 3.5331841e+000, 8.9722443e-001, }; FloatTangents = { 0.0000000e+000, -1.8865035e-001, -2.7060287e+000, -1.9950057e+000, -1.8156990e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CActionFactoryParticleSpawnerBase $LOCAL$/Layer_3 { Descriptor = "$LOCAL$/CParticleDescriptor_741B7204"; DurationInSeconds = 2.0000000e-001; SpawnCountMode = TotalParticleCount; SpawnCount = 4.0000000e+000; } CParticleEvolver_Script $LOCAL$/Script_5 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_DC5A7B3D"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DC5A7B3D { Expression = "function void Eval() { Size = ScaleSampler.sample(LifeRatio) * 4 * Scale; } "; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D021EC44 { SamplerName = "ScaleSampler"; Times = { 0.0000000e+000, 3.5524982e-001, 1.0000000e+000, }; FloatValues = { 1.8791434e-001, 1.2521470e+000, 1.5788783e+000, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 4.0019765e-001, 7.2632694e-001, 0.0000000e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_27EF6066 { SamplerName = "ScaleSampler"; Times = { 0.0000000e+000, 3.5524982e-001, 1.0000000e+000, }; FloatValues = { 4.9895319e-001, 1.2521470e+000, 1.5788783e+000, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 4.0019765e-001, 7.2632694e-001, 0.0000000e+000, 0.0000000e+000, }; MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleEvolver_Script $LOCAL$/Script_6 { CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_2A4DB421"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2A4DB421 { Expression = "function void Eval() { Size = ScaleSampler.sample(LifeRatio) * 2.5 * Scale; } "; }