This commit is contained in:
Sollace 2018-11-20 20:05:15 +02:00
parent 26246d593e
commit 21ae2ce4ac
190 changed files with 63627 additions and 0 deletions

13
BGM & Gameplay video.txt Normal file
View file

@ -0,0 +1,13 @@
Title Screen: https://www.youtube.com/watch?v=58x-X-44gcM&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=2
Menu Screen: https://www.youtube.com/watch?v=M4eohhDcIPs&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=3
Stage 1-1: https://www.youtube.com/watch?v=ZlRkbOhv8Dk&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=4
Stage 1-2: https://www.youtube.com/watch?v=dwAkA7ii5KI&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=5
Stage 1-3: https://www.youtube.com/watch?v=7mt4AfWsAfA&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=6
Chrysalis: https://www.youtube.com/watch?v=HI4e0S6pR3U&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=7
BONUS - Sombra (not IG): https://www.youtube.com/watch?v=Nb4GYo1ufCs&t=0s&list=PLl7dXRHbZCdiW4GFNq8n8KLEDvMpXInTZ&index=8

BIN
assets/ScreenSelector.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="us-ascii"?>
<PKFxGlobalConf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<enableFileLog>false</enableFileLog>
<enableEffectsKill>true</enableEffectsKill>
<enablePackFxInPersistentDataPath>false</enablePackFxInPersistentDataPath>
<useOrthographicProjection>false</useOrthographicProjection>
<globalEventSetting>BeforeImageEffectsOpaque</globalEventSetting>
</PKFxGlobalConf>

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,308 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(560, 108);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-10, -165);
ChildList =
{
"$LOCAL$/Flames",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-1667, 442);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_B01A74CC",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6678787D
{
EditorInfosPosition = int2(-830, 511);
SamplerName = "FireEvolutionToIntensity";
ValueType = Float2;
Times =
{
0.0000000e+000,
1.3047621e-001,
1.0000000e+000,
};
FloatValues =
{
1.0329541e-001,
8.4111977e-001,
5.4319727e-001,
8.8907814e-001,
9.9392861e-001,
9.9975193e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
5.7925874e-001,
0.0000000e+000,
2.2303204e-001,
4.2631540e-002,
1.4863373e+000,
2.8410649e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flames
{
EditorInfosPosition = int2(-496, 452);
Descriptor = "$LOCAL$/CParticleDescriptor_F47379C0";
Infinite = true;
SpawnCount = 1.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F47379C0
{
EditorInfosPosition = int2(-666, 466);
InheritInitialVelocity = 1.0000000e+000;
Renderer = "$LOCAL$/CParticleRenderer_Billboard_3C633183";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_F1B5DBCC",
"$LOCAL$/CParticleFieldDeclaration_7997D550",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_6678787D",
"$LOCAL$/CParticleSamplerProceduralTurbulence_8CDDBB37",
"$LOCAL$/CParticleSamplerShape_56314ABA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_38ACD63A";
States =
{
"$LOCAL$/CParticleState_C1B58415",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_3C633183
{
EditorInfosPosition = int2(-819, 373);
UserData = "shaderGroup=animBlend";
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Diffuse = "Textures/BlastPack_Extended.png";
AtlasDefinition = "Textures/BlastPack_Extended.pkat";
SoftAnimationBlending = true;
NormalsWrapFactor = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_38ACD63A
{
EditorInfosPosition = int2(-826, 648);
Expression = "function void Eval()
{
Position = PositionSampler.samplePosition();
float2 fEv = FireEvolutionToIntensity.sample(FireEvolution);
Life = rand(0.9,1.2) * fEv.y * step(FireEvolution + rand(-0.2,0.0), 1.0e-3);
TextureID = 0;
float rSpeed = rand(-2,2);
ScalarRotationSpeed = (rSpeed + sign(rSpeed)) * 0.2; // ]-3,-1] [1,3[
Rotation = rand(-1.0,2.0);
Velocity = float3(rand(-1,1), 2.5, rand(-1,1)) * 0.1 * sqrt(FireEvolution);
AlphaCoeff = pow(fEv.x, 2);
}";
}
CParticleState $LOCAL$/CParticleState_C1B58415
{
EditorInfosPosition = int2(-899, 734);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7E5AA684",
"$LOCAL$/CParticleEvolver_Field_70ED091E",
"$LOCAL$/CParticleEvolver_Field_DCF78D2B",
"$LOCAL$/CParticleEvolver_Rotation_0CCB3B5F",
"$LOCAL$/CParticleEvolver_Script_67F85ED3",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7E5AA684
{
EditorInfosPosition = int2(-1066, 628);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 4.0000001e-001, 0.0000000e+000);
Drag = 1.0000000e-001;
VelocityFieldSampler = "VelocityField";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_8CDDBB37
{
EditorInfosPosition = int2(-828, 554);
EditorInfosIsBlockMinimized = 0;
SamplerName = "VelocityField";
Strength = 2.1213204e-001;
Gain = 1.0000000e+000;
TimeScale = 2.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_70ED091E
{
EditorInfosPosition = int2(-1055, 673);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_BF257B69";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_BF257B69
{
EditorInfosPosition = int2(-1178, 681);
Times =
{
0.0000000e+000,
2.7251947e-001,
1.0000000e+000,
};
FloatValues =
{
1.4868100e-001,
4.6102530e-001,
4.7235289e-001,
};
FloatTangents =
{
0.0000000e+000,
1.0045175e-002,
9.4237840e-003,
2.5156438e-002,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_DCF78D2B
{
EditorInfosPosition = int2(-1049, 724);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_D2406342";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D2406342
{
EditorInfosPosition = int2(-1152, 735);
ValueType = Float4;
Times =
{
0.0000000e+000,
1.9275585e-001,
3.8901365e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.9952280e+001,
6.1120281e+000,
5.7484698e+000,
9.4454652e-001,
8.1519156e+000,
1.7745140e+000,
8.4593278e-001,
7.6053113e-001,
7.9247508e+000,
1.7799740e+000,
9.2682981e-001,
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,
5.5607557e-003,
4.8091492e+001,
1.3972640e+001,
1.4414766e+001,
1.8145528e+000,
-6.3568032e-001,
-5.8969550e+000,
-8.5003681e+000,
-5.6470494e-004,
-1.0975051e-001,
-8.5251138e-002,
-1.8715945e-001,
-4.9848405e-001,
-3.4167334e-001,
-2.6540235e-001,
-5.8266151e-001,
-1.5518718e+000,
-1.1657565e-002,
3.0774367e-001,
-2.1774846e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F1B5DBCC
{
EditorInfosPosition = int2(-818, 427);
EditorInfosIsBlockMinimized = 0;
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_0CCB3B5F
{
EditorInfosPosition = int2(-1050, 770);
CustomName = "Rotation";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_56314ABA
{
EditorInfosPosition = int2(-824, 593);
EditorInfosIsBlockMinimized = 2;
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_3267AEE5";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_3267AEE5
{
EditorInfosPosition = int2(-911, 592);
Position = float3(0.0000000e+000, 5.9999999e-002, 0.0000000e+000);
ShapeType = CYLINDER;
Radius = 2.9999999e-002;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B01A74CC
{
EditorInfosPosition = int2(-1772, 475);
AttributeName = "FireEvolution";
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7997D550
{
EditorInfosPosition = int2(-815, 463);
EditorInfosIsBlockMinimized = 0;
FieldName = "AlphaCoeff";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_67F85ED3
{
EditorInfosPosition = int2(-1050, 819);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_DDE68E4A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DDE68E4A
{
EditorInfosPosition = int2(-1209, 802);
Expression = "function void Eval()
{
Color *= AlphaCoeff;
Size *= 0.3;
TextureID = LifeRatio * 31;
}";
}

View file

@ -0,0 +1,83 @@
Version = 1.9.0.28323;
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";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_CF572753",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-508, -63);
UserData = "shaderGroup=test";
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/BlastPack_Extended.png";
AtlasDefinition = "Textures/BlastPack_Extended.pkat";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.25;
ColorModifier = int3(1,0,1);
TextureID = rand(32, 36);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 2.0000000e+000, 0.0000000e+000);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CF572753
{
FieldName = "ColorModifier";
FieldType = float3;
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,488 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(282, -117);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CNEdEditorParticle_Data $LOCAL$/EDITOR
{
Position = float3(2.0448372e+001, 1.6942070e+001, -2.1082035e+001);
EulerOrientation = float3(-1.4181623e+001, 4.4346287e+001, 1.6262726e-003);
Backdrops = "$LOCAL$/_BackdropList";
LoopDelay = 8.0000000e+000;
IsLooping = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Smoke
{
EditorInfosPosition = int2(-196, -378);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
DurationInSeconds = 8.0000000e+000;
SpawnCount = 8.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-352, -387);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2C215779",
"$LOCAL$/CParticleFieldDeclaration_FF8F7870",
"$LOCAL$/CParticleFieldDeclaration_E1604A6A",
"$LOCAL$/CParticleFieldDeclaration_D6D0E700",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_5C87387A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_E37410C3",
"$LOCAL$/CParticleSamplerShape_7188E290",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(48, -132);
ChildList =
{
"$LOCAL$/Smoke",
"$LOCAL$/Light",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-615, -553);
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Diffuse = "Textures/BlastPack_Extended.png";
AtlasDefinition = "Textures/BlastPack_Extended.pkat";
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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-615, -209);
Expression = "function void Eval()
{
Life = rand(5.0, 8);
Size = 0.5;
Position = PositionSampler.samplePosition();
Velocity = float3(0,2,0);
TextureID = rand(32,36);
Rotation = rand(-pi, pi);
ScalarRotationSpeed = (1 - pow(rand(0,1), 3)) * 0.8 * sign(Rotation);
AlphaCoeff = spawner.LifeRatio;//1 - pow(spawner.LifeRatio, 2);
}";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-615, -27);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_70B82B25",
"$LOCAL$/CParticleEvolver_Field_1AE2F154",
"$LOCAL$/CParticleEvolver_Field_5D69BC58",
"$LOCAL$/CParticleEvolver_Script_AE0FE9C3",
"$LOCAL$/CParticleEvolver_Rotation_CF07E785",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-565, 252);
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_70B82B25
{
EditorInfosPosition = int2(-770, -81);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 2.0000000e+000, 0.0000000e+000);
Drag = 2.0000000e-001;
VelocityFieldSampler = "VelocityField";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_1AE2F154
{
EditorInfosPosition = int2(-770, -38);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_CB941AC7";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_CB941AC7
{
EditorInfosPosition = int2(-855, -27);
ValueType = Float4;
Times =
{
0.0000000e+000,
3.4695834e-002,
2.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
5.4482728e-001,
2.0332488e-001,
7.6259047e-002,
1.8235232e-001,
6.2973976e-002,
6.2973976e-002,
6.2973976e-002,
7.1012288e-001,
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.1636616e-001,
8.5550584e-002,
0.0000000e+000,
1.8196657e-001,
-1.2425157e-001,
-8.5741006e-002,
-2.7909663e-002,
2.2923948e-001,
-5.9198189e-001,
-4.0850282e-001,
-1.3297227e-001,
1.0921842e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.3845204e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-6.7004746e-001,
-1.8101464e-001,
-1.8101464e-001,
-1.8101464e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2C215779
{
EditorInfosPosition = int2(-615, -510);
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_5D69BC58
{
EditorInfosPosition = int2(-770, 16);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_32F8C9BB";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_32F8C9BB
{
EditorInfosPosition = int2(-852, 24);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
9.5752895e-001,
6.6485538e+000,
};
FloatTangents =
{
0.0000000e+000,
5.5392590e+000,
1.5304744e-001,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FF8F7870
{
EditorInfosPosition = int2(-615, -467);
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E1604A6A
{
EditorInfosPosition = int2(-615, -424);
FieldName = "Rotation";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_CF07E785
{
EditorInfosPosition = int2(-770, 123);
CustomName = "Rotation";
ScreenspaceRotationCoeff = 1.5000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D6D0E700
{
EditorInfosPosition = int2(-615, -381);
FieldName = "AlphaCoeff";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_AE0FE9C3
{
EditorInfosPosition = int2(-770, 69);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_ED57AD7A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_ED57AD7A
{
EditorInfosPosition = int2(-857, 80);
Expression = "function void Eval()
{
float2 intensities = Intensity.sample(AlphaCoeff);
Color = Color * intensities.yyyx;
}";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_5B5B3F5D
{
EditorInfosPosition = int2(-596, 407);
CustomName = "Physics";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6559827B
{
EditorInfosPosition = int2(-671, 358);
ValueType = Float4;
Times =
{
0.0000000e+000,
2.2816327e-001,
8.0274594e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
5.9109602e+000,
2.9268544e+000,
1.8140471e+000,
1.0000000e+000,
2.7818718e+000,
1.3037927e+000,
5.2021861e-001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
8.3469057e-001,
8.3469057e-001,
8.3469057e-001,
0.0000000e+000,
8.5369867e-001,
8.9990139e-001,
4.8885715e-001,
0.0000000e+000,
2.1498661e+000,
2.2662182e+000,
1.2310871e+000,
0.0000000e+000,
-5.5585861e+000,
-3.1590493e+000,
-2.4679222e+000,
0.0000000e+000,
-1.9082609e+000,
-1.0845006e+000,
-8.4723699e-001,
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,
};
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_E37410C3
{
EditorInfosPosition = int2(-615, -252);
SamplerName = "VelocityField";
Wavelength = 1.0000000e+001;
Strength = 7.0710683e-001;
Gain = 1.0000000e+000;
TimeScale = 2.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_5C87387A
{
EditorInfosPosition = int2(-615, -295);
SamplerName = "Intensity";
ValueType = Float2;
Times =
{
0.0000000e+000,
4.9287799e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
9.9156022e-001,
9.9461973e-001,
0.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
3.5747120e-001,
2.4199028e+000,
3.1132227e-002,
0.0000000e+000,
3.2031942e-002,
0.0000000e+000,
-2.5004222e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_7188E290
{
EditorInfosPosition = int2(-598, -129);
EditorInfosIsBlockMinimized = 0;
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_91C350C8";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_91C350C8
{
EditorInfosPosition = int2(-700, -165);
ShapeType = CYLINDER;
Radius = 1.5000000e+000;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Light
{
EditorInfosPosition = int2(-187, 183);
Descriptor = "$LOCAL$/CParticleDescriptor_583E61EB";
SpawnCountMode = TotalParticleCount;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_583E61EB
{
EditorInfosPosition = int2(-290, 195);
Renderer = "$LOCAL$/CParticleRenderer_Light_7CF1F42E";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAB6FA39",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_167477BD";
States =
{
"$LOCAL$/CParticleState_13CE6B8C",
};
}
CParticleState $LOCAL$/CParticleState_13CE6B8C
{
EditorInfosPosition = int2(-474, 338);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Field_8923D418",
"$LOCAL$/CParticleEvolver_Physics_5B5B3F5D",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_167477BD
{
EditorInfosPosition = int2(-474, 295);
Expression = "function void Eval()
{
Life = 9.0;
Size = 12.0;
Position = float3(0,1,0);
}";
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_7CF1F42E
{
EditorInfosPosition = int2(-474, 166);
CustomName = "Light";
LightAttenuationSteepnessRange = float2(0.0000000e+000, 8.0000000e+000);
LightAttenuationSteepness = 6.0000002e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAB6FA39
{
EditorInfosPosition = int2(-474, 209);
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_8923D418
{
EditorInfosPosition = int2(-596, 354);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_6559827B";
}
CNEdEditorBackdrop_Light $LOCAL$/_Backdrop_Light
{
LayerName = "GlobalLight";
Position = float3(1.1233553e+002, 2.8270447e+002, 2.2297581e+002);
EulerOrientation = float3(-4.8550171e+001, 2.6739031e+001, -9.5600376e-007);
LightFactory = "$LOCAL$/_Backdrop_Light_Factory";
LightDistance = 3.7717276e+002;
}
CNEdEditorBackdrop_List $LOCAL$/_BackdropList
{
EditorInfosPosition = int2(-100, -365);
EditorInfosIsBlockMinimized = 0;
BackgroundLayers2D =
{
"$LOCAL$/_Backdrop_Brush",
"$LOCAL$/_Backdrop_Audio2D",
};
SceneLayers3D =
{
"$LOCAL$/_Backdrop_Model3D",
"$LOCAL$/_Backdrop_Light",
};
}
CNEdEditorBackdrop_Brush $LOCAL$/_Backdrop_Brush
{
EditorInfosPosition = int2(-253, -417);
LayerName = "Layer_Brush";
}
CNEdEditorBackdrop_Model3D $LOCAL$/_Backdrop_Model3D
{
EditorInfosPosition = int2(-252, -371);
EditorInfosIsBlockMinimized = 2;
LayerName = "Layer_Model";
ResourceModel = "meshes/cuberoom_dark.fbx";
}
CNEdEditorBackdrop_Audio2D $LOCAL$/_Backdrop_Audio2D
{
EditorInfosPosition = int2(-252, -460);
LayerName = "Layer_Audio2D";
}
CNEdEditorLightFactory $LOCAL$/_Backdrop_Light_Factory
{
NearClipPlane = 1.0000000e+002;
SpotFalloff = 8.8541701e-002;
Magnitude = 1.0000000e+005;
}

View file

@ -0,0 +1,509 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/blackhole
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
ContinuousSpawner = false;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_List_9C98FAB6";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_56EE89B5",
"$LOCAL$/CParticleFieldDeclaration_05E0F13E",
"$LOCAL$/CParticleFieldDeclaration_2F3A3C6D",
"$LOCAL$/CParticleFieldDeclaration_9FCBDD7C",
"$LOCAL$/CParticleFieldDeclaration_6C782B7A",
"$LOCAL$/CParticleFieldDeclaration_28B88455",
"$LOCAL$/CParticleFieldDeclaration_8E78CA92",
"$LOCAL$/CParticleFieldDeclaration_12409622",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/blackhole",
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/BB_Flame_01_128.dds";
AtlasDefinition = "Textures/FX/AtlasX2.pkat";
SizeField = "Size2";
ColorField = "Color2";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
Expression = "function void Eval()
{
Life = 1;
InitialSize = Scale;
Position = float3(0,1,0);
Color = 0.5 * Scale;
Color2 = CustomColor * 3;
TextureID = rand(0,4);
ScalarRotationSpeed = rand(-3,3);
Rotation = rand(-pi,pi);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_5C31A5C1",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_464DBE5B",
"$LOCAL$/CParticleAttributeDeclaration_34682ABB",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_BB7B0AAF
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/DistortionRing_01.dds";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9C98FAB6
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_9136D2F4",
"$LOCAL$/CParticleRenderer_Billboard_BB7B0AAF",
"$LOCAL$/CParticleRenderer_Billboard_35F7BFC3",
"$LOCAL$/CParticleRenderer_Billboard_89A7025E",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_05E0F13E
{
FieldName = "Color2";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_1FA7EDD7
{
Expression = "function void Eval()
{
float decayedSize = InitialSize * SizeCoeff;
Size = decayedSize * 1;
Size2 = decayedSize * 1.5;
Size4 = decayedSize * 2;
Color4 *= CustomColor;
}
";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_861B3223
{
CustomName = "Field";
Name = "SizeCoeff";
Evaluator = "$LOCAL$/CParticleSamplerCurve_3D8F545A";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3D8F545A
{
Times =
{
0.0000000e+000,
4.9905631e-001,
1.0000000e+000,
};
FloatValues =
{
6.3916349e-001,
3.6995310e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-8.5174030e-001,
-8.5496157e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_56EE89B5
{
FieldName = "SizeCoeff";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F50E15A4
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_1FA7EDD7";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2F3A3C6D
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9FCBDD7C
{
FieldName = "Size2";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_F8C0F500
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Rotation";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_35F7BFC3
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
SizeField = "Size4";
ColorField = "Color4";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6C782B7A
{
FieldName = "Color4";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_28B88455
{
FieldName = "Size4";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_1622A5C4
{
CustomName = "Field";
Name = "Color4";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E312BD77";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E312BD77
{
ValueType = Float4;
Times =
{
0.0000000e+000,
3.9999999e-002,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+002,
1.0000000e+002,
1.0000000e+002,
1.0000000e+002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.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,
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,
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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_89A7025E
{
DrawOrder = -1;
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/Distortion_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_12409622
{
FieldName = "InitialSize";
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_5C31A5C1
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Rotation_F8C0F500",
"$LOCAL$/CParticleEvolver_Field_861B3223",
"$LOCAL$/CParticleEvolver_Field_1622A5C4",
"$LOCAL$/CParticleEvolver_Script_F50E15A4",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_464DBE5B
{
AttributeName = "CustomColor";
AttributeType = float4;
DefaultValueF4 = float4(5.0000000e-001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_34682ABB
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8E78CA92
{
FieldName = "SizeCoeff";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_C99FC8D6
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_E9C90D51";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_87101DE8",
"$LOCAL$/CParticleFieldDeclaration_13109ECB",
"$LOCAL$/CParticleFieldDeclaration_226FEFEA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C93DF7F5";
States =
{
"$LOCAL$/CParticleState_5A304B5C",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_E9C90D51
{
CustomName = "Billboard";
Diffuse = "Textures/FX/flare.png";
BillboardMode = VelocitySpheroidalAlign;
AxisField = "Axis";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_87101DE8
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_13109ECB
{
FieldName = "Strength";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_226FEFEA
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C93DF7F5
{
Expression = "function void Eval()
{
Life = rand(0.80, 1.25);
Size = 0.00;
Position = float3(rand(0.5,1) - 0.5,rand(-0.35,0.35) +4,0);
Axis = float3(0,1,0) * Strength;
}";
}
CParticleState $LOCAL$/CParticleState_5A304B5C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/CParticleEvolver_Script_2658DF4F",
"$LOCAL$/CParticleEvolver_Field_AE2DC759",
"$LOCAL$/CParticleEvolver_Field_7CB96E93",
"$LOCAL$/CParticleEvolver_Field_156F7F7D",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_2658DF4F
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_DDF938BE";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DDF938BE
{
Expression = "function void Eval()
{
Axis = float3(0,1,0) * Strength * 50;
}";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_AE2DC759
{
CustomName = "Field";
Name = "Strength";
Evaluator = "$LOCAL$/CParticleSamplerCurve_2EFEDC90";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2EFEDC90
{
Times =
{
0.0000000e+000,
1.7875880e-001,
6.4207673e-001,
1.0000000e+000,
};
FloatValues =
{
4.2506415e-001,
2.6848429e+001,
2.3227062e+001,
2.0530760e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.9337954e-001,
-4.0330389e-001,
-2.2301891e+000,
-1.7228700e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_7CB96E93
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_13059752";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_13059752
{
Times =
{
0.0000000e+000,
2.0247516e-001,
3.2290432e-001,
4.7881454e-001,
6.4916664e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
6.4882517e-002,
9.8659448e-002,
4.8528183e-001,
6.0317144e-003,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.2722742e-002,
-4.5073226e-002,
1.7790599e-002,
2.0852409e-002,
1.6193686e-004,
1.7938390e-003,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_156F7F7D
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_7BDD2584";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_7BDD2584
{
ValueType = Float4;
Times =
{
0.0000000e+000,
5.0183773e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
8.0130553e-001,
6.2950172e+000,
1.0406619e+000,
8.6716664e-001,
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,
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,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_C99FC8D6";
Infinite = true;
DurationInSeconds = 9.9999998e-003;
SpawnCountMode = TotalParticleCount;
SpawnCount = 2.0000000e+001;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
CustomName = "Localspace";
}

View file

@ -0,0 +1,243 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 9.9999998e-003;
SpawnCountMode = TotalParticleCount;
SpawnCount = 2.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_B4FA3B8B",
"$LOCAL$/CParticleFieldDeclaration_71AB2386",
"$LOCAL$/CParticleFieldDeclaration_5111DDDB",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
CustomName = "Billboard";
Diffuse = "Textures/FX/flare.png";
BillboardMode = VelocitySpheroidalAlign;
AxisField = "Axis";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
Expression = "function void Eval()
{
Life = rand(0.80, 1.25);
Size = 0.00;
Position = float3(rand(0.5,1) - 0.5,rand(-0.35,0.35) +4,0) * 2;
Axis = float3(0,1,0) * Strength;
}";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_8B26CC31",
"$LOCAL$/CParticleEvolver_Field_0BA9D822",
"$LOCAL$/CParticleEvolver_Field_E26A0C45",
"$LOCAL$/CParticleEvolver_Field_5ACAEC0E",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_53F9F139",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B4FA3B8B
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_0BA9D822
{
CustomName = "Field";
Name = "Strength";
Evaluator = "$LOCAL$/CParticleSamplerCurve_82F81E5D";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_82F81E5D
{
Times =
{
0.0000000e+000,
1.7875880e-001,
6.4207673e-001,
1.0000000e+000,
};
FloatValues =
{
4.2506415e-001,
2.6848429e+001,
2.3227062e+001,
2.0530760e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.9337954e-001,
-4.0330389e-001,
-2.2301891e+000,
-1.7228700e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_71AB2386
{
FieldName = "Strength";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_8B26CC31
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_11823E30";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_11823E30
{
Expression = "function void Eval()
{
Axis = float3(0,1,0) * Strength * 50;
Strength = Strength * GrobalSize;
}";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_E26A0C45
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_A8F9CDF4";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A8F9CDF4
{
Times =
{
0.0000000e+000,
2.0247516e-001,
3.2290432e-001,
4.7881454e-001,
6.4916664e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
6.4882517e-002,
9.8659448e-002,
4.8528183e-001,
6.0317144e-003,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.2722742e-002,
-4.5073226e-002,
1.7790599e-002,
2.0852409e-002,
1.6193686e-004,
1.7938390e-003,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5111DDDB
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_5ACAEC0E
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_9AA39299";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_9AA39299
{
ValueType = Float4;
Times =
{
0.0000000e+000,
5.0183773e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
8.0130553e-001,
6.2950172e+000,
1.0406619e+000,
8.6716664e-001,
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,
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,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_53F9F139
{
AttributeName = "GrobalSize";
HasMin = true;
HasMax = true;
MinValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}

View file

@ -0,0 +1,340 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(711, 177);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-521, 288);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_4CE336B0",
"$LOCAL$/CParticleAttributeDeclaration_F1D44C8A",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(334, 131);
ChildList =
{
"$LOCAL$/Main_Lot",
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_0BF9AEAA
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_75B28038
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257952e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Main_Lot
{
EditorInfosPosition = int2(170, 355);
Descriptor = "$LOCAL$/CParticleDescriptor_11D3CC4E";
DurationInSeconds = 5.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.4000000e+001;
SpawnCountRelativeRandomDeviation = 9.6650624e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_11D3CC4E
{
EditorInfosPosition = int2(25, 339);
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9BC51382",
"$LOCAL$/CParticleSamplerShape_C08BEC3D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_64616D38";
States =
{
"$LOCAL$/CParticleState_FBAD371B",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1CCBE1BA
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_64616D38
{
EditorInfosPosition = int2(-153, 300);
Expression = "function void Eval()
{
Life = rand(0.1,0.1);
Position = PositionSampler.samplePosition();
Velocity = VelocitySampler.samplePosition();
float3 v = Velocity * (Throttle * rand(0.9,1.1));
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_FBAD371B
{
EditorInfosPosition = int2(-79, 590);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6735766D",
"$LOCAL$/Flames",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_71334881
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6735766D
{
EditorInfosPosition = int2(-249, 591);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -4.0000000e+000, 0.0000000e+000);
Drag = 5.0000000e-001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 10;
BounceRestitution = 3.0000001e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9BC51382
{
EditorInfosPosition = int2(-151, 367);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_7604A941";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_7604A941
{
EditorInfosPosition = int2(-247, 365);
Position = float3(0.0000000e+000, 5.0000000e-001, 0.0000000e+000);
ShapeType = CYLINDER;
Height = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_76658303
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_47935F34
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_6C525127";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6C525127
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.3849864e-001,
1.0000000e+000,
};
FloatValues =
{
2.5888062e+000,
7.7745247e+001,
7.3503357e+001,
6.4612997e-001,
2.0553560e+000,
3.8516720e+001,
3.5025604e+001,
6.2580526e-001,
1.3330803e+000,
3.0305719e+000,
4.2372961e+000,
6.6386294e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6951137e+000,
-1.3702939e-004,
-1.1671032e+000,
-2.7337904e+000,
-1.7046227e+000,
-6.1781224e-002,
-1.0002245e+000,
-2.3428993e+000,
-1.4608870e+000,
-5.2947421e-002,
-4.2274657e-001,
-1.0370370e+000,
-3.2198474e+000,
1.2638654e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_FF6840D9
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_75B28038";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_4CE336B0
{
EditorInfosPosition = int2(-690, 285);
AttributeName = "Throttle";
AttributeDescription = "Flamethrower power / flame velocity\\nLower values throw flames closer.\\nHigher values throw flames further";
DefaultValueF4 = float4(8.0000001e-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_F1D44C8A
{
EditorInfosPosition = int2(-691, 331);
AttributeName = "ShakeAmplitude";
AttributeDescription = "Horizontal sinusoidal shake amplitude";
DefaultValueF4 = float4(2.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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BCFD71B2
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_707791AD";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_707791AD
{
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 * 4;
Size *= SizeCoeff * 0.5;
}";
}
CParticleEvolver_Spawner $LOCAL$/Flames
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_1BC47A3F";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1BC47A3F
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_D6BD72B1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_71334881",
"$LOCAL$/CParticleFieldDeclaration_76658303",
"$LOCAL$/CParticleFieldDeclaration_1CCBE1BA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06";
States =
{
"$LOCAL$/CParticleState_26784AB0",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.1 + (0.2 + couillunessFactor * 1.5) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0);//float3(0,0,-2);
}";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_D6BD72B1
{
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);
}
CParticleState $LOCAL$/CParticleState_26784AB0
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_60A47EB3",
"$LOCAL$/CParticleEvolver_Field_FF6840D9",
"$LOCAL$/CParticleEvolver_Field_47935F34",
"$LOCAL$/CParticleEvolver_Rotation_0BF9AEAA",
"$LOCAL$/CParticleEvolver_Script_BCFD71B2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_60A47EB3
{
EditorInfosPosition = int2(-773, 805);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 1.0000000e+000, 0.0000000e+000);
Drag = 1.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DC850E0B
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_C08BEC3D
{
EditorInfosPosition = int2(-149, 416);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_FF71004F";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_FF71004F
{
EditorInfosPosition = int2(-241, 420);
ShapeType = SPHERE;
Radius = 5.0000000e-001;
}

View file

@ -0,0 +1,620 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Vortex
{
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_34A909E2",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Vortex",
"$LOCAL$/LightningRing",
"$LOCAL$/LightingBolts",
"$LOCAL$/BlueLight",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
CustomName = "Billboard";
Diffuse = "Textures/FX/LightRays_02.png";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
Expression = "function void Eval()
{
Life = 0.4;
Rotation = rand(-pi,pi);
ScalarRotationSpeed = 6*sin(spawner.LifeRatio*2*pi);
Position = float3(0,0.7,0);
}";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Field_F9FFD457",
"$LOCAL$/CParticleEvolver_Rotation_C471EA28",
"$LOCAL$/CParticleEvolver_Field_B37B804B",
"$LOCAL$/CParticleEvolver_Damper_7835E146",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6671891D
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.8654555e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
5.4421711e-001,
1.0370605e+000,
2.8659752e+001,
1.0000000e+000,
8.6442292e-001,
1.5482540e+000,
3.9300758e+001,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.2110351e-001,
5.8544493e-001,
4.3967576e+000,
0.0000000e+000,
9.6246995e-002,
2.3152155e-001,
4.0371575e+000,
0.0000000e+000,
4.1969666e-001,
1.0095778e+000,
1.7604517e+001,
0.0000000e+000,
3.4133241e-001,
2.1894775e-001,
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);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_F9FFD457
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_83933DBE";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_83933DBE
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.3296311e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
-1.1266809e+000,
-2.8787637e-001,
0.0000000e+000,
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_C471EA28
{
CustomName = "Rotation";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_B37B804B
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_6671891D";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_34A909E2
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Damper $LOCAL$/CParticleEvolver_Damper_7835E146
{
CustomName = "Damper";
ExpDampingTime = 1.0000000e+001;
FieldToDampen = "ScalarRotationSpeed";
}
CActionFactoryParticleSpawnerBase $LOCAL$/LightningRing
{
Descriptor = "$LOCAL$/CParticleDescriptor_BBB147EA";
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_BBB147EA
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_BBEAEF05";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_99F8BF56",
"$LOCAL$/CParticleFieldDeclaration_B4493880",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_772C01CE";
States =
{
"$LOCAL$/CParticleState_00F225B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_BBEAEF05
{
CustomName = "Billboard";
Diffuse = "Textures/FX/LightningOrb_01.png";
}
CParticleState $LOCAL$/CParticleState_00F225B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Rotation_50875159",
"$LOCAL$/CParticleEvolver_Field_F4374EB8",
"$LOCAL$/CParticleEvolver_Field_AA68ADED",
"$LOCAL$/CParticleEvolver_Script_FFCCF543",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_772C01CE
{
Expression = "function void Eval()
{
Life = 0.2;
Rotation = rand(-pi, pi);
SizeCoeff = rand(0.3,0.35);
Position = float3(0,0.7,0);
}";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_50875159
{
CustomName = "Rotation";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_F4374EB8
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_C091929B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C091929B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
9.9328351e-001,
2.5907451e-001,
};
FloatTangents =
{
0.0000000e+000,
-7.7249773e-002,
-1.6293277e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_AA68ADED
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_D8E688FC";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D8E688FC
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.9241667e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.0982087e+000,
2.2082088e+000,
9.5799999e+000,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.5280752e-001,
1.5280752e-001,
1.5280752e-001,
0.0000000e+000,
5.2551400e-002,
5.2551400e-002,
5.2551400e-002,
0.0000000e+000,
2.2056110e-001,
2.2056110e-001,
2.2056110e-001,
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_99F8BF56
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B4493880
{
FieldName = "SizeCoeff";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_FFCCF543
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_51AE8AFA";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_51AE8AFA
{
Expression = "function void Eval()
{
Size *= SizeCoeff;
}";
}
CActionFactoryParticleSpawnerBase $LOCAL$/LightingBolts
{
Descriptor = "$LOCAL$/CParticleDescriptor_2AC0AAF7";
DurationInSeconds = 2.0000000e+000;
SpawnCount = 6.0000000e+001;
SpawnCountRelativeRandomDeviation = 1.5515569e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_2AC0AAF7
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_AE3339DE";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_CE7BC970",
"$LOCAL$/CParticleFieldDeclaration_E2075C85",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_59811144",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4CF168EB";
States =
{
"$LOCAL$/CParticleState_3E85E929",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_AE3339DE
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Thunder_01.png";
AtlasDefinition = "Textures/FX/Thunder_01.pkat";
BillboardMode = VelocityAxisAligned;
AxisField = "Axis";
}
CParticleState $LOCAL$/CParticleState_3E85E929
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_D2850273",
"$LOCAL$/CParticleEvolver_Physics_6432DD34",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4CF168EB
{
Expression = "function void Eval()
{
Life = 0.15;
Size = rand(0.25, 0.4);
float3 p = Sampler_0.samplePosition();
Position = p + float3(0,0.7,0);
Velocity = float3(0,0.75,0);
Axis = -rand(5, 8) * normalize(p);
Color = float4(1.15,2.2,22,1);
}";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_95A4C9DE
{
ShapeType = SPHERE;
Radius = 4.0000001e-001;
}
CShapeDescriptorCollection $LOCAL$/CShapeDescriptorCollection_70057AF7
{
SubShapes =
{
"$LOCAL$/CShapeDescriptor_95A4C9DE",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CE7BC970
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_D2850273
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E497236A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E497236A
{
Expression = "function void Eval()
{
TextureID = LifeRatio*4;
float axisLength = length(Axis);
Axis = normalize(Axis - float3(0,dt*20,0)) * axisLength;
}";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E2075C85
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6432DD34
{
CustomName = "Physics";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_59811144
{
SamplerName = "Sampler_0";
Shape = "$LOCAL$/CShapeDescriptorCollection_70057AF7";
}
CActionFactoryParticleSpawnerBase $LOCAL$/BlueLight
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_E8B738EB";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E8B738EB
{
Renderer = "$LOCAL$/CParticleRenderer_Light_FC517A71";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_1F0B3370",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_7E5C931F";
States =
{
"$LOCAL$/CParticleState_E60C06BD",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7E5C931F
{
Expression = "function void Eval()
{
Life = 2.2;
Size = 3.0;
Position = float3(0,0.7,0);
}";
}
CParticleState $LOCAL$/CParticleState_E60C06BD
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Field_36FEC473",
};
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_FC517A71
{
CustomName = "Light";
BillboardingMaterial = Lighting_SplatPass_Spec;
LightIntensityMultiplier = 2.0000000e+001;
LightAttenuationSteepnessRange = float2(0.0000000e+000, 3.2000000e+001);
LightAttenuationSteepness = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1F0B3370
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_36FEC473
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_54B1DD6A";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_54B1DD6A
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.0909094e-002,
1.7688957e-001,
2.5812733e-001,
3.8366213e-001,
4.8939523e-001,
6.4819419e-001,
7.9237509e-001,
9.0909094e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.5773159e+001,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.3622520e+001,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.3725010e+001,
0.0000000e+000,
3.4384966e+000,
4.0630932e+000,
2.3725010e+001,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.3351219e+001,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.4846382e+001,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.3725010e+001,
0.0000000e+000,
3.4384966e+000,
3.9384966e+000,
2.4493069e+001,
0.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,
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.5398884e+000,
3.4687040e+000,
1.9555298e+001,
0.0000000e+000,
2.3997872e+000,
3.2773690e+000,
1.8476622e+001,
0.0000000e+000,
2.2611182e+000,
2.8402545e+000,
1.5264819e+001,
0.0000000e+000,
3.4940529e+000,
4.3889785e+000,
2.3588366e+001,
0.0000000e+000,
3.8060861e+000,
4.4430280e+000,
2.2273224e+001,
0.0000000e+000,
3.2057188e+000,
3.7421904e+000,
1.8759872e+001,
0.0000000e+000,
4.1820278e+000,
4.2361121e+000,
1.5517987e+001,
0.0000000e+000,
6.2809253e+000,
6.3621535e+000,
2.3306234e+001,
0.0000000e+000,
6.5480828e+000,
6.7900567e+000,
2.1946417e+001,
0.0000000e+000,
5.9453058e+000,
6.1650052e+000,
1.9926163e+001,
0.0000000e+000,
5.7592821e+000,
5.3127451e+000,
1.8905416e+001,
0.0000000e+000,
4.6621952e+000,
4.3007193e+000,
1.5304120e+001,
0.0000000e+000,
4.0492253e+000,
3.9660637e+000,
2.4607763e+001,
0.0000000e+000,
3.1539099e+000,
3.0891361e+000,
1.9166796e+001,
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}

View file

@ -0,0 +1,654 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/CrackBranch",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(329, 64);
ChildList =
{
"$LOCAL$/Crack",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B30B2123
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9AEE5ABD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_168DE691
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_216E6F10";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_216E6F10
{
Expression = "function void Eval()
{
Color=CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 2);
Size = (0.05 * Scale) * GlobalSizeCurve.sample(LifeRatio);
}
";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_FE3EB050",
"$LOCAL$/CParticleAttributeDeclaration_02243087",
"$LOCAL$/CParticleAttributeDeclaration_1DF47118",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerCurve_C7BD0385",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Crack
{
Descriptor = "$LOCAL$/CParticleDescriptor_7C46C5E9";
DurationInSeconds = 9.9999998e-003;
SpawnCountMode = TotalParticleCount;
SpawnCount = 3.2000000e+001;
SpawnCountRelativeRandomDeviation = 1.3000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7C46C5E9
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AA0A7EFA",
"$LOCAL$/CParticleFieldDeclaration_2832E92E",
"$LOCAL$/CParticleFieldDeclaration_668C5BD9",
"$LOCAL$/CParticleFieldDeclaration_7EA25C67",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3F5A22F7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A99F3108";
States =
{
"$LOCAL$/CParticleState_4C8B87C2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A99F3108
{
Expression = "function void Eval()
{
Life = 0.3;
Position = DropSampler.samplePosition();
Velocity = Scale*safe_normalize(Position - DropSampler.position())*30;
SizeCoeff = Scale;
FluxScale = pow(Flux,0.5)*2*Scale;
NextBranchTime = SizeCoeff * (0.5 + 0.25 * pow(rand(0, 1), 2)) * 0;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_668C5BD9
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_4C8B87C2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_081972C0",
"$LOCAL$/death",
"$LOCAL$/base",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_C1D98F7D
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8FACC28C
{
FieldName = "Timeb";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FE3EB050
{
AttributeName = "CustomColorRGBA";
AttributeType = float4;
DefaultValueF4 = float4(2.0000000e+000, 5.1980197e-001, 2.0792080e-001, 1.7344180e-001);
MaxValueF4 = float4(2.0000000e+000, 2.0000000e+000, 2.0000000e+000, 2.0000000e+000);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_104D4D29
{
Renderer = "$LOCAL$/CParticleRenderer_List_BF861E68";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9AEE5ABD",
"$LOCAL$/CParticleFieldDeclaration_BB297115",
"$LOCAL$/CParticleFieldDeclaration_42AA1C4F",
"$LOCAL$/CParticleFieldDeclaration_BD2FCDD3",
"$LOCAL$/CParticleFieldDeclaration_B334DEDB",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_37052329",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3F389B48";
States =
{
"$LOCAL$/CParticleState_6B8B6DDE",
};
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_7A8041A7
{
EventName = "OnDeath";
EventAction = "$LOCAL$/CrackBranch";
}
CParticleState $LOCAL$/CParticleState_6B8B6DDE
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_B91A4402",
"$LOCAL$/CParticleEvolver_Script_168DE691",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BC1951CA
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7AF25165";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7AF25165
{
Expression = "function void Eval()
{
Timeb += dt;
int shouldSpawnBranch = Timeb > 0.025;
float n = 60 * SizeCoeff;
Velocity = lerp(select(Velocity,float3(SizeCoeff*rand(-1,1)*100,0,SizeCoeff*rand(-1,1)*100),shouldSpawnBranch),Velocity,0.9);
Timeb = select(Timeb,0,shouldSpawnBranch);
NextBranchTime = select(NextBranchTime, SizeCoeff * (0.05 + 0.25 * pow(rand(0, 1), 2)), shouldSpawnBranch);
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E9BE2D1D
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B91A4402
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_F1A21305
{
CustomName = "Physics";
Mass = 0.0000000e+000;
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5E0F683
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/NoisedLine.png";
BillboardMode = SideAxisAligned;
AxisField = "Axis";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AA0A7EFA
{
FieldName = "Timeb";
}
CParticleEvolver_Spawner $LOCAL$/base
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 3.0000001e-001;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_104D4D29";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3F389B48
{
Expression = "function void Eval()
{
Axis = float3(0,1,0);
Life = 2;
Size = 0.05 * Scale;
ColorCoeff = 100 * pow(1 - spawner.LifeRatio, 2);
TextureID = rand(0,16);
CC = CustomColorRGBA * 1;
}
";
}
CParticleEvolver_Spawner $LOCAL$/death
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 3.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_CD6A0035";
}
CParticleState $LOCAL$/CParticleState_91BC2CDA
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_D33971BE",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CD6A0035
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_59D07FA1",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_7A8041A7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C095B224";
States =
{
"$LOCAL$/CParticleState_91BC2CDA",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C095B224
{
Expression = "function void Eval()
{
Life = 0.01;
Color = CustomColorRGBA;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_D33971BE
{
CustomName = "Physics";
Mass = 0.0000000e+000;
}
CActionFactoryParticleSpawnerBase $LOCAL$/CrackBranch
{
Descriptor = "$LOCAL$/CParticleDescriptor_1DEAC189";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1DEAC189
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8FACC28C",
"$LOCAL$/CParticleFieldDeclaration_C9081B39",
"$LOCAL$/CParticleFieldDeclaration_28722F38",
"$LOCAL$/CParticleFieldDeclaration_E4021DE6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4669BE28";
States =
{
"$LOCAL$/CParticleState_247F7DE2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4669BE28
{
Expression = "function void Eval()
{
Life = rand(0.05,0.05);
Velocity=float3(0,0,0)*Scale;
SizeCoeff=Scale;
FluxScale=pow(Flux,0.5)*1*Scale;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_28722F38
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_247F7DE2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_9AAE6F84",
"$LOCAL$/ert",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_4E3ECB6C
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F
{
Expression = "function void Eval()
{
Timeb += dt*SizeCoeff;
int shouldChangeDirection = Timeb>0.01*SizeCoeff;
float n = 60*SizeCoeff;
Velocity = select(Velocity, float3(rand(-n,n),0,rand(-n,n)), shouldChangeDirection);
Timeb = select(Timeb,0,shouldChangeDirection); // reset the \'should.pkangeDirection\' condition
}
";
}
CParticleEvolver_Spawner $LOCAL$/ert
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_47893DF0";
}
CParticleState $LOCAL$/CParticleState_65AD76F1
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_F1A21305",
"$LOCAL$/CParticleEvolver_Script_403022B8",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_47893DF0
{
Renderer = "$LOCAL$/CParticleRenderer_List_021C4C6A";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_0B9A51ED",
"$LOCAL$/CParticleFieldDeclaration_366F0A1E",
"$LOCAL$/CParticleFieldDeclaration_BC9A45D6",
"$LOCAL$/CParticleFieldDeclaration_C223EA14",
"$LOCAL$/CParticleFieldDeclaration_B81A293A",
"$LOCAL$/CParticleFieldDeclaration_05190660",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_09C487E3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3";
States =
{
"$LOCAL$/CParticleState_65AD76F1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3
{
Expression = "function void Eval()
{
Axis = float3(0,1,0);
Life = 2;
float iSpawnerLR = 1 - spawner.LifeRatio;
BaseSize = 0.4*Scale * pow(iSpawnerLR, 0.5) * 0.2;
ColorCoeff = pow(Flux,4)*100*pow(iSpawnerLR, 2);
TextureID = rand(0,16);
Position = float3(0,0,0)*Scale;
CC = CustomColorRGBA * 1;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_23F2DF84
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/NoisedLine.png";
BillboardMode = SideAxisAligned;
AxisField = "Axis";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_403022B8
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_70F7169B";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_70F7169B
{
Expression = "function void Eval()
{
Color = CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
Size = BaseSize * GlobalSizeCurve.sample(LifeRatio);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C223EA14
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0B9A51ED
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C9081B39
{
FieldName = "SizeCoeff";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_02243087
{
AttributeName = "Scale";
DefaultValueF4 = float4(5.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2832E92E
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_366F0A1E
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BB297115
{
FieldName = "TextureID";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1DF47118
{
AttributeName = "Flux";
DefaultValueF4 = float4(8.3468831e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_081972C0
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_C1D98F7D",
"$LOCAL$/CParticleEvolver_Script_BC1951CA",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_9AAE6F84
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_E9BE2D1D",
"$LOCAL$/CParticleEvolver_Script_4E3ECB6C",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42AA1C4F
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BC9A45D6
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BD2FCDD3
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E4021DE6
{
FieldName = "ParentColor";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_59D07FA1
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3F5A22F7
{
SamplerName = "DropSampler";
Shape = "$LOCAL$/CShapeDescriptor_EE347186";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_EE347186
{
ShapeType = CYLINDER;
Radius = 2.0000000e-001;
InnerRadius = 2.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_37052329
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
3.9882757e-002,
7.1488075e-002,
7.9634374e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
6.6010171e-001,
1.6563272e-001,
2.7241680e-001,
1.5209470e-003,
};
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,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_09C487E3
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
6.4110816e-002,
8.6448866e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
5.9643149e-001,
9.4637269e-001,
8.5953772e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B334DEDB
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B81A293A
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7EA25C67
{
FieldName = "NextBranchTime";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C7BD0385
{
SamplerName = "GlobalSizeCurve";
Times =
{
0.0000000e+000,
6.9348741e-001,
7.7400190e-001,
8.9076090e-001,
1.0000000e+000,
};
FloatValues =
{
1.1830896e+001,
2.2051985e+001,
1.4963507e+002,
2.0001369e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
2.4684429e+001,
2.8658836e+000,
6.0698044e-001,
8.8021964e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_821F762C
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_949EFA5F
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_882CE90E
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B9A815E9
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_05190660
{
FieldName = "BaseSize";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_BF861E68
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_E5E0F683",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_021C4C6A
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_23F2DF84",
};
}

View file

@ -0,0 +1,345 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(560, 108);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Smoke
{
EditorInfosPosition = int2(-474, -675);
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 8.0000000e+000;
SpawnCount = 8.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-632, -668);
InheritInitialVelocity = 1.0000000e+000;
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2C215779",
"$LOCAL$/CParticleFieldDeclaration_FF8F7870",
"$LOCAL$/CParticleFieldDeclaration_E1604A6A",
"$LOCAL$/CParticleFieldDeclaration_B35889A6",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_5C87387A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_E37410C3",
"$LOCAL$/CParticleSamplerShape_A5FC6A40",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-10, -165);
ChildList =
{
"$LOCAL$/Smoke",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-805, -786);
UserData = "shaderGroup=fire";
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_SoftLighting;
Diffuse = "Textures/BlastPack_Extended.png";
Normal = "Textures/BlastPack_Extended_Normal.png";
AtlasDefinition = "Textures/BlastPack_Extended.pkat";
NormalsWrapFactor = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-792, -419);
Expression = "function void Eval()
{
Position = PositionSampler.samplePosition();
float4 intensities = Intensity.sample(FireEvolution*0.5);
Life = rand(5.0, 8) * intensities.z * step(FireEvolution, 1.0e-3);
Size = 0.5;
Velocity = float3(0,intensities.w * 2,0) * 0.25;
TextureID = rand(32,36);
Rotation = rand(-pi, pi);
ScalarRotationSpeed = (1 - pow(rand(0,1), 30)) * 0.8 * sign(Rotation);
AlphaCoeff = intensities.xy;//spawner.LifeRatio;//1 - pow(spawner.LifeRatio, 2);
}";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-819, -292);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_70B82B25",
"$LOCAL$/CParticleEvolver_Field_1AE2F154",
"$LOCAL$/CParticleEvolver_Field_5D69BC58",
"$LOCAL$/CParticleEvolver_Script_AE0FE9C3",
"$LOCAL$/CParticleEvolver_Rotation_CF07E785",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-1667, 442);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_B01A74CC",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_70B82B25
{
EditorInfosPosition = int2(-954, -344);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 3.0000001e-001, 0.0000000e+000);
Drag = 2.0000000e-001;
VelocityFieldSampler = "VelocityField";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_1AE2F154
{
EditorInfosPosition = int2(-950, -297);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_CB941AC7";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_CB941AC7
{
EditorInfosPosition = int2(-1025, -280);
ValueType = Float4;
Times =
{
0.0000000e+000,
3.5562143e-002,
2.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
4.8874578e-001,
1.8112177e-001,
7.2856173e-002,
1.2152736e-001,
9.4275922e-002,
5.3745031e-002,
4.7776483e-002,
1.9092050e-001,
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,
-1.3385828e-002,
-2.8115343e-002,
-9.6249115e-003,
1.8651004e-001,
-7.6651849e-002,
-5.4445602e-002,
-1.7798074e-002,
7.4724868e-002,
-3.5443494e-001,
-2.5175419e-001,
-8.2297549e-002,
3.4552461e-001,
-4.2035766e-002,
-3.5166040e-002,
-3.2884832e-002,
-3.1330485e-002,
-2.0450652e-001,
-1.7108488e-001,
-1.5998666e-001,
-1.5242468e-001,
-2.9122775e-002,
-2.9122775e-002,
-2.9122775e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2C215779
{
EditorInfosPosition = int2(-801, -740);
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_5D69BC58
{
EditorInfosPosition = int2(-950, -241);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_32F8C9BB";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_32F8C9BB
{
EditorInfosPosition = int2(-1025, -222);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.8533987e-001,
1.3140669e+000,
};
FloatTangents =
{
0.0000000e+000,
1.4666183e+000,
1.5304744e-001,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FF8F7870
{
EditorInfosPosition = int2(-802, -700);
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E1604A6A
{
EditorInfosPosition = int2(-798, -660);
FieldName = "Rotation";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_CF07E785
{
EditorInfosPosition = int2(-961, -136);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_AE0FE9C3
{
EditorInfosPosition = int2(-958, -193);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_ED57AD7A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_ED57AD7A
{
EditorInfosPosition = int2(-1059, -188);
Expression = "function void Eval()
{
Color = Color * AlphaCoeff.yyyx;
}";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_E37410C3
{
EditorInfosPosition = int2(-793, -522);
SamplerName = "VelocityField";
Strength = 2.1213204e-001;
Gain = 1.0000000e+000;
TimeScale = 2.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_5C87387A
{
EditorInfosPosition = int2(-794, -562);
SamplerName = "Intensity";
ValueType = Float4;
Times =
{
0.0000000e+000,
8.9987129e-002,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
2.4714521e-001,
0.0000000e+000,
3.4931549e-001,
0.0000000e+000,
4.6057376e-001,
2.8718019e-001,
6.8433118e-001,
2.1155488e-001,
9.9156022e-001,
9.9461973e-001,
1.0000000e+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,
2.2397479e-001,
0.0000000e+000,
5.0674534e-001,
0.0000000e+000,
2.0154619e-001,
3.3474708e-001,
2.1760091e-001,
3.2078686e-001,
9.1831505e-001,
1.5252249e+000,
9.9146593e-001,
1.4616172e+000,
2.5898121e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.1582084e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-2.4653063e+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_A5FC6A40
{
EditorInfosPosition = int2(-796, -477);
EditorInfosIsBlockMinimized = 2;
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_91C350C8";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_91C350C8
{
EditorInfosPosition = int2(-915, -467);
Position = float3(0.0000000e+000, 1.0000000e-001, 0.0000000e+000);
ShapeType = CYLINDER;
Radius = 9.9999998e-003;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B01A74CC
{
EditorInfosPosition = int2(-1772, 475);
AttributeName = "FireEvolution";
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B35889A6
{
EditorInfosPosition = int2(-795, -620);
FieldName = "AlphaCoeff";
FieldType = float2;
}

View file

@ -0,0 +1,645 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(711, 177);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-521, 288);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_4CE336B0",
"$LOCAL$/CParticleAttributeDeclaration_F1D44C8A",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flaming_Tracers
{
EditorInfosPosition = int2(-7, -82);
Descriptor = "$LOCAL$/CParticleDescriptor_AD96ED3F";
DurationInSeconds = 2.0000000e+001;
SpawnCount = 5.0000000e-001;
SpawnCountRelativeRandomDeviation = 1.1959492e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AD96ED3F
{
EditorInfosPosition = int2(-134, -72);
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_D4F16782",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3FB2E6A9",
"$LOCAL$/CParticleSamplerShape_A882526B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C90A29B0";
States =
{
"$LOCAL$/CParticleState_D52AE1B3",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(334, 131);
ChildList =
{
"$LOCAL$/Flaming_Tracers",
"$LOCAL$/Main_Lot",
"$LOCAL$/Lights",
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_0BF9AEAA
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C90A29B0
{
EditorInfosPosition = int2(-368, -58);
Expression = "function void Eval()
{
Life = rand(1.5,2.5);
Position = PositionSampler.samplePosition();
Velocity = VelocitySampler.samplePosition();
float3 v = Velocity * Throttle;
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_D52AE1B3
{
EditorInfosPosition = int2(-368, 110);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_89B285AA",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_89B285AA
{
EditorInfosPosition = int2(-454, 133);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -8.0000000e+000, 0.0000000e+000);
Drag = 5.0000000e-001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 2;
BounceRestitution = 3.0000001e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_8C17A49F
{
EditorInfosPosition = int2(-45, 1073);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_097F363D";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_49135174
{
EditorInfosPosition = int2(-451, 3);
Position = float3(0.0000000e+000, 1.3000000e+000, 0.0000000e+000);
ShapeType = SPHERE;
Radius = 5.0000001e-002;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_ADFA0E0C
{
EditorInfosPosition = int2(-43, 1018);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_CAB53E9F";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_4B1C8B8E
{
EditorInfosPosition = int2(-452, 67);
Position = float3(0.0000000e+000, 7.0000000e+000, -4.0000000e+001);
ShapeType = CYLINDER;
Radius = 5.0000000e-001;
Height = 2.0000000e+000;
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_D4F16782
{
EditorInfosPosition = int2(-365, -122);
EventName = "OnCollide";
EventAction = "Particles/BurnHit.pkfx/Spawner";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_75B28038
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
8.7447874e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.9861224e-001,
1.4257952e+000,
};
FloatTangents =
{
0.0000000e+000,
2.3390253e-001,
2.6556799e-001,
2.7713039e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Main_Lot
{
EditorInfosPosition = int2(170, 355);
Descriptor = "$LOCAL$/CParticleDescriptor_11D3CC4E";
DurationInSeconds = 2.0000000e+001;
SpawnCount = 1.0000000e+001;
SpawnCountRelativeRandomDeviation = 9.6650624e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_11D3CC4E
{
EditorInfosPosition = int2(25, 339);
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9BC51382",
"$LOCAL$/CParticleSamplerShape_C08BEC3D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_64616D38";
States =
{
"$LOCAL$/CParticleState_FBAD371B",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1CCBE1BA
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_64616D38
{
EditorInfosPosition = int2(-153, 300);
Expression = "function void Eval()
{
Life = rand(1.5,2.5);
Position = PositionSampler.samplePosition();
Velocity = VelocitySampler.samplePosition();
float3 v = Velocity * (Throttle * rand(0.9,1.1));
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_FBAD371B
{
EditorInfosPosition = int2(-79, 590);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6735766D",
"$LOCAL$/Flames",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_71334881
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6735766D
{
EditorInfosPosition = int2(-249, 591);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -8.0000000e+000, 0.0000000e+000);
Drag = 5.0000000e-001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 10;
BounceRestitution = 3.0000001e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_C08BEC3D
{
EditorInfosPosition = int2(-149, 416);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_FF71004F";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_FF71004F
{
EditorInfosPosition = int2(-241, 420);
Position = float3(0.0000000e+000, 7.0000000e+000, -4.0000000e+001);
ShapeType = SPHERE;
Radius = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9BC51382
{
EditorInfosPosition = int2(-151, 367);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_7604A941";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_7604A941
{
EditorInfosPosition = int2(-247, 365);
Position = float3(0.0000000e+000, 1.3000000e+000, 0.0000000e+000);
ShapeType = SPHERE;
Radius = 5.0000001e-002;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_76658303
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_47935F34
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_6C525127";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6C525127
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.3367925e-001,
1.0000000e+000,
};
FloatValues =
{
4.2189606e+001,
2.7733440e+001,
5.2586117e+001,
6.4612997e-001,
7.1845150e+000,
4.4242468e+000,
5.0406747e+000,
6.2580526e-001,
6.1475372e+000,
3.0305719e+000,
4.2372961e+000,
6.6386294e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6799428e+000,
-1.3580301e-004,
-1.1566579e+000,
-2.7093239e+000,
-1.6893669e+000,
-6.1228301e-002,
-1.0106698e+000,
-2.3673658e+000,
-1.4761429e+000,
-5.3500351e-002,
-4.2716128e-001,
-1.0478667e+000,
-3.2534721e+000,
1.2770637e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_FF6840D9
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_75B28038";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Lights
{
EditorInfosPosition = int2(187, 850);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_3DF5B555";
DurationInSeconds = 2.0000000e+001;
SpawnCount = 2.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_3DF5B555
{
EditorInfosPosition = int2(76, 925);
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Light_80861EE6";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_5FD41490",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_ADFA0E0C",
"$LOCAL$/CParticleSamplerShape_8C17A49F",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_BA217677";
States =
{
"$LOCAL$/CParticleState_189ED75E",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_CAB53E9F
{
EditorInfosPosition = int2(-150, 1017);
Position = float3(0.0000000e+000, 1.3000000e+000, 0.0000000e+000);
ShapeType = SPHERE;
Radius = 0.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_BA217677
{
EditorInfosPosition = int2(-143, 956);
Expression = "function void Eval()
{
Life = rand(0.5,2.5);
Position = PositionSampler.samplePosition();
Velocity = VelocitySampler.samplePosition();
float3 v = Velocity * Throttle;
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_189ED75E
{
EditorInfosPosition = int2(-56, 1146);
EditorInfosIsBlockMinimized = 0;
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_1EA9CC6B",
"$LOCAL$/CParticleEvolver_Field_7B7B5A11",
"$LOCAL$/CParticleEvolver_Field_7B99DDF5",
"$LOCAL$/CParticleEvolver_Script_D29BEB49",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_1EA9CC6B
{
EditorInfosPosition = int2(-311, 1062);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -8.0000000e+000, 0.0000000e+000);
Drag = 5.0000000e-001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 2;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_A882526B
{
EditorInfosPosition = int2(-357, 58);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_4B1C8B8E";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_097F363D
{
EditorInfosPosition = int2(-153, 1080);
Position = float3(0.0000000e+000, 7.0000000e+000, -4.0000000e+001);
ShapeType = SPHERE;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3FB2E6A9
{
EditorInfosPosition = int2(-354, 13);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_49135174";
SampleDimensionality = Volume;
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_80861EE6
{
EditorInfosPosition = int2(-73, 874);
CustomName = "Light";
LightIntensityMultiplier = 2.0000000e+000;
LightAttenuationSteepnessRange = float2(0.0000000e+000, 8.0000000e+000);
LightAttenuationSteepness = 6.2500000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_7B7B5A11
{
EditorInfosPosition = int2(-310, 1114);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_73D0A113";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5FD41490
{
EditorInfosPosition = int2(-70, 919);
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_73D0A113
{
EditorInfosPosition = int2(-409, 1125);
ValueType = Float4;
Times =
{
0.0000000e+000,
2.8803664e-001,
8.9321363e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
4.5130506e+000,
1.9133502e+000,
7.8815788e-001,
1.0000000e+000,
1.4676437e+000,
6.0039896e-001,
2.2180060e-001,
9.9662262e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-4.6968726e-003,
-3.2139339e-003,
-1.2095796e-002,
-1.5131012e-002,
-7.1592988e-003,
-6.7526093e-003,
-2.5413772e-002,
-3.1790894e-002,
-1.5041985e-002,
-1.3213036e+000,
-8.6636221e-001,
-3.2147384e-001,
9.9930391e-003,
-2.3315030e-001,
-1.5287375e-001,
-5.6725595e-002,
1.7633191e-003,
-2.4342837e+000,
-6.3368237e-001,
-3.3816195e-001,
2.8688549e-003,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_7B99DDF5
{
EditorInfosPosition = int2(-302, 1175);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_062D18E4";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_062D18E4
{
EditorInfosPosition = int2(-403, 1187);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.3544074e+001,
1.0289016e+001,
};
FloatTangents =
{
0.0000000e+000,
-8.4239216e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_D29BEB49
{
EditorInfosPosition = int2(-307, 1245);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_B4AD40E8";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B4AD40E8
{
EditorInfosPosition = int2(-409, 1250);
Expression = "function void Eval()
{
Color *= 0.5;
}";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_4CE336B0
{
EditorInfosPosition = int2(-690, 285);
AttributeName = "Throttle";
DefaultValueF4 = float4(8.0000001e-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_F1D44C8A
{
EditorInfosPosition = int2(-691, 331);
AttributeName = "ShakeAmplitude";
DefaultValueF4 = float4(2.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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BCFD71B2
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_707791AD";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_707791AD
{
EditorInfosPosition = int2(-879, 1022);
Expression = "function void Eval()
{
TextureID = LifeRatio * 32;
Color *= ColorCoeff;
Size *= SizeCoeff;
}";
}
CParticleEvolver_Spawner $LOCAL$/Flames
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnInterval = 1.5000001e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_1BC47A3F";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1BC47A3F
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_D6BD72B1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_71334881",
"$LOCAL$/CParticleFieldDeclaration_76658303",
"$LOCAL$/CParticleFieldDeclaration_1CCBE1BA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06";
States =
{
"$LOCAL$/CParticleState_26784AB0",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.3 + (0.3 + couillunessFactor * 1.5) * spawner.LifeRatio;
Size = 0.25;
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.15;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0);//float3(0,0,-2);
}";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_D6BD72B1
{
EditorInfosPosition = int2(-570, 657);
EditorInfosIsBlockMinimized = 0;
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Diffuse = "Textures/BlastPack_Extended.png";
AtlasDefinition = "Textures/BlastPack_Extended.pkat";
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);
}
CParticleState $LOCAL$/CParticleState_26784AB0
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_60A47EB3",
"$LOCAL$/CParticleEvolver_Field_FF6840D9",
"$LOCAL$/CParticleEvolver_Field_47935F34",
"$LOCAL$/CParticleEvolver_Rotation_0BF9AEAA",
"$LOCAL$/CParticleEvolver_Script_BCFD71B2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_60A47EB3
{
EditorInfosPosition = int2(-773, 805);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 5.0000000e+000, 0.0000000e+000);
Drag = 1.0000000e-001;
}

View file

@ -0,0 +1,564 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Counter
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
DurationInSeconds = 1.0000000e-003;
SpawnCountMode = TotalParticleCount;
SpawnCount = 5.0000000e+000;
FirstSpawnDelay = 5.0000000e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_CCF3F9A5";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_ABFAB774",
"$LOCAL$/CParticleFieldDeclaration_2708A391",
"$LOCAL$/CParticleFieldDeclaration_44F71A8B",
"$LOCAL$/CParticleFieldDeclaration_F79636AA",
"$LOCAL$/CParticleFieldDeclaration_5A785C66",
"$LOCAL$/CParticleFieldDeclaration_F20BC64B",
"$LOCAL$/CParticleFieldDeclaration_A36E6D6A",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_6FA29F33",
"$LOCAL$/CParticleSamplerCurve_5208EF37",
"$LOCAL$/CParticleSamplerCurve_017C52A1",
"$LOCAL$/CParticleSamplerCurve_BEFBA82A",
"$LOCAL$/CParticleSamplerCurve_2BC8AA39",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_B9A83643",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Counter",
"$LOCAL$/Effective",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
float spawnCount = 5; // must match the spawner\'s \'SpawnCount\' property
float particleId = floor(spawner.LifeRatio * spawnCount);
digitId = int(spawnCount - 1 - particleId);
DigitFactor = int(pow(10, digitId));
Digit = digitId;
TextureID = 0;
ValueBuffer = Value;
RGBBuffer = RGB;
Digit = particleId;
TextureID = 0;
Life = 2;
SizeRatioBuffer = SizeRatio * 0.5;
Size = 1 * SizeRatioBuffer;
int alignCount = select(0, select(1, select(2, select(3,4, (ValueBuffer >= 10000)), (ValueBuffer >= 1000)), (ValueBuffer >= 100)), (ValueBuffer >= 10));
Position = float3((Digit * (Size * 2)) + (alignCount * (Size)) - 8 * SizeRatioBuffer,-1 * SizeRatioBuffer,0);
Position = Position + WiggleVec;
}
";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_ADA781AB",
"$LOCAL$/CParticleAttributeDeclaration_5C4C877F",
"$LOCAL$/CParticleAttributeDeclaration_96B84472",
"$LOCAL$/CParticleAttributeDeclaration_A3472A57",
"$LOCAL$/CParticleAttributeDeclaration_E3BAC177",
"$LOCAL$/CParticleAttributeDeclaration_C820BAE4",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_5C4C877F
{
AttributeName = "Value";
DefaultValueF4 = float4(9.9999000e+004, 7.3939565e+003, 4.9917007e+003, 2.0278772e+002);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(9.9999000e+004, 9.9990000e+003, 9.9990000e+003, 9.9990000e+003);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6FA29F33
{
SamplerName = "CountScaler";
Times =
{
0.0000000e+000,
1.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
1.0000000e+000,
6.8535805e-003,
};
FloatTangents =
{
0.0000000e+000,
5.9798788e-003,
0.0000000e+000,
0.0000000e+000,
-1.5446687e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_96B84472
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_5208EF37
{
SamplerName = "CountDigit";
Interpolator = Linear;
Times =
{
0.0000000e+000,
1.5000001e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_CCF3F9A5
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/DamageCounterAtlas.png";
AtlasDefinition = "Textures/FX/DamageCounterAtlas.pkat";
AxisField = "AxisUp";
Axis2Field = "AxisNormal";
AxisScale = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DE935980
{
Expression = "function void Eval()
{
}
";
}
CParticleState $LOCAL$/CParticleState_B9A83643
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_1EDE0DAD";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_1EDE0DAD
{
Expression = "function void Eval()
{
// extract digit in the [0, 9] range
int value = int(ValueBuffer * CountDigit.sample(LifeRatio));
int digit = (value / DigitFactor) % 10;
int digitCount = select(1,select(2,select(3,select(4,5,(value / 10000) > 0),(value / 1000) > 0),(value / 100) > 0),(value / 10) > 0);
int colorRatio = select(0,1, (digitCount > digitId));
TextureID = 1 + digit;
float3 currentColor = RGBBuffer * pow(PowScaler.sample(LifeRatio),1.5) * 5;
Color = float4(currentColor.r, currentColor.g ,currentColor.b ,1 * CountScaler.sample(LifeRatio)) * colorRatio;
Position = float3(Position.r,Position.g + (3 * SizeRatioBuffer * dt) * PositionScaler.sample(LifeRatio),Position.b);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_ABFAB774
{
FieldName = "Digit";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2708A391
{
FieldName = "Color";
FieldType = float4;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_ADA781AB
{
AttributeName = "SizeRatio";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Effective
{
Descriptor = "$LOCAL$/CParticleDescriptor_78ED1C4A";
DurationInSeconds = 1.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_78ED1C4A
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_5181DCBC";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_503A3206",
"$LOCAL$/CParticleFieldDeclaration_42F9F0C7",
"$LOCAL$/CParticleFieldDeclaration_B83CBAA8",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_EBCA4539",
"$LOCAL$/CParticleSamplerCurve_F89AE5B3",
"$LOCAL$/CParticleSamplerCurve_91AE325B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B6926BD5";
States =
{
"$LOCAL$/CParticleState_42371C2F",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B6926BD5
{
Expression = "function void Eval()
{
Life = select(0,2,IsEffective >= 1);
Size = 4 * SizeRatio;
SizeRatioBuffer = SizeRatio;
TextureID = 11;
EffectiveRGBBuffer = EffectiveRGB;
Position = float3(0,-1 * SizeRatio,0);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5181DCBC
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/DamageCounterAtlas.png";
AtlasDefinition = "Textures/FX/DamageCounterAtlas.pkat";
AspectRatio = 4.0000000e+000;
AxisField = "AxisUp";
Axis2Field = "AxisNormal";
AxisScale = 3.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EBCA4539
{
SamplerName = "SizeScaler";
Times =
{
0.0000000e+000,
2.4355963e-002,
1.6915630e-001,
1.0000000e+000,
};
FloatValues =
{
-3.6398053e-002,
2.0451326e+000,
1.3082646e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.0317829e-001,
0.0000000e+000,
0.0000000e+000,
-7.1222752e-002,
-4.0866598e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleState $LOCAL$/CParticleState_42371C2F
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_2",
};
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_CC9EE573";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_CC9EE573
{
Expression = "function void Eval()
{
Size = SizeScaler.sample(LifeRatio) * SizeRatioBuffer * 2.5;
float3 nowColor = EffectiveRGBBuffer * pow(PowScaler.sample(LifeRatio),1.5) * 5;
Color = float4(nowColor.r, nowColor.g, nowColor.b, 1 * AlphaScaler.sample(LifeRatio));
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C820BAE4
{
AttributeName = "EffectiveRGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_E3BAC177
{
AttributeName = "IsEffective";
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(1, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_503A3206
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F89AE5B3
{
SamplerName = "AlphaScaler";
Times =
{
0.0000000e+000,
6.1971840e-002,
5.0417644e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0050679e+000,
2.5061363e-001,
3.0404329e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-9.9549599e-002,
-7.1034342e-001,
-4.0042052e-001,
-4.4897300e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_017C52A1
{
SamplerName = "PositionScaler";
Times =
{
0.0000000e+000,
1.3387942e-001,
4.3303892e-001,
1.0000000e+000,
};
FloatValues =
{
8.7837130e-003,
1.0556037e+000,
6.0568529e-001,
5.9038198e-001,
};
FloatTangents =
{
0.0000000e+000,
8.0912089e-001,
0.0000000e+000,
0.0000000e+000,
-7.9958864e-002,
-1.5153642e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42F9F0C7
{
FieldName = "SizeRatioBuffer";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B83CBAA8
{
FieldName = "EffectiveRGBBuffer";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_44F71A8B
{
FieldName = "RGBBuffer";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F79636AA
{
FieldName = "ValueBuffer";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_91AE325B
{
SamplerName = "PowScaler";
Times =
{
0.0000000e+000,
9.8143883e-002,
2.6273492e-001,
1.0000000e+000,
};
FloatValues =
{
-2.9802322e-008,
2.2768583e+000,
1.0343304e+000,
-4.2200089e-005,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.5507212e-001,
-6.9462633e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_BEFBA82A
{
SamplerName = "PowScaler";
Times =
{
0.0000000e+000,
2.5912471e-002,
7.4472822e-002,
1.0813399e-001,
1.4977711e-001,
1.9108307e-001,
7.2358525e-001,
1.0000000e+000,
};
FloatValues =
{
-2.9802322e-008,
5.9801555e+000,
5.9550467e+000,
2.2619810e+000,
1.2742829e+000,
1.2854443e+000,
9.7928166e-001,
-4.2200089e-005,
};
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,
0.0000000e+000,
0.0000000e+000,
5.9012314e-003,
7.6076642e-002,
-8.7698895e-001,
-4.5523325e-001,
-1.0723122e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_A3472A57
{
AttributeName = "WiggleVec";
AttributeType = float3;
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+002, 1.0000000e+002, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5A785C66
{
FieldName = "SizeRatioBuffer";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2BC8AA39
{
SamplerName = "SizeScaler";
Times =
{
0.0000000e+000,
8.2965605e-002,
1.1842398e-001,
1.6704187e-001,
1.0000000e+000,
};
FloatValues =
{
5.0070963e+000,
8.4559309e-001,
1.4216506e+000,
1.0000000e+000,
1.0091280e+000,
};
FloatTangents =
{
0.0000000e+000,
-2.8719206e+000,
1.0947915e+000,
4.6789899e-001,
0.0000000e+000,
0.0000000e+000,
-3.9148447e-003,
-6.7072049e-002,
9.1279745e-003,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F20BC64B
{
FieldName = "DigitFactor";
FieldType = int;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A36E6D6A
{
FieldName = "digitId";
FieldType = int;
}

View file

@ -0,0 +1,433 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Effective",
"$LOCAL$/Flash",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_ADA781AB",
"$LOCAL$/CParticleAttributeDeclaration_5C4C877F",
"$LOCAL$/CParticleAttributeDeclaration_96B84472",
"$LOCAL$/CParticleAttributeDeclaration_A3472A57",
"$LOCAL$/CParticleAttributeDeclaration_C820BAE4",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_5C4C877F
{
AttributeName = "Value";
DefaultValueF4 = float4(0.0000000e+000, 7.3939565e+003, 4.9917007e+003, 2.0278772e+002);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(9.9990000e+003, 9.9990000e+003, 9.9990000e+003, 9.9990000e+003);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_96B84472
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 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_DE935980
{
Expression = "function void Eval()
{
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_ADA781AB
{
AttributeName = "SizeRatio";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Effective
{
Descriptor = "$LOCAL$/CParticleDescriptor_78ED1C4A";
DurationInSeconds = 1.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_78ED1C4A
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_5181DCBC";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_503A3206",
"$LOCAL$/CParticleFieldDeclaration_42F9F0C7",
"$LOCAL$/CParticleFieldDeclaration_B83CBAA8",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_EBCA4539",
"$LOCAL$/CParticleSamplerCurve_F89AE5B3",
"$LOCAL$/CParticleSamplerCurve_91AE325B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B6926BD5";
States =
{
"$LOCAL$/CParticleState_42371C2F",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B6926BD5
{
Expression = "function void Eval()
{
Life = 3;
Size = 4 * SizeRatio;
SizeRatioBuffer = SizeRatio;
TextureID = 11;
EffectiveRGBBuffer = EffectiveRGB;
Position = float3(0,0,0);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5181DCBC
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/FriendshipCounterAtlas.png";
AtlasDefinition = "Textures/FX/DamageCounterAtlas.pkat";
AspectRatio = 4.0000000e+000;
AxisField = "AxisUp";
Axis2Field = "AxisNormal";
AxisScale = 3.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EBCA4539
{
SamplerName = "SizeScaler";
Times =
{
0.0000000e+000,
2.4355963e-002,
1.6915630e-001,
1.0000000e+000,
};
FloatValues =
{
-3.6398053e-002,
2.0451326e+000,
1.3082646e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.0317829e-001,
0.0000000e+000,
0.0000000e+000,
-7.1222752e-002,
-4.0866598e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleState $LOCAL$/CParticleState_42371C2F
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_2",
};
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_CC9EE573";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_CC9EE573
{
Expression = "function void Eval()
{
Size = SizeScaler.sample(LifeRatio) * SizeRatioBuffer * 2.5;
float3 nowColor = EffectiveRGBBuffer * pow(PowScaler.sample(LifeRatio),1.5) * 5;
Color = float4(nowColor.r, nowColor.g, nowColor.b, 1 * AlphaScaler.sample(LifeRatio));
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C820BAE4
{
AttributeName = "EffectiveRGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_503A3206
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F89AE5B3
{
SamplerName = "AlphaScaler";
Times =
{
0.0000000e+000,
6.1971840e-002,
5.0417644e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0050679e+000,
2.5061363e-001,
3.0404329e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-9.9549599e-002,
-7.1034342e-001,
-4.0042052e-001,
-4.4897300e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E85A0D2E
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_2EABFC89";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9EB528C2",
"$LOCAL$/CParticleFieldDeclaration_DAD66B96",
"$LOCAL$/CParticleFieldDeclaration_65DF0711",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_0ED4B5AD",
"$LOCAL$/CParticleSamplerCurve_52627F74",
"$LOCAL$/CParticleSamplerCurve_A08C1561",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_31D69947";
States =
{
"$LOCAL$/CParticleState_5DA3FE16",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_2EABFC89
{
CustomName = "Billboard";
Diffuse = "Textures/FX/FriendshipCounterAtlas.png";
AtlasDefinition = "Textures/FX/DamageCounterAtlas.pkat";
AspectRatio = 2.0000000e+000;
AxisField = "AxisUp";
Axis2Field = "AxisNormal";
AxisScale = 3.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9EB528C2
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_0ED4B5AD
{
SamplerName = "SizeScaler";
Times =
{
0.0000000e+000,
1.3314503e-001,
1.0000000e+000,
};
FloatValues =
{
3.2192335e+000,
3.6463733e+000,
2.0468917e+000,
};
FloatTangents =
{
0.0000000e+000,
-1.7204739e-001,
-2.5537595e-001,
-1.6626524e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_52627F74
{
SamplerName = "AlphaScaler";
Times =
{
0.0000000e+000,
6.1971836e-002,
2.5352114e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0050676e+000,
-6.7962706e-004,
-5.7946891e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-9.9549599e-002,
-3.0769876e-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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_31D69947
{
Expression = "function void Eval()
{
Life = 3;
Size = 4 * SizeRatio;
SizeRatioBuffer = SizeRatio;
TextureID = 12;
EffectiveRGBBuffer = EffectiveRGB;
Position = float3(0,0,0);
}
";
}
CParticleState $LOCAL$/CParticleState_5DA3FE16
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_039ACB91",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_039ACB91
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_81899928";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_81899928
{
Expression = "function void Eval()
{
Size = SizeScaler.sample(LifeRatio) * SizeRatioBuffer * 2;
float3 nowColor = EffectiveRGBBuffer * pow(PowScaler.sample(LifeRatio),2);
Color = float4(nowColor.r, nowColor.g, nowColor.b, 1 * AlphaScaler.sample(LifeRatio));
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flash
{
Descriptor = "$LOCAL$/CParticleDescriptor_E85A0D2E";
DurationInSeconds = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42F9F0C7
{
FieldName = "SizeRatioBuffer";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DAD66B96
{
FieldName = "SizeRatioBuffer";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_65DF0711
{
FieldName = "EffectiveRGBBuffer";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B83CBAA8
{
FieldName = "EffectiveRGBBuffer";
FieldType = float3;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A08C1561
{
SamplerName = "PowScaler";
Times =
{
0.0000000e+000,
8.1471272e-002,
1.9270828e-001,
1.0000000e+000,
};
FloatValues =
{
-2.9802322e-008,
2.0445549e+000,
2.5305784e-001,
-4.2200089e-005,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0480376e-001,
-7.6060307e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_91AE325B
{
SamplerName = "PowScaler";
Times =
{
0.0000000e+000,
9.8143883e-002,
2.6273492e-001,
1.0000000e+000,
};
FloatValues =
{
-2.9802322e-008,
2.2768583e+000,
1.0343304e+000,
-4.2200089e-005,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.5507212e-001,
-6.9462633e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_A3472A57
{
AttributeName = "WiggleVec";
AttributeType = float3;
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+002, 1.0000000e+002, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}

View file

@ -0,0 +1,169 @@
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);
}

View file

@ -0,0 +1,263 @@
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);
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,835 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/LightningRay",
"$LOCAL$/LightningHit",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Probes
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.5000000e+003;
FluxFactorExpression = "Flux";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A86DAC34",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_33B6E507",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Probes",
"$LOCAL$/Flash",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_4CFA78DF
{
Times =
{
0.0000000e+000,
6.5009765e-002,
4.4999999e-001,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
6.2412813e-002,
1.2338459e-001,
6.4422809e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.4613295e-001,
3.6763481e-003,
4.7746004e-004,
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_5566F5E7
{
Expression = "function void Eval()
{
// instant kill, this is a dummy particle whose sole purpose is to probe the scene
Life = 0.0;
}
function void PostEval()
{
// here, all our Position, Velocity, etc.. are in worldspace.
// we can query the scene for intersections using these:
float3 probeDir = vrand();
float halfProbeVar = ProbeLength * (0.5 * ProbeRandomVariation);
float4 it = scene.intersect(Position, probeDir, ProbeLength + rand(-halfProbeVar, +halfProbeVar));
int hasHit = it.w != infinity;
float3 contactNormal = it.xyz;
float3 toContactPoint = probeDir * it.w - contactNormal * 0.01; // offset a bit from the contact surface;
// here, we\'ll use a trick that consists of using the Velocity to
// send a float3 information to the child layer we\'re going to trigger.
// it knows our position (it will be instantiated there)
// but it also needs to know the contact point we want it to shoot at.
Velocity = toContactPoint;
OnProbeHit.trigger(hasHit);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosIsBlockMinimized = 0;
StateName = "State_0";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F67EA027
{
Times =
{
0.0000000e+000,
4.9521124e-001,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
1.9575076e+000,
1.0000000e+000,
};
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);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_832FE16F",
"$LOCAL$/CParticleAttributeDeclaration_9BDD555E",
"$LOCAL$/CParticleAttributeDeclaration_6085D8ED",
};
}
CParticleState $LOCAL$/CParticleState_FE8D438A
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_87E3226F",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A86DAC34
{
FieldName = "Velocity";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_33B6E507
{
EventName = "OnProbeHit";
EventAction = "$LOCAL$/LightningRay";
}
CActionFactoryParticleSpawnerBase $LOCAL$/LightningRay
{
Descriptor = "$LOCAL$/CParticleDescriptor_726054D6";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_726054D6
{
InheritInitialVelocity = 1.0000000e+000;
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C5BEE352",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_03F75AC6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_860E8951";
States =
{
"$LOCAL$/CParticleState_10173ACB",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_860E8951
{
Expression = "function void Eval()
{
Life = 0.1;
}
function void PostEval()
{
// the Velocity we inherit from the parent trigger is set to the vector that goes
// from our position to the contact point. as we use that vector as a velocity in units/s
// we\'d need one second to reach the contact point.
// as we only live 0.1 seconds, and still want to reach that destination,
// increase the velocity by 1/0.1 = 10 :
Velocity /= 0.1;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6977655B
{
FieldName = "Color";
FieldType = float4;
}
CParticleState $LOCAL$/CParticleState_10173ACB
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_B66CBBEA",
"$LOCAL$/LightningBeam",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B66CBBEA
{
EditorInfosIsBlockMinimized = 0;
WorldInteractionMode = OneWay;
DieOnContact = true;
}
CParticleEvolver_Spawner $LOCAL$/LightningBeam
{
FirstSpawnDelay = 3.0000001e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_6296BB4F";
FluxFunction = "$LOCAL$/CParticleSamplerCurve_F67EA027";
}
CParticleState $LOCAL$/CParticleState_AE6FB75C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_8D148890",
"$LOCAL$/CParticleEvolver_Field_1D536061",
"$LOCAL$/CParticleEvolver_Field_61875AAC",
"$LOCAL$/CParticleEvolver_Script_3C551184",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_6296BB4F
{
InheritInitialVelocity = 1.0000000e+000;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_406A8A93";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D2BCBB7D",
"$LOCAL$/CParticleFieldDeclaration_6977655B",
"$LOCAL$/CParticleFieldDeclaration_8733F1BA",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_83944BA6",
"$LOCAL$/CParticleSamplerCurve_02FE3605",
"$LOCAL$/CParticleSamplerCurve_358C32D4",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B9DE44BE";
States =
{
"$LOCAL$/CParticleState_AE6FB75C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B9DE44BE
{
Expression = "function void Eval()
{
Life = 0.2;
TextureID = rand(0,16); // random lightning texture from the atlas, for the ribbon
ColorCoeff = ColorCoeffLookup.sample(spawner.LifeRatio);
}
function void PostEval()
{
// here, we use the same trick as in the Probes -> LightningRay layers.
// we can reconstruct the vector from the start of the lightning to the hit-point
// by grabbing the parent\'s velocity. (we have \'InheritInitialVelocity\' set to 1.0)
// this works because the parent particle doesn\'t modify its velocity.
// its physics evolver has neither gravity nor friction.
// also, the parent particle has its velocity multiplied by 10.
// to reconstruct the original move length, divide by 10.
// here, we use the move length to scale the displacements.
// very short lightning rays will be less displaced by the turbulence
// than very long ones:
float scale = sqrt(length(Velocity)) * 1.0; // defines the scale of the \'random walk\' shape
float moveLength = scale * 0.8; // defines the intensity of the \'random walk\'
// the displacement also depends on the particle\'s location along the lighting ray.
// we use \'spawner.LifeRatio\' for this. it\'s 0 at the start of the ray, and 1 at the end.
float weight = DisplacementWeight.sample(spawner.LifeRatio) * moveLength;
float3 turbulence = Turb.sample(Position / scale); // sample the turbulence.
Velocity = (turbulence + float3(0,0.3,0)) * weight; // add a small up velocity
Position += turbulence * weight * 0.05;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_8D148890
{
EditorInfosIsBlockMinimized = 0;
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_406A8A93
{
EditorInfosIsBlockMinimized = 0;
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/FX/AtlasX4.pkat";
TextureIDField = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C5BEE352
{
FieldName = "RibbonU";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D2BCBB7D
{
FieldName = "TextureID";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_3C551184
{
EditorInfosIsBlockMinimized = 0;
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FD648C97";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FD648C97
{
Expression = "function void Eval()
{
Color *= ColorCoeff;
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_83944BA6
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "Turb";
Scale = 1.0000000e-001;
Strength = 1.5000000e+000;
TimeScale = 1.0000000e+000;
TimeBase = 2.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_1D536061
{
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_D9406638";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D9406638
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.4865017e-001,
4.4999999e-001,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0334474e-001,
2.6361281e-001,
7.1384251e-001,
8.3447212e-001,
1.1119616e-001,
3.0828416e-001,
7.8421211e-001,
9.0337712e-001,
3.4852638e+000,
9.4640656e+000,
5.1027214e+001,
9.5917916e-001,
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,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.0225569e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
6.1274534e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.8951990e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
6.4629212e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-7.0983033e+000,
-1.8537035e+001,
-1.0219292e+002,
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8733F1BA
{
FieldName = "ColorCoeff";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_02FE3605
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "ColorCoeffLookup";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0483411e+001,
1.3673043e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.5378418e+001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_61875AAC
{
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_4CFA78DF";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_358C32D4
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "DisplacementWeight";
Times =
{
0.0000000e+000,
4.9999997e-002,
2.4846181e-001,
7.6148897e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
8.6095601e-001,
8.5956806e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0054991e+000,
4.3767360e-001,
1.1313937e+000,
-9.1121650e-001,
-4.2363286e-001,
-7.7890837e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_26012A5E
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_87E3226F
{
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flash
{
Descriptor = "$LOCAL$/CParticleDescriptor_D0024371";
Infinite = true;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D0024371
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_040A3BEB";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_26012A5E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A0287E88";
States =
{
"$LOCAL$/CParticleState_FE8D438A",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A0287E88
{
Expression = "function void Eval()
{
Life = 2;
Size = 0.12;
Color = float4(1,2,10,1) * 2.5;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_040A3BEB
{
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_832FE16F
{
AttributeName = "ProbeLength";
AttributeDescription = "Average length of probe-rays cast in the scene\\nThe rays are randomly cast on a sphere.\\nThis attribute directly controls the radius of that sphere.";
DefaultValueF4 = float4(3.5000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9BDD555E
{
AttributeName = "ProbeRandomVariation";
AttributeDescription = "Random variation on the probe-rays length.\\nAs a fraction of their original length.";
DefaultValueF4 = float4(2.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);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Sparks
{
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_E47A4733";
SpawnCount = 1.0000000e+001;
SpawnCountRelativeRandomDeviation = 5.1968497e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E47A4733
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_68EB8B1D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C72A5DFB",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_697E0E01",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C3150C72";
States =
{
"$LOCAL$/CParticleState_EEDE49A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C3150C72
{
EditorInfosIsBlockMinimized = 0;
Expression = "function void Eval()
{
float energy = pow(rand(0,1),2);
Life = 0.15 + energy * 0.5;
Size = 0.01;
Velocity = StartVelocity.samplePosition() * (0.1 + energy * 2);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_68EB8B1D
{
EditorInfosIsBlockMinimized = 0;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
BillboardMode = VelocityCapsuleAlign;
AxisScale = 5.0000001e-002;
}
CParticleState $LOCAL$/CParticleState_EEDE49A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_CB2C1737",
"$LOCAL$/CParticleEvolver_Field_2D1006DA",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_CB2C1737
{
ConstantAcceleration = float3(0.0000000e+000, -2.0000000e+000, 0.0000000e+000);
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_03F75AC6
{
EventName = "OnCollide";
EventAction = "$LOCAL$/LightningHit";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_697E0E01
{
SamplerName = "StartVelocity";
Shape = "$LOCAL$/CShapeDescriptor_7F63D458";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_7F63D458
{
EditorInfosIsBlockMinimized = 0;
Position = float3(0.0000000e+000, 5.0000001e-002, 0.0000000e+000);
ShapeType = COMPLEX_ELLIPSOID;
Radius = 2.5000000e-001;
CutPlane = 5.0000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C72A5DFB
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_2D1006DA
{
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_83F361A5";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_83F361A5
{
ValueType = Float4;
Times =
{
0.0000000e+000,
6.6198356e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.2034655e+000,
4.8907104e+000,
2.3392933e+001,
1.0055624e+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,
-1.2091321e-001,
-4.4742250e-001,
-2.2881224e+000,
0.0000000e+000,
-1.7056158e+000,
-6.3113933e+000,
-3.2276520e+001,
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryWithChilds $LOCAL$/LightningHit
{
ChildList =
{
"$LOCAL$/Sparks",
"$LOCAL$/Light",
"$LOCAL$/HitSound",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Light
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_04E81ECC";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_04E81ECC
{
Renderer = "$LOCAL$/CParticleRenderer_Light_DCEA9FC3";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D18902F4",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_056A7F7F";
States =
{
"$LOCAL$/CParticleState_9150CA09",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_056A7F7F
{
Expression = "function void Eval()
{
Life = 0.15;
Size = 0.8;
}
";
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_DCEA9FC3
{
BillboardingMaterial = Lighting_SplatPass_Spec;
LightIntensityMultiplier = 2.0000000e+000;
LightRadiusMultiplier = 1.5000000e+000;
}
CParticleState $LOCAL$/CParticleState_9150CA09
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Field_70F90842",
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_70F90842
{
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_C3EE4B2D";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C3EE4B2D
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
9.9309075e-001,
1.8677766e+000,
4.6116023e+000,
9.9309075e-001,
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,
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,
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D18902F4
{
FieldName = "Color";
FieldType = float4;
}
CActionFactoryWithRandomChilds $LOCAL$/HitSound
{
Delay = 1.0000000e-001;
ChildList =
{
"$LOCAL$/SoundLayer_1",
"$LOCAL$/SoundLayer_2",
"$LOCAL$/SoundLayer_3",
};
}
CActionFactorySound $LOCAL$/SoundLayer_1
{
SoundPath = "Sounds/lg_hit1.wav";
Volume = 7.5119621e-001;
}
CActionFactorySound $LOCAL$/SoundLayer_2
{
SoundPath = "Sounds/lg_hit2.wav";
}
CActionFactorySound $LOCAL$/SoundLayer_3
{
SoundPath = "Sounds/lg_hit3.wav";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6085D8ED
{
AttributeName = "Flux";
AttributeDescription = "Controls the amount of probe-rays.\\nmutiplier applied to the spawn rate of the \'Probes\' layer";
DefaultValueF4 = float4(5.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);
}

View file

@ -0,0 +1,440 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_D158FB1D
{
EditorInfosIsBlockMinimized = 0;
Expression = "function void Eval()
{
Life = 0.2;
// here, grab a random spawn location in the \'ProjSpawnVolume\' shape.
// you can select that shape in the treeview and move it around in the viewport
// to make lightning start at different locations
Position = ProjSpawnMesh.samplePosition();
// next, reproject the start position on the mesh
// (this is because otherwise the trail evolver will make a trail from the
// original position to the projected position on the first frame)
//Position += ProjMesh.project(Position).xyz;
// random velocity on a squased sphere whose height is
// 0.3 times its equatorial radius. -> move faster horizontally
Velocity = vrand() * float3(1,0.3,1)*ProbeVelocity;
}
";
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Source",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_67949F4D
{
FieldName = "ColorCoeff";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E7219408
{
SamplerName = "DisplacementWeight";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
3.5361910e-001,
1.7034518e+000,
3.5361910e-001,
};
FloatTangents =
{
0.0000000e+000,
1.3884335e+000,
0.0000000e+000,
0.0000000e+000,
-9.6360749e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_4B0C0AC6
{
ConstantAcceleration = float3(0.0000000e+000, 5.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_6DEC9E9F
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E63D424E";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_9BDD555E",
"$LOCAL$/CParticleAttributeDeclaration_6085D8ED",
};
}
CParticleState $LOCAL$/CParticleState_37820737
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_4B0C0AC6",
"$LOCAL$/LightningTrail",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_2830BC72
{
Samplers =
{
"$LOCAL$/CParticleSamplerShape_23C61C9B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_D158FB1D";
States =
{
"$LOCAL$/CParticleState_37820737",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6085D8ED
{
AttributeName = "Flux";
AttributeDescription = "Controls the amount of strokes\\nMultiplier of the \'Source\' layer\'s spawn-rate.";
DefaultValueF4 = float4(3.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F6A6C829
{
FieldName = "PCoords";
FieldType = int3;
}
CParticleEvolver_Spawner $LOCAL$/LightningTrail
{
SpawnInterval = 5.0000001e-002;
LocalSpaceSpawn = true;
Descriptor = "$LOCAL$/CParticleDescriptor_EAA4F4AE";
}
CParticleState $LOCAL$/CParticleState_48BA6F7F
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_6DEC9E9F",
"$LOCAL$/CParticleEvolver_Physics_815F8FC3",
"$LOCAL$/CParticleEvolver_Field_11EF5012",
"$LOCAL$/CParticleEvolver_Field_25CAC61C",
"$LOCAL$/CParticleEvolver_Script_1CA6C021",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EAA4F4AE
{
Renderer = "$LOCAL$/CParticleRenderer_List_6FEA4612";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_342360F8",
"$LOCAL$/CParticleFieldDeclaration_6ACE796C",
"$LOCAL$/CParticleFieldDeclaration_F6A6C829",
"$LOCAL$/CParticleFieldDeclaration_7F0885A0",
"$LOCAL$/CParticleFieldDeclaration_67949F4D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_627F92C7",
"$LOCAL$/CParticleSamplerCurve_31F983E2",
"$LOCAL$/CParticleSamplerProceduralTurbulence_E0F88948",
"$LOCAL$/CParticleSamplerCurve_E7219408",
"$LOCAL$/CParticleSamplerShape_79C1883D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A9553A09";
States =
{
"$LOCAL$/CParticleState_48BA6F7F",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7F0885A0
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A9553A09
{
Expression = "function void Eval()
{
Life = 0.1;
// grab a random lightning texture from the atlas, for the ribbon.
// there are 16 sub-frames, whose IDs go from 0 to 15
TextureID = rand(0,16);
// color factor that we will apply to the sampled \'Color\' in an evolve script
// make particles spawned at the end of the trail\'s life dimmer, to avoid hard-ending trails.
ColorCoeff = ColorCoeffLookup.sample(spawner.LifeRatio);
//Position = ProjMesh.samplePosition();
// save RealPosition (see the evolvers on why we need this)
RealPosition = Position;
// velocity goes upwards, faster at the center of the trail (see the curve\'s shape)
Velocity = float3(0,1,0) * DisplacementWeight.sample(spawner.LifeRatio);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_E0F88948
{
SamplerName = "Noise3D";
Scale = 2.5000000e-001;
Strength = 2.0000000e-001;
TimeScale = 1.0000000e+000;
TimeBase = 2.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_11EF5012
{
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_870B473D";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4DAC29C5
{
Expression = "function void Eval()
{
// the other evolvers have computed a new Position, back it up in \'RealPosition\'
// (see the comments in the first script evolver for details)
RealPosition = Position;
// the projection evolver filled \'PCoords\' with the meshe\'s parametric coordinates for us.
// use this to grab the mesh normal where at the location we were reprojected on:
float3 meshNormalAtLocation = ProjMesh.sampleNormal(PCoords);
// sample the random procedural turbulent field to get a turbulent displacement:
float3 turb = Noise3D.sample(RealPosition);
// project this vector with the mesh normal, so that it becomes tangent to the triangle plane.
// this will effectively convert it to a 2D tangent turbulence, because we don\'t want
// the 3D turbulent vector to make the ribbon penetrate the mesh
float3 projTurb = turb + meshNormalAtLocation * max(0,-dot(turb, meshNormalAtLocation));
// patch the Position by moving it slightly away from the mesh surface along the mesh normal,
// and displace it by the turbulence vector.
float distanceToMesh = 0.05;
Position += meshNormalAtLocation * distanceToMesh + projTurb;
// apply our color coefficient to the RGBA color sampled in the CParticleEvolver_Field that
// was run before us:
Color *= ColorCoeff;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_815F8FC3
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6ACE796C
{
FieldName = "RealPosition";
FieldType = float3;
TransformFilter = full;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_870B473D
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.6905037e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.4852638e+000,
6.2353525e+000,
2.6371586e+001,
9.5917916e-001,
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,
5.3765507e+000,
1.4243516e+001,
2.5521017e+001,
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,
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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E63D424E
{
Expression = "function void Eval()
{
// here, we have a problem:
// we can\'t yet (in popcorn 1.5.4) tell the ribbon renderer to use a custom field
// for position, and we want to manually shift the positions away from the mesh surface.
// if we shift the positions used for reprojection, they will shift from frame to frame
// and become dependent of the FPS.
// Therefore, we\'ll use a trick where we will \'backup\' the simulated position into a custom
// field named \'RealPosition\', then we\'ll shift the \'Position\' field to get it ready for rendering
// at the start of the next frame, we\'ll restore \'Position\' to the one saved in \'RealPosition\',
// so that simulation uses the correct value, not the one deformed for rendering.
// here, restore the projected position saved in the previous frame
Position = RealPosition;
// all the next evolvers in the state will work on this restored \'Position\',
// up to the last script evolver
}
";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_25CAC61C
{
EditorInfosIsBlockMinimized = 0;
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F033910F";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_31F983E2
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "ColorCoeffLookup";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0483411e+001,
1.3673043e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.5378418e+001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F033910F
{
Times =
{
0.0000000e+000,
2.6556039e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
7.1906403e-002,
2.3364559e-002,
};
FloatTangents =
{
0.0000000e+000,
1.4652826e-001,
0.0000000e+000,
0.0000000e+000,
-5.8887009e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_1CA6C021
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_4DAC29C5";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9BDD555E
{
AttributeName = "ProbeVelocity";
AttributeDescription = "Initial velocity of lightning strokes\\nDirectly controls the stroke length.";
DefaultValueF4 = float4(3.4574502e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Source
{
Descriptor = "$LOCAL$/CParticleDescriptor_2830BC72";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 8.0000000e+001;
FluxFactorExpression = "Flux";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_976AB253
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/FX/AtlasX4.pkat";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_6FEA4612
{
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_976AB253",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_342360F8
{
FieldName = "TextureID";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_79C1883D
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "Shape_0";
Shape = "$LOCAL$/CShapeDescriptor_1FDF7D44";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_1FDF7D44
{
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_627F92C7
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "ProjMesh";
Shape = "$LOCAL$/CShapeDescriptor_1AAF32F4";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_1AAF32F4
{
ShapeType = SPHERE;
Radius = 5.0000000e-001;
MeshResource = "Meshes/VenusHigh.pkmm";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_23C61C9B
{
SamplerName = "ProjSpawnMesh";
Shape = "$LOCAL$/CShapeDescriptor_E20159FA";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_E20159FA
{
ShapeType = SPHERE;
Radius = 5.0000000e-001;
}

View file

@ -0,0 +1,456 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_222AD1A5
{
EditorInfosIsBlockMinimized = 0;
Position = float3(1.2402636e-001, 1.2913463e+000, 0.0000000e+000);
BoxDimensions = float3(1.4787850e+000, 1.9968643e+000, 1.4185632e+000);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_D158FB1D
{
EditorInfosIsBlockMinimized = 0;
Expression = "function void Eval()
{
Life = 0.2;
// here, grab a random spawn location in the \'ProjSpawnVolume\' shape.
// you can select that shape in the treeview and move it around in the viewport
// to make lightning start at different locations
Position = ProjSpawnVolume.samplePosition();
// next, reproject the start position on the mesh
// (this is because otherwise the trail evolver will make a trail from the
// original position to the projected position on the first frame)
Position += ProjMesh.project(Position).xyz;
// random velocity on a squased sphere whose height is
// 0.3 times its equatorial radius. -> move faster horizontally
Velocity = vrand() * float3(1,0.3,1)*ProbeVelocity;
}
";
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Source",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_67949F4D
{
FieldName = "ColorCoeff";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E7219408
{
SamplerName = "DisplacementWeight";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
3.5361910e-001,
1.7034518e+000,
3.5361910e-001,
};
FloatTangents =
{
0.0000000e+000,
1.3884335e+000,
0.0000000e+000,
0.0000000e+000,
-9.6360749e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_4B0C0AC6
{
ConstantAcceleration = float3(0.0000000e+000, 5.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_6DEC9E9F
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E63D424E";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_9BDD555E",
"$LOCAL$/CParticleAttributeDeclaration_6085D8ED",
};
}
CParticleState $LOCAL$/CParticleState_37820737
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_4B0C0AC6",
"$LOCAL$/LocalSpace_1",
"$LOCAL$/LightningTrail",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_2830BC72
{
Samplers =
{
"$LOCAL$/CParticleSamplerShape_EED87E01",
"$LOCAL$/CParticleSamplerShape_264DB6DA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_D158FB1D";
States =
{
"$LOCAL$/CParticleState_37820737",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6085D8ED
{
AttributeName = "Flux";
AttributeDescription = "Controls the amount of strokes\\nMultiplier of the \'Source\' layer\'s spawn-rate.";
DefaultValueF4 = float4(5.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Projection $LOCAL$/CParticleEvolver_Projection_F6C54DFB
{
Shape = "ProjMesh";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F6A6C829
{
FieldName = "PCoords";
FieldType = int3;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_264DB6DA
{
SamplerName = "ProjSpawnVolume";
Shape = "$LOCAL$/CShapeDescriptor_222AD1A5";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_1AAF32F4
{
ShapeType = MESH;
MeshResource = "Meshes/VenusHigh.pkmm";
}
CParticleEvolver_Spawner $LOCAL$/LightningTrail
{
SpawnInterval = 5.0000001e-002;
LocalSpaceSpawn = true;
Descriptor = "$LOCAL$/CParticleDescriptor_EAA4F4AE";
}
CParticleState $LOCAL$/CParticleState_48BA6F7F
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_6DEC9E9F",
"$LOCAL$/CParticleEvolver_Physics_815F8FC3",
"$LOCAL$/LocalSpace_2",
"$LOCAL$/CParticleEvolver_Field_11EF5012",
"$LOCAL$/CParticleEvolver_Field_25CAC61C",
"$LOCAL$/CParticleEvolver_Script_1CA6C021",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EAA4F4AE
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_C3606E53";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_342360F8",
"$LOCAL$/CParticleFieldDeclaration_6ACE796C",
"$LOCAL$/CParticleFieldDeclaration_F6A6C829",
"$LOCAL$/CParticleFieldDeclaration_7F0885A0",
"$LOCAL$/CParticleFieldDeclaration_67949F4D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_627F92C7",
"$LOCAL$/CParticleSamplerCurve_31F983E2",
"$LOCAL$/CParticleSamplerProceduralTurbulence_E0F88948",
"$LOCAL$/CParticleSamplerCurve_E7219408",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A9553A09";
States =
{
"$LOCAL$/CParticleState_48BA6F7F",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7F0885A0
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A9553A09
{
Expression = "function void Eval()
{
Life = 0.15;
// grab a random lightning texture from the atlas, for the ribbon.
// there are 16 sub-frames, whose IDs go from 0 to 15
TextureID = rand(0,16);
// color factor that we will apply to the sampled \'Color\' in an evolve script
// make particles spawned at the end of the trail\'s life dimmer, to avoid hard-ending trails.
ColorCoeff = ColorCoeffLookup.sample(spawner.LifeRatio);
// save RealPosition (see the evolvers on why we need this)
RealPosition = Position;
// velocity goes upwards, faster at the center of the trail (see the curve\'s shape)
Velocity = float3(0,1,0) * DisplacementWeight.sample(spawner.LifeRatio);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_E0F88948
{
SamplerName = "Noise3D";
Scale = 2.5000000e-001;
Strength = 2.0000000e-001;
TimeScale = 1.0000000e+000;
TimeBase = 2.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_11EF5012
{
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_870B473D";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_C3606E53
{
ConstantRadius = 9.9999998e-003;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4DAC29C5
{
Expression = "function void Eval()
{
// the other evolvers have computed a new Position, back it up in \'RealPosition\'
// (see the comments in the first script evolver for details)
RealPosition = Position;
// the projection evolver filled \'PCoords\' with the meshe\'s parametric coordinates for us.
// use this to grab the mesh normal where at the location we were reprojected on:
float3 meshNormalAtLocation = ProjMesh.sampleNormal(PCoords);
// sample the random procedural turbulent field to get a turbulent displacement:
float3 turb = Noise3D.sample(RealPosition);
// project this vector with the mesh normal, so that it becomes tangent to the triangle plane.
// this will effectively convert it to a 2D tangent turbulence, because we don\'t want
// the 3D turbulent vector to make the ribbon penetrate the mesh
float3 projTurb = turb + meshNormalAtLocation * max(0,-dot(turb, meshNormalAtLocation));
// patch the Position by moving it slightly away from the mesh surface along the mesh normal,
// and displace it by the turbulence vector.
float distanceToMesh = 0.05;
Position += meshNormalAtLocation * distanceToMesh + projTurb;
// apply our color coefficient to the RGBA color sampled in the CParticleEvolver_Field that
// was run before us:
Color *= ColorCoeff;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_815F8FC3
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_342360F8
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6ACE796C
{
FieldName = "RealPosition";
FieldType = float3;
TransformFilter = full;
}
CParticleEvolver_Projection $LOCAL$/CParticleEvolver_Projection_52891911
{
EditorInfosIsBlockMinimized = 0;
Shape = "ProjMesh";
OutputParametricCoordsField = "PCoords";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_870B473D
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.9999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.4852638e+000,
9.4640656e+000,
5.1027214e+001,
9.5917916e-001,
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,
6.3608856e+000,
1.6851208e+001,
8.2748764e+001,
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,
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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E63D424E
{
Expression = "function void Eval()
{
// here, we have a problem:
// we can\'t yet (in popcorn 1.5.4) tell the ribbon renderer to use a custom field
// for position, and we want to manually shift the positions away from the mesh surface.
// if we shift the positions used for reprojection, they will shift from frame to frame
// and become dependent of the FPS.
// Therefore, we\'ll use a trick where we will \'backup\' the simulated position into a custom
// field named \'RealPosition\', then we\'ll shift the \'Position\' field to get it ready for rendering
// at the start of the next frame, we\'ll restore \'Position\' to the one saved in \'RealPosition\',
// so that simulation uses the correct value, not the one deformed for rendering.
// here, restore the projected position saved in the previous frame
Position = RealPosition;
// all the next evolvers in the state will work on this restored \'Position\',
// up to the last script evolver
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_627F92C7
{
SamplerName = "ProjMesh";
Shape = "$LOCAL$/CShapeDescriptor_1AAF32F4";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_25CAC61C
{
EditorInfosIsBlockMinimized = 0;
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F033910F";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_31F983E2
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "ColorCoeffLookup";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0483411e+001,
1.3673043e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.5378418e+001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F033910F
{
Times =
{
0.0000000e+000,
2.6556039e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
7.1906403e-002,
2.3364559e-002,
};
FloatTangents =
{
0.0000000e+000,
1.4652826e-001,
0.0000000e+000,
0.0000000e+000,
-5.8887009e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_EED87E01
{
SamplerName = "ProjMesh";
Shape = "$LOCAL$/CShapeDescriptor_19970458";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_1CA6C021
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_4DAC29C5";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9BDD555E
{
AttributeName = "ProbeVelocity";
AttributeDescription = "Initial velocity of lightning strokes\\nDirectly controls the stroke length.";
DefaultValueF4 = float4(3.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_19970458
{
ShapeType = MESH;
MeshResource = "Meshes/VenusHigh.pkmm";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Source
{
Descriptor = "$LOCAL$/CParticleDescriptor_2830BC72";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 8.0000000e+001;
FluxFactorExpression = "Flux";
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Projection_F6C54DFB",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_2
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Projection_52891911",
};
}

View file

@ -0,0 +1,827 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/LightningRay",
"$LOCAL$/LightningHit",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Probes
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.5000000e+003;
FluxFactorExpression = "Flux";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A86DAC34",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_33B6E507",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Probes",
"$LOCAL$/Flash",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_4CFA78DF
{
Times =
{
0.0000000e+000,
6.5009765e-002,
4.4999999e-001,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
6.2412813e-002,
1.2338459e-001,
6.4422809e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.4613295e-001,
3.6763481e-003,
4.7746004e-004,
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_5566F5E7
{
Expression = "function void Eval()
{
// instant kill, this is a dummy particle whose sole purpose is to probe the scene
Life = 0.0;
}
function void PostEval()
{
// here, all our Position, Velocity, etc.. are in worldspace.
// we can query the scene for intersections using these:
float3 probeDir = vrand();
float halfProbeVar = ProbeLength * (0.5 * ProbeRandomVariation);
float4 it = scene.intersect(Position, probeDir, ProbeLength + rand(-halfProbeVar, +halfProbeVar));
int hasHit = it.w != infinity;
float3 contactNormal = it.xyz;
float3 toContactPoint = probeDir * it.w - contactNormal * 0.01; // offset a bit from the contact surface;
// here, we\'ll use a trick that consists of using the Velocity to
// send a float3 information to the child layer we\'re going to trigger.
// it knows our position (it will be instantiated there)
// but it also needs to know the contact point we want it to shoot at.
Velocity = toContactPoint;
OnProbeHit.trigger(hasHit);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosIsBlockMinimized = 0;
StateName = "State_0";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F67EA027
{
Times =
{
0.0000000e+000,
4.9521124e-001,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
1.9575076e+000,
1.0000000e+000,
};
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);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_832FE16F",
"$LOCAL$/CParticleAttributeDeclaration_9BDD555E",
"$LOCAL$/CParticleAttributeDeclaration_6085D8ED",
};
}
CParticleState $LOCAL$/CParticleState_FE8D438A
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_87E3226F",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A86DAC34
{
FieldName = "Velocity";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_33B6E507
{
EventName = "OnProbeHit";
EventAction = "$LOCAL$/LightningRay";
}
CActionFactoryParticleSpawnerBase $LOCAL$/LightningRay
{
Descriptor = "$LOCAL$/CParticleDescriptor_726054D6";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_726054D6
{
InheritInitialVelocity = 1.0000000e+000;
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C5BEE352",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_03F75AC6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_860E8951";
States =
{
"$LOCAL$/CParticleState_10173ACB",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_860E8951
{
Expression = "function void Eval()
{
Life = 0.1;
}
function void PostEval()
{
// the Velocity we inherit from the parent trigger is set to the vector that goes
// from our position to the contact point. as we use that vector as a velocity in units/s
// we\'d need one second to reach the contact point.
// as we only live 0.1 seconds, and still want to reach that destination,
// increase the velocity by 1/0.1 = 10 :
Velocity /= 0.1;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6977655B
{
FieldName = "Color";
FieldType = float4;
}
CParticleState $LOCAL$/CParticleState_10173ACB
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_B66CBBEA",
"$LOCAL$/LightningBeam",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B66CBBEA
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Physics";
WorldInteractionMode = OneWay;
DieOnContact = true;
}
CParticleEvolver_Spawner $LOCAL$/LightningBeam
{
CustomName = "Spawner";
FirstSpawnDelay = 3.0000001e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_6296BB4F";
FluxFunction = "$LOCAL$/CParticleSamplerCurve_F67EA027";
}
CParticleState $LOCAL$/CParticleState_AE6FB75C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_8D148890",
"$LOCAL$/CParticleEvolver_Field_1D536061",
"$LOCAL$/CParticleEvolver_Field_61875AAC",
"$LOCAL$/CParticleEvolver_Script_3C551184",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_6296BB4F
{
InheritInitialVelocity = 1.0000000e+000;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_406A8A93";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D2BCBB7D",
"$LOCAL$/CParticleFieldDeclaration_6977655B",
"$LOCAL$/CParticleFieldDeclaration_8733F1BA",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_83944BA6",
"$LOCAL$/CParticleSamplerCurve_02FE3605",
"$LOCAL$/CParticleSamplerCurve_358C32D4",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B9DE44BE";
States =
{
"$LOCAL$/CParticleState_AE6FB75C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B9DE44BE
{
Expression = "function void Eval()
{
Life = 0.2;
TextureID = rand(0,16); // random lightning texture from the atlas, for the ribbon
ColorCoeff = ColorCoeffLookup.sample(spawner.LifeRatio);
}
function void PostEval()
{
// here, we use the same trick as in the Probes -> LightningRay layers.
// we can reconstruct the vector from the start of the lightning to the hit-point
// by grabbing the parent\'s velocity. (we have \'InheritInitialVelocity\' set to 1.0)
// this works because the parent particle doesn\'t modify its velocity.
// its physics evolver has neither gravity nor friction.
// also, the parent particle has its velocity multiplied by 10.
// to reconstruct the original move length, divide by 10.
// here, we use the move length to scale the displacements.
// very short lightning rays will be less displaced by the turbulence
// than very long ones:
float scale = sqrt(length(Velocity)) * 1.0; // defines the scale of the \'random walk\' shape
float moveLength = scale * 0.8; // defines the intensity of the \'random walk\'
// the displacement also depends on the particle\'s location along the lighting ray.
// we use \'spawner.LifeRatio\' for this. it\'s 0 at the start of the ray, and 1 at the end.
float weight = DisplacementWeight.sample(spawner.LifeRatio) * moveLength;
float3 turbulence = Turb.sample(Position / scale); // sample the turbulence.
Velocity = (turbulence + float3(0,0.3,0)) * weight; // add a small up velocity
Position += turbulence * weight * 0.05;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_8D148890
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Physics";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_406A8A93
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/FX/Lightning_05.png";
AtlasDefinition = "Textures/FX/AtlasX4.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C5BEE352
{
FieldName = "RibbonU";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D2BCBB7D
{
FieldName = "TextureID";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_3C551184
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FD648C97";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FD648C97
{
Expression = "function void Eval()
{
Color *= ColorCoeff;
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_83944BA6
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "Turb";
Wavelength = 1.0000000e-001;
Strength = 5.3033005e-002;
Gain = 1.0000000e+000;
TimeScale = 1.0000000e+000;
TimeBase = 2.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_1D536061
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_D9406638";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D9406638
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.4865017e-001,
4.4999999e-001,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0334474e-001,
2.6361281e-001,
7.1384251e-001,
8.3447212e-001,
1.1119616e-001,
3.0828416e-001,
7.8421211e-001,
9.0337712e-001,
3.4852638e+000,
9.4640656e+000,
5.1027214e+001,
9.5917916e-001,
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,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.0225569e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
6.1274534e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.8951990e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
6.4629212e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-7.0983033e+000,
-1.8537035e+001,
-1.0219292e+002,
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8733F1BA
{
FieldName = "ColorCoeff";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_02FE3605
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "ColorCoeffLookup";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0483411e+001,
1.3673043e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.5378418e+001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_61875AAC
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_4CFA78DF";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_358C32D4
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "DisplacementWeight";
Times =
{
0.0000000e+000,
4.9999997e-002,
2.4846181e-001,
7.6148897e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
8.6095601e-001,
8.5956806e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0054991e+000,
4.3767360e-001,
1.1313937e+000,
-9.1121650e-001,
-4.2363286e-001,
-7.7890837e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_26012A5E
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_87E3226F
{
CustomName = "Localspace";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flash
{
Descriptor = "$LOCAL$/CParticleDescriptor_D0024371";
Infinite = true;
ContinuousSpawner = false;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D0024371
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_040A3BEB";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_26012A5E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A0287E88";
States =
{
"$LOCAL$/CParticleState_FE8D438A",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A0287E88
{
Expression = "function void Eval()
{
Life = 2;
Size = 0.12;
Color = float4(1,2,10,1) * 2.5;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_040A3BEB
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/FX/BB_Glow_02_64.tga";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_832FE16F
{
AttributeName = "ProbeLength";
AttributeDescription = "Average length of probe-rays cast in the scene\\nThe rays are randomly cast on a sphere.\\nThis attribute directly controls the radius of that sphere.";
DefaultValueF4 = float4(3.5000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9BDD555E
{
AttributeName = "ProbeRandomVariation";
AttributeDescription = "Random variation on the probe-rays length.\\nAs a fraction of their original length.";
DefaultValueF4 = float4(2.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);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Sparks
{
EditorInfosIsBlockMinimized = 0;
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_E47A4733";
SpawnCount = 1.0000000e+001;
SpawnCountRelativeRandomDeviation = 5.1968497e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E47A4733
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_68EB8B1D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C72A5DFB",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_697E0E01",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C3150C72";
States =
{
"$LOCAL$/CParticleState_EEDE49A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C3150C72
{
EditorInfosIsBlockMinimized = 0;
Expression = "function void Eval()
{
float energy = pow(rand(0,1),2);
Life = 0.15 + energy * 0.5;
Size = 0.01;
Velocity = StartVelocity.samplePosition() * (0.1 + energy * 2);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_68EB8B1D
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/FX/BB_Glow_043_64.png";
BillboardMode = VelocityCapsuleAlign;
AxisScale = 5.0000001e-002;
}
CParticleState $LOCAL$/CParticleState_EEDE49A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_CB2C1737",
"$LOCAL$/CParticleEvolver_Field_2D1006DA",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_CB2C1737
{
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -2.0000000e+000, 0.0000000e+000);
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_03F75AC6
{
EventName = "OnCollide";
EventAction = "$LOCAL$/LightningHit";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_697E0E01
{
SamplerName = "StartVelocity";
Shape = "$LOCAL$/CShapeDescriptor_7F63D458";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_7F63D458
{
EditorInfosIsBlockMinimized = 0;
Position = float3(0.0000000e+000, 5.0000001e-002, 0.0000000e+000);
ShapeType = COMPLEX_ELLIPSOID;
Radius = 2.5000000e-001;
CutPlane = 5.0000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C72A5DFB
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_2D1006DA
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_83F361A5";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_83F361A5
{
ValueType = Float4;
Times =
{
0.0000000e+000,
6.6198356e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.2034655e+000,
4.8907104e+000,
2.3392933e+001,
1.0055624e+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,
-1.2091321e-001,
-4.4742250e-001,
-2.2881224e+000,
0.0000000e+000,
-1.7056158e+000,
-6.3113933e+000,
-3.2276520e+001,
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryWithChilds $LOCAL$/LightningHit
{
ChildList =
{
"$LOCAL$/Sparks",
"$LOCAL$/Light",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Light
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_04E81ECC";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_04E81ECC
{
Renderer = "$LOCAL$/CParticleRenderer_Light_DCEA9FC3";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D18902F4",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_056A7F7F";
States =
{
"$LOCAL$/CParticleState_9150CA09",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_056A7F7F
{
Expression = "function void Eval()
{
Life = 0.15;
Size = 0.8;
}
";
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_DCEA9FC3
{
CustomName = "Light";
BillboardingMaterial = Lighting_SplatPass_Spec;
LightIntensityMultiplier = 2.0000000e+000;
LightRadiusMultiplier = 1.5000000e+000;
}
CParticleState $LOCAL$/CParticleState_9150CA09
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Field_70F90842",
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_70F90842
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_C3EE4B2D";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C3EE4B2D
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
9.9309075e-001,
1.8677766e+000,
4.6116023e+000,
9.9309075e-001,
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,
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,
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D18902F4
{
FieldName = "Color";
FieldType = float4;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6085D8ED
{
AttributeName = "Flux";
AttributeDescription = "Controls the amount of probe-rays.\\nmutiplier applied to the spawn rate of the \'Probes\' layer";
DefaultValueF4 = float4(5.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);
}

View file

@ -0,0 +1,905 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 8.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D6E78A1F",
"$LOCAL$/CParticleFieldDeclaration_B56DC0B6",
"$LOCAL$/CParticleFieldDeclaration_D09072B1",
"$LOCAL$/CParticleFieldDeclaration_DC46DA3D",
"$LOCAL$/CParticleFieldDeclaration_98B70D40",
"$LOCAL$/CParticleFieldDeclaration_357B0F71",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
"$LOCAL$/Layer_3",
"$LOCAL$/Layer_4",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D09072B1
{
FieldName = "RandPos";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 1.0;
Time=ninja*100;
Inverse=select(-1,1,ninja<0.5);
RandPos=rand(0.5,1);
Position=float3(sin(5*scene.Time+Time)*RandPos,0,Inverse*cos(5*scene.Time+Time)*RandPos);
VALL=vrand();
TextID=ninja;
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_1F6B3A88",
"$LOCAL$/aze",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_44BDAED4",
"$LOCAL$/CParticleAttributeDeclaration_008FCC27",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5FC3B145
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_34F0D6EC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_34F0D6EC
{
Expression = "function void Eval()
{
float Move = RandPos*(1-LifeRatio*0.5);
Position=Scale*float3(sin(5*scene.Time+Time)*Move,LifeRatio*2*RandPos+sin(15*scene.Time+Time)*0.05,Inverse*cos(5*scene.Time+Time)*Move);
Flux=Scale;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D6E78A1F
{
FieldName = "Time";
}
CParticleEvolver_Spawner $LOCAL$/aze
{
CustomName = "Spawner";
LocalSpaceSpawn = true;
UpAxisField = "Position";
CustomSpawnIntervalScaleField = "Flux";
Descriptor = "$LOCAL$/CParticleDescriptor_CF42AB20";
}
CParticleState $LOCAL$/CParticleState_2DA4F7A9
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_8AE5A7EB",
"$LOCAL$/CParticleEvolver_Script_0DD7066D",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CF42AB20
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_B41DBF53";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_3F8EEF55",
"$LOCAL$/CParticleFieldDeclaration_4AE3D712",
"$LOCAL$/CParticleFieldDeclaration_48B81503",
"$LOCAL$/CParticleFieldDeclaration_21DBF407",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_71463744",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3A9B1863";
States =
{
"$LOCAL$/CParticleState_2DA4F7A9",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3A9B1863
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.15*Scale;
Velocity=parent.VALL*0.5*Scale;
TextureID=parent.TextID*4;
Time=spawner.LifeRatio;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3F8EEF55
{
FieldName = "Size";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_4514F6CD
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B56DC0B6
{
FieldName = "Inverse";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_B41DBF53
{
CustomName = "Ribbon";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Branch_01.dds";
AtlasDefinition = "Textures/Fx/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4AE3D712
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DC46DA3D
{
FieldName = "VALL";
FieldType = float3;
TransformFilter = rotate;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_71463744
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
2.5000000e-001,
7.5000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
2.5000000e+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_2
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_D9B5C557";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.5000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D9B5C557
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_FC3E6321";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2DD9A86C",
"$LOCAL$/CParticleFieldDeclaration_6EC6394E",
"$LOCAL$/CParticleFieldDeclaration_CA6FC949",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_FE2FF99F",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_62ED9366";
States =
{
"$LOCAL$/CParticleState_80F23FF8",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_62ED9366
{
Expression = "function void Eval()
{
Life = 1.0;
Size = Scale*0.25;
Position=Scale*vrand().x0z;
TextureID=rand(0,4);
RAND=ninja;
Rotation=rand(-pi,pi);
VXZ=rand(-0.1,0.1);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_FC3E6321
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/Fx/Smoke_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
}
CParticleState $LOCAL$/CParticleState_80F23FF8
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_D3971F8A",
"$LOCAL$/CParticleEvolver_Rotation_FFD78B29",
"$LOCAL$/CParticleEvolver_Script_F33F4D7A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7E7D621B
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F33F4D7A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_38BADCC5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_38BADCC5
{
Expression = "function void Eval()
{
Velocity=Scale*float3(VXZ,2*LifeRatio,VXZ);
Color=float4(0,0,0,1)*Sampler_0.sample(LifeRatio,RAND);
RotationSpeed=cross(Velocity*50,float3(0,-1,0));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2DD9A86C
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_FE2FF99F
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
1.4999999e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.0899959e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0049376e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.9999998e-001,
6.9999999e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.5000000e-001,
7.5000000e-001,
0.0000000e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6EC6394E
{
FieldName = "RAND";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_FFD78B29
{
CustomName = "Rotation";
RotationMode = Axial;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1614CC73
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_74135AB2";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_4CC4D65D",
"$LOCAL$/CParticleFieldDeclaration_19FFD5E4",
"$LOCAL$/CParticleFieldDeclaration_A76658BF",
"$LOCAL$/CParticleFieldDeclaration_EF9E76EE",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_FC2A7877",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5FF8B506";
States =
{
"$LOCAL$/CParticleState_9FD15541",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_74135AB2
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/Fx/Smoke_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
BillboardMode = PlanarAlignedQuad;
AxisField = "Axis";
Axis2Field = "Axis2";
AxisScale = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4CC4D65D
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_19FFD5E4
{
FieldName = "RAND";
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_FC2A7877
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
1.4999999e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.0899959e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0049376e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.9999998e-001,
6.9999999e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.5000000e-001,
7.5000000e-001,
0.0000000e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5FF8B506
{
Expression = "function void Eval()
{
Life = 1;
Size = Scale;
Position=Scale*vrand().x0z;
TextureID=rand(0,4);
RAND=ninja;
Rotation=rand(-pi,pi);
Axis=float3(0,0,1);
Axis2=float3(0,1,0);
ScalarRotationSpeed=rand(-0.5,0.5);
}
";
}
CParticleState $LOCAL$/CParticleState_9FD15541
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_9BF71015",
"$LOCAL$/CParticleEvolver_Rotation_771FDB3B",
"$LOCAL$/CParticleEvolver_Script_5588AD1A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_9D490C98
{
CustomName = "Physics";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_771FDB3B
{
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5588AD1A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_9529E4E5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_9529E4E5
{
Expression = "function void Eval()
{
Color=float4(0,0,0,1)*Sampler_0.sample(LifeRatio,RAND);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_3
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_1614CC73";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 5.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A76658BF
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_EF9E76EE
{
FieldName = "Axis2";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CA6FC949
{
FieldName = "VXZ";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_98B70D40
{
FieldName = "TextID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_48B81503
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_21DBF407
{
FieldName = "Time";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_0DD7066D
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FB36BF34";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FB36BF34
{
Expression = "function void Eval()
{
Color=Sampler_0.sample(Time)*float4(0,0,0,1);
}
";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_6D3A3769
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Light_522651A3";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_CC9D05E0",
"$LOCAL$/CParticleFieldDeclaration_97432A23",
"$LOCAL$/CParticleFieldDeclaration_1D7D3222",
"$LOCAL$/CParticleFieldDeclaration_0BAECA8D",
"$LOCAL$/CParticleFieldDeclaration_53E9C5D4",
"$LOCAL$/CParticleFieldDeclaration_1EC9BA76",
"$LOCAL$/CParticleFieldDeclaration_3483AFA2",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_3350560D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_95922F27";
States =
{
"$LOCAL$/CParticleState_03FA5976",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CC9D05E0
{
FieldName = "Time";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_97432A23
{
FieldName = "Inverse";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1D7D3222
{
FieldName = "RandPos";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0BAECA8D
{
FieldName = "VALL";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_53E9C5D4
{
FieldName = "TextID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_95922F27
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 1.5;
Time=ninja*100;
Inverse=select(-1,1,ninja<0.5);
RandPos=rand(0.2,0.5);
Position=Scale*float3(sin(5*scene.Time+Time)*RandPos,0,Inverse*cos(5*scene.Time+Time)*RandPos);
VALL=vrand();
TextID=ninja;
Size=Scale;
}
";
}
CParticleState $LOCAL$/CParticleState_03FA5976
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_11F535FC",
"$LOCAL$/zer",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_87189A71
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_EA422188
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_EC831AEB";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EC831AEB
{
Expression = "function void Eval()
{
float Move = RandPos*(1-LifeRatio*0.5);
Position=Scale*float3(sin(5*scene.Time+Time)*Move,LifeRatio*10*RandPos+sin(15*scene.Time+Time)*0.05,Inverse*cos(5*scene.Time+Time)*Move);
Flux=Scale;
Color=ColorFadeIn*Sampler_0.sample(LifeRatio);
}
";
}
CParticleEvolver_Spawner $LOCAL$/zer
{
CustomName = "Spawner";
LocalSpaceSpawn = true;
UpAxisField = "Position";
CustomSpawnIntervalScaleField = "Flux";
Descriptor = "$LOCAL$/CParticleDescriptor_9A632B15";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_9A632B15
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_DB75ECFC";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AD78516F",
"$LOCAL$/CParticleFieldDeclaration_2696855E",
"$LOCAL$/CParticleFieldDeclaration_0D58C079",
"$LOCAL$/CParticleFieldDeclaration_BE3ABC30",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_B7CCF6B3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_83FDB1F2";
States =
{
"$LOCAL$/CParticleState_B9865E9D",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_DB75ECFC
{
CustomName = "Ribbon";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Branch_01.dds";
AtlasDefinition = "Textures/Fx/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AD78516F
{
FieldName = "Size";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2696855E
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0D58C079
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BE3ABC30
{
FieldName = "Time";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_B7CCF6B3
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
2.5000000e+000,
-2.5000000e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_83FDB1F2
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.1*Scale;
Velocity=parent.VALL*0.5*Scale;
TextureID=parent.TextID*4;
Time=spawner.LifeRatio;
}
";
}
CParticleState $LOCAL$/CParticleState_B9865E9D
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_8FD4CE6F",
"$LOCAL$/CParticleEvolver_Script_F198EEB7",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A8DFE324
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F198EEB7
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_B3714846";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B3714846
{
Expression = "function void Eval()
{
Color=Sampler_0.sample(LifeRatio)*Sampler_0.sample(Time)*ColorFadeIn*400;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_4
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_6D3A3769";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_44BDAED4
{
AttributeName = "ColorFadeIn";
AttributeType = float4;
DefaultValueF4 = float4(2.5000000e-001, 5.0000001e-002, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_008FCC27
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1EC9BA76
{
FieldName = "Flux";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_357B0F71
{
FieldName = "Flux";
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_1F6B3A88
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/CParticleEvolver_Script_5FC3B145",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_8AE5A7EB
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_4514F6CD",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_D3971F8A
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_7E7D621B",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_9BF71015
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_9D490C98",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_11F535FC
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_87189A71",
"$LOCAL$/CParticleEvolver_Script_EA422188",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_8FD4CE6F
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_A8DFE324",
};
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_522651A3
{
CustomName = "Light";
BillboardingMaterial = Lighting_SplatPass_Spec;
LightIntensityMultiplier = 1.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3483AFA2
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3350560D
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
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);
}

View file

@ -0,0 +1,571 @@
Version = 1.8.4.27161;
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_1
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3ECE14B0";
}
CParticleEvolver_Script $LOCAL$/Script_4
{
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;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_A1219F43
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e-001, 1.0000000e+000, 2.5000000e-001, 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);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_257F91CA",
"$LOCAL$/CParticleAttributeDeclaration_2CB999CD",
"$LOCAL$/CParticleAttributeDeclaration_A1219F43",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerCurve_C25D4CA3",
};
}
CParticleState $LOCAL$/CParticleState_DB7E6055
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_0640D1B9",
"$LOCAL$/Script_5",
};
}
CParticleEvolver_Spawner $LOCAL$/Ring
{
EditorInfosIsBlockMinimized = 0;
SpawnInterval = 1.5000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_0CAAAB3C";
}
CParticleEvolver_Script $LOCAL$/Script_5
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_6D29FC9A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_6D29FC9A
{
Expression = "function void Eval()
{
Size=Curve_1.sample(LifeRatio)+sin(Time+scene.Time*20)*0.1;
SizeD=Size*1.25+sin(Time+scene.Time*20)*0.1;
Color=float4(RGB*Power,Curve_0.sample(LifeRatio));
ColorD=float4(Curve_0.sample(LifeRatio)*0.25);
}
";
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_2
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_74460CBB
{
FieldName = "Direction";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_2CB999CD
{
AttributeName = "Power";
DefaultValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_644434C7
{
Expression = "function void Eval()
{
Size=LifeRatio;
Color=float4(RGB*Power,0.1)*Curve_0.sample(pow(LifeRatio,0.5));
}
";
}
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_1190CCAF
{
Expression = "function void Eval()
{
Life = 0.5;
Size = 1;
Axis=float3(1,0,0);
AxisUp=parent.Direction;
Velocity=parent.Direction*-4;
Time=ninja*100;
}
";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4DEE33B1
{
Expression = "function void Eval()
{
Life = infinity;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_1A4F019E
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Ring_03.dds";
BillboardMode = PlanarAlignedQuad;
AxisField = "Axis";
Axis2Field = "AxisUp";
AxisScale = 1.0000000e+000;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_0640D1B9
{
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_257F91CA
{
AttributeName = "Density";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_0CAAAB3C
{
Renderer = "$LOCAL$/CParticleRenderer_List_03869BEF";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_168F8670",
"$LOCAL$/CParticleFieldDeclaration_5E406DF3",
"$LOCAL$/CParticleFieldDeclaration_5DAFFE60",
"$LOCAL$/CParticleFieldDeclaration_DBC561DE",
"$LOCAL$/CParticleFieldDeclaration_0D6693A4",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_7C38C6A2",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_1190CCAF";
States =
{
"$LOCAL$/CParticleState_DB7E6055",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5E406DF3
{
FieldName = "AxisUp";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Script $LOCAL$/Script_3
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_376EDA32";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3ECE14B0
{
Expression = "function void Eval()
{
Color=float4(RGB*Power*0.5,1-LifeRatio);
Size=Curve_3.sample(LifeRatio)+SizeCoeff;
}
";
}
CParticleState $LOCAL$/CParticleState_4BFDDA2B
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_3",
"$LOCAL$/LocalSpace_2",
"$LOCAL$/Script_4",
"$LOCAL$/Ring",
"$LOCAL$/Arrow",
"$LOCAL$/Spark",
"$LOCAL$/Smoke",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_168F8670
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5DAFFE60
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C25D4CA3
{
SamplerName = "Curve_0";
Times =
{
0.0000000e+000,
3.9999998e-001,
5.9999996e-001,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
1.0000000e+000,
3.2946768e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-4.6760383e-001,
-9.3520784e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_7C38C6A2
{
SamplerName = "Curve_1";
Times =
{
0.0000000e+000,
5.0140846e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4376427e+000,
3.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
4.9237647e+000,
3.7580505e-001,
3.7369379e-001,
4.0155935e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Spawner $LOCAL$/Arrow
{
EditorInfosIsBlockMinimized = 0;
SpawnInterval = 1.2500000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_DDCE1654";
}
CParticleState $LOCAL$/CParticleState_B70FB90D
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_5D4200F1",
"$LOCAL$/Script_1",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_DDCE1654
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_31DC4A08";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_60BF8995",
"$LOCAL$/CParticleFieldDeclaration_C2FEA672",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_730A96F9",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4EAC89A7";
States =
{
"$LOCAL$/CParticleState_B70FB90D",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4EAC89A7
{
Expression = "function void Eval()
{
Life = 0.5;
SizeCoeff = sin(scene.Time*40)*0.02;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_31DC4A08
{
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Trail_01.dds";
TextureUField = "LifeRatio";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_5D4200F1
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_090BFF96
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_60BF8995
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_85426D7C
{
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/DistortionCircle_01.dds";
BillboardMode = PlanarAlignedQuad;
SizeField = "SizeD";
ColorField = "ColorD";
AxisField = "Axis";
Axis2Field = "AxisUp";
AxisScale = 1.0000000e+000;
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_03869BEF
{
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_1A4F019E",
"$LOCAL$/CParticleRenderer_Billboard_85426D7C",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DBC561DE
{
FieldName = "ColorD";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_730A96F9
{
SamplerName = "Curve_3";
Times =
{
0.0000000e+000,
1.4797057e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0372412e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.2711878e+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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C2FEA672
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0D6693A4
{
FieldName = "Time";
}
CParticleEvolver_Spawner $LOCAL$/Spark
{
EditorInfosIsBlockMinimized = 0;
SpawnInterval = 3.9999999e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_776CD4C6";
}
CParticleState $LOCAL$/CParticleState_4ED52937
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6899CFFB",
"$LOCAL$/Evolver_1",
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_776CD4C6
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_1480FE58";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_E454C3A5",
"$LOCAL$/CParticleFieldDeclaration_CC5428CC",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B1041001";
States =
{
"$LOCAL$/CParticleState_4ED52937",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B1041001
{
Expression = "function void Eval()
{
Life = rand(0.2,0.4);
Velocity=parent.Direction*4+vrand()*2;
TextureID=ninja*4;
Rotation=rand(-pi,pi);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_1480FE58
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Spark_03.dds";
AtlasDefinition = "Textures/Fx/AtlasR4.pkat";
BillboardMode = VelocityAxisAligned;
AxisField = "Axis";
AxisScale = 1.0000000e+000;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6899CFFB
{
}
CParticleEvolver_Rotation $LOCAL$/Evolver_1
{
}
CParticleEvolver_Script $LOCAL$/Script_2
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_749B60DA";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_749B60DA
{
Expression = "function void Eval()
{
Color=float4(RGB*Power,Curve_0.sample(pow(LifeRatio,0.5)));
Size=LifeRatio*0.04;
Axis=Velocity*LifeRatio*0.2;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E454C3A5
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CC5428CC
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Spawner $LOCAL$/Smoke
{
EditorInfosIsBlockMinimized = 0;
SpawnInterval = 1.7500000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_8D0CD1C3";
}
CParticleState $LOCAL$/CParticleState_E9CCA700
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6240CCF4",
"$LOCAL$/Evolver_2",
"$LOCAL$/Script_6",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_8D0CD1C3
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_347C6D2D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_090BFF96",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_7FCE2242";
States =
{
"$LOCAL$/CParticleState_E9CCA700",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7FCE2242
{
Expression = "function void Eval()
{
Life = 0.75;
Rotation=rand(-pi,pi);
Velocity=vrand()*0.5;
TextureID=ninja*4;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_347C6D2D
{
BillboardingMaterial = AlphaBlend_Soft;
Diffuse = "Textures/Fx/Smoke_02.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6240CCF4
{
}
CParticleEvolver_Rotation $LOCAL$/Evolver_2
{
}
CParticleEvolver_Script $LOCAL$/Script_6
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_644434C7";
}

View file

@ -0,0 +1,611 @@
Version = 1.8.4.27161;
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";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.2800000e+002;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8ED4ECCD",
"$LOCAL$/CParticleFieldDeclaration_7BA8472B",
"$LOCAL$/CParticleFieldDeclaration_49559E58",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
"$LOCAL$/Head_1",
"$LOCAL$/Sparks_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-508, -63);
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
BranchLength = rand(0.08,0.30);
Life = BranchLength;
Size = 0.2;
Vrand=vrand();
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/Trail_1",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63
{
Expression = "function void Eval()
{
Color=(RGB*sin(LifeRatio*3)).xyz1*0.5;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(5.3457451e-001, 6.6489398e-002, 8.1914890e-001, 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_8ED4ECCD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
SpawnInterval = 8.0000001e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_EC6BEF67";
}
CParticleState $LOCAL$/CParticleState_A25D7514
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_07A88CC8",
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EC6BEF67
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_72728FCA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A2FF29AF",
"$LOCAL$/CParticleFieldDeclaration_F373C982",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6";
States =
{
"$LOCAL$/CParticleState_A25D7514",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6
{
Expression = "function void Eval()
{
Life = parent.BranchLength-spawner.LifeRatio*parent.BranchLength;
Size = 0.5;
Velocity=parent.Vrand*10+vrand()*15;
Time=spawner.LifeRatio;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_72728FCA
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
SoftnessDistance = 4.0000000e+000;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_07A88CC8
{
Drag = 6.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7BA8472B
{
FieldName = "Vrand";
FieldType = float3;
}
CParticleEvolver_Script $LOCAL$/Script_2
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_00FC543C";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_00FC543C
{
Expression = "function void Eval()
{
Color=(200*RGB).xyz1*float4((1-LifeRatio)*pow(sin(Time*3),4)).111w;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A2FF29AF
{
FieldName = "Color";
FieldType = float4;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2
{
Descriptor = "$LOCAL$/CParticleDescriptor_D8F41933";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.2800000e+002;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D8F41933
{
Renderer = "$LOCAL$/CParticleRenderer_List_DB2C9D9D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_47DE3001",
"$LOCAL$/CParticleFieldDeclaration_BDBAEFFB",
"$LOCAL$/CParticleFieldDeclaration_2F538E24",
"$LOCAL$/CParticleFieldDeclaration_89B45881",
"$LOCAL$/CParticleFieldDeclaration_35DAB0D8",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_DB4A4672";
States =
{
"$LOCAL$/CParticleState_5F8D33A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DB4A4672
{
Expression = "function void Eval()
{
Life = rand(0.4,0.6);
SizeCoeff = rand(0.3,0.6);
TextureID=ninja*4;
Rotation=rand(-pi,pi);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_904C4D1D
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_02.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
SoftnessDistance = 4.0000000e+000;
}
CParticleState $LOCAL$/CParticleState_5F8D33A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Evolver_1",
"$LOCAL$/CParticleEvolver_Physics_82B04937",
"$LOCAL$/Script_3",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_82B04937
{
}
CParticleEvolver_Script $LOCAL$/Script_3
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_1CD674C6";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_1CD674C6
{
Expression = "function void Eval()
{
Size=(1-LifeRatio)*SizeCoeff;
SizeD=Size*2;
Color=(200*RGB).xyz1*float4((1-pow(LifeRatio,0.25))*pow(sin(LifeRatio*3),4)).111w;
ColorG=((Color*0.004)*(1-pow(LifeRatio,0.125))).xyz1;
ColorD=0.1*(1-pow(LifeRatio,4));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_47DE3001
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_49559E58
{
FieldName = "BranchLength";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BDBAEFFB
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_89B45881
{
FieldName = "ColorD";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_A8F075B7
{
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/Distortion_01.dds";
SizeField = "SizeD";
ColorField = "ColorD";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_35DAB0D8
{
FieldName = "SizeD";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_4AC259D5
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_765962BC",
"$LOCAL$/CParticleFieldDeclaration_22821A2F",
"$LOCAL$/CParticleFieldDeclaration_09CB9D1E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_9C63D339";
States =
{
"$LOCAL$/CParticleState_9985E5F0",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_765962BC
{
FieldName = "VRAND";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_22821A2F
{
FieldName = "LENGTH";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_09CB9D1E
{
FieldName = "SCALE";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_9C63D339
{
Expression = "function void Eval()
{
Life = 1;
VRAND=vrand()*rand(0.5,1);
LENGTH=select(rand(0.01,0.1),rand(0.1,0.15),ninja<0.05);
SCALE=rand(0.1,0.15);
}
";
}
CParticleState $LOCAL$/CParticleState_9985E5F0
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_E0BE8373",
"$LOCAL$/aze",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_E0BE8373
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_A593DDB2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A593DDB2
{
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_782329EE
{
Drag = 5.0000000e+001;
IntegrationStrategy = Stable;
BounceRestitution = 7.3456788e-001;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Head_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_4AC259D5";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 5.0000000e+001;
ContinuousSpawner = false;
FluxFactorExpression = "LOD";
}
CParticleEvolver_Spawner $LOCAL$/aze
{
SpawnMetric = Time;
SpawnInterval = 6.5000001e-003;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_A66A4806";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_A66A4806
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_BE88E441";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_82804798",
"$LOCAL$/CParticleFieldDeclaration_1BBA323B",
"$LOCAL$/CParticleFieldDeclaration_9976501A",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_5206C3E5",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_16320E0C";
States =
{
"$LOCAL$/CParticleState_90B77FBF",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_BE88E441
{
BillboardingMaterial = Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Trail_01.dds";
TextureUField = "LifeRatio";
SoftnessDistance = 4.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_82804798
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1BBA323B
{
FieldName = "VStart";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9976501A
{
FieldName = "VelocityField";
FieldType = float3;
TransformFilter = rotate;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_5206C3E5
{
SamplerName = "Curve_0";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_16320E0C
{
Expression = "function void Eval()
{
Life = parent.LENGTH;
Size = parent.SCALE;
VStart=parent.VRAND*25;
Color=(0.2*RGB).xyz1*sin(spawner.LifeRatio*3);
Velocity = VStart;
}
";
}
CParticleState $LOCAL$/CParticleState_90B77FBF
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_782329EE",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F373C982
{
FieldName = "Time";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_3494A123
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_7EE07522";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_F261C98D",
"$LOCAL$/CParticleFieldDeclaration_0A0930D4",
"$LOCAL$/CParticleFieldDeclaration_DC207627",
"$LOCAL$/CParticleFieldDeclaration_05F2AC76",
"$LOCAL$/CParticleFieldDeclaration_707DE971",
"$LOCAL$/CParticleFieldDeclaration_23C4347B",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_B4DA1C88",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_7DAD31EB";
States =
{
"$LOCAL$/CParticleState_D4D0718A",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_7EE07522
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/DirtPieces_01.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
SoftAnimationBlending = true;
SoftnessDistance = 4.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F261C98D
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0A0930D4
{
FieldName = "ID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DC207627
{
FieldName = "Mass";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_05F2AC76
{
FieldName = "BounceRestitution";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_707DE971
{
FieldName = "Accel";
FieldType = float3;
TransformFilter = full;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_B4DA1C88
{
SamplerName = "Turb_0";
Scale = 5.0000000e+000;
TimeScale = 1.0000000e+000;
TimeBase = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7DAD31EB
{
Expression = "function void Eval()
{
Life = rand(0.25,0.75);
Size = rand(0.02,0.04);
Rotation=rand(-pi,pi);
ID=ninja*4;
Velocity=vrand()*ninja*2;
Mass=rand(1,10);
BounceRestitution=rand(0.1,0.5);
HighLight=select(4,rand(50,100),ninja<0.4);
}
";
}
CParticleState $LOCAL$/CParticleState_D4D0718A
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_D821CA15",
"$LOCAL$/CParticleEvolver_Rotation_09B977FC",
"$LOCAL$/CParticleEvolver_Script_9EED386F",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_D821CA15
{
ConstantAcceleration = float3(0.0000000e+000, -1.0000000e+001, 0.0000000e+000);
Drag = 1.0000000e+000;
WorldInteractionMode = OneWay;
BounceRestitution = 1.0000000e+000;
BounceOffset = 1.0000000e-003;
BouncesBeforeDeath = 127;
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_09B977FC
{
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_9EED386F
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_4429F85E";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4429F85E
{
Expression = "function void Eval()
{
TextureID=min((ID+LifeRatio*2),4);
Color=float4((RGB*HighLight).xyz1*float4(1-LifeRatio).111w);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Sparks_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_3494A123";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.0000000e+002;
FluxFactorExpression = "Density";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_F4B734F2
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_01.dds";
ColorField = "ColorG";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_DB2C9D9D
{
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_904C4D1D",
"$LOCAL$/CParticleRenderer_Billboard_F4B734F2",
"$LOCAL$/CParticleRenderer_Billboard_A8F075B7",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2F538E24
{
FieldName = "ColorG";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_23C4347B
{
FieldName = "HighLight";
}
CParticleEvolver_Rotation $LOCAL$/Evolver_1
{
}

View file

@ -0,0 +1,679 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/OutLightning_pCoords
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 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",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_86407B2A
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(2.5000000e-001, 5.0000000e-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;
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
{
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",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_B4A3F15A
{
SamplerName = "Shape_0";
Shape = "$LOCAL$/CShapeDescriptor_00485E25";
}
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);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2FAA954C
{
FieldName = "pCoords";
FieldType = int3;
}
CParticleEvolver_Rotation $LOCAL$/Evolver_3
{
}
CParticleEvolver_Script $LOCAL$/Script_5
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_67DDAB2D";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3DDDE71F
{
FieldName = "AxisUp";
FieldType = float3;
TransformFilter = rotate;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_67DDAB2D
{
Expression = "function void Eval()
{
Color=sin(LifeRatio*3)*Distortion;
}
";
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
EditorInfosIsBlockMinimized = 0;
SpawnMetric = Time;
SpawnInterval = 3.9999999e-002;
ForwardAxisField = "Axis";
FirstSpawnDelay = 0.0000000e+000;
LocalSpaceSpawn = true;
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",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2";
States =
{
"$LOCAL$/CParticleState_61782B80",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2
{
Expression = "function void Eval()
{
Life = 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*10+vrand())*Scale;
Color=spawner.LifeRatio*RGB.xyz1*10;
TextureID=ninja*16;
Mass=Scale;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_88AD4B47
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
TextureIDField = "TextureID";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_BA79E974
{
Mass = 0.0000000e+000;
Drag = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66AA7FEC
{
FieldName = "TextureID";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328
{
SamplerName = "Turb_0";
Scale = 1.5000000e+000;
Strength = 5.0000000e+001;
TimeScale = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D3592D0B
{
FieldName = "Color";
FieldType = float4;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Ball
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_207FBFFE";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+000;
}
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 = 1.0;
Size = 2*Scale;
RotationInit=vrand()*pi;
}
";
}
CParticleRenderer_Mesh_Descriptor $LOCAL$/CParticleRenderer_Mesh_Descriptor_687E3EC4
{
Mesh = "Meshes/Geosphere.pkmm";
Material = Additive_NoAlpha;
MaterialParametersFields =
{
"DiffuseColor = Color",
};
Diffuse = "Textures/EnergyBall_02.dds";
}
CParticleState $LOCAL$/CParticleState_3D5454D3
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
ChildList =
{
"$LOCAL$/Script_2",
};
}
CParticleRenderer_Mesh $LOCAL$/CParticleRenderer_Mesh_31DAE3BD
{
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
{
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)*4;
}
";
}
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",
};
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
{
ChildList =
{
"$LOCAL$/Ball",
"$LOCAL$/Glow",
"$LOCAL$/Disto",
};
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_7110CCC0
{
SamplerName = "Turb_0";
Scale = 2.0000000e+000;
Strength = 1.0000000e+002;
TimeScale = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_30AD0A83
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.25;
pCoords = Shape_0.sampleParametricCoords();
Position=Shape_0.samplePosition(pCoords)*Scale;
Mass=Scale;
}
";
}
CParticleState $LOCAL$/CParticleState_01226A02
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_4",
"$LOCAL$/Trail_2",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_0F7E6FED
{
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*Scale;
VelocityField=Turb_0.sample(Position/Scale);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/InLightning_pCoords
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_D8E1BE65";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
FluxFactorExpression = "Flux";
}
CParticleEvolver_Projection $LOCAL$/Evolver_1
{
Shape = "Shape_0";
OutputParametricCoordsField = "pCoords";
}
CParticleEvolver_Physics $LOCAL$/Evolver_2
{
Mass = 0.0000000e+000;
Drag = 1.0000000e+000;
}
CParticleEvolver_Spawner $LOCAL$/Trail_2
{
EditorInfosIsBlockMinimized = 0;
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",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD";
States =
{
"$LOCAL$/CParticleState_E8DB9F13",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 0.2*Scale;
ColorCoeff=sin(spawner.LifeRatio*3)*RGB.xyz1*10;
Position=vrand()*0.1*Scale;
// Simply add the normals information in the axis field of the ribbon and that\'s it!
AxisUp=parent.AxisUp;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_35782C54
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
TextureIDField = "TextureID";
AxisField = "AxisUp";
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_5
{
ChildList =
{
"$LOCAL$/Script_4",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7F906BF6
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/Script_4
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1
{
Expression = "function void Eval()
{
Color=ColorCoeff*sin(LifeRatio*3);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42738008
{
FieldName = "ColorCoeff";
FieldType = float4;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Glow
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_29F3590A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
}
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 = 1.0;
Size = 2.1*Scale;
Color=(RGB.xyz1*0.5+0.5)*0.2;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_766CC37C
{
Diffuse = "Textures/Fx/Glow_02.dds";
}
CParticleState $LOCAL$/CParticleState_3A34A9EF
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_2",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_2
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C1FAB4F9
{
FieldName = "Color";
FieldType = float4;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_78C6FECC
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_E542DF7F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_B49E24AE",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_412E2A09";
States =
{
"$LOCAL$/CParticleState_C6F09D00",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_E542DF7F
{
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/Distortion_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B49E24AE
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_412E2A09
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 2.1*Scale;
Color=1;
Rotation=rand(-pi,pi);
ScalarRotationSpeed=rand(-2,2);
}
";
}
CParticleState $LOCAL$/CParticleState_C6F09D00
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_3",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_3
{
ChildList =
{
"$LOCAL$/Evolver_3",
"$LOCAL$/Script_5",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Disto
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_78C6FECC";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+000;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_4
{
ChildList =
{
"$LOCAL$/Evolver_2",
"$LOCAL$/Evolver_1",
"$LOCAL$/CParticleEvolver_Script_0F7E6FED",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_6
{
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_7
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_BA79E974",
"$LOCAL$/Script_3",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_ACB53148
{
AttributeName = "Flux";
DefaultValueF4 = float4(4.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(1.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);
}

View file

@ -0,0 +1,905 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 8.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D6E78A1F",
"$LOCAL$/CParticleFieldDeclaration_B56DC0B6",
"$LOCAL$/CParticleFieldDeclaration_D09072B1",
"$LOCAL$/CParticleFieldDeclaration_DC46DA3D",
"$LOCAL$/CParticleFieldDeclaration_98B70D40",
"$LOCAL$/CParticleFieldDeclaration_357B0F71",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
"$LOCAL$/Layer_3",
"$LOCAL$/Layer_4",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D09072B1
{
FieldName = "RandPos";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 1.0;
Time=ninja*100;
Inverse=select(-1,1,ninja<0.5);
RandPos=rand(0.5,1);
Position=float3(sin(5*scene.Time+Time)*RandPos,0,Inverse*cos(5*scene.Time+Time)*RandPos);
VALL=vrand();
TextID=ninja;
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_1F6B3A88",
"$LOCAL$/aze",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_44BDAED4",
"$LOCAL$/CParticleAttributeDeclaration_008FCC27",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5FC3B145
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_34F0D6EC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_34F0D6EC
{
Expression = "function void Eval()
{
float Move = RandPos*(1-LifeRatio*0.5);
Position=Scale*float3(sin(5*scene.Time+Time)*Move,LifeRatio*2*RandPos+sin(15*scene.Time+Time)*0.05,Inverse*cos(5*scene.Time+Time)*Move);
Flux=Scale;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D6E78A1F
{
FieldName = "Time";
}
CParticleEvolver_Spawner $LOCAL$/aze
{
CustomName = "Spawner";
LocalSpaceSpawn = true;
UpAxisField = "Position";
CustomSpawnIntervalScaleField = "Flux";
Descriptor = "$LOCAL$/CParticleDescriptor_CF42AB20";
}
CParticleState $LOCAL$/CParticleState_2DA4F7A9
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_8AE5A7EB",
"$LOCAL$/CParticleEvolver_Script_0DD7066D",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CF42AB20
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_B41DBF53";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_3F8EEF55",
"$LOCAL$/CParticleFieldDeclaration_4AE3D712",
"$LOCAL$/CParticleFieldDeclaration_48B81503",
"$LOCAL$/CParticleFieldDeclaration_21DBF407",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_71463744",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3A9B1863";
States =
{
"$LOCAL$/CParticleState_2DA4F7A9",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3A9B1863
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.15*Scale;
Velocity=parent.VALL*0.5*Scale;
TextureID=parent.TextID*4;
Time=spawner.LifeRatio;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3F8EEF55
{
FieldName = "Size";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_4514F6CD
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B56DC0B6
{
FieldName = "Inverse";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_B41DBF53
{
CustomName = "Ribbon";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Branch_01.dds";
AtlasDefinition = "Textures/Fx/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4AE3D712
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DC46DA3D
{
FieldName = "VALL";
FieldType = float3;
TransformFilter = rotate;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_71463744
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
2.5000000e-001,
7.5000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
2.5000000e+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_2
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_D9B5C557";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.5000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D9B5C557
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_FC3E6321";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2DD9A86C",
"$LOCAL$/CParticleFieldDeclaration_6EC6394E",
"$LOCAL$/CParticleFieldDeclaration_CA6FC949",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_FE2FF99F",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_62ED9366";
States =
{
"$LOCAL$/CParticleState_80F23FF8",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_62ED9366
{
Expression = "function void Eval()
{
Life = 1.0;
Size = Scale*0.25;
Position=Scale*vrand().x0z;
TextureID=rand(0,4);
RAND=ninja;
Rotation=rand(-pi,pi);
VXZ=rand(-0.1,0.1);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_FC3E6321
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/Fx/Smoke_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
}
CParticleState $LOCAL$/CParticleState_80F23FF8
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_D3971F8A",
"$LOCAL$/CParticleEvolver_Rotation_FFD78B29",
"$LOCAL$/CParticleEvolver_Script_F33F4D7A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7E7D621B
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F33F4D7A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_38BADCC5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_38BADCC5
{
Expression = "function void Eval()
{
Velocity=Scale*float3(VXZ,2*LifeRatio,VXZ);
Color=float4(0,0,0,1)*Sampler_0.sample(LifeRatio,RAND);
RotationSpeed=cross(Velocity*50,float3(0,-1,0));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2DD9A86C
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_FE2FF99F
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
1.4999999e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.0899959e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0049376e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.9999998e-001,
6.9999999e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.5000000e-001,
7.5000000e-001,
0.0000000e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6EC6394E
{
FieldName = "RAND";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_FFD78B29
{
CustomName = "Rotation";
RotationMode = Axial;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1614CC73
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_74135AB2";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_4CC4D65D",
"$LOCAL$/CParticleFieldDeclaration_19FFD5E4",
"$LOCAL$/CParticleFieldDeclaration_A76658BF",
"$LOCAL$/CParticleFieldDeclaration_EF9E76EE",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_FC2A7877",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5FF8B506";
States =
{
"$LOCAL$/CParticleState_9FD15541",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_74135AB2
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/Fx/Smoke_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
BillboardMode = PlanarAlignedQuad;
AxisField = "Axis";
Axis2Field = "Axis2";
AxisScale = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4CC4D65D
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_19FFD5E4
{
FieldName = "RAND";
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_FC2A7877
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
1.4999999e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.0899959e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0049376e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.9999998e-001,
6.9999999e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.5000000e-001,
7.5000000e-001,
0.0000000e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5FF8B506
{
Expression = "function void Eval()
{
Life = 1;
Size = Scale;
Position=Scale*vrand().x0z;
TextureID=rand(0,4);
RAND=ninja;
Rotation=rand(-pi,pi);
Axis=float3(0,0,1);
Axis2=float3(0,1,0);
ScalarRotationSpeed=rand(-0.5,0.5);
}
";
}
CParticleState $LOCAL$/CParticleState_9FD15541
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_9BF71015",
"$LOCAL$/CParticleEvolver_Rotation_771FDB3B",
"$LOCAL$/CParticleEvolver_Script_5588AD1A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_9D490C98
{
CustomName = "Physics";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_771FDB3B
{
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5588AD1A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_9529E4E5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_9529E4E5
{
Expression = "function void Eval()
{
Color=float4(0,0,0,1)*Sampler_0.sample(LifeRatio,RAND);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_3
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_1614CC73";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 5.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A76658BF
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_EF9E76EE
{
FieldName = "Axis2";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CA6FC949
{
FieldName = "VXZ";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_98B70D40
{
FieldName = "TextID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_48B81503
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_21DBF407
{
FieldName = "Time";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_0DD7066D
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FB36BF34";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FB36BF34
{
Expression = "function void Eval()
{
Color=Sampler_0.sample(Time)*float4(0,0,0,1);
}
";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_6D3A3769
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Light_522651A3";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_CC9D05E0",
"$LOCAL$/CParticleFieldDeclaration_97432A23",
"$LOCAL$/CParticleFieldDeclaration_1D7D3222",
"$LOCAL$/CParticleFieldDeclaration_0BAECA8D",
"$LOCAL$/CParticleFieldDeclaration_53E9C5D4",
"$LOCAL$/CParticleFieldDeclaration_1EC9BA76",
"$LOCAL$/CParticleFieldDeclaration_3483AFA2",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_3350560D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_95922F27";
States =
{
"$LOCAL$/CParticleState_03FA5976",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CC9D05E0
{
FieldName = "Time";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_97432A23
{
FieldName = "Inverse";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1D7D3222
{
FieldName = "RandPos";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0BAECA8D
{
FieldName = "VALL";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_53E9C5D4
{
FieldName = "TextID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_95922F27
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 1.5;
Time=ninja*100;
Inverse=select(-1,1,ninja<0.5);
RandPos=rand(0.2,0.5);
Position=Scale*float3(sin(5*scene.Time+Time)*RandPos,0,Inverse*cos(5*scene.Time+Time)*RandPos);
VALL=vrand();
TextID=ninja;
Size=Scale;
}
";
}
CParticleState $LOCAL$/CParticleState_03FA5976
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_11F535FC",
"$LOCAL$/zer",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_87189A71
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_EA422188
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_EC831AEB";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EC831AEB
{
Expression = "function void Eval()
{
float Move = RandPos*(1-LifeRatio*0.5);
Position=Scale*float3(sin(5*scene.Time+Time)*Move,LifeRatio*10*RandPos+sin(15*scene.Time+Time)*0.05,Inverse*cos(5*scene.Time+Time)*Move);
Flux=Scale;
Color=ColorFadeIn*Sampler_0.sample(LifeRatio);
}
";
}
CParticleEvolver_Spawner $LOCAL$/zer
{
CustomName = "Spawner";
LocalSpaceSpawn = true;
UpAxisField = "Position";
CustomSpawnIntervalScaleField = "Flux";
Descriptor = "$LOCAL$/CParticleDescriptor_9A632B15";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_9A632B15
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_DB75ECFC";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AD78516F",
"$LOCAL$/CParticleFieldDeclaration_2696855E",
"$LOCAL$/CParticleFieldDeclaration_0D58C079",
"$LOCAL$/CParticleFieldDeclaration_BE3ABC30",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_B7CCF6B3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_83FDB1F2";
States =
{
"$LOCAL$/CParticleState_B9865E9D",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_DB75ECFC
{
CustomName = "Ribbon";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Branch_01.dds";
AtlasDefinition = "Textures/Fx/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AD78516F
{
FieldName = "Size";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2696855E
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0D58C079
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BE3ABC30
{
FieldName = "Time";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_B7CCF6B3
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
2.5000000e+000,
-2.5000000e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_83FDB1F2
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.1*Scale;
Velocity=parent.VALL*0.5*Scale;
TextureID=parent.TextID*4;
Time=spawner.LifeRatio;
}
";
}
CParticleState $LOCAL$/CParticleState_B9865E9D
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_8FD4CE6F",
"$LOCAL$/CParticleEvolver_Script_F198EEB7",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A8DFE324
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F198EEB7
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_B3714846";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B3714846
{
Expression = "function void Eval()
{
Color=Sampler_0.sample(LifeRatio)*Sampler_0.sample(Time)*ColorFadeIn*400;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_4
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_6D3A3769";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_44BDAED4
{
AttributeName = "ColorFadeIn";
AttributeType = float4;
DefaultValueF4 = float4(2.5000000e-001, 5.0000001e-002, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_008FCC27
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1EC9BA76
{
FieldName = "Flux";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_357B0F71
{
FieldName = "Flux";
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_1F6B3A88
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/CParticleEvolver_Script_5FC3B145",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_8AE5A7EB
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_4514F6CD",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_D3971F8A
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_7E7D621B",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_9BF71015
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_9D490C98",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_11F535FC
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_87189A71",
"$LOCAL$/CParticleEvolver_Script_EA422188",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_8FD4CE6F
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_A8DFE324",
};
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_522651A3
{
CustomName = "Light";
BillboardingMaterial = Lighting_SplatPass_Spec;
LightIntensityMultiplier = 1.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3483AFA2
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3350560D
{
SamplerName = "Sampler_0";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
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);
}

View file

@ -0,0 +1,79 @@
Version = 1.9.0.28323;
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";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_10C37EB8",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-508, -63);
UserData = "shaderGroup=fire";
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_SoftLighting;
Diffuse = "Textures/Sprites/empty.png";
Normal = "Textures/test_nmap_normal.png";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.25;
Color = float4(float3(0.5f), 1.0);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_10C37EB8
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A5B427DB
{
Expression = "function void Eval()
{
}
";
}

View file

@ -0,0 +1,259 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
DurationInSeconds = 1.0000000e+000;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.1712000e+004;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AF3EFE15",
"$LOCAL$/CParticleFieldDeclaration_1523F72B",
"$LOCAL$/CParticleFieldDeclaration_AB5784CF",
};
Samplers =
{
"$LOCAL$/CParticleSamplerTexture_B5AC583A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_54652B1E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
CustomName = "Billboard";
Diffuse = "Textures/FX/dot_NoAlpha.tga";
BillboardMode = VelocitySpheroidalAlign;
AxisScale = 1.5000001e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
Expression = "function void Eval()
{
// particle count in the spawner should be equal to textureWidth * textureHeight
float textureWidth = 1283;
float textureHeight = 481;
float a = spawner.LifeRatio * textureWidth * textureHeight;
float x = discretize(a % textureWidth, 0.01);
float y = discretize(a / textureWidth, 0.01);
Position = float3(x, 1, y) * 100 / textureWidth / 10;
ColorCoeff = img.sample(float2(x/textureWidth,y/textureHeight), textureFilter.Point, textureAddr.Clamp);
Life = max(step(ColorCoeff.w, 0.1) * rand(8, 11), 0.01);
Size = 0.15;
Mass = 0;
}";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/CParticleEvolver_Field_4F937D01",
"$LOCAL$/CParticleEvolver_Field_6659A1A6",
"$LOCAL$/CParticleEvolver_Script_A8263884",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
CustomName = "Physics";
Drag = 1.0000000e+000;
VelocityFieldSampler = "turbulence";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_4F937D01
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_B5A36BC0";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_B5A36BC0
{
Times =
{
0.0000000e+000,
5.0977969e-001,
1.0000000e+000,
};
FloatValues =
{
7.3328435e-002,
7.5499684e-002,
1.7635383e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-2.5275584e-002,
-2.4305800e-002,
2.6268557e-001,
0.0000000e+000,
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_80FBD1D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0266370e-001,
1.4266375e-001,
1.8266374e-001,
4.4766521e-001,
1.0000000e+000,
};
FloatValues =
{
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
6.1449647e-002,
3.5956553e-001,
7.8481913e-001,
3.9529286e-002,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
9.2471039e-001,
4.8160315e-001,
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,
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,
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,
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,
-1.1094874e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-2.3124721e+000,
-1.7027018e+000,
-1.7027018e+000,
-1.7027018e+000,
-1.7027018e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleSamplerTexture $LOCAL$/CParticleSamplerTexture_B5AC583A
{
SamplerName = "img";
TextureResource = "Textures/PopcornFx.png";
SampleRawValues = false;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AF3EFE15
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_A8263884
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_D8430537";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_D8430537
{
Expression = "function void Eval()
{
//Velocity = pow(max(0, (LifeRatio - 0.2) / 0.8), 2.0) * 2 * turbulence.sampleCurl(Position);
Color *= ColorCoeff;
Mass = select(0, 1, LifeRatio > 0.4);
}";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_54652B1E
{
SamplerName = "turbulence";
Wavelength = 1.0000000e+000;
Strength = 2.1213204e-001;
Octaves = 1;
Interpolator = Quintic;
TimeScale = 2.0000000e-001;
TimeBase = 1.0000000e+000;
InitialSeed = 1104229502;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1523F72B
{
FieldName = "ColorCoeff";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_6659A1A6
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_80FBD1D1";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AB5784CF
{
FieldName = "Mass";
}

View file

@ -0,0 +1,474 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/blackhole
{
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.0000000e+001;
ContinuousSpawner = false;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_List_9C98FAB6";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_56EE89B5",
"$LOCAL$/CParticleFieldDeclaration_05E0F13E",
"$LOCAL$/CParticleFieldDeclaration_2F3A3C6D",
"$LOCAL$/CParticleFieldDeclaration_9FCBDD7C",
"$LOCAL$/CParticleFieldDeclaration_6C782B7A",
"$LOCAL$/CParticleFieldDeclaration_28B88455",
"$LOCAL$/CParticleFieldDeclaration_8E78CA92",
"$LOCAL$/CParticleFieldDeclaration_12409622",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/blackhole",
"$LOCAL$/smoke",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/BB_Flame_01_128.dds";
AtlasDefinition = "Textures/FX/AtlasX2.pkat";
SizeField = "Size2";
ColorField = "Color2";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
Expression = "function void Eval()
{
Life = 1;
InitialSize = Scale;
Position = float3(0,0.75,0);
Color = 0.5 * Scale;
Color2 = CustomColor;
TextureID = rand(0,4);
ScalarRotationSpeed = rand(-3,3);
Rotation = rand(-pi,pi);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_5C31A5C1",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_464DBE5B",
"$LOCAL$/CParticleAttributeDeclaration_34682ABB",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9C98FAB6
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_9136D2F4",
"$LOCAL$/CParticleRenderer_Billboard_35F7BFC3",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_05E0F13E
{
FieldName = "Color2";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_1FA7EDD7
{
Expression = "function void Eval()
{
float decayedSize = InitialSize * SizeCoeff;
Size2 = decayedSize * 1.5;
Size4 = decayedSize * 1.5;
Color4 *= CustomColor;
}
";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_861B3223
{
CustomName = "Field";
Name = "SizeCoeff";
Evaluator = "$LOCAL$/CParticleSamplerCurve_3D8F545A";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3D8F545A
{
Times =
{
0.0000000e+000,
4.9905631e-001,
1.0000000e+000,
};
FloatValues =
{
6.3916349e-001,
3.6995310e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-8.5174030e-001,
-8.5496157e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_56EE89B5
{
FieldName = "SizeCoeff";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_F50E15A4
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_1FA7EDD7";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2F3A3C6D
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9FCBDD7C
{
FieldName = "Size2";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_F8C0F500
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Rotation";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_35F7BFC3
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
SizeField = "Size4";
ColorField = "Color4";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6C782B7A
{
FieldName = "Color4";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_28B88455
{
FieldName = "Size4";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_1622A5C4
{
CustomName = "Field";
Name = "Color4";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E312BD77";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E312BD77
{
ValueType = Float4;
Times =
{
0.0000000e+000,
3.9999999e-002,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+002,
1.0000000e+002,
1.0000000e+002,
1.0000000e+002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.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,
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,
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_626F0EC7
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_851B4E6E";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9CF3EB79",
"$LOCAL$/CParticleFieldDeclaration_A0CC37AD",
"$LOCAL$/CParticleFieldDeclaration_0392EBBC",
"$LOCAL$/CParticleFieldDeclaration_FC69FD9C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C53D5192";
States =
{
"$LOCAL$/CParticleState_EECF720D",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_851B4E6E
{
DrawOrder = -2;
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Diffuse = "Textures/Fx/Smoke_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9CF3EB79
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FC69FD9C
{
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C53D5192
{
Expression = "function void Eval()
{
Life = 1.25;
Size = 0.25;
TextureID = rand(0, 4);
Velocity = float3(rand(-1,1), 0, rand(-1,1)) * Scale * 1.5;
RotationSpeed = cross(Velocity * 4, float3(0,-1,0));
CFI = CustomColor * 5;
CFO = 1;
SizeCoeff = Scale * 2;
}
";
}
CParticleState $LOCAL$/CParticleState_EECF720D
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_A42ABC9C",
"$LOCAL$/CParticleEvolver_Rotation_A393D8EF",
"$LOCAL$/CParticleEvolver_Field_E5D78FF6",
"$LOCAL$/CParticleEvolver_Field_234FDDF5",
"$LOCAL$/CParticleEvolver_Script_E15F8E20",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A42ABC9C
{
CustomName = "Physics";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_A393D8EF
{
CustomName = "Rotation";
RotationMode = Axial;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_E5D78FF6
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_40BF46E1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_40BF46E1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
5.0000001e-002,
7.4847561e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e-001,
1.0000000e-001,
1.0000000e-001,
1.0000000e-001,
1.0000000e-001,
1.0000000e-001,
1.0000000e-001,
1.0000000e-001,
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,
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,
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,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E15F8E20
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_68287463";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_68287463
{
Expression = "function void Eval()
{
Color *= 0.5 * ((CFI - (LifeRatio * CFI)) + (LifeRatio * CFO));
Size *= SizeCoeff;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/smoke
{
Descriptor = "$LOCAL$/CParticleDescriptor_626F0EC7";
Infinite = true;
DurationInSeconds = 1.5000000e+000;
SpawnCount = 1.0000000e+002;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_234FDDF5
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_670B18E4";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_670B18E4
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.5000001e-001,
5.0000000e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
6.4341843e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_12409622
{
FieldName = "InitialSize";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0392EBBC
{
FieldName = "CFO";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_5C31A5C1
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Rotation_F8C0F500",
"$LOCAL$/CParticleEvolver_Field_861B3223",
"$LOCAL$/CParticleEvolver_Field_1622A5C4",
"$LOCAL$/CParticleEvolver_Script_F50E15A4",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A0CC37AD
{
FieldName = "CFI";
FieldType = float4;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_464DBE5B
{
AttributeName = "CustomColor";
AttributeType = float4;
DefaultValueF4 = float4(5.0000000e-001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_34682ABB
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8E78CA92
{
FieldName = "SizeCoeff";
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,328 @@
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";
}

View file

@ -0,0 +1,748 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_BBAF8D7F",
"$LOCAL$/CParticleAttributeDeclaration_B6116AAE",
"$LOCAL$/CParticleAttributeDeclaration_89977E97",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_BBAF8D7F
{
AttributeName = "Throttle";
DefaultValueF4 = float4(8.0000001e-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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B6116AAE
{
AttributeName = "ShakeAmplitude";
DefaultValueF4 = float4(2.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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_DA926919
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_21CB4150";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_E5575253",
"$LOCAL$/CParticleFieldDeclaration_C8036612",
"$LOCAL$/CParticleFieldDeclaration_CC06153D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_2F088E44";
States =
{
"$LOCAL$/CParticleState_19EB6857",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_21CB4150
{
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_E5575253
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C8036612
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CC06153D
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2F088E44
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.2 + (0.2 + couillunessFactor * 2) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0) * 0.1;//float3(0,0,-2);
}";
}
CParticleState $LOCAL$/CParticleState_19EB6857
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_2DB27266",
"$LOCAL$/CParticleEvolver_Field_DCE52E21",
"$LOCAL$/CParticleEvolver_Field_9CCA151B",
"$LOCAL$/CParticleEvolver_Rotation_38CC37C5",
"$LOCAL$/CParticleEvolver_Script_DB489F6C",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_2DB27266
{
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_DCE52E21
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56EB66F8";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56EB66F8
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257950e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_9CCA151B
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_2B607C7A";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2B607C7A
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.4149234e-001,
1.0000000e+000,
};
FloatValues =
{
2.5888059e+000,
7.0672668e+001,
6.6430779e+001,
6.4613003e-001,
2.0553560e+000,
5.9162189e+001,
5.5671070e+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.7045374e+000,
-1.3779118e-004,
-1.1735915e+000,
-2.7489886e+000,
-1.7140994e+000,
-6.2124688e-002,
-9.9373609e-001,
-2.3277011e+000,
-1.4514103e+000,
-5.2603956e-002,
-4.2000425e-001,
-1.0303099e+000,
-3.1989605e+000,
1.2556669e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_38CC37C5
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_DB489F6C
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FB3EBC9F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FB3EBC9F
{
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;
Size *= SizeCoeff * 0.5;
}";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(170, 355);
Descriptor = "$LOCAL$/CParticleDescriptor_0CE1E254";
DurationInSeconds = 2.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.4000000e+001;
SpawnCountRelativeRandomDeviation = 9.6650624e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_0CE1E254
{
EditorInfosPosition = int2(25, 339);
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3A2645A7",
"$LOCAL$/CParticleSamplerShape_3A0ADCF1",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_7C93296B";
States =
{
"$LOCAL$/CParticleState_3BA9FF0A",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3A2645A7
{
EditorInfosPosition = int2(-151, 367);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_9FFCF1F6";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_9FFCF1F6
{
EditorInfosPosition = int2(-247, 365);
Position = float3(0.0000000e+000, -7.6473951e-003, 0.0000000e+000);
ShapeType = SPHERE;
Radius = 2.0000000e+000;
InnerRadius = 2.0000000e+000;
Height = 1.0000000e+000;
CutPlane = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3A0ADCF1
{
EditorInfosPosition = int2(-149, 416);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_A3A85608";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_A3A85608
{
EditorInfosPosition = int2(-241, 420);
ShapeType = SPHERE;
Radius = 2.0000000e+000;
InnerRadius = 2.0000000e+000;
Height = 1.0000000e+000;
CutPlane = 5.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7C93296B
{
EditorInfosPosition = int2(-153, 300);
Expression = "function void Eval()
{
Life = rand(0.1,0.1);
Position = PositionSampler.samplePosition() * spawner.LifeRatio;
Velocity = VelocitySampler.samplePosition() * spawner.LifeRatio;
float3 v = Velocity * (Throttle * rand(0.9,1.1));
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_3BA9FF0A
{
EditorInfosPosition = int2(-79, 590);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_A38BA595",
"$LOCAL$/CParticleEvolver_Spawner_C7B2B97C",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A38BA595
{
EditorInfosPosition = int2(-249, 591);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -4.0000000e+000, 0.0000000e+000);
Drag = 1.0000000e+001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 10;
BounceRestitution = 3.0000001e-001;
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_C7B2B97C
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_1F56D7EF";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1F56D7EF
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_4B7C4DDE";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2C55F2F9",
"$LOCAL$/CParticleFieldDeclaration_2E0EA0B0",
"$LOCAL$/CParticleFieldDeclaration_D3047533",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0833D272";
States =
{
"$LOCAL$/CParticleState_7F6EC91D",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_4B7C4DDE
{
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_2C55F2F9
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2E0EA0B0
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D3047533
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0833D272
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.2 + (0.2 + couillunessFactor * 2) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0) * 0.1;//float3(0,0,-2);
}";
}
CParticleState $LOCAL$/CParticleState_7F6EC91D
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_DFE35FA4",
"$LOCAL$/CParticleEvolver_Field_7D6BE537",
"$LOCAL$/CParticleEvolver_Field_29C1EC01",
"$LOCAL$/CParticleEvolver_Rotation_251DCBFB",
"$LOCAL$/CParticleEvolver_Script_B5310CDA",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_DFE35FA4
{
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_7D6BE537
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F62C40C6";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F62C40C6
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257950e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_29C1EC01
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_A6E60A58";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A6E60A58
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
1.2576048e-001,
2.4293332e-001,
5.4598629e-001,
1.0000000e+000,
};
FloatValues =
{
6.1077929e-001,
1.3362490e+001,
9.1206017e+000,
6.4613003e-001,
6.1927736e-001,
5.6155655e+001,
5.2226707e+001,
6.3738000e-001,
6.3949120e-001,
1.0730329e+001,
7.2392082e+000,
6.2580532e-001,
6.6701663e-001,
5.0249910e+000,
3.8423347e+000,
6.3187772e-001,
1.5054297e-001,
1.2561235e+000,
2.4628477e+000,
6.6386288e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-3.9587513e-001,
-3.2001706e-005,
-9.4866836e-001,
9.9840254e-001,
2.4669650e+000,
-3.5136234e-002,
-8.8388807e-001,
9.3022615e-001,
2.2985077e+000,
-3.2736957e-002,
-2.5395206e-001,
-5.9485042e-001,
-3.7091193e-001,
-1.3443086e-002,
-6.5681487e-001,
-1.5385060e+000,
-9.5931709e-001,
-3.4768861e-002,
3.6288071e-001,
-4.8660979e+000,
-2.2931740e+000,
2.7715418e-002,
5.4364371e-001,
-7.2900639e+000,
-3.4354804e+000,
4.1521415e-002,
-4.1588777e-001,
-1.0202123e+000,
-3.1676078e+000,
1.2433602e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_251DCBFB
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_B5310CDA
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FC85DFA5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FC85DFA5
{
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;
Size *= SizeCoeff * 0.5;
}";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_7CCAB84E
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_DA926919";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F60975F5
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_BF02A15C";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_85CEED4F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_636925A6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0E815EBE";
States =
{
"$LOCAL$/CParticleState_D5A5E559",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_BF02A15C
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/FX/Distortion_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_85CEED4F
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0E815EBE
{
Expression = "function void Eval()
{
Life = 1;
Size = (2.1) * SizeSampler.sample(spawner.LifeRatio);
Color=1;
}
";
}
CParticleState $LOCAL$/CParticleState_D5A5E559
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_B7AA5290",
"$LOCAL$/Field_1",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_B7AA5290
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/Field_2",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2
{
Descriptor = "$LOCAL$/CParticleDescriptor_F60975F5";
DurationInSeconds = 1.0000000e+000;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_89977E97
{
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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_636925A6
{
SamplerName = "SizeSampler";
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);
}
CParticleEvolver_Field $LOCAL$/Field_1
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_EEFC4261";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EEFC4261
{
Times =
{
0.0000000e+000,
4.1160154e-001,
1.0000000e+000,
};
FloatValues =
{
1.0993826e+000,
5.4569254e+000,
6.0253983e+000,
};
FloatTangents =
{
0.0000000e+000,
5.8505158e+000,
7.3664004e-001,
1.0530521e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/Field_2
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_3FC9F038";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3FC9F038
{
ValueType = Float4;
Times =
{
0.0000000e+000,
3.1714290e-001,
1.0000000e+000,
};
FloatValues =
{
7.8505111e+000,
7.8505111e+000,
7.8505111e+000,
7.8505111e+000,
1.7778499e-001,
1.7778499e-001,
1.7778499e-001,
1.7778499e-001,
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,
-6.0681872e+000,
-6.0681872e+000,
-6.0681872e+000,
-6.0681872e+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,
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);
}

View file

@ -0,0 +1,379 @@
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";
Infinite = true;
DurationInSeconds = 5.0000000e+000;
SpawnCount = 2.5000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
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_5D848897",
"$LOCAL$/CParticleFieldDeclaration_AEAB7A25",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9F4012DD",
"$LOCAL$/CParticleSamplerShape_DCDA413F",
"$LOCAL$/CParticleSamplerCurve_E9FDE14C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.75;
AngleAxis = normalize(float3(rand(-1,1),rand(-1,1),rand(-1,1)));
OrbitalCenter = TargetSphere.position();
PosEnd = OrbitalCenter + (normalize(TargetSphere.samplePosition()) * 5);
Direction = (Position - PosEnd);
Distance = length(PosEnd - Position);
Position = OrbitalCenter + rotate(PosEnd, AngleAxis, Angle);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/Script_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",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9F4012DD
{
SamplerName = "SpawnSphere";
Shape = "$LOCAL$/CShapeDescriptor_66C58C64";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_66C58C64
{
ShapeType = SPHERE;
Radius = 5.0000000e+000;
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_F2BF698C";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F2BF698C
{
Expression = "function void Eval()
{
Angle += AngleSpeed * dt;
Position = lerp(Position,OrbitalCenter + rotate(PosEnd, AngleAxis, Angle) * (1 - LifeRatio),0.3);
SpawnRate = SpawnRateSampler.sample(LifeRatio);
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_DCDA413F
{
SamplerName = "TargetSphere";
Shape = "$LOCAL$/CShapeDescriptor_A534496E";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_A534496E
{
ShapeType = SPHERE;
Radius = 5.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F278CDC9
{
FieldName = "PosStart";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A7BA2BC0
{
FieldName = "PosEnd";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C0D25583
{
FieldName = "Direction";
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CE35A2ED
{
FieldName = "NormalDirection";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6FF355B4
{
FieldName = "Distance";
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
CustomName = "Spawner";
SpawnMetric = Custom;
CustomSpawnMetricField = "SpawnRate";
Descriptor = "$LOCAL$/CParticleDescriptor_6309D256";
}
CParticleState $LOCAL$/CParticleState_C4F10C87
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_6309D256
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_A0B4016A";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A597BE49",
"$LOCAL$/CParticleFieldDeclaration_CF38D4F2",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_8CB8DE1A",
"$LOCAL$/CParticleSamplerCurve_E19575BF",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_E68F14D1";
States =
{
"$LOCAL$/CParticleState_C4F10C87",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E68F14D1
{
Expression = "function void Eval()
{
Life = 0.5;
Size = 0.10;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_A0B4016A
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Ribbon";
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C3E4D23E
{
FieldName = "NowDirection";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_19CC9ED9
{
FieldName = "AngleAxis";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1292CA10
{
AttributeName = "AngleSpeed";
DefaultValueF4 = float4(4.1584153e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.5000000e+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,
8.2827091e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
3.0405372e-003,
};
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);
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_041569E5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_041569E5
{
Expression = "function void Eval()
{
Size = SizeCurve.sample(LifeRatio) * SizeMagni;
Color = TintColor * PowCurve.sample(LifeRatio) * TintPow;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0272AC0C
{
AttributeName = "TintPow";
DefaultValueF4 = float4(7.8378401e+000, 1.0000000e+000, 1.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(5.0000000e+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,
2.8291702e-002,
1.9063681e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
5.7045574e+000,
3.4877751e+000,
-1.4527068e-002,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_08BD57EE
{
AttributeName = "TintColor";
AttributeType = float3;
DefaultValueF4 = float4(1.1138610e-001, 9.6216220e-001, 3.3243239e-001, 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_A597BE49
{
FieldName = "Color";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_491ECDB3
{
AttributeName = "SizeMagni";
DefaultValueF4 = float4(1.4054060e-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_5D848897
{
FieldName = "OrbitalCenter";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AEAB7A25
{
FieldName = "SpawnRate";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E9FDE14C
{
SamplerName = "SpawnRateSampler";
Times =
{
0.0000000e+000,
2.8090549e-001,
1.0000000e+000,
};
FloatValues =
{
2.6880021e-003,
1.6365580e-001,
1.9539990e-001,
};
FloatTangents =
{
0.0000000e+000,
8.8721223e-002,
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_Localspace $LOCAL$/LocalSpace_1
{
CustomName = "Localspace";
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,654 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/CrackBranch",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(329, 64);
ChildList =
{
"$LOCAL$/Crack",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B30B2123
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9AEE5ABD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_168DE691
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_216E6F10";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_216E6F10
{
Expression = "function void Eval()
{
Color=CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 2);
Size = (0.05 * Scale) * GlobalSizeCurve.sample(LifeRatio);
}
";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_FE3EB050",
"$LOCAL$/CParticleAttributeDeclaration_02243087",
"$LOCAL$/CParticleAttributeDeclaration_1DF47118",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerCurve_C7BD0385",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Crack
{
Descriptor = "$LOCAL$/CParticleDescriptor_7C46C5E9";
DurationInSeconds = 9.9999998e-003;
SpawnCountMode = TotalParticleCount;
SpawnCount = 3.2000000e+001;
SpawnCountRelativeRandomDeviation = 1.3000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7C46C5E9
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AA0A7EFA",
"$LOCAL$/CParticleFieldDeclaration_2832E92E",
"$LOCAL$/CParticleFieldDeclaration_668C5BD9",
"$LOCAL$/CParticleFieldDeclaration_7EA25C67",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3F5A22F7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A99F3108";
States =
{
"$LOCAL$/CParticleState_4C8B87C2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A99F3108
{
Expression = "function void Eval()
{
Life = 0.3;
Position = DropSampler.samplePosition();
Velocity = Scale*safe_normalize(Position - DropSampler.position())*30;
SizeCoeff = Scale;
FluxScale = pow(Flux,0.5)*2*Scale;
NextBranchTime = SizeCoeff * (0.5 + 0.25 * pow(rand(0, 1), 2)) * 0;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_668C5BD9
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_4C8B87C2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_081972C0",
"$LOCAL$/death",
"$LOCAL$/base",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_C1D98F7D
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8FACC28C
{
FieldName = "Timeb";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FE3EB050
{
AttributeName = "CustomColorRGBA";
AttributeType = float4;
DefaultValueF4 = float4(2.9207921e-001, 2.0000000e+000, 1.0396040e-001, 1.7344180e-001);
MaxValueF4 = float4(2.0000000e+000, 2.0000000e+000, 2.0000000e+000, 2.0000000e+000);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_104D4D29
{
Renderer = "$LOCAL$/CParticleRenderer_List_BF861E68";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9AEE5ABD",
"$LOCAL$/CParticleFieldDeclaration_BB297115",
"$LOCAL$/CParticleFieldDeclaration_42AA1C4F",
"$LOCAL$/CParticleFieldDeclaration_BD2FCDD3",
"$LOCAL$/CParticleFieldDeclaration_B334DEDB",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_37052329",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3F389B48";
States =
{
"$LOCAL$/CParticleState_6B8B6DDE",
};
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_7A8041A7
{
EventName = "OnDeath";
EventAction = "$LOCAL$/CrackBranch";
}
CParticleState $LOCAL$/CParticleState_6B8B6DDE
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_B91A4402",
"$LOCAL$/CParticleEvolver_Script_168DE691",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BC1951CA
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7AF25165";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7AF25165
{
Expression = "function void Eval()
{
Timeb += dt;
int shouldSpawnBranch = Timeb > 0.025;
float n = 60 * SizeCoeff;
Velocity = lerp(select(Velocity,float3(SizeCoeff*rand(-1,1)*100,0,SizeCoeff*rand(-1,1)*100),shouldSpawnBranch),Velocity,0.9);
Timeb = select(Timeb,0,shouldSpawnBranch);
NextBranchTime = select(NextBranchTime, SizeCoeff * (0.05 + 0.25 * pow(rand(0, 1), 2)), shouldSpawnBranch);
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E9BE2D1D
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B91A4402
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_F1A21305
{
CustomName = "Physics";
Mass = 0.0000000e+000;
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5E0F683
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/NoisedLine.png";
BillboardMode = SideAxisAligned;
AxisField = "Axis";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AA0A7EFA
{
FieldName = "Timeb";
}
CParticleEvolver_Spawner $LOCAL$/base
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 3.0000001e-001;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_104D4D29";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3F389B48
{
Expression = "function void Eval()
{
Axis = float3(0,1,0);
Life = 2;
Size = 0.05 * Scale;
ColorCoeff = 100 * pow(1 - spawner.LifeRatio, 2);
TextureID = rand(0,16);
CC = CustomColorRGBA * 1;
}
";
}
CParticleEvolver_Spawner $LOCAL$/death
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 3.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_CD6A0035";
}
CParticleState $LOCAL$/CParticleState_91BC2CDA
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_D33971BE",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CD6A0035
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_59D07FA1",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_7A8041A7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C095B224";
States =
{
"$LOCAL$/CParticleState_91BC2CDA",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C095B224
{
Expression = "function void Eval()
{
Life = 0.01;
Color = CustomColorRGBA;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_D33971BE
{
CustomName = "Physics";
Mass = 0.0000000e+000;
}
CActionFactoryParticleSpawnerBase $LOCAL$/CrackBranch
{
Descriptor = "$LOCAL$/CParticleDescriptor_1DEAC189";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1DEAC189
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8FACC28C",
"$LOCAL$/CParticleFieldDeclaration_C9081B39",
"$LOCAL$/CParticleFieldDeclaration_28722F38",
"$LOCAL$/CParticleFieldDeclaration_E4021DE6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4669BE28";
States =
{
"$LOCAL$/CParticleState_247F7DE2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4669BE28
{
Expression = "function void Eval()
{
Life = rand(0.05,0.05);
Velocity=float3(0,0,0)*Scale;
SizeCoeff=Scale;
FluxScale=pow(Flux,0.5)*1*Scale;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_28722F38
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_247F7DE2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_9AAE6F84",
"$LOCAL$/ert",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_4E3ECB6C
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F
{
Expression = "function void Eval()
{
Timeb += dt*SizeCoeff;
int shouldChangeDirection = Timeb>0.01*SizeCoeff;
float n = 60*SizeCoeff;
Velocity = select(Velocity, float3(rand(-n,n),0,rand(-n,n)), shouldChangeDirection);
Timeb = select(Timeb,0,shouldChangeDirection); // reset the \'should.pkangeDirection\' condition
}
";
}
CParticleEvolver_Spawner $LOCAL$/ert
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_47893DF0";
}
CParticleState $LOCAL$/CParticleState_65AD76F1
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_F1A21305",
"$LOCAL$/CParticleEvolver_Script_403022B8",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_47893DF0
{
Renderer = "$LOCAL$/CParticleRenderer_List_021C4C6A";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_0B9A51ED",
"$LOCAL$/CParticleFieldDeclaration_366F0A1E",
"$LOCAL$/CParticleFieldDeclaration_BC9A45D6",
"$LOCAL$/CParticleFieldDeclaration_C223EA14",
"$LOCAL$/CParticleFieldDeclaration_B81A293A",
"$LOCAL$/CParticleFieldDeclaration_05190660",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_09C487E3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3";
States =
{
"$LOCAL$/CParticleState_65AD76F1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3
{
Expression = "function void Eval()
{
Axis = float3(0,1,0);
Life = 2;
float iSpawnerLR = 1 - spawner.LifeRatio;
BaseSize = 0.4*Scale * pow(iSpawnerLR, 0.5) * 0.2;
ColorCoeff = pow(Flux,4)*100*pow(iSpawnerLR, 2);
TextureID = rand(0,16);
Position = float3(0,0,0)*Scale;
CC = CustomColorRGBA * 1;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_23F2DF84
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/NoisedLine.png";
BillboardMode = SideAxisAligned;
AxisField = "Axis";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_403022B8
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_70F7169B";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_70F7169B
{
Expression = "function void Eval()
{
Color = CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
Size = BaseSize * GlobalSizeCurve.sample(LifeRatio);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C223EA14
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0B9A51ED
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C9081B39
{
FieldName = "SizeCoeff";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_02243087
{
AttributeName = "Scale";
DefaultValueF4 = float4(5.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2832E92E
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_366F0A1E
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BB297115
{
FieldName = "TextureID";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1DF47118
{
AttributeName = "Flux";
DefaultValueF4 = float4(8.3468831e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_081972C0
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_C1D98F7D",
"$LOCAL$/CParticleEvolver_Script_BC1951CA",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_9AAE6F84
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_E9BE2D1D",
"$LOCAL$/CParticleEvolver_Script_4E3ECB6C",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42AA1C4F
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BC9A45D6
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BD2FCDD3
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E4021DE6
{
FieldName = "ParentColor";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_59D07FA1
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3F5A22F7
{
SamplerName = "DropSampler";
Shape = "$LOCAL$/CShapeDescriptor_EE347186";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_EE347186
{
ShapeType = CYLINDER;
Radius = 2.0000000e-001;
InnerRadius = 2.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_37052329
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
3.9882757e-002,
7.1488075e-002,
7.9634374e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
6.6010171e-001,
1.6563272e-001,
2.7241680e-001,
1.5209470e-003,
};
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,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_09C487E3
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
6.4110816e-002,
8.6448866e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
5.9643149e-001,
9.4637269e-001,
8.5953772e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B334DEDB
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B81A293A
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7EA25C67
{
FieldName = "NextBranchTime";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C7BD0385
{
SamplerName = "GlobalSizeCurve";
Times =
{
0.0000000e+000,
6.9348741e-001,
7.7400190e-001,
8.9076090e-001,
1.0000000e+000,
};
FloatValues =
{
1.1830896e+001,
2.2051985e+001,
1.4963507e+002,
2.0001369e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
2.4684429e+001,
2.8658836e+000,
6.0698044e-001,
8.8021964e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_821F762C
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_949EFA5F
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_882CE90E
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B9A815E9
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_05190660
{
FieldName = "BaseSize";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_BF861E68
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_E5E0F683",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_021C4C6A
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_23F2DF84",
};
}

View file

@ -0,0 +1,550 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Trail",
"$LOCAL$/Spark",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_B1F5EDB1",
"$LOCAL$/CParticleAttributeDeclaration_0F3455C8",
"$LOCAL$/CParticleAttributeDeclaration_FEA2D0CA",
"$LOCAL$/CParticleAttributeDeclaration_84958DCF",
"$LOCAL$/CParticleAttributeDeclaration_C515E1D9",
"$LOCAL$/CParticleAttributeDeclaration_EF71D2B2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(9.6534699e-002, 1.0000000e+000, 1.6336630e-001, 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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D62E0EDF
{
FieldName = "Energy";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F51E30B
{
FieldName = "Energy";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_52633D9B
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5648EFA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAC07C45",
"$LOCAL$/CParticleFieldDeclaration_F8F7FDEC",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F",
"$LOCAL$/CParticleSamplerCurve_11D402CE",
"$LOCAL$/CParticleSamplerCurve_45CB442B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F12C52A9";
States =
{
"$LOCAL$/CParticleState_2A5FA220",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5648EFA
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAC07C45
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F8F7FDEC
{
FieldName = "ColorScale";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F
{
SamplerName = "Turb";
Wavelength = 2.5000000e-001;
Strength = 5.0000001e-002;
Gain = 1.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_11D402CE
{
SamplerName = "Fade";
Times =
{
0.0000000e+000,
4.9999997e-002,
3.9999998e-001,
5.9999996e-001,
9.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.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,
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_F12C52A9
{
Expression = "function void PostEval()
{
Life = TrailLife;
Size = 0.05 * TrailSize;
Velocity = Turb.sample(Position) * TrailVelocityScaler;
Position += Velocity * 0.05;
ColorScale = 1;
}
";
}
CParticleState $LOCAL$/CParticleState_2A5FA220
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7FEFDB63",
"$LOCAL$/CParticleEvolver_Field_A8A31C62",
"$LOCAL$/CParticleEvolver_Script_E5FB0E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7FEFDB63
{
CustomName = "Physics";
Drag = 1.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A8A31C62
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_26B9E1CD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_26B9E1CD
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.9999994e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
8.7402363e+000,
4.4445987e+000,
1.0468085e+001,
9.9948126e-001,
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,
-6.4010613e-002,
-1.0760010e+000,
-7.6663963e-002,
-7.3198671e-003,
-5.7609558e-001,
-9.6840105e+000,
-6.8997574e-001,
-6.5878808e-002,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E5FB0E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_481CFC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_481CFC67
{
Expression = "function void Eval()
{
Color = (RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),Power);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Trail
{
Descriptor = "$LOCAL$/CParticleDescriptor_52633D9B";
Infinite = true;
SpawnCount = 1.2800000e+002;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B1F5EDB1
{
AttributeName = "TrailVelocityScaler";
DefaultValueF4 = float4(3.5608298e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0F3455C8
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_45CB442B
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
2.8418908e+000,
8.1062841e-001,
};
FloatTangents =
{
0.0000000e+000,
9.8915182e-002,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FEA2D0CA
{
AttributeName = "TrailLife";
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_010DD88C
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6C01DC3F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2856806E",
"$LOCAL$/CParticleFieldDeclaration_119BD0C9",
"$LOCAL$/CParticleFieldDeclaration_FB47EAC0",
"$LOCAL$/CParticleFieldDeclaration_63838083",
"$LOCAL$/CParticleFieldDeclaration_7623C910",
"$LOCAL$/CParticleFieldDeclaration_DE6392D5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802",
"$LOCAL$/CParticleSamplerCurve_2204493E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED";
States =
{
"$LOCAL$/CParticleState_545764B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6C01DC3F
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2856806E
{
FieldName = "Rotation";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_119BD0C9
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FB47EAC0
{
FieldName = "SizeFactor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_63838083
{
FieldName = "ColorFactor";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802
{
SamplerName = "Turb";
Strength = 7.0710677e-001;
Lacunarity = 1.6425119e-001;
Gain = 2.8502420e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED
{
Expression = "function void PostEval()
{
Life = remap(pow(rand(0,1), 4), 0, 1, 0.2, 1.5);
SizeFactor = rand(0.007, 0.01) * ParticleScale;
ColorFactor = remap(pow(rand(0,1),8), 0, 1, 0.5, 3);
float vScale = pow(saturate(5), 0.5);
float3 rVel = vrand() * 5;
float3 tVel = Turb.sample(Position);
Velocity = (rVel + tVel) * 0.2;// * remap(noise(parent.LifeRatio * 20 + scene.Time), -1, 1, 0.03, 0.1);
Rotation = rand(-pi, pi);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.y),rand(0,RandomRGB.z));
}
";
}
CParticleState $LOCAL$/CParticleState_545764B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_530EC787",
"$LOCAL$/CParticleEvolver_Field_574CA956",
"$LOCAL$/CParticleEvolver_Field_35E45A68",
"$LOCAL$/CParticleEvolver_Script_5405A86A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_530EC787
{
CustomName = "Physics";
Mass = -1.0000000e+000;
Drag = 5.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_574CA956
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E70F37D1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E70F37D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.7447720e+000,
4.5880709e+000,
1.0473518e+001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0970583e+001,
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,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_35E45A68
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56A3554B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56A3554B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-3.4636030e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5405A86A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75
{
Expression = "function void Eval()
{
Size *= SizeFactor * 2;
Color *= (RGB.xyz1 + RandomedRGB.xyz1) * GlowCurve.sample(LifeRatio) * pow(Power,1);
Force = Turb.sample(LifeRatio) * 5 * LifeRatio;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Spark
{
Descriptor = "$LOCAL$/CParticleDescriptor_010DD88C";
Infinite = true;
SpawnCount = 1.2800000e+002;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_84958DCF
{
AttributeName = "ParticleScale";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2204493E
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.8354541e-002,
2.1165061e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.5340417e-001,
2.4170661e-001,
-1.3308048e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-9.0102851e-002,
-6.2696373e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C515E1D9
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(2.7837840e-001, 1.0000000e+000, 4.2432430e-001, 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_7623C910
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DE6392D5
{
FieldName = "Force";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF71D2B2
{
AttributeName = "Power";
DefaultValueF4 = float4(4.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}

View file

@ -0,0 +1,719 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_BBAF8D7F",
"$LOCAL$/CParticleAttributeDeclaration_B6116AAE",
"$LOCAL$/CParticleAttributeDeclaration_89977E97",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_BBAF8D7F
{
AttributeName = "Throttle";
DefaultValueF4 = float4(8.0000001e-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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B6116AAE
{
AttributeName = "ShakeAmplitude";
DefaultValueF4 = float4(2.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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_DA926919
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_21CB4150";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_E5575253",
"$LOCAL$/CParticleFieldDeclaration_C8036612",
"$LOCAL$/CParticleFieldDeclaration_CC06153D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_2F088E44";
States =
{
"$LOCAL$/CParticleState_19EB6857",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_21CB4150
{
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_E5575253
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C8036612
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CC06153D
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2F088E44
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.2 + (0.2 + couillunessFactor * 2) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0) * 0.1;//float3(0,0,-2);
}";
}
CParticleState $LOCAL$/CParticleState_19EB6857
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_2DB27266",
"$LOCAL$/CParticleEvolver_Field_DCE52E21",
"$LOCAL$/CParticleEvolver_Field_9CCA151B",
"$LOCAL$/CParticleEvolver_Rotation_38CC37C5",
"$LOCAL$/CParticleEvolver_Script_DB489F6C",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_2DB27266
{
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_DCE52E21
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56EB66F8";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56EB66F8
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257950e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_9CCA151B
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_2B607C7A";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2B607C7A
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.4149234e-001,
1.0000000e+000,
};
FloatValues =
{
2.5888059e+000,
7.0672668e+001,
6.6430779e+001,
6.4613003e-001,
2.0553560e+000,
5.9162189e+001,
5.5671070e+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.7045374e+000,
-1.3779118e-004,
-1.1735915e+000,
-2.7489886e+000,
-1.7140994e+000,
-6.2124688e-002,
-9.9373609e-001,
-2.3277011e+000,
-1.4514103e+000,
-5.2603956e-002,
-4.2000425e-001,
-1.0303099e+000,
-3.1989605e+000,
1.2556669e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_38CC37C5
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_DB489F6C
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FB3EBC9F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FB3EBC9F
{
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;
Size *= SizeCoeff * 0.5;
}";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(170, 355);
Descriptor = "$LOCAL$/CParticleDescriptor_0CE1E254";
DurationInSeconds = 2.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.0000000e+000;
SpawnCountRelativeRandomDeviation = 9.6650624e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_0CE1E254
{
EditorInfosPosition = int2(25, 339);
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3A2645A7",
"$LOCAL$/CParticleSamplerShape_3A0ADCF1",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_7C93296B";
States =
{
"$LOCAL$/CParticleState_3BA9FF0A",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3A2645A7
{
EditorInfosPosition = int2(-151, 367);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_9FFCF1F6";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_9FFCF1F6
{
EditorInfosPosition = int2(-247, 365);
Position = float3(0.0000000e+000, -7.6473951e-003, 0.0000000e+000);
ShapeType = COMPLEX_ELLIPSOID;
Radius = 7.5000000e-001;
InnerRadius = 5.0000000e-001;
Height = 1.0000000e+000;
CutPlane = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3A0ADCF1
{
EditorInfosPosition = int2(-149, 416);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_A3A85608";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_A3A85608
{
EditorInfosPosition = int2(-241, 420);
ShapeType = COMPLEX_ELLIPSOID;
Radius = 7.5000000e-001;
InnerRadius = 5.0000000e-001;
Height = 1.0000000e+000;
CutPlane = 5.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7C93296B
{
EditorInfosPosition = int2(-153, 300);
Expression = "function void Eval()
{
Life = rand(0.1,0.1);
Position = PositionSampler.samplePosition() * spawner.LifeRatio;
Velocity = VelocitySampler.samplePosition() * spawner.LifeRatio;
float3 v = Velocity * (Throttle * rand(0.9,1.1));
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_3BA9FF0A
{
EditorInfosPosition = int2(-79, 590);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_A38BA595",
"$LOCAL$/CParticleEvolver_Spawner_C7B2B97C",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A38BA595
{
EditorInfosPosition = int2(-249, 591);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -4.0000000e+000, 0.0000000e+000);
Drag = 1.0000000e+001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 10;
BounceRestitution = 3.0000001e-001;
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_C7B2B97C
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_1F56D7EF";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1F56D7EF
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_4B7C4DDE";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2C55F2F9",
"$LOCAL$/CParticleFieldDeclaration_2E0EA0B0",
"$LOCAL$/CParticleFieldDeclaration_D3047533",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0833D272";
States =
{
"$LOCAL$/CParticleState_7F6EC91D",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_4B7C4DDE
{
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_2C55F2F9
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2E0EA0B0
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D3047533
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0833D272
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.2 + (0.2 + couillunessFactor * 2) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0) * 0.1;//float3(0,0,-2);
}";
}
CParticleState $LOCAL$/CParticleState_7F6EC91D
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_DFE35FA4",
"$LOCAL$/CParticleEvolver_Field_7D6BE537",
"$LOCAL$/CParticleEvolver_Field_29C1EC01",
"$LOCAL$/CParticleEvolver_Rotation_251DCBFB",
"$LOCAL$/CParticleEvolver_Script_B5310CDA",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_DFE35FA4
{
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_7D6BE537
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F62C40C6";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F62C40C6
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257950e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_29C1EC01
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_A6E60A58";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A6E60A58
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.4604208e-001,
1.0000000e+000,
};
FloatValues =
{
2.5888059e+000,
3.5003284e+001,
3.0761395e+001,
6.4613003e-001,
2.0553560e+000,
2.3492809e+001,
2.0001688e+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.7188592e+000,
-1.3894893e-004,
-1.1834522e+000,
-2.7720861e+000,
-1.7285017e+000,
-6.2646672e-002,
-9.8387510e-001,
-2.3046031e+000,
-1.4370079e+000,
-5.2081969e-002,
-4.1583651e-001,
-1.0200862e+000,
-3.1672170e+000,
1.2432069e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_251DCBFB
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_B5310CDA
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FC85DFA5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FC85DFA5
{
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;
Size *= SizeCoeff * 0.5;
}";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_7CCAB84E
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_DA926919";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F60975F5
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_BF02A15C";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_85CEED4F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_636925A6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0E815EBE";
States =
{
"$LOCAL$/CParticleState_D5A5E559",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_BF02A15C
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/FX/Distortion_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_85CEED4F
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0E815EBE
{
Expression = "function void Eval()
{
Life = 1;
Size = (2.1) * SizeSampler.sample(spawner.LifeRatio);
Color=1;
}
";
}
CParticleState $LOCAL$/CParticleState_D5A5E559
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_B7AA5290",
"$LOCAL$/Field_2",
"$LOCAL$/Field_1",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_B7AA5290
{
CustomName = "Localspace";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2
{
Descriptor = "$LOCAL$/CParticleDescriptor_F60975F5";
DurationInSeconds = 1.0000000e+000;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_89977E97
{
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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_636925A6
{
SamplerName = "SizeSampler";
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);
}
CParticleEvolver_Field $LOCAL$/Field_1
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_EEFC4261";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EEFC4261
{
Times =
{
0.0000000e+000,
4.0854812e-001,
1.0000000e+000,
};
FloatValues =
{
1.0993826e+000,
3.0950603e+000,
3.6635315e+000,
};
FloatTangents =
{
0.0000000e+000,
2.8929806e+000,
7.3117536e-001,
1.0585167e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/Field_2
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_3FC9F038";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3FC9F038
{
ValueType = Float4;
Times =
{
0.0000000e+000,
3.1714290e-001,
1.0000000e+000,
};
FloatValues =
{
8.0094452e+000,
8.0094452e+000,
8.0094452e+000,
8.0094452e+000,
1.7778499e-001,
1.7778499e-001,
1.7778499e-001,
1.7778499e-001,
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,
-1.4659023e+001,
-1.4659023e+001,
-1.4659023e+001,
-1.4659023e+001,
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,
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);
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,967 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(329, 64);
ChildList =
{
"$LOCAL$/Frame",
"$LOCAL$/PreFlash",
"$LOCAL$/Flash",
"$LOCAL$/Distortion",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B30B2123
{
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_FE3EB050",
"$LOCAL$/CParticleAttributeDeclaration_02243087",
"$LOCAL$/CParticleAttributeDeclaration_1DF47118",
"$LOCAL$/CParticleAttributeDeclaration_88BB8542",
"$LOCAL$/CParticleAttributeDeclaration_56740C2D",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerCurve_C7BD0385",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FE3EB050
{
AttributeName = "CustomColorRGBA";
AttributeType = float4;
DefaultValueF4 = float4(2.7722779e-001, 1.8762376e+000, 3.9603961e-001, 1.7344180e-001);
MaxValueF4 = float4(2.0000000e+000, 2.0000000e+000, 2.0000000e+000, 2.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_02243087
{
AttributeName = "Scale";
DefaultValueF4 = float4(5.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1DF47118
{
AttributeName = "Flux";
DefaultValueF4 = float4(8.3468831e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C7BD0385
{
SamplerName = "GlobalSizeCurve";
Times =
{
0.0000000e+000,
4.1777310e-001,
5.0437367e-001,
6.4856136e-001,
7.3379391e-001,
1.0000000e+000,
};
FloatValues =
{
1.1830900e+001,
2.2786690e+001,
2.7557028e+002,
1.7187576e+002,
4.5565090e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
1.4870480e+001,
3.0825162e+000,
6.5286195e-001,
1.0869976e+000,
-1.3543121e+002,
-8.0056412e+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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_821F762C
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_949EFA5F
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_882CE90E
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B9A815E9
{
FieldName = "BaseSize";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_88BB8542
{
AttributeName = "Throttle";
DefaultValueF4 = float4(8.0000001e-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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_56740C2D
{
AttributeName = "ShakeAmplitude";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EF247296
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.3849864e-001,
1.0000000e+000,
};
FloatValues =
{
2.5888062e+000,
7.7745247e+001,
7.3503357e+001,
6.4612997e-001,
2.0553560e+000,
3.8516720e+001,
3.5025604e+001,
6.2580526e-001,
1.3330803e+000,
3.0305719e+000,
4.2372961e+000,
6.6386294e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6951137e+000,
-1.3702939e-004,
-1.1671032e+000,
-2.7337904e+000,
-1.7046227e+000,
-6.1781224e-002,
-1.0002245e+000,
-2.3428993e+000,
-1.4608870e+000,
-5.2947421e-002,
-4.2274657e-001,
-1.0370370e+000,
-3.2198474e+000,
1.2638654e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_24B21A11
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_EF247296";
}
CActionFactoryParticleSpawnerBase $LOCAL$/PreFlash
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_1E33C9A8";
DurationInSeconds = 2.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1E33C9A8
{
Renderer = "$LOCAL$/CParticleRenderer_List_5987DD12";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_B3140DAA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_DAA3D58B";
States =
{
"$LOCAL$/CParticleState_7B7ECB1C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DAA3D58B
{
Expression = "function void Eval()
{
Life = 0.3;
Size = 5;
//Velocity = scene.axisUp();
Color = float4(1.0);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B3140DAA
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_194188B5
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Glow_02.dds";
}
CParticleState $LOCAL$/CParticleState_7B7ECB1C
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_9F457A0F",
"$LOCAL$/Field_1",
"$LOCAL$/Field_2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_9F457A0F
{
CustomName = "Physics";
}
CParticleEvolver_Field $LOCAL$/Field_1
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F8808A7E";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F8808A7E
{
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.0705091e+000,
1.0705091e+000,
1.0705091e+000,
1.0705091e+000,
5.1760048e-001,
-1.2630554e+000,
-2.4205604e-001,
-1.2630554e+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);
}
CParticleEvolver_Field $LOCAL$/Field_2
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_337A9C19";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_337A9C19
{
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);
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_5987DD12
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_194188B5",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EB06C381
{
Renderer = "$LOCAL$/CParticleRenderer_List_1E17F7D8";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_3CDA2A4C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5977B0FF";
States =
{
"$LOCAL$/CParticleState_1322942E",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_1E17F7D8
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_8197877B",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_8197877B
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Glow_02.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3CDA2A4C
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5977B0FF
{
Expression = "function void Eval()
{
Life = 0.7;
Size = 5;
//Velocity = scene.axisUp();
Color = float4(1.0);
}
";
}
CParticleState $LOCAL$/CParticleState_1322942E
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_B04B8F89",
"$LOCAL$/CParticleEvolver_Field_537F3080",
"$LOCAL$/CParticleEvolver_Field_E5657FC2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B04B8F89
{
CustomName = "Physics";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_537F3080
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_83855943";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_83855943
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0350089e-001,
1.9090381e-001,
1.0000000e+000,
};
FloatValues =
{
-8.2168579e-003,
-8.2168579e-003,
-8.2168579e-003,
-8.2168579e-003,
1.6533300e+001,
2.4095961e+001,
1.6533300e+001,
1.6533300e+001,
3.8750023e-002,
3.8750023e-002,
3.8750023e-002,
3.8750023e-002,
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,
7.2740410e-003,
7.2740410e-003,
7.2740410e-003,
7.2740410e-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,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
4.1878864e-001,
-1.0219334e+000,
-1.9584665e-001,
-1.0219334e+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);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_E5657FC2
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F39058AD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F39058AD
{
Times =
{
0.0000000e+000,
5.6712776e-001,
1.0000000e+000,
};
FloatValues =
{
9.3825042e-001,
4.6045847e+000,
4.9280052e+000,
};
FloatTangents =
{
0.0000000e+000,
6.1942945e+000,
1.9890777e+000,
1.5182054e+000,
-9.8067053e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flash
{
EditorInfosIsBlockMinimized = 0;
Delay = 3.0000001e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_EB06C381";
DurationInSeconds = 1.0000000e-001;
SpawnCountMode = TotalParticleCount;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_3A4409B3
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6468C0F2";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_60B7199D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_5231BA24",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_34D411B7";
States =
{
"$LOCAL$/CParticleState_12E9A746",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6468C0F2
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/FX/DistortionCircle_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_60B7199D
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_5231BA24
{
SamplerName = "SizeSampler";
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_34D411B7
{
Expression = "function void Eval()
{
Life = 1.5;
Size = (2.1) * SizeSampler.sample(spawner.LifeRatio);
Color=1;
}
";
}
CParticleState $LOCAL$/CParticleState_12E9A746
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_31801481",
"$LOCAL$/CParticleEvolver_Field_0BE16B5A",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_31801481
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Field_5B731CD8",
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_5B731CD8
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_6FCF107B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6FCF107B
{
ValueType = Float4;
Times =
{
0.0000000e+000,
3.3000004e-001,
1.0000000e+000,
};
FloatValues =
{
1.2252917e+001,
1.2252917e+001,
1.2252917e+001,
1.2252917e+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.0815216e+001,
-2.0815216e+001,
-2.0815216e+001,
-2.0815216e+001,
-1.0668875e+000,
-1.0668875e+000,
-1.0668875e+000,
-1.0668875e+000,
-2.1661046e+000,
-2.1661046e+000,
-2.1661046e+000,
-2.1661046e+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);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_0BE16B5A
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_93366025";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_93366025
{
Times =
{
0.0000000e+000,
4.2586720e-001,
1.0000000e+000,
};
FloatValues =
{
1.0993826e+000,
7.2805438e+000,
7.8490167e+000,
};
FloatTangents =
{
0.0000000e+000,
9.7342634e-001,
7.6217121e-001,
1.0275209e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Distortion
{
EditorInfosIsBlockMinimized = 0;
Delay = 2.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_3A4409B3";
DurationInSeconds = 1.0000000e+000;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Frame
{
EditorInfosPosition = int2(170, 355);
Delay = 2.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_1351646B";
DurationInSeconds = 2.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 1.2800000e+002;
SpawnCountRelativeRandomDeviation = 9.6650624e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1351646B
{
EditorInfosPosition = int2(25, 339);
Samplers =
{
"$LOCAL$/CParticleSamplerShape_1CD7560A",
"$LOCAL$/CParticleSamplerShape_6ECA987C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_7D7074DE";
States =
{
"$LOCAL$/CParticleState_88B9A5F9",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_1CD7560A
{
EditorInfosPosition = int2(-151, 367);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_C6084895";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_C6084895
{
EditorInfosPosition = int2(-247, 365);
Position = float3(0.0000000e+000, -7.6473951e-003, 0.0000000e+000);
ShapeType = COMPLEX_ELLIPSOID;
Radius = 2.0000000e+000;
InnerRadius = 2.0000000e+000;
Height = 1.0000000e+000;
CutPlane = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_6ECA987C
{
EditorInfosPosition = int2(-149, 416);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_194CA2EF";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_194CA2EF
{
EditorInfosPosition = int2(-241, 420);
ShapeType = COMPLEX_ELLIPSOID;
Radius = 2.0000000e+000;
InnerRadius = 2.0000000e+000;
Height = 1.0000000e+000;
CutPlane = 5.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7D7074DE
{
EditorInfosPosition = int2(-153, 300);
Expression = "function void Eval()
{
Life = rand(0.1,0.1);
Position = PositionSampler.samplePosition();
Velocity = VelocitySampler.samplePosition() * spawner.LifeRatio;
float3 v = Velocity * (Throttle * rand(0.9,1.1));
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_88B9A5F9
{
EditorInfosPosition = int2(-79, 590);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_E292CFB0",
"$LOCAL$/CParticleEvolver_Spawner_05B4D033",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E292CFB0
{
EditorInfosPosition = int2(-249, 591);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -4.0000000e+000, 0.0000000e+000);
Drag = 1.0000000e+001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 10;
BounceRestitution = 3.0000001e-001;
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_05B4D033
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_7D2DC972";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7D2DC972
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_C5648C1D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_E55ADEA4",
"$LOCAL$/CParticleFieldDeclaration_1F69D037",
"$LOCAL$/CParticleFieldDeclaration_0EBB07C6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_ED84BF01";
States =
{
"$LOCAL$/CParticleState_B8A7D958",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_C5648C1D
{
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_E55ADEA4
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1F69D037
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0EBB07C6
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_ED84BF01
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.2 + (0.2 + couillunessFactor * 2) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0) * 0.1;//float3(0,0,-2);
}";
}
CParticleState $LOCAL$/CParticleState_B8A7D958
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_590C46FB",
"$LOCAL$/CParticleEvolver_Field_2733A3DA",
"$LOCAL$/CParticleEvolver_Field_6DC093CC",
"$LOCAL$/CParticleEvolver_Rotation_43B6D1AE",
"$LOCAL$/CParticleEvolver_Script_C5ADDB09",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_590C46FB
{
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_2733A3DA
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_29E0C2A5";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_29E0C2A5
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257950e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_6DC093CC
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_AB41987F";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_AB41987F
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.3849864e-001,
1.0000000e+000,
};
FloatValues =
{
2.5888059e+000,
5.4491077e+001,
5.0249191e+001,
6.4613003e-001,
2.0553560e+000,
3.8516720e+001,
3.5025600e+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.6951137e+000,
-1.3702939e-004,
-1.1671032e+000,
-2.7337904e+000,
-1.7046227e+000,
-6.1781224e-002,
-1.0002245e+000,
-2.3428993e+000,
-1.4608870e+000,
-5.2947421e-002,
-4.2274657e-001,
-1.0370370e+000,
-3.2198474e+000,
1.2638654e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_43B6D1AE
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_C5ADDB09
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_5DA1A200";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5DA1A200
{
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;
Size *= SizeCoeff * 0.3;
}";
}

View file

@ -0,0 +1,512 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Orbiters",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_EBAD1697",
"$LOCAL$/CParticleAttributeDeclaration_1B3B0785",
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_2A0D3865",
"$LOCAL$/CParticleAttributeDeclaration_5A5354F6",
"$LOCAL$/CParticleAttributeDeclaration_9078374F",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_8163C3AE
{
SamplerName = "IntensityFromParent";
Times =
{
0.0000000e+000,
1.2138355e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.2072124e+000,
1.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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Orbiters
{
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_F069AE6B";
DurationInSeconds = 3.0000001e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.4000000e+001;
FirstSpawnDelay = 5.0000000e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F069AE6B
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C7AFE6DE",
"$LOCAL$/CParticleFieldDeclaration_4154FFF9",
"$LOCAL$/CParticleFieldDeclaration_AD759B72",
"$LOCAL$/CParticleFieldDeclaration_BE7FC61D",
"$LOCAL$/CParticleFieldDeclaration_B0B3CA2C",
"$LOCAL$/CParticleFieldDeclaration_D477D258",
"$LOCAL$/CParticleFieldDeclaration_0EE2FB00",
"$LOCAL$/CParticleFieldDeclaration_95F6977D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9E9ED973",
"$LOCAL$/CParticleSamplerCurve_A5DFDE5F",
"$LOCAL$/CParticleSamplerCurve_EFCF3FF6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_FA50680A";
States =
{
"$LOCAL$/CParticleState_5DA09A7C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FA50680A
{
Expression = "function void Eval()
{
Life = rand(0.5, 1.5);
Radius = 0;
OrbitalCenter = 0;
RotationAxis = vrand();
BasePosition = Sphere.samplePosition();
Position = BasePosition * Radius;
RadiusRate = rand(0.5, 1.5);
RotationRate = rand(0.5, 1.5);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.g),rand(0,RandomRGB.b));
}
";
}
CParticleState $LOCAL$/CParticleState_5DA09A7C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_11",
"$LOCAL$/OrbitalTrail",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4154FFF9
{
FieldName = "OrbitalCenter";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C7AFE6DE
{
FieldName = "Radius";
}
CParticleEvolver_Script $LOCAL$/Script_11
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_014431B0";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_014431B0
{
Expression = "function void Eval()
{
Radius += (AdditionalRadiusSpeed * RadiusRate) * (dt * SizeRatioSampler.sample(LifeRatio));
Orbital += (OrbitalSpeed * RotationRate) * (dt * RotateRatioSampler.sample(LifeRatio));
float3 v = BasePosition - OrbitalCenter;
Position = rotate(v, RotationAxis, Orbital) * Radius + OrbitalCenter;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AD759B72
{
FieldName = "BasePosition";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BE7FC61D
{
FieldName = "RotationAxis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Spawner $LOCAL$/OrbitalTrail
{
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 2.0000000e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_5E4EBA37";
}
CParticleState $LOCAL$/CParticleState_6C99A0A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_12",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_5E4EBA37
{
Renderer = "$LOCAL$/CParticleRenderer_List_9BDF00D0";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_BDB9BCA5",
"$LOCAL$/CParticleFieldDeclaration_D4565CA7",
"$LOCAL$/CParticleFieldDeclaration_A3F9581D",
"$LOCAL$/CParticleFieldDeclaration_6CE61D84",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_8163C3AE",
"$LOCAL$/CParticleSamplerCurve_72F75C8F",
"$LOCAL$/CParticleSamplerCurve_D48E47D3",
"$LOCAL$/CParticleSamplerCurve_1D475C8C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6";
States =
{
"$LOCAL$/CParticleState_6C99A0A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6
{
Expression = "function void Eval()
{
Life = TrailLife;
RandomedRGB = parent.RandomedRGB;
//TextureID = rand(0,4)
//Brightness = IntensityFromParent.sample(spawner.LifeRatio);
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_545410FB
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BDB9BCA5
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/Script_12
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC
{
Expression = "function void Eval()
{
Color = float4(RGB.x + RandomedRGB.x, RGB.y + RandomedRGB.y, RGB.z + RandomedRGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power);
Color2 = float4(0.1);
Size = TrailSize * SizeSampler.sample(LifeRatio);
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9E9ED973
{
SamplerName = "Sphere";
Shape = "$LOCAL$/CShapeDescriptor_AC2FEBB2";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_AC2FEBB2
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EBAD1697
{
AttributeName = "AdditionalRadiusSpeed";
DefaultValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1B3B0785
{
AttributeName = "OrbitalSpeed";
DefaultValueF4 = float4(5.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B0B3CA2C
{
FieldName = "Orbital";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A5DFDE5F
{
SamplerName = "SizeRatioSampler";
Times =
{
0.0000000e+000,
4.5172039e-002,
7.9667412e-002,
2.3473868e-001,
1.0000000e+000,
};
FloatValues =
{
9.7151250e-003,
8.4995359e-002,
4.5984969e-001,
7.9461977e-002,
4.8672408e-003,
};
FloatTangents =
{
0.0000000e+000,
-1.1017920e-002,
8.4486477e-002,
6.4517602e-002,
0.0000000e+000,
0.0000000e+000,
-4.9369391e-002,
-2.4363287e-001,
-7.5415880e-003,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(0.0000000e+000, 6.9459462e-001, 4.0650401e-002, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_72F75C8F
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
7.0222743e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8318589e-001,
4.9955750e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-6.9138300e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1BCEDEFE
{
AttributeName = "Power";
DefaultValueF4 = float4(6.3783784e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9BDF00D0
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_545410FB",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D48E47D3
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
5.7290055e-002,
1.3172999e-001,
7.1332288e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.1233578e+000,
1.6552079e+000,
1.1014417e+000,
-1.2139082e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6811266e+000,
-8.2865608e-001,
2.4560774e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_2A0D3865
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(9.9999998e-003, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1D475C8C
{
SamplerName = "SizeSampler";
Times =
{
0.0000000e+000,
1.6869873e-001,
1.0000000e+000,
};
FloatValues =
{
5.7522357e-003,
9.8893809e-001,
4.8672259e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.1051891e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_5A5354F6
{
AttributeName = "TrailLife";
DefaultValueF4 = float4(1.5135141e-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_A3F9581D
{
FieldName = "TextureID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EFCF3FF6
{
SamplerName = "RotateRatioSampler";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.0358833e-001,
2.3914814e-002,
};
FloatTangents =
{
0.0000000e+000,
-1.7688432e+000,
9.8717056e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D477D258
{
FieldName = "RadiusRate";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0EE2FB00
{
FieldName = "RotationRate";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9078374F
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(6.0270268e-001, 5.1351351e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_95F6977D
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6CE61D84
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D4565CA7
{
FieldName = "Color2";
FieldType = float4;
}

View file

@ -0,0 +1,513 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Orbiters",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_EBAD1697",
"$LOCAL$/CParticleAttributeDeclaration_1B3B0785",
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_2A0D3865",
"$LOCAL$/CParticleAttributeDeclaration_5A5354F6",
"$LOCAL$/CParticleAttributeDeclaration_9078374F",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_8163C3AE
{
SamplerName = "IntensityFromParent";
Times =
{
0.0000000e+000,
1.2138355e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.2072124e+000,
1.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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Orbiters
{
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_F069AE6B";
Infinite = true;
DurationInSeconds = 3.0000001e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.4000000e+001;
FirstSpawnDelay = 5.0000000e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F069AE6B
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C7AFE6DE",
"$LOCAL$/CParticleFieldDeclaration_4154FFF9",
"$LOCAL$/CParticleFieldDeclaration_AD759B72",
"$LOCAL$/CParticleFieldDeclaration_BE7FC61D",
"$LOCAL$/CParticleFieldDeclaration_B0B3CA2C",
"$LOCAL$/CParticleFieldDeclaration_D477D258",
"$LOCAL$/CParticleFieldDeclaration_0EE2FB00",
"$LOCAL$/CParticleFieldDeclaration_95F6977D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9E9ED973",
"$LOCAL$/CParticleSamplerCurve_A5DFDE5F",
"$LOCAL$/CParticleSamplerCurve_EFCF3FF6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_FA50680A";
States =
{
"$LOCAL$/CParticleState_5DA09A7C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FA50680A
{
Expression = "function void Eval()
{
Life = rand(0.5, 1.5);
Radius = 0;
OrbitalCenter = 0;
RotationAxis = vrand();
BasePosition = Sphere.samplePosition();
Position = BasePosition * Radius;
RadiusRate = rand(0.5, 1.5);
RotationRate = rand(0.5, 1.5);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.g),rand(0,RandomRGB.b));
}
";
}
CParticleState $LOCAL$/CParticleState_5DA09A7C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_11",
"$LOCAL$/OrbitalTrail",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4154FFF9
{
FieldName = "OrbitalCenter";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C7AFE6DE
{
FieldName = "Radius";
}
CParticleEvolver_Script $LOCAL$/Script_11
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_014431B0";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_014431B0
{
Expression = "function void Eval()
{
Radius += (AdditionalRadiusSpeed * RadiusRate) * (dt * SizeRatioSampler.sample(LifeRatio));
Orbital += (OrbitalSpeed * RotationRate) * (dt * RotateRatioSampler.sample(LifeRatio));
float3 v = BasePosition - OrbitalCenter;
Position = rotate(v, RotationAxis, Orbital) * Radius + OrbitalCenter;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AD759B72
{
FieldName = "BasePosition";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BE7FC61D
{
FieldName = "RotationAxis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Spawner $LOCAL$/OrbitalTrail
{
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 2.0000000e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_5E4EBA37";
}
CParticleState $LOCAL$/CParticleState_6C99A0A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_12",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_5E4EBA37
{
Renderer = "$LOCAL$/CParticleRenderer_List_9BDF00D0";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_BDB9BCA5",
"$LOCAL$/CParticleFieldDeclaration_D4565CA7",
"$LOCAL$/CParticleFieldDeclaration_A3F9581D",
"$LOCAL$/CParticleFieldDeclaration_6CE61D84",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_8163C3AE",
"$LOCAL$/CParticleSamplerCurve_72F75C8F",
"$LOCAL$/CParticleSamplerCurve_D48E47D3",
"$LOCAL$/CParticleSamplerCurve_1D475C8C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6";
States =
{
"$LOCAL$/CParticleState_6C99A0A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6
{
Expression = "function void Eval()
{
Life = TrailLife;
RandomedRGB = parent.RandomedRGB;
//TextureID = rand(0,4)
//Brightness = IntensityFromParent.sample(spawner.LifeRatio);
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_545410FB
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BDB9BCA5
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/Script_12
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC
{
Expression = "function void Eval()
{
Color = float4(RGB.x + RandomedRGB.x, RGB.y + RandomedRGB.y, RGB.z + RandomedRGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power);
Color2 = float4(0.1);
Size = TrailSize * SizeSampler.sample(LifeRatio);
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9E9ED973
{
SamplerName = "Sphere";
Shape = "$LOCAL$/CShapeDescriptor_AC2FEBB2";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_AC2FEBB2
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EBAD1697
{
AttributeName = "AdditionalRadiusSpeed";
DefaultValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1B3B0785
{
AttributeName = "OrbitalSpeed";
DefaultValueF4 = float4(5.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B0B3CA2C
{
FieldName = "Orbital";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A5DFDE5F
{
SamplerName = "SizeRatioSampler";
Times =
{
0.0000000e+000,
4.5172039e-002,
7.9667412e-002,
2.3473868e-001,
1.0000000e+000,
};
FloatValues =
{
9.7151250e-003,
8.4995359e-002,
4.5984969e-001,
7.9461977e-002,
4.8672408e-003,
};
FloatTangents =
{
0.0000000e+000,
-1.1017920e-002,
8.4486477e-002,
6.4517602e-002,
0.0000000e+000,
0.0000000e+000,
-4.9369391e-002,
-2.4363287e-001,
-7.5415880e-003,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(0.0000000e+000, 6.9459462e-001, 4.0650401e-002, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_72F75C8F
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
7.0222743e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8318589e-001,
4.9955750e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-6.9138300e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1BCEDEFE
{
AttributeName = "Power";
DefaultValueF4 = float4(6.3783784e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9BDF00D0
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_545410FB",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D48E47D3
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
5.7290055e-002,
1.3172999e-001,
7.1332288e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.1233578e+000,
1.6552079e+000,
1.1014417e+000,
-1.2139082e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6811266e+000,
-8.2865608e-001,
2.4560774e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_2A0D3865
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(9.9999998e-003, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1D475C8C
{
SamplerName = "SizeSampler";
Times =
{
0.0000000e+000,
1.6869873e-001,
1.0000000e+000,
};
FloatValues =
{
5.7522357e-003,
9.8893809e-001,
4.8672259e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.1051891e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_5A5354F6
{
AttributeName = "TrailLife";
DefaultValueF4 = float4(1.5135141e-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_A3F9581D
{
FieldName = "TextureID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EFCF3FF6
{
SamplerName = "RotateRatioSampler";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.0358833e-001,
2.3914814e-002,
};
FloatTangents =
{
0.0000000e+000,
-1.7688432e+000,
9.8717056e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D477D258
{
FieldName = "RadiusRate";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0EE2FB00
{
FieldName = "RotationRate";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9078374F
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(6.0270268e-001, 5.1351351e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_95F6977D
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6CE61D84
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D4565CA7
{
FieldName = "Color2";
FieldType = float4;
}

View file

@ -0,0 +1,508 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CParticleState $LOCAL$/CParticleState_649CF31A
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_5C30AD75",
"$LOCAL$/CParticleEvolver_Projection_840C2BFE",
"$LOCAL$/aze",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_26C327A0
{
Expression = "function void Eval()
{
Life = 0.4;
Size = 0;
Position=Sampler_0.samplePosition()+float3(0,0,spawner.LifeRatio*5.5);
float n= ninja;
Velocity=float3(select(-2,2,n<0.5),-1,2);
}
";
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Tron",
"$LOCAL$/Lightning",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Tron
{
Descriptor = "$LOCAL$/CParticleDescriptor_2FB2BE61";
DurationInSeconds = 1.5000000e+000;
SpawnCount = 1.0000000e+003;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_5C30AD75
{
CustomName = "Physics";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_2FB2BE61
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_D943A7E3";
Samplers =
{
"$LOCAL$/CParticleSamplerShape_E206AA64",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_26C327A0";
States =
{
"$LOCAL$/CParticleState_649CF31A",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_D943A7E3
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/White.dds";
AxisField = "Axis";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_23F2DF84",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerShape_C6842BC7",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_E206AA64
{
SamplerName = "Sampler_0";
Shape = "$LOCAL$/CShapeDescriptor_1E812F97";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_1E812F97
{
Position = float3(0.0000000e+000, 1.3500000e+000, -3.0000000e+000);
EulerOrientation = float3(9.0000000e+001, 0.0000000e+000, 0.0000000e+000);
BoxDimensions = float3(3.0000000e+000, 1.0000000e-001, 2.0000000e+000);
Radius = 1.5000000e+000;
InnerRadius = 1.2500000e+000;
Height = 5.0000000e-001;
}
CParticleEvolver_Projection $LOCAL$/CParticleEvolver_Projection_840C2BFE
{
CustomName = "Projection";
Shape = "Sampler_1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_ECE6D71A
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
9.9999998e-003,
9.9999998e-003,
};
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);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_AA705BE3
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_ECE6D71A";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_050EEBA0
{
FieldName = "Time";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8F6806C0
{
FieldName = "URibbon";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4696972D
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0FE30175
{
FieldName = "Time";
}
CParticleEvolver_Spawner $LOCAL$/aze
{
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 5.0000001e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_488DB230";
}
CParticleState $LOCAL$/CParticleState_1F285031
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_AC24D045",
"$LOCAL$/CParticleEvolver_Field_213FAE64",
"$LOCAL$/CParticleEvolver_Script_4DC8400E",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_488DB230
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_33D981F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_7FFF7EF8",
"$LOCAL$/CParticleFieldDeclaration_4696972D",
"$LOCAL$/CParticleFieldDeclaration_0FE30175",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_E0624833";
States =
{
"$LOCAL$/CParticleState_1F285031",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E0624833
{
Expression = "function void Eval()
{
Life = 0.4;
Size = 0.01;
Color=CustomColor*4;
Time=spawner.LifeRatio;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_33D981F4
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/falloff1.dds";
TextureUField = "URibbon";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_AC24D045
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_4DC8400E
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_07FB9699";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_07FB9699
{
Expression = "function void Eval()
{
URibbon=LifeRatio;
Size*=Time;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7FFF7EF8
{
FieldName = "URibbon";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9A3FE437
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_213FAE64
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_91E62397";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_91E62397
{
Times =
{
0.0000000e+000,
4.9813101e-001,
1.0000000e+000,
};
FloatValues =
{
9.9999998e-003,
9.9999998e-003,
9.9999998e-003,
};
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D2E842B7
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_014B729E";
Samplers =
{
"$LOCAL$/CParticleSamplerShape_DB64494C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_69DC11D0";
States =
{
"$LOCAL$/CParticleState_6CBDA953",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_014B729E
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/White.dds";
AxisField = "Axis";
AxisScale = 5.0000000e-001;
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E7522B96
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/falloff1.dds";
TextureUField = "URibbon";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C544252D
{
Expression = "function void Eval()
{
float n =2;
Velocity+=float3(rand(-n,n),rand(-n,n),rand(-n,n));
}
";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_07F98A83
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_D08DCB3A";
}
CParticleEvolver_Attractor $LOCAL$/CParticleEvolver_Attractor_09F3250F
{
CustomName = "Attractor";
Shape = "Sampler_0";
ForceAtSurface = 4.0000000e+002;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Lightning
{
Descriptor = "$LOCAL$/CParticleDescriptor_D2E842B7";
DurationInSeconds = 1.5000000e+000;
SpawnCount = 1.0000000e+002;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_DB64494C
{
SamplerName = "Sampler_0";
Shape = "$LOCAL$/CShapeDescriptor_ED55F2DF";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_ED55F2DF
{
Position = float3(0.0000000e+000, 1.3500000e+000, -3.0000000e+000);
EulerOrientation = float3(9.0000000e+001, 0.0000000e+000, 0.0000000e+000);
BoxDimensions = float3(3.0000000e+000, 1.0000000e-001, 2.0000000e+000);
Radius = 1.5000000e+000;
InnerRadius = 1.2500000e+000;
Height = 5.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_69DC11D0
{
Expression = "function void Eval()
{
Life = 0.06;
Size = 0;
Position=Sampler_0.samplePosition()+float3(0,0,spawner.LifeRatio*5.5);
}
";
}
CParticleState $LOCAL$/CParticleState_6CBDA953
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_16E0AECA",
"$LOCAL$/CParticleEvolver_Projection_76503A65",
"$LOCAL$/CParticleEvolver_Script_45CB7860",
"$LOCAL$/zer",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_16E0AECA
{
CustomName = "Physics";
}
CParticleEvolver_Projection $LOCAL$/CParticleEvolver_Projection_76503A65
{
CustomName = "Projection";
Shape = "Sampler_1";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A3DDB5A3
{
Expression = "function void Eval()
{
//float n = 1;
//Timeb+=dt;
//Velocity=select(Velocity,float3(rand(-n,n),rand(-n,n),2+rand(-n,n)),Timeb>0.01);
//Timeb=select(Timeb,0,Timeb>0.01);
}
";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_45CB7860
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_A3DDB5A3";
}
CParticleEvolver_Spawner $LOCAL$/zer
{
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 5.0000001e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_E20949BF";
}
CParticleState $LOCAL$/CParticleState_0D3101AC
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_ACE06830",
"$LOCAL$/CParticleEvolver_Attractor_09F3250F",
"$LOCAL$/CParticleEvolver_Script_AFA5EB32",
"$LOCAL$/ert",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E20949BF
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_8574BE31";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_39C1233C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_AEDE7D86";
States =
{
"$LOCAL$/CParticleState_0D3101AC",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_AEDE7D86
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 0;
Velocity=Sampler_1.sampleNormal()*10;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_8574BE31
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Sprites/big_glow2.dds";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_ACE06830
{
CustomName = "Physics";
}
CParticleEvolver_Spawner $LOCAL$/ert
{
CustomName = "Spawner";
SpawnInterval = 5.0000001e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_7EB39E45";
}
CParticleState $LOCAL$/CParticleState_9B9EB82A
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_9420860E",
"$LOCAL$/CParticleEvolver_Field_AA705BE3",
"$LOCAL$/CParticleEvolver_Script_07F98A83",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7EB39E45
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E7522B96";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8F6806C0",
"$LOCAL$/CParticleFieldDeclaration_9A3FE437",
"$LOCAL$/CParticleFieldDeclaration_050EEBA0",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_14E517F4";
States =
{
"$LOCAL$/CParticleState_9B9EB82A",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_14E517F4
{
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.01;
float n = 0.1;
Velocity=float3(rand(-n,n),rand(-n,n),rand(-n,n));
Color=CustomColor*5;
Time=spawner.LifeRatio;
}
";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_D08DCB3A
{
Expression = "function void Eval()
{
URibbon=LifeRatio;
Size*=(1-Time);
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_9420860E
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_39C1233C
{
FieldName = "Timeb";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_AFA5EB32
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C544252D";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_23F2DF84
{
AttributeName = "CustomColor";
AttributeType = float4;
DefaultValueF4 = float4(5.0000000e-001, 3.2648647e+000, 7.1351361e-001, 0.0000000e+000);
MaxValueF4 = float4(4.0000000e+000, 4.0000000e+000, 4.0000000e+000, 4.0000000e+000);
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_C6842BC7
{
SamplerName = "Sampler_1";
Shape = "$LOCAL$/CShapeDescriptor_82BFC296";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_82BFC296
{
ShapeType = MESH;
MeshResource = "Meshes/Mustang2014_Wire.pkmm";
MeshScale = float3(1.0010000e+000, 1.0010000e+000, 1.0010000e+000);
}

View file

@ -0,0 +1,671 @@
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",
"$LOCAL$/Layer_2",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3ECE14B0";
}
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;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_A1219F43
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e-001, 1.0000000e+000, 2.5000000e-001, 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);
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_257F91CA",
"$LOCAL$/CParticleAttributeDeclaration_2CB999CD",
"$LOCAL$/CParticleAttributeDeclaration_A1219F43",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerCurve_C25D4CA3",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_2
{
CustomName = "Localspace";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_74460CBB
{
FieldName = "Direction";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_2CB999CD
{
AttributeName = "Power";
DefaultValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
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;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_257F91CA
{
AttributeName = "Density";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleEvolver_Script $LOCAL$/Script_3
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_376EDA32";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3ECE14B0
{
Expression = "function void Eval()
{
Color=float4(RGB*Power*0.5,1-LifeRatio);
Size=Curve_3.sample(LifeRatio)+SizeCoeff;
}
";
}
CParticleState $LOCAL$/CParticleState_4BFDDA2B
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_3",
"$LOCAL$/LocalSpace_2",
"$LOCAL$/Script_4",
"$LOCAL$/Arrow",
"$LOCAL$/Spark",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_C25D4CA3
{
SamplerName = "Curve_0";
Times =
{
0.0000000e+000,
3.9999998e-001,
5.9999996e-001,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
1.0000000e+000,
3.2946768e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-4.6760383e-001,
-9.3520784e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Spawner $LOCAL$/Arrow
{
CustomName = "Spawner";
SpawnInterval = 1.2500000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_DDCE1654";
}
CParticleState $LOCAL$/CParticleState_B70FB90D
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_5D4200F1",
"$LOCAL$/Script_1",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_DDCE1654
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_31DC4A08";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_60BF8995",
"$LOCAL$/CParticleFieldDeclaration_C2FEA672",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_730A96F9",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4EAC89A7";
States =
{
"$LOCAL$/CParticleState_B70FB90D",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4EAC89A7
{
Expression = "function void Eval()
{
Life = 1;
SizeCoeff = sin(scene.Time*40)*0.02;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_31DC4A08
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/SymmetricGradient.dds";
TextureUField = "LifeRatio";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_5D4200F1
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_60BF8995
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_730A96F9
{
SamplerName = "Curve_3";
Times =
{
0.0000000e+000,
1.6043518e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.0791295e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
1.3782690e+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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C2FEA672
{
FieldName = "SizeCoeff";
}
CParticleEvolver_Spawner $LOCAL$/Spark
{
CustomName = "Spawner";
SpawnInterval = 3.9999999e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_776CD4C6";
}
CParticleState $LOCAL$/CParticleState_4ED52937
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6899CFFB",
"$LOCAL$/Evolver_1",
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_776CD4C6
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_1480FE58";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_E454C3A5",
"$LOCAL$/CParticleFieldDeclaration_CC5428CC",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B1041001";
States =
{
"$LOCAL$/CParticleState_4ED52937",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B1041001
{
Expression = "function void Eval()
{
Life = rand(0.2,0.4);
Velocity=parent.Direction*4+vrand()*2;
TextureID=ninja*4;
Rotation=rand(-pi,pi);
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_1480FE58
{
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Spark_03.dds";
AtlasDefinition = "Textures/Fx/AtlasR4.pkat";
BillboardMode = VelocityAxisAligned;
AxisField = "Axis";
AxisScale = 1.0000000e+000;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6899CFFB
{
CustomName = "Physics";
}
CParticleEvolver_Rotation $LOCAL$/Evolver_1
{
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_749B60DA";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_749B60DA
{
Expression = "function void Eval()
{
Color=float4(RGB*Power,Curve_0.sample(pow(LifeRatio,2)));
Size=LifeRatio*0.04;
Axis=Velocity*LifeRatio*0.2;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E454C3A5
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CC5428CC
{
FieldName = "Axis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_99BB2170
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_23B6A4F3",
"$LOCAL$/CParticleFieldDeclaration_DD75DD32",
"$LOCAL$/CParticleFieldDeclaration_09404ADD",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F42E2464";
States =
{
"$LOCAL$/CParticleState_AC37A8F7",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_23B6A4F3
{
FieldName = "CheckPos";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DD75DD32
{
FieldName = "ReCheckPos";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_09404ADD
{
FieldName = "Direction";
FieldType = float3;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F42E2464
{
Expression = "function void Eval()
{
Life = infinity;
}
";
}
CParticleState $LOCAL$/CParticleState_AC37A8F7
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_13FD6F86",
"$LOCAL$/CParticleEvolver_Localspace_0B51D318",
"$LOCAL$/CParticleEvolver_Script_1A5CE3BB",
"$LOCAL$/CParticleEvolver_Spawner_D90B0965",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_13FD6F86
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_25FF61C1";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_25FF61C1
{
Expression = "function void Eval()
{
CheckPos=Position;
}
";
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_0B51D318
{
CustomName = "Localspace";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_1A5CE3BB
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_5A0E1F9A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5A0E1F9A
{
Expression = "function void Eval()
{
ReCheckPos=Position;
Direction=normalize(CheckPos-ReCheckPos);
}
";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_D90B0965
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
Descriptor = "$LOCAL$/CParticleDescriptor_7341018C";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7341018C
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_F82FB93F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A7FB216E",
"$LOCAL$/CParticleFieldDeclaration_2EDC85C9",
"$LOCAL$/CParticleFieldDeclaration_FD8C43C0",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3B824D83",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_10FFDAED";
States =
{
"$LOCAL$/CParticleState_00EDEDB4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_F82FB93F
{
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_A7FB216E
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2EDC85C9
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FD8C43C0
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3B824D83
{
SamplerName = "SpawnShape";
Shape = "$LOCAL$/CShapeDescriptor_352F6902";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_352F6902
{
ShapeType = SPHERE;
Radius = 1.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_10FFDAED
{
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_00EDEDB4
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_8DB38487",
"$LOCAL$/CParticleEvolver_Field_B941AA56",
"$LOCAL$/CParticleEvolver_Field_50BE1368",
"$LOCAL$/CParticleEvolver_Rotation_AEC8596A",
"$LOCAL$/CParticleEvolver_Script_0261DF75",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_8DB38487
{
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_B941AA56
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_52B7CCD1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_52B7CCD1
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.7417073e-002,
4.6310537e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
4.6133342e-001,
2.7709076e-001,
4.5339489e-001,
};
FloatTangents =
{
0.0000000e+000,
4.6586581e-002,
0.0000000e+000,
0.0000000e+000,
2.4945091e-002,
8.2336515e-001,
1.3490067e-001,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_50BE1368
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_1E33024B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1E33024B
{
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_AEC8596A
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_0261DF75
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_782688DC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_782688DC
{
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;
}";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2
{
Descriptor = "$LOCAL$/CParticleDescriptor_99BB2170";
}

View file

@ -0,0 +1,252 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_6CA5AA5D",
"$LOCAL$/CParticleAttributeDeclaration_BE93AC77",
"$LOCAL$/CParticleAttributeDeclaration_553FF906",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerCurve_984739E4",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_19F9F7A8
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_57AE9B8B",
"$LOCAL$/CParticleFieldDeclaration_29F34BAA",
"$LOCAL$/CParticleFieldDeclaration_83D29EB5",
"$LOCAL$/CParticleFieldDeclaration_203A991C",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_F7A6600F",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_40C8D219";
States =
{
"$LOCAL$/CParticleState_249D5E50",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_57AE9B8B
{
FieldName = "Timeb";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_29F34BAA
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_83D29EB5
{
FieldName = "FluxScale";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_203A991C
{
FieldName = "NextBranchTime";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_F7A6600F
{
SamplerName = "DropSampler";
Shape = "$LOCAL$/CShapeDescriptor_C460687E";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_C460687E
{
ShapeType = CYLINDER;
Radius = 2.0000000e-001;
InnerRadius = 2.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_40C8D219
{
Expression = "function void Eval()
{
Life = 0.3;
Position = DropSampler.samplePosition();
Velocity = Scale*safe_normalize(Position - DropSampler.position())*30;
SizeCoeff = Scale;
FluxScale = pow(Flux,0.5)*2*Scale;
NextBranchTime = SizeCoeff * (0.5 + 0.25 * pow(rand(0, 1), 2)) * 0;
}
";
}
CParticleState $LOCAL$/CParticleState_249D5E50
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_52553353",
"$LOCAL$/CParticleEvolver_Spawner_66220ED5",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_52553353
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_84F65B12",
"$LOCAL$/CParticleEvolver_Script_72C9AE3D",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_84F65B12
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_72C9AE3D
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_79D79B44";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_79D79B44
{
Expression = "function void Eval()
{
Timeb += dt;
int shouldSpawnBranch = Timeb > 0.025;
float n = 60 * SizeCoeff;
Velocity = lerp(select(Velocity,float3(SizeCoeff*rand(-1,1)*100,0,SizeCoeff*rand(-1,1)*100),shouldSpawnBranch),Velocity,0.9);
Timeb = select(Timeb,0,shouldSpawnBranch);
NextBranchTime = select(NextBranchTime, SizeCoeff * (0.05 + 0.25 * pow(rand(0, 1), 2)), shouldSpawnBranch);
}
";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_66220ED5
{
CustomName = "Spawner";
SpawnInterval = 1.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_31A8BBBC";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_31A8BBBC
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_F7F93098";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_950EEE1E",
"$LOCAL$/CParticleFieldDeclaration_65C0CF3B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_B950F839";
States =
{
"$LOCAL$/CParticleState_35B76EF0",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_950EEE1E
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B950F839
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 2 * Scale;
Axis = float3(0,1,0);
Color = CustomColorRGBA * 0.04 * pow(1 - spawner.LifeRatio, 2)*50;
}
";
}
CParticleState $LOCAL$/CParticleState_35B76EF0
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_A59A4073",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_A59A4073
{
CustomName = "Physics";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_19F9F7A8";
DurationInSeconds = 9.9999998e-003;
SpawnCountMode = TotalParticleCount;
SpawnCount = 3.2000000e+001;
SpawnCountRelativeRandomDeviation = 1.3000000e+000;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6CA5AA5D
{
AttributeName = "Scale";
DefaultValueF4 = float4(3.7786260e-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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_984739E4
{
SamplerName = "GlobalSizeCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
3.2657871e+001,
3.3657871e+001,
};
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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_BE93AC77
{
AttributeName = "Flux";
DefaultValueF4 = float4(4.6183211e-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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_553FF906
{
AttributeName = "CustomColorRGBA";
AttributeType = float4;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 9.9752480e-001, 1.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(1, 1, 1, 1);
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_F7F93098
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/Chrysalis_shot_lv2.png";
BillboardMode = SideAxisAligned;
AxisField = "Axis";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_65C0CF3B
{
FieldName = "Axis";
FieldType = float3;
}

View file

@ -0,0 +1,860 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/branch",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(329, 64);
ChildList =
{
"$LOCAL$/lightning",
"$LOCAL$/Layer_1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B30B2123
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9AEE5ABD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_168DE691
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_216E6F10";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_216E6F10
{
Expression = "function void Eval()
{
Color=CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
}
";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_FE3EB050",
"$LOCAL$/CParticleAttributeDeclaration_02243087",
"$LOCAL$/CParticleAttributeDeclaration_1DF47118",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/lightning
{
Descriptor = "$LOCAL$/CParticleDescriptor_7C46C5E9";
Infinite = true;
DurationInSeconds = 5.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 3.0000000e+000;
SpawnCountRelativeRandomDeviation = 1.3000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7C46C5E9
{
EditorInfosIsBlockMinimized = 0;
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AA0A7EFA",
"$LOCAL$/CParticleFieldDeclaration_2832E92E",
"$LOCAL$/CParticleFieldDeclaration_668C5BD9",
"$LOCAL$/CParticleFieldDeclaration_7EA25C67",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3F5A22F7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A99F3108";
States =
{
"$LOCAL$/CParticleState_4C8B87C2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A99F3108
{
Expression = "function void Eval()
{
Life = 0.2;
Velocity = Scale*float3(rand(-100,100),0,rand(-100,100));
SizeCoeff = Scale;
FluxScale = pow(Flux,0.5)*2*Scale;
NextBranchTime = SizeCoeff * (0.5 + 0.25 * pow(rand(0, 1), 2));
Position = DropSampler.samplePosition();
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_668C5BD9
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_4C8B87C2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_081972C0",
"$LOCAL$/death",
"$LOCAL$/base",
"$LOCAL$/glow",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_C1D98F7D
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8FACC28C
{
FieldName = "Timeb";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FE3EB050
{
AttributeName = "CustomColorRGBA";
AttributeType = float4;
DefaultValueF4 = float4(1.7553200e-001, 6.4361697e-001, 2.0000000e+000, 2.0000000e+000);
MaxValueF4 = float4(2.0000000e+000, 2.0000000e+000, 2.0000000e+000, 2.0000000e+000);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_104D4D29
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5E0F683";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9AEE5ABD",
"$LOCAL$/CParticleFieldDeclaration_BB297115",
"$LOCAL$/CParticleFieldDeclaration_42AA1C4F",
"$LOCAL$/CParticleFieldDeclaration_BD2FCDD3",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_37052329",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3F389B48";
States =
{
"$LOCAL$/CParticleState_6B8B6DDE",
};
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_7A8041A7
{
EventName = "OnDeath";
EventAction = "$LOCAL$/branch";
}
CParticleState $LOCAL$/CParticleState_6B8B6DDE
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_B91A4402",
"$LOCAL$/CParticleEvolver_Script_168DE691",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BC1951CA
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7AF25165";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7AF25165
{
Expression = "function void Eval()
{
Timeb += dt;
int shouldSpawnBranch = Timeb > 0.01;
float n = 60 * SizeCoeff;
Velocity = select(Velocity,float3(SizeCoeff*rand(-1,1)*100,rand(-n,n),SizeCoeff*rand(-1,1)*100),shouldSpawnBranch);
Timeb = select(Timeb,0,shouldSpawnBranch);
NextBranchTime = select(NextBranchTime, SizeCoeff * (0.05 + 0.25 * pow(rand(0, 1), 2)), shouldSpawnBranch);
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E9BE2D1D
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B91A4402
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_F1A21305
{
CustomName = "Physics";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5E0F683
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AA0A7EFA
{
FieldName = "Timeb";
}
CParticleEvolver_Spawner $LOCAL$/base
{
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_104D4D29";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3F389B48
{
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.4 * Scale;
ColorCoeff = 100 * pow(1 - spawner.LifeRatio, 2);
TextureID = rand(0,16);
CC = CustomColorRGBA * 10;
}
";
}
CParticleEvolver_Spawner $LOCAL$/death
{
CustomName = "Spawner";
SpawnInterval = 3.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_CD6A0035";
}
CParticleState $LOCAL$/CParticleState_91BC2CDA
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_D33971BE",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CD6A0035
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_59D07FA1",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_7A8041A7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C095B224";
States =
{
"$LOCAL$/CParticleState_91BC2CDA",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C095B224
{
Expression = "function void Eval()
{
Life = 0.01;
Color = CustomColorRGBA;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_D33971BE
{
CustomName = "Physics";
}
CActionFactoryParticleSpawnerBase $LOCAL$/branch
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_1DEAC189";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1DEAC189
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8FACC28C",
"$LOCAL$/CParticleFieldDeclaration_C9081B39",
"$LOCAL$/CParticleFieldDeclaration_28722F38",
"$LOCAL$/CParticleFieldDeclaration_E4021DE6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4669BE28";
States =
{
"$LOCAL$/CParticleState_247F7DE2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4669BE28
{
Expression = "function void Eval()
{
Life = rand(0.025,0.05);
Velocity=float3(0,50,0)*Scale;
SizeCoeff=Scale;
FluxScale=pow(Flux,0.5)*1*Scale;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_28722F38
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_247F7DE2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_9AAE6F84",
"$LOCAL$/ert",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_4E3ECB6C
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F
{
Expression = "function void Eval()
{
Timeb += dt*SizeCoeff;
int shouldChangeDirection = Timeb>0.01*SizeCoeff;
float n = 60*SizeCoeff;
Velocity = select(Velocity, float3(rand(-n,n),50*SizeCoeff,rand(-n,n)), shouldChangeDirection);
Timeb = select(Timeb,0,shouldChangeDirection); // reset the \'should.pkangeDirection\' condition
}
";
}
CParticleEvolver_Spawner $LOCAL$/ert
{
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_47893DF0";
}
CParticleState $LOCAL$/CParticleState_65AD76F1
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_F1A21305",
"$LOCAL$/CParticleEvolver_Script_403022B8",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_47893DF0
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_23F2DF84";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_0B9A51ED",
"$LOCAL$/CParticleFieldDeclaration_366F0A1E",
"$LOCAL$/CParticleFieldDeclaration_BC9A45D6",
"$LOCAL$/CParticleFieldDeclaration_C223EA14",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_09C487E3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3";
States =
{
"$LOCAL$/CParticleState_65AD76F1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3
{
Expression = "function void Eval()
{
Life = 0.1;
float iSpawnerLR = 1 - spawner.LifeRatio;
Size = 0.4*Scale * pow(iSpawnerLR, 0.5);
ColorCoeff = pow(Flux,4)*100*pow(iSpawnerLR, 2);
TextureID = rand(0,16);
Position = float3(0,-0.5,0)*Scale;
CC = CustomColorRGBA * 5;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_23F2DF84
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_403022B8
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_70F7169B";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_70F7169B
{
Expression = "function void Eval()
{
Color = CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C223EA14
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0B9A51ED
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C9081B39
{
FieldName = "SizeCoeff";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_02243087
{
AttributeName = "Scale";
DefaultValueF4 = float4(5.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2832E92E
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_366F0A1E
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BB297115
{
FieldName = "TextureID";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_90A7E102
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_88F983BD
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_91A60DEB
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Glow_12.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_548E9048
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 2 * Scale;
Color = CustomColorRGBA * 0.04 * pow(1 - spawner.LifeRatio, 2);
}
";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E8BCA629
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_91A60DEB";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_88F983BD",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_548E9048";
States =
{
"$LOCAL$/CParticleState_D38CFADE",
};
}
CParticleEvolver_Spawner $LOCAL$/glow
{
CustomName = "Spawner";
SpawnInterval = 1.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_E8BCA629";
}
CParticleState $LOCAL$/CParticleState_D38CFADE
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_90A7E102",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1DF47118
{
AttributeName = "Flux";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_081972C0
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_C1D98F7D",
"$LOCAL$/CParticleEvolver_Script_BC1951CA",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_9AAE6F84
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_E9BE2D1D",
"$LOCAL$/CParticleEvolver_Script_4E3ECB6C",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42AA1C4F
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BC9A45D6
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BD2FCDD3
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7EA25C67
{
FieldName = "NextBranchTime";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E4021DE6
{
FieldName = "ParentColor";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_59D07FA1
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3F5A22F7
{
SamplerName = "DropSampler";
Shape = "$LOCAL$/CShapeDescriptor_EE347186";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_EE347186
{
ShapeType = CYLINDER;
Radius = 5.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_37052329
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
7.5512230e-002,
1.6900167e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4312178e+000,
3.8749021e-001,
1.5209466e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_09C487E3
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
7.5512230e-002,
1.6900170e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4312180e+000,
3.8749021e-001,
1.5209470e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_79B76225
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_List_9283E94C";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_602F1443",
"$LOCAL$/CParticleFieldDeclaration_C52456C2",
"$LOCAL$/CParticleFieldDeclaration_473C7BAD",
"$LOCAL$/CParticleFieldDeclaration_4962BD74",
"$LOCAL$/CParticleFieldDeclaration_1E9CAF47",
"$LOCAL$/CParticleFieldDeclaration_E638CC16",
"$LOCAL$/CParticleFieldDeclaration_B048B191",
"$LOCAL$/CParticleFieldDeclaration_E13A7728",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_9131510B";
States =
{
"$LOCAL$/CParticleState_83296F2A",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9283E94C
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_DA74DBFF",
"$LOCAL$/CParticleRenderer_Billboard_2B019B2E",
"$LOCAL$/CParticleRenderer_Billboard_0183A289",
"$LOCAL$/CParticleRenderer_Billboard_D93F3F80",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_DA74DBFF
{
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/BB_Flame_01_128.dds";
AtlasDefinition = "Textures/FX/AtlasX2.pkat";
SizeField = "Size2";
ColorField = "Color2";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_2B019B2E
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/DistortionRing_01.dds";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_0183A289
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_03.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
SizeField = "Size4";
ColorField = "Color4";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_D93F3F80
{
DrawOrder = -1;
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/Distortion_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_602F1443
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C52456C2
{
FieldName = "Color2";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_473C7BAD
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4962BD74
{
FieldName = "Size2";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1E9CAF47
{
FieldName = "Color4";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E638CC16
{
FieldName = "Size4";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B048B191
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E13A7728
{
FieldName = "InitialSize";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_9131510B
{
Expression = "function void Eval()
{
Life = 1;
InitialSize = Scale * 1.5;
Position = float3(0,1,0);
Color = 0.5 * Scale;
Color2 = CustomColorRGBA * 1.5;
TextureID = rand(0,4);
ScalarRotationSpeed = rand(-3,3);
Rotation = rand(-pi,pi);
}
";
}
CParticleState $LOCAL$/CParticleState_83296F2A
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_69E9C835",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_69E9C835
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Rotation_82A4409C",
"$LOCAL$/CParticleEvolver_Field_F1755D8F",
"$LOCAL$/CParticleEvolver_Field_87600399",
"$LOCAL$/CParticleEvolver_Script_AF09F8D3",
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_82A4409C
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Rotation";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_F1755D8F
{
CustomName = "Field";
Name = "SizeCoeff";
Evaluator = "$LOCAL$/CParticleSamplerCurve_2A3473FE";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2A3473FE
{
Times =
{
0.0000000e+000,
4.9905631e-001,
1.0000000e+000,
};
FloatValues =
{
6.3916349e-001,
3.6995310e-001,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-8.5174030e-001,
-8.5496157e-001,
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_87600399
{
CustomName = "Field";
Name = "Color4";
Evaluator = "$LOCAL$/CParticleSamplerCurve_9A03ADD0";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_9A03ADD0
{
ValueType = Float4;
Times =
{
0.0000000e+000,
3.9999999e-002,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+002,
1.0000000e+002,
1.0000000e+002,
1.0000000e+002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.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,
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,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_AF09F8D3
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_193FCE92";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_193FCE92
{
Expression = "function void Eval()
{
float decayedSize = InitialSize * SizeCoeff;
Size = decayedSize * 1;
Size2 = decayedSize * 1.5;
Size4 = decayedSize * 2;
Color4 *= CustomColorRGBA;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_79B76225";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
ContinuousSpawner = false;
}

View file

@ -0,0 +1,691 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/OutLightning_pCoords
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 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",
};
}
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;
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
{
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",
};
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_B4A3F15A
{
SamplerName = "Shape_0";
Shape = "$LOCAL$/CShapeDescriptor_00485E25";
}
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);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2FAA954C
{
FieldName = "pCoords";
FieldType = int3;
}
CParticleEvolver_Rotation $LOCAL$/Evolver_3
{
}
CParticleEvolver_Script $LOCAL$/Script_5
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_67DDAB2D";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3DDDE71F
{
FieldName = "AxisUp";
FieldType = float3;
TransformFilter = rotate;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_67DDAB2D
{
Expression = "function void Eval()
{
Color=sin(LifeRatio*3)*Distortion;
}
";
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
EditorInfosIsBlockMinimized = 0;
SpawnMetric = Time;
SpawnInterval = 3.9999999e-002;
ForwardAxisField = "Axis";
FirstSpawnDelay = 0.0000000e+000;
LocalSpaceSpawn = true;
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",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2";
States =
{
"$LOCAL$/CParticleState_61782B80",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2
{
Expression = "function void Eval()
{
Life = 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*10+vrand())*Scale;
Color=spawner.LifeRatio*RGB.xyz1*10;
TextureID=ninja*16;
Mass=Scale;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_88AD4B47
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
TextureIDField = "TextureID";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_BA79E974
{
Mass = 0.0000000e+000;
Drag = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66AA7FEC
{
FieldName = "TextureID";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328
{
SamplerName = "Turb_0";
Scale = 1.5000000e+000;
Strength = 5.0000000e+001;
TimeScale = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D3592D0B
{
FieldName = "Color";
FieldType = float4;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Ball
{
Descriptor = "$LOCAL$/CParticleDescriptor_207FBFFE";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+000;
}
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 = 1.0;
Size = 2*Scale;
RotationInit=vrand()*pi;
}
";
}
CParticleRenderer_Mesh_Descriptor $LOCAL$/CParticleRenderer_Mesh_Descriptor_687E3EC4
{
Mesh = "Meshes/Geosphere.pkmm";
Material = Additive_NoAlpha;
MaterialParametersFields =
{
"DiffuseColor = Color",
};
Diffuse = "Textures/EnergyBall_02.dds";
}
CParticleState $LOCAL$/CParticleState_3D5454D3
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
ChildList =
{
"$LOCAL$/Script_2",
};
}
CParticleRenderer_Mesh $LOCAL$/CParticleRenderer_Mesh_31DAE3BD
{
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
{
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)*10;
Size = 2*Scale;
}
";
}
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",
};
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
{
ChildList =
{
"$LOCAL$/Ball",
"$LOCAL$/Glow",
"$LOCAL$/Disto",
};
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_7110CCC0
{
SamplerName = "Turb_0";
Scale = 2.0000000e+000;
Strength = 1.0000000e+002;
TimeScale = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_30AD0A83
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.25;
pCoords = Shape_0.sampleParametricCoords();
Position=Shape_0.samplePosition(pCoords)*Scale;
Mass=Scale;
}
";
}
CParticleState $LOCAL$/CParticleState_01226A02
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_4",
"$LOCAL$/Trail_2",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_0F7E6FED
{
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*Scale;
VelocityField=Turb_0.sample(Position/Scale);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/InLightning_pCoords
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_D8E1BE65";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
FluxFactorExpression = "Flux";
}
CParticleEvolver_Projection $LOCAL$/Evolver_1
{
Shape = "Shape_0";
OutputParametricCoordsField = "pCoords";
}
CParticleEvolver_Physics $LOCAL$/Evolver_2
{
Mass = 0.0000000e+000;
Drag = 1.0000000e+000;
}
CParticleEvolver_Spawner $LOCAL$/Trail_2
{
EditorInfosIsBlockMinimized = 0;
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",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD";
States =
{
"$LOCAL$/CParticleState_E8DB9F13",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 0.2*Scale;
ColorCoeff=sin(spawner.LifeRatio*3)*RGB.xyz1*10;
Position=vrand()*0.1*Scale;
// Simply add the normals information in the axis field of the ribbon and that\'s it!
AxisUp=parent.AxisUp;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_35782C54
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
TextureIDField = "TextureID";
AxisField = "AxisUp";
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_5
{
ChildList =
{
"$LOCAL$/Script_4",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7F906BF6
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/Script_4
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1
{
Expression = "function void Eval()
{
Color=ColorCoeff*sin(LifeRatio*3);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42738008
{
FieldName = "ColorCoeff";
FieldType = float4;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Glow
{
Descriptor = "$LOCAL$/CParticleDescriptor_29F3590A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
}
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 = 1.0;
Size = 2.1*Scale;
Color=(RGB.xyz1*0.5+0.5)*0.2;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_766CC37C
{
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
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C1FAB4F9
{
FieldName = "Color";
FieldType = float4;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_78C6FECC
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_E542DF7F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_B49E24AE",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_412E2A09";
States =
{
"$LOCAL$/CParticleState_C6F09D00",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_E542DF7F
{
BillboardingMaterial = AlphaBlend_Distortion;
Diffuse = "Textures/Fx/Distortion_01.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B49E24AE
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_412E2A09
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 2.1*Scale;
Color=1;
Rotation=rand(-pi,pi);
ScalarRotationSpeed=rand(-2,2);
}
";
}
CParticleState $LOCAL$/CParticleState_C6F09D00
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_3",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_3
{
ChildList =
{
"$LOCAL$/Evolver_3",
"$LOCAL$/Script_5",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Disto
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_78C6FECC";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+000;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_4
{
ChildList =
{
"$LOCAL$/Evolver_2",
"$LOCAL$/Evolver_1",
"$LOCAL$/CParticleEvolver_Script_0F7E6FED",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_6
{
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_7
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_BA79E974",
"$LOCAL$/Script_3",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_ACB53148
{
AttributeName = "Flux";
DefaultValueF4 = float4(4.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(9.4680858e-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_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
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_54499B1D";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_54499B1D
{
Expression = "function void Eval()
{
Size = 2.1*Scale;
}
";
}

View file

@ -0,0 +1,560 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_D158FB1D
{
EditorInfosIsBlockMinimized = 0;
Expression = "function void Eval()
{
Life = infinity;
}
";
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Source",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_67949F4D
{
FieldName = "ColorCoeff";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E7219408
{
SamplerName = "DisplacementWeight";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
3.5361910e-001,
1.7034520e+000,
3.5361910e-001,
};
FloatTangents =
{
0.0000000e+000,
1.3884330e+000,
0.0000000e+000,
0.0000000e+000,
-9.6360749e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_6DEC9E9F
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E63D424E";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_9BDD555E",
"$LOCAL$/CParticleAttributeDeclaration_6085D8ED",
"$LOCAL$/CParticleAttributeDeclaration_DC3BD88D",
"$LOCAL$/CParticleAttributeDeclaration_AFD4EBD4",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_2830BC72
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_3D199BC4",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_D158FB1D";
States =
{
"$LOCAL$/CParticleState_37820737",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_6085D8ED
{
AttributeName = "Flux";
AttributeDescription = "Controls the amount of strokes\\nMultiplier of the \'Source\' layer\'s spawn-rate.";
DefaultValueF4 = float4(1.0866141e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F6A6C829
{
FieldName = "PCoords";
FieldType = int3;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_1AAF32F4
{
ShapeType = SPHERE;
Radius = 5.0000000e-001;
MeshResource = "Meshes/Path.pkmm";
MeshScale = float3(2.0000000e+000, 2.0000000e+000, 2.0000000e+000);
}
CParticleEvolver_Spawner $LOCAL$/LightningTrail
{
SpawnInterval = 2.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_EAA4F4AE";
}
CParticleState $LOCAL$/CParticleState_48BA6F7F
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_6DEC9E9F",
"$LOCAL$/CParticleEvolver_Physics_815F8FC3",
"$LOCAL$/CParticleEvolver_Projection_52891911",
"$LOCAL$/CParticleEvolver_Field_11EF5012",
"$LOCAL$/CParticleEvolver_Field_25CAC61C",
"$LOCAL$/CParticleEvolver_Script_1CA6C021",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EAA4F4AE
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_584734A8";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_342360F8",
"$LOCAL$/CParticleFieldDeclaration_6ACE796C",
"$LOCAL$/CParticleFieldDeclaration_F6A6C829",
"$LOCAL$/CParticleFieldDeclaration_7F0885A0",
"$LOCAL$/CParticleFieldDeclaration_67949F4D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_627F92C7",
"$LOCAL$/CParticleSamplerCurve_31F983E2",
"$LOCAL$/CParticleSamplerProceduralTurbulence_E0F88948",
"$LOCAL$/CParticleSamplerCurve_E7219408",
"$LOCAL$/CParticleSamplerCurve_CD928515",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A9553A09";
States =
{
"$LOCAL$/CParticleState_48BA6F7F",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7F0885A0
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A9553A09
{
Expression = "function void Eval()
{
Life = 0.25;
// grab a random lightning texture from the atlas, for the ribbon.
// there are 16 sub-frames, whose IDs go from 0 to 15
TextureID = rand(0,16);
// color factor that we will apply to the sampled \'Color\' in an evolve script
// make particles spawned at the end of the trail\'s life dimmer, to avoid hard-ending trails.
ColorCoeff = ColorCoeffLookup.sample(spawner.LifeRatio);
// save RealPosition (see the evolvers on why we need this)
RealPosition = Position;
// velocity goes upwards, faster at the center of the trail (see the curve\'s shape)
Velocity = float3(0,1,0) * DisplacementWeight.sample(spawner.LifeRatio);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_E0F88948
{
SamplerName = "Noise3D";
Scale = 2.5000000e-001;
Strength = 2.5000000e-002;
TimeScale = 1.0000000e+000;
TimeBase = 2.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_11EF5012
{
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_870B473D";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_584734A8
{
EditorInfosIsBlockMinimized = 0;
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/FX/AtlasX4.pkat";
TextureIDField = "TextureID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4DAC29C5
{
Expression = "function void Eval()
{
// the other evolvers have computed a new Position, back it up in \'RealPosition\'
// (see the comments in the first script evolver for details)
RealPosition = Position;
// the projection evolver filled \'PCoords\' with the meshe\'s parametric coordinates for us.
// use this to grab the mesh normal where at the location we were reprojected on:
float3 meshNormalAtLocation = ProjMesh.sampleNormal(PCoords) * 3;
// sample the random procedural turbulent field to get a turbulent displacement:
float3 turb = Noise3D.sample(RealPosition);
// project this vector with the mesh normal, so that it becomes tangent to the triangle plane.
// this will effectively convert it to a 2D tangent turbulence, because we don\'t want
// the 3D turbulent vector to make the ribbon penetrate the mesh
float3 projTurb = turb + meshNormalAtLocation * max(0,-dot(turb, meshNormalAtLocation));
// patch the Position by moving it slightly away from the mesh surface along the mesh normal,
// and displace it by the turbulence vector.
float distanceToMesh = 0;
Position += meshNormalAtLocation * distanceToMesh + projTurb;
// apply our color coefficient to the RGBA color sampled in the CParticleEvolver_Field that
// was run before us:
Color = float4(RGB.x, RGB.y, RGB.z, Color.w) * pow(Glow.sample(LifeRatio),Power);
Color *= ColorCoeff;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_815F8FC3
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_342360F8
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6ACE796C
{
FieldName = "RealPosition";
FieldType = float3;
TransformFilter = full;
}
CParticleEvolver_Projection $LOCAL$/CParticleEvolver_Projection_52891911
{
EditorInfosIsBlockMinimized = 0;
Shape = "ProjMesh";
OutputParametricCoordsField = "PCoords";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_870B473D
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.8990910e-001,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
1.0000000e+000,
1.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.0000000e+000,
1.0000000e+000,
9.5917922e-001,
1.0000000e+000,
1.0000000e+000,
1.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,
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,
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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E63D424E
{
Expression = "function void Eval()
{
// here, we have a problem:
// we can\'t yet (in popcorn 1.5.4) tell the ribbon renderer to use a custom field
// for position, and we want to manually shift the positions away from the mesh surface.
// if we shift the positions used for reprojection, they will shift from frame to frame
// and become dependent of the FPS.
// Therefore, we\'ll use a trick where we will \'backup\' the simulated position into a custom
// field named \'RealPosition\', then we\'ll shift the \'Position\' field to get it ready for rendering
// at the start of the next frame, we\'ll restore \'Position\' to the one saved in \'RealPosition\',
// so that simulation uses the correct value, not the one deformed for rendering.
// here, restore the projected position saved in the previous frame
Position = RealPosition;
// all the next evolvers in the state will work on this restored \'Position\',
// up to the last script evolver
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_627F92C7
{
SamplerName = "ProjMesh";
Shape = "$LOCAL$/CShapeDescriptor_1AAF32F4";
SampleDimensionality = Vertex;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_25CAC61C
{
EditorInfosIsBlockMinimized = 0;
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_F033910F";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_31F983E2
{
EditorInfosIsBlockMinimized = 0;
SamplerName = "ColorCoeffLookup";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0483411e+001,
1.3673043e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.5378418e+001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F033910F
{
Times =
{
0.0000000e+000,
2.9870510e-001,
1.0000000e+000,
};
FloatValues =
{
1.2760758e-003,
1.2711254e-001,
1.3779700e-003,
};
FloatTangents =
{
0.0000000e+000,
2.1109976e-001,
0.0000000e+000,
0.0000000e+000,
-5.6229483e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_1CA6C021
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_4DAC29C5";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9BDD555E
{
AttributeName = "ProbeVelocity";
AttributeDescription = "Initial velocity of lightning strokes\\nDirectly controls the stroke length.";
DefaultValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(5.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Source
{
Descriptor = "$LOCAL$/CParticleDescriptor_2830BC72";
DurationInSeconds = 1.0000000e-001;
FluxFactorExpression = "Flux";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_CD928515
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
1.6115850e-001,
1.7384709e-001,
2.0104469e-001,
5.6299138e-001,
1.0000000e+000,
};
FloatValues =
{
4.3323541e-001,
1.4717730e+000,
3.0183129e+000,
1.4834321e+000,
6.6818959e-001,
4.3290529e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
2.3728991e+000,
-2.0313981e+000,
0.0000000e+000,
0.0000000e+000,
-6.6506660e-001,
-8.0299091e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DC3BD88D
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(9.9999998e-003, 1.3000000e-001, 9.4999999e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_AFD4EBD4
{
AttributeName = "Power";
DefaultValueF4 = float4(2.5000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleState $LOCAL$/CParticleState_37820737
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_1",
"$LOCAL$/Emitter",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_4B0C0AC6
{
}
CParticleEvolver_Projection $LOCAL$/CParticleEvolver_Projection_F6C54DFB
{
Shape = "ProjMesh";
}
CParticleEvolver_Spawner $LOCAL$/Emitter
{
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_8CDE14FE";
}
CParticleState $LOCAL$/CParticleState_E7543A8F
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_4B0C0AC6",
"$LOCAL$/CParticleEvolver_Projection_F6C54DFB",
"$LOCAL$/LightningTrail",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_8CDE14FE
{
Samplers =
{
"$LOCAL$/CParticleSamplerShape_F922C3D7",
"$LOCAL$/CParticleSamplerShape_6ED04DA1",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_1189B899";
States =
{
"$LOCAL$/CParticleState_E7543A8F",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_1189B899
{
Expression = "function void Eval()
{
Life = 0.4;
// here, grab a random spawn location in the \'ProjSpawnVolume\' shape.
// you can select that shape in the treeview and move it around in the viewport
// to make lightning start at different locations
Position = ProjSpawnVolume.samplePosition();
// next, reproject the start position on the mesh
// (this is because otherwise the trail evolver will make a trail from the
// original position to the projected position on the first frame)
Position += ProjMesh.project(Position).xyz;
// random velocity on a squased sphere whose height is
// 0.3 times its equatorial radius. -> move faster horizontally
Velocity = vrand() * float3(0.1,0.1,0.5)*ProbeVelocity;
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_F922C3D7
{
SamplerName = "ProjSpawnVolume";
Shape = "$LOCAL$/CShapeDescriptor_FCC733E6";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_FCC733E6
{
ShapeType = SPHERE;
Radius = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_6ED04DA1
{
SamplerName = "ProjMesh";
Shape = "$LOCAL$/CShapeDescriptor_A51D3C78";
SampleDimensionality = Vertex;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_A51D3C78
{
ShapeType = SPHERE;
Radius = 5.0000000e-001;
}
CParticleEvolver_Script $LOCAL$/Script_1
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_0F7DFA91";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0F7DFA91
{
Expression = "function void Eval()
{
//Position += float3(0.01,0,0);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3D199BC4
{
FieldName = "Velocity";
FieldType = float3;
TransformFilter = rotate;
}

View file

@ -0,0 +1,376 @@
Version = 1.9.1.28491;
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";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.4000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8ED4ECCD",
"$LOCAL$/CParticleFieldDeclaration_7BA8472B",
"$LOCAL$/CParticleFieldDeclaration_49559E58",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
BranchLength = rand(0.3,0.6);
Life = BranchLength;
Vrand=vrand();
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/Trail_1",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
IntegrationDtTreshold = 2.0000001e-003;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_413490CC",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63
{
Expression = "function void Eval()
{
Color=(RGB*sin(LifeRatio*3)).xyz1*0.5;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e-001, 4.4999999e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8ED4ECCD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
CustomName = "Spawner";
SpawnInterval = 2.0000000e-001;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_EC6BEF67";
}
CParticleState $LOCAL$/CParticleState_A25D7514
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_07A88CC8",
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EC6BEF67
{
Renderer = "$LOCAL$/CParticleRenderer_List_34193718";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A2FF29AF",
"$LOCAL$/CParticleFieldDeclaration_5456B137",
"$LOCAL$/CParticleFieldDeclaration_62EDB30F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_E43E0316",
"$LOCAL$/CParticleSamplerDoubleCurve_80B4C0F1",
"$LOCAL$/CParticleSamplerProceduralTurbulence_4CE60A08",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6";
States =
{
"$LOCAL$/CParticleState_A25D7514",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6
{
Expression = "function void Eval()
{
Life = (parent.BranchLength-spawner.LifeRatio*parent.BranchLength) * 1.5;
Size = 0.15;
Velocity=parent.Vrand*40+vrand()*8;
ParentVelocity = Velocity;
TextureID = rand(0,16);
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_72728FCA
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
SoftnessDistance = 2.5000000e-001;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_07A88CC8
{
CustomName = "Physics";
Drag = 6.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7BA8472B
{
FieldName = "Vrand";
FieldType = float3;
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_00FC543C";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_00FC543C
{
Expression = "function void Eval()
{
Color = float4(RGB.x, RGB.y, RGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power);
Color = Color * GlowTurb.sample(LifeRatio).x;
Position += float3(ParentVelocity * 0.02 * dt);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A2FF29AF
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_49559E58
{
FieldName = "BranchLength";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5456B137
{
FieldName = "ParentVelocity";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_413490CC
{
AttributeName = "Power";
DefaultValueF4 = float4(2.5000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E43E0316
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
1.9577943e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8620117e-001,
-1.2389421e-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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_80B4C0F1
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
1.8617511e-002,
3.7235029e-002,
9.6040294e-002,
1.6187957e-001,
4.2304891e-001,
4.9290201e-001,
6.5048277e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.9479560e-001,
9.4297880e-001,
1.0245690e+000,
1.0359550e+000,
1.3865941e+000,
4.0372081e+000,
1.1462400e+000,
9.9858201e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
5.2994978e-001,
5.2994978e-001,
7.0677501e-001,
2.2324190e+000,
-1.2589170e+000,
-1.4095018e+000,
1.9320533e+000,
7.6640139e+000,
3.7825663e+000,
1.0116960e+000,
-2.2850899e-001,
-5.1549101e-001,
-3.3260620e-001,
-7.3772722e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
1.8617511e-002,
3.7235029e-002,
5.7597589e-002,
7.4761227e-002,
2.6808780e-001,
5.0780308e-001,
7.5035948e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
3.2795650e-001,
1.0501560e+000,
2.1253221e+000,
3.1906829e+000,
4.8741561e-001,
1.2509789e+000,
9.0204418e-001,
1.0271250e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
5.8984131e-001,
5.8984131e-001,
7.8848600e-001,
8.6239153e-001,
1.0754330e+000,
9.0648472e-001,
2.5512040e-002,
2.8736070e-001,
-1.2872400e+000,
-1.5961140e+000,
6.7877718e-003,
6.8682232e-003,
-3.0582249e-001,
-3.1475419e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_4CE60A08
{
SamplerName = "GlowTurb";
Wavelength = 2.0000000e-001;
Strength = 2.1213202e-001;
Lacunarity = 4.3478259e-001;
Gain = 7.3429948e-001;
TimeScale = 6.0000000e+000;
FlowFactor = -3.7681162e-001;
DivergenceFactor = -7.0531404e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_62EDB30F
{
FieldName = "TextureID";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_34193718
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_72728FCA",
};
}

View file

@ -0,0 +1,963 @@
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);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.8000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8ED4ECCD",
"$LOCAL$/CParticleFieldDeclaration_7BA8472B",
"$LOCAL$/CParticleFieldDeclaration_49559E58",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_3",
"$LOCAL$/Layer_4",
"$LOCAL$/Layer_5",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
BranchLength = rand(0.3,0.6);
Life = BranchLength;
Vrand=vrand();
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/Trail_1",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
IntegrationDtTreshold = 2.0000001e-003;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_413490CC",
"$LOCAL$/CParticleAttributeDeclaration_FE4FC301",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63
{
Expression = "function void Eval()
{
Color=(RGB*sin(LifeRatio*3)).xyz1*0.5;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0000000e-001, 4.4999999e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8ED4ECCD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
CustomName = "Spawner";
SpawnInterval = 4.0000001e-001;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_EC6BEF67";
}
CParticleState $LOCAL$/CParticleState_A25D7514
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_07A88CC8",
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EC6BEF67
{
Renderer = "$LOCAL$/CParticleRenderer_List_34193718";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A2FF29AF",
"$LOCAL$/CParticleFieldDeclaration_5456B137",
"$LOCAL$/CParticleFieldDeclaration_62EDB30F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_E43E0316",
"$LOCAL$/CParticleSamplerDoubleCurve_80B4C0F1",
"$LOCAL$/CParticleSamplerProceduralTurbulence_4CE60A08",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6";
States =
{
"$LOCAL$/CParticleState_A25D7514",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6
{
Expression = "function void Eval()
{
Life = (parent.BranchLength-spawner.LifeRatio*parent.BranchLength) * 1.5;
Size = 0.15;
Velocity=parent.Vrand*20+vrand()*8;
ParentVelocity = Velocity;
TextureID = rand(0,16);
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_72728FCA
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
SoftnessDistance = 2.5000000e-001;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_07A88CC8
{
CustomName = "Physics";
Drag = 6.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7BA8472B
{
FieldName = "Vrand";
FieldType = float3;
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_00FC543C";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_00FC543C
{
Expression = "function void Eval()
{
Color = float4(RGB.x, RGB.y, RGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power);
Color = Color * GlowTurb.sample(LifeRatio).x;
Position += float3(ParentVelocity * 0.02 * dt);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A2FF29AF
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_49559E58
{
FieldName = "BranchLength";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5456B137
{
FieldName = "ParentVelocity";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_413490CC
{
AttributeName = "Power";
DefaultValueF4 = float4(2.5000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E43E0316
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
1.9577943e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8620117e-001,
-1.2389421e-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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_80B4C0F1
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
1.8617511e-002,
3.7235029e-002,
9.6040294e-002,
1.6187957e-001,
4.2304891e-001,
4.9290201e-001,
6.5048277e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.9479560e-001,
9.4297880e-001,
1.0245690e+000,
1.0359550e+000,
1.3865941e+000,
4.0372081e+000,
1.1462400e+000,
9.9858201e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
5.2994978e-001,
5.2994978e-001,
7.0677501e-001,
2.2324190e+000,
-1.2589170e+000,
-1.4095018e+000,
1.9320533e+000,
7.6640139e+000,
3.7825663e+000,
1.0116960e+000,
-2.2850899e-001,
-5.1549101e-001,
-3.3260620e-001,
-7.3772722e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
1.8617511e-002,
3.7235029e-002,
5.7597589e-002,
7.4761227e-002,
2.6808780e-001,
5.0780308e-001,
7.5035948e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
3.2795650e-001,
1.0501560e+000,
2.1253221e+000,
3.1906829e+000,
4.8741561e-001,
1.2509789e+000,
9.0204418e-001,
1.0271250e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
5.8984131e-001,
5.8984131e-001,
7.8848600e-001,
8.6239153e-001,
1.0754330e+000,
9.0648472e-001,
2.5512040e-002,
2.8736070e-001,
-1.2872400e+000,
-1.5961140e+000,
6.7877718e-003,
6.8682232e-003,
-3.0582249e-001,
-3.1475419e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_4CE60A08
{
SamplerName = "GlowTurb";
Wavelength = 2.0000000e-001;
Strength = 2.1213202e-001;
Lacunarity = 4.3478259e-001;
Gain = 7.3429948e-001;
TimeScale = 6.0000000e+000;
FlowFactor = -3.7681162e-001;
DivergenceFactor = -7.0531404e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_62EDB30F
{
FieldName = "TextureID";
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_34193718
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_72728FCA",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_42CC4806
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8192E441",
"$LOCAL$/CParticleFieldDeclaration_9D524798",
"$LOCAL$/CParticleFieldDeclaration_05F4323B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5338501A";
States =
{
"$LOCAL$/CParticleState_CDF0C3E5",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8192E441
{
FieldName = "VRAND";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9D524798
{
FieldName = "LENGTH";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_05F4323B
{
FieldName = "SCALE";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5338501A
{
Expression = "function void Eval()
{
Life = 1;
VRAND=vrand()*rand(0.5,1);
LENGTH=select(rand(0.2,0.4),rand(0.2,0.4),ninja<0.05);
SCALE=rand(0.25,0.3);
}
";
}
CParticleState $LOCAL$/CParticleState_CDF0C3E5
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_EB640E0C",
"$LOCAL$/RIbbonSpawner",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_EB640E0C
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_94D17FBF",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_94D17FBF
{
CustomName = "Physics";
}
CParticleEvolver_Spawner $LOCAL$/RIbbonSpawner
{
CustomName = "Spawner";
SpawnInterval = 3.0000001e-001;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_CBF2F849";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CBF2F849
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_8CD26840";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_95F90C03",
"$LOCAL$/CParticleFieldDeclaration_7DF5C982",
"$LOCAL$/CParticleFieldDeclaration_F29D856D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_372FAA34",
"$LOCAL$/CParticleSamplerCurve_9D569D9D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_8E81BB07";
States =
{
"$LOCAL$/CParticleState_0AF8E2D6",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_8CD26840
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/Fx/Trail_01.dds";
TextureUField = "LifeRatio";
SoftnessDistance = 2.5000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_95F90C03
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7DF5C982
{
FieldName = "VStart";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F29D856D
{
FieldName = "VelocityField";
FieldType = float3;
TransformFilter = rotate;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_372FAA34
{
SamplerName = "Curve_0";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
};
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);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_8E81BB07
{
Expression = "function void Eval()
{
Life = parent.LENGTH;
Size = parent.SCALE;
VStart=parent.VRAND*30;
Velocity = VStart;
}
";
}
CParticleState $LOCAL$/CParticleState_0AF8E2D6
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7D2B2F51",
"$LOCAL$/Script_3",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7D2B2F51
{
CustomName = "Physics";
Drag = 5.0000000e+001;
IntegrationStrategy = Stable;
BounceRestitution = 7.3456788e-001;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_3
{
Descriptor = "$LOCAL$/CParticleDescriptor_42CC4806";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+001;
ContinuousSpawner = false;
FluxFactorExpression = "LOD";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_4E858438
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_3D73DB5B";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_B20E9FBA",
"$LOCAL$/CParticleFieldDeclaration_9A777C05",
"$LOCAL$/CParticleFieldDeclaration_343718AC",
"$LOCAL$/CParticleFieldDeclaration_DF660EDF",
"$LOCAL$/CParticleFieldDeclaration_C2BF578E",
"$LOCAL$/CParticleFieldDeclaration_01DBE669",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_AAF8E0E0",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_838EA123";
States =
{
"$LOCAL$/CParticleState_1C627522",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_3D73DB5B
{
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_B20E9FBA
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9A777C05
{
FieldName = "ID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_343718AC
{
FieldName = "Mass";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DF660EDF
{
FieldName = "BounceRestitution";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C2BF578E
{
FieldName = "Accel";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_01DBE669
{
FieldName = "HighLight";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_AAF8E0E0
{
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_838EA123
{
Expression = "function void Eval()
{
Life = rand(0.25,0.75);
Size = rand(0.01,0.02);
ID=ninja*4;
Velocity=vrand()*ninja*2;
Mass=rand(1,10);
BounceRestitution=rand(0.1,0.5);
HighLight=select(4,rand(50,100),ninja<0.4);
}
";
}
CParticleState $LOCAL$/CParticleState_1C627522
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_3D0BC98D",
"$LOCAL$/CParticleEvolver_Script_74FB30D4",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_3D0BC98D
{
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -1.0000000e+001, 0.0000000e+000);
Drag = 1.0000000e+000;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 127;
BounceRestitution = 1.0000000e+000;
BounceOffset = 1.0000000e-003;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_74FB30D4
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_48FA7627";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_48FA7627
{
Expression = "function void Eval()
{
TextureID=min((ID+LifeRatio*2),4);
Color=float4((RGB*HighLight).xyz1*float4(1-LifeRatio).111w);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_4
{
Descriptor = "$LOCAL$/CParticleDescriptor_4E858438";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.5600000e+002;
FluxFactorExpression = "Density";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_9D569D9D
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.2066094e-002,
3.1208074e-001,
1.0000000e+000,
};
FloatValues =
{
1.2858391e-002,
2.0154548e+000,
1.4803622e+000,
9.8714137e-001,
};
FloatTangents =
{
0.0000000e+000,
2.2504430e+000,
0.0000000e+000,
0.0000000e+000,
-4.9395043e-001,
-1.5444336e+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_3
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_A7C58E24";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A7C58E24
{
Expression = "function void Eval()
{
Color=(0.1*RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),4);
}
";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_8A814AD3
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_0360A9BD",
"$LOCAL$/CParticleFieldDeclaration_3FF47CC4",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_E2B6B8D7";
States =
{
"$LOCAL$/CParticleState_0C3FCCE6",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0360A9BD
{
FieldName = "LENGTH";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_3FF47CC4
{
FieldName = "SCALE";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E2B6B8D7
{
Expression = "function void Eval()
{
Life = 1;
LENGTH=0.5;
SCALE=0.5;
}
";
}
CParticleState $LOCAL$/CParticleState_0C3FCCE6
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_45F85AA1",
"$LOCAL$/CParticleEvolver_Spawner_4D1B3D9B",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_45F85AA1
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_E12FCD78",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E12FCD78
{
CustomName = "Physics";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_4D1B3D9B
{
CustomName = "Spawner";
SpawnInterval = 2.0000000e-001;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_9A7C8EFA";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_9A7C8EFA
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_79B87C45";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_F74FFDEC",
"$LOCAL$/CParticleFieldDeclaration_86923D1F",
"$LOCAL$/CParticleFieldDeclaration_FF6C02CE",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_D06DEDB1",
"$LOCAL$/CParticleSamplerCurve_832E4BB9",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_DFA7DB63";
States =
{
"$LOCAL$/CParticleState_26BB1C62",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_79B87C45
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Quality = CorrectDeformation;
Diffuse = "Textures/FX/RdEvasionTrail.png";
TextureUField = "LifeRatio";
SoftnessDistance = 2.5000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F74FFDEC
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_86923D1F
{
FieldName = "VStart";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FF6C02CE
{
FieldName = "VelocityField";
FieldType = float3;
TransformFilter = rotate;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DFA7DB63
{
Expression = "function void Eval()
{
Life = parent.LENGTH;
Size = parent.SCALE;
}
";
}
CParticleState $LOCAL$/CParticleState_26BB1C62
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_F2B1E1CD",
"$LOCAL$/CParticleEvolver_Script_25530E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_F2B1E1CD
{
CustomName = "Physics";
Drag = 5.0000000e+001;
IntegrationStrategy = Stable;
BounceRestitution = 7.3456788e-001;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_25530E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_4E54FC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4E54FC67
{
Expression = "function void Eval()
{
Size = SizeCurve.sample(LifeRatio) * 0.5;
Color=ColorCurve.sample(LifeRatio);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_5
{
Descriptor = "$LOCAL$/CParticleDescriptor_8A814AD3";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
ContinuousSpawner = false;
FluxFactorExpression = "LOD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D06DEDB1
{
SamplerName = "ColorCurve";
ValueType = Float4;
Times =
{
0.0000000e+000,
1.8634853e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0017110e+000,
1.0017110e+000,
1.0017110e+000,
1.0017110e+000,
6.4638555e-003,
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,
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,
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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_832E4BB9
{
SamplerName = "SizeCurve";
Times =
{
0.0000000e+000,
8.2826979e-002,
1.0000000e+000,
};
FloatValues =
{
4.7577918e-003,
6.7707145e-001,
3.0769232e-001,
};
FloatTangents =
{
0.0000000e+000,
1.6325185e+000,
0.0000000e+000,
0.0000000e+000,
-3.1088161e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FE4FC301
{
AttributeName = "Distortion";
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);
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,562 @@
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";
}

View file

@ -0,0 +1,340 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(711, 177);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-521, 288);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_4CE336B0",
"$LOCAL$/CParticleAttributeDeclaration_F1D44C8A",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(334, 131);
ChildList =
{
"$LOCAL$/Main_Lot",
};
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_0BF9AEAA
{
EditorInfosPosition = int2(-773, 966);
CustomName = "Rotation";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_75B28038
{
EditorInfosPosition = int2(-862, 847);
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4257952e+000,
};
FloatTangents =
{
0.0000000e+000,
2.6747651e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/Main_Lot
{
EditorInfosPosition = int2(170, 355);
Descriptor = "$LOCAL$/CParticleDescriptor_11D3CC4E";
DurationInSeconds = 5.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.4000000e+001;
SpawnCountRelativeRandomDeviation = 9.6650624e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_11D3CC4E
{
EditorInfosPosition = int2(25, 339);
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9BC51382",
"$LOCAL$/CParticleSamplerShape_C08BEC3D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_64616D38";
States =
{
"$LOCAL$/CParticleState_FBAD371B",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1CCBE1BA
{
EditorInfosPosition = int2(-564, 791);
FieldName = "SizeCoeff";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_64616D38
{
EditorInfosPosition = int2(-153, 300);
Expression = "function void Eval()
{
Life = rand(0.1,0.1);
Position = PositionSampler.samplePosition();
Velocity = VelocitySampler.samplePosition();
float3 v = Velocity * (Throttle * rand(0.9,1.1));
float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude;
float2 sc(sin(a), cos(a));
Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y);
}";
}
CParticleState $LOCAL$/CParticleState_FBAD371B
{
EditorInfosPosition = int2(-79, 590);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6735766D",
"$LOCAL$/Flames",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_71334881
{
EditorInfosPosition = int2(-561, 708);
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6735766D
{
EditorInfosPosition = int2(-249, 591);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, -4.0000000e+000, 0.0000000e+000);
Drag = 5.0000000e-001;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 10;
BounceRestitution = 3.0000001e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9BC51382
{
EditorInfosPosition = int2(-151, 367);
SamplerName = "PositionSampler";
Shape = "$LOCAL$/CShapeDescriptor_7604A941";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_7604A941
{
EditorInfosPosition = int2(-247, 365);
Position = float3(0.0000000e+000, 5.0000000e-001, 0.0000000e+000);
ShapeType = CYLINDER;
Height = 1.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_76658303
{
EditorInfosPosition = int2(-563, 749);
FieldName = "ColorCoeff";
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_47935F34
{
EditorInfosPosition = int2(-771, 909);
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_6C525127";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6C525127
{
EditorInfosPosition = int2(-867, 908);
ValueType = Float4;
Times =
{
0.0000000e+000,
5.4656118e-001,
1.0000000e+000,
};
FloatValues =
{
9.0934319e+001,
1.3986397e+001,
1.7998699e+001,
6.4612997e-001,
2.0020180e+000,
3.2926569e+000,
1.8174667e+001,
6.2580526e-001,
4.0447617e-001,
3.1013393e-001,
1.5977338e+002,
6.6386294e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-2.6088153e+002,
0.0000000e+000,
-1.7204933e+000,
-1.3908102e-004,
-1.1845771e+000,
-2.7747216e+000,
-1.7301447e+000,
-6.2706225e-002,
-9.8275036e-001,
-2.3019683e+000,
-1.4353650e+000,
-5.2022416e-002,
-4.1536111e-001,
-1.0189198e+000,
-3.1635962e+000,
1.2417855e-004,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_FF6840D9
{
EditorInfosPosition = int2(-767, 850);
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_75B28038";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_4CE336B0
{
EditorInfosPosition = int2(-690, 285);
AttributeName = "Throttle";
AttributeDescription = "Flamethrower power / flame velocity\\nLower values throw flames closer.\\nHigher values throw flames further";
DefaultValueF4 = float4(8.0000001e-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_F1D44C8A
{
EditorInfosPosition = int2(-691, 331);
AttributeName = "ShakeAmplitude";
AttributeDescription = "Horizontal sinusoidal shake amplitude";
DefaultValueF4 = float4(2.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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BCFD71B2
{
EditorInfosPosition = int2(-767, 1024);
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_707791AD";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_707791AD
{
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 * 4;
Size *= SizeCoeff * 0.5;
}";
}
CParticleEvolver_Spawner $LOCAL$/Flames
{
EditorInfosPosition = int2(-283, 669);
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 9.9999998e-003;
Descriptor = "$LOCAL$/CParticleDescriptor_1BC47A3F";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1BC47A3F
{
EditorInfosPosition = int2(-389, 723);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_D6BD72B1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_71334881",
"$LOCAL$/CParticleFieldDeclaration_76658303",
"$LOCAL$/CParticleFieldDeclaration_1CCBE1BA",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06";
States =
{
"$LOCAL$/CParticleState_26784AB0",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06
{
EditorInfosPosition = int2(-568, 830);
Expression = "function void Eval()
{
float couillunessFactor = pow(rand(0, 1), 8);
Life = 0.1 + (0.2 + couillunessFactor * 1.5) * spawner.LifeRatio;
Size = rand(0.2,0.5);
Rotation = rand(-2,2);
ScalarRotationSpeed = 0;//rand(-1,1);
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.1;
Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0);//float3(0,0,-2);
}";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_D6BD72B1
{
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);
}
CParticleState $LOCAL$/CParticleState_26784AB0
{
EditorInfosPosition = int2(-570, 876);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_60A47EB3",
"$LOCAL$/CParticleEvolver_Field_FF6840D9",
"$LOCAL$/CParticleEvolver_Field_47935F34",
"$LOCAL$/CParticleEvolver_Rotation_0BF9AEAA",
"$LOCAL$/CParticleEvolver_Script_BCFD71B2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_60A47EB3
{
EditorInfosPosition = int2(-773, 805);
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 1.0000000e+000, 0.0000000e+000);
Drag = 1.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DC850E0B
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_C08BEC3D
{
EditorInfosPosition = int2(-149, 416);
SamplerName = "VelocitySampler";
Shape = "$LOCAL$/CShapeDescriptor_FF71004F";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_FF71004F
{
EditorInfosPosition = int2(-241, 420);
ShapeType = SPHERE;
Radius = 5.0000000e-001;
}

View file

@ -0,0 +1,588 @@
Version = 1.9.1.28491;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Orb
{
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
DurationInSeconds = 3.0000001e-001;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
Renderer = "$LOCAL$/CParticleRenderer_List_D3DFCBD1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_80B0C760",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_5AE49035",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
ChildList =
{
"$LOCAL$/Orb",
"$LOCAL$/RadialBolts",
"$LOCAL$/OrbBolts",
"$LOCAL$/CircularBolts",
};
}
CParticleRenderer_Mesh_Descriptor $LOCAL$/CParticleRenderer_Mesh_Descriptor_3531EA78
{
Mesh = "Meshes/Sphere_01.pkmm";
Material = Additive_NoAlpha;
MaterialParametersFields =
{
"DiffuseColor = Color",
};
Diffuse = "Textures/SphereNoise_01.dds";
CustomName = "Mesh_Descriptor";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
Expression = "function void Eval()
{
Life = 0.5;
Size = 0.25;
Color=ColorFadeIn*4;
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/CParticleEvolver_Script_C7F67E68",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
CustomName = "Physics";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_5AE49035
{
SamplerName = "Noise";
Strength = 8.8388346e-002;
Gain = 1.0000000e+000;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_99B492E9",
"$LOCAL$/CParticleAttributeDeclaration_567EF6EC",
};
}
CParticleRenderer_Mesh $LOCAL$/CParticleRenderer_Mesh_2C9EC3A1
{
CustomName = "Mesh";
Meshes =
{
"$LOCAL$/CParticleRenderer_Mesh_Descriptor_3531EA78",
};
ScaleField = "Size";
EulerRotationField = "Rotation";
RotationAxisField = "Rotation";
RotationAxisAngleField = "";
}
CParticleRenderer_Light $LOCAL$/CParticleRenderer_Light_4205ED56
{
CustomName = "Light";
BillboardingMaterial = Lighting_SplatPass_Spec;
LightRadiusMultiplier = 1.0000000e+001;
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_D3DFCBD1
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Mesh_2C9EC3A1",
"$LOCAL$/CParticleRenderer_Light_4205ED56",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_C7F67E68
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3F4E494B";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3F4E494B
{
Expression = "function void Eval()
{
float a = scene.Time*5;
float3 n = Noise.samplePotential(Position + float3(LifeRatio, sin(a)*2, cos(a)*2));
Rotation = n * 3;
// NOTE: the following isn\'t very good practise.
// it\'s considered bad to do rands at evolve as it\'s non-coherent frame-by-frame
// it\'d better to sample a noise-field to get coherent noise.
// ie: when slowing down time or having faster framerates, you\'d get the same results.
Size = 0.16 + abs(n.x) * 0.15;
// float n = Noise.samplePotential(Position + float3(LifeRatio*0.1, 0, 0)).x % 1;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/RadialBolts
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_37AC2E75";
DurationInSeconds = 5.0000000e-001;
SpawnCount = 4.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_37AC2E75
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_199C320E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_DA0783DC";
States =
{
"$LOCAL$/CParticleState_2B870D3E",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DA0783DC
{
Expression = "function void Eval()
{
Life = 0.1;
Vrand = vrand()*10;
Velocity = Vrand;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E6CE8317
{
CustomName = "Physics";
}
CParticleState $LOCAL$/CParticleState_2B870D3E
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_EBADF5D9",
"$LOCAL$/RadialLightning",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_EBADF5D9
{
CustomName = "Physics";
}
CParticleEvolver_Spawner $LOCAL$/RadialLightning
{
CustomName = "Spawner";
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_33C803D2";
}
CParticleState $LOCAL$/CParticleState_B5690913
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_E6CE8317",
"$LOCAL$/CParticleEvolver_Field_8426CB20",
"$LOCAL$/CParticleEvolver_Script_63C753DB",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_33C803D2
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_18324426";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8B6EFAB8",
"$LOCAL$/CParticleFieldDeclaration_629949A3",
"$LOCAL$/CParticleFieldDeclaration_AAC9F3CE",
"$LOCAL$/CParticleFieldDeclaration_9E7097A9",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_7AA7172A",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0D7425FD";
States =
{
"$LOCAL$/CParticleState_B5690913",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0D7425FD
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 0.04;
Position=vrand()*0.05;
CFI=ColorFadeIn;
CFO=ColorFadeOut;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_18324426
{
CustomName = "Ribbon";
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8B6EFAB8
{
FieldName = "TextureID";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_63C753DB
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_0333423A";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0333423A
{
Expression = "function void Eval()
{
Size=0.1*LifeRatio;
Color *=(CFI-(LifeRatio*CFI)) + (LifeRatio*CFO);
float n = Noise.samplePotential(Position + float3(LifeRatio*0.1, 0, 0)).x % 1;
TextureID = n * 16;
// TextureID = rand(0,16);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_80B0C760
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_199C320E
{
FieldName = "Vrand";
FieldType = float3;
TransformFilter = rotate;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_99B492E9
{
AttributeName = "ColorFadeIn";
AttributeType = float4;
DefaultValueF4 = float4(9.0841579e-001, 2.3762380e-001, 1.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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_629949A3
{
FieldName = "Color";
FieldType = float4;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_567EF6EC
{
AttributeName = "ColorFadeOut";
AttributeType = float4;
DefaultValueF4 = float4(1.0000000e+000, 3.9603961e-001, 9.6534699e-002, 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_AAC9F3CE
{
FieldName = "CFI";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9E7097A9
{
FieldName = "CFO";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_8426CB20
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_8141B863";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_8141B863
{
ValueType = Float4;
Times =
{
0.0000000e+000,
2.5000000e-001,
7.5000000e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
4.0000000e+000,
4.0000000e+000,
4.0000000e+000,
4.0000000e+000,
4.0000000e+000,
4.0000000e+000,
4.0000000e+000,
4.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,
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,
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,
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);
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_7AA7172A
{
SamplerName = "Noise";
Strength = 8.8388346e-002;
Gain = 1.0000000e+000;
}
CActionFactoryParticleSpawnerBase $LOCAL$/CircularBolts
{
Descriptor = "$LOCAL$/CParticleDescriptor_62CBE758";
DurationInSeconds = 5.0000000e-001;
SpawnCount = 2.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_62CBE758
{
Renderer = "$LOCAL$/CParticleRenderer_Mesh_32DA6CFB";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_CE2238A5",
"$LOCAL$/CParticleFieldDeclaration_DBC441CC",
"$LOCAL$/CParticleFieldDeclaration_C097DE7F",
"$LOCAL$/CParticleFieldDeclaration_4B078FAE",
"$LOCAL$/CParticleFieldDeclaration_B3947096",
"$LOCAL$/CParticleFieldDeclaration_52802A1F",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_68CE7109";
States =
{
"$LOCAL$/CParticleState_D662F000",
};
}
CParticleRenderer_Mesh $LOCAL$/CParticleRenderer_Mesh_32DA6CFB
{
CustomName = "Mesh";
Meshes =
{
"$LOCAL$/CParticleRenderer_Mesh_Descriptor_EE69C1DA",
};
Scale = float3(1.0000000e+000, 2.5000000e-001, 1.0000000e+000);
ScaleField = "Size";
EulerRotationField = "Rotation";
RotationAxisField = "Rotation";
RotationAxisAngleField = "";
}
CParticleRenderer_Mesh_Descriptor $LOCAL$/CParticleRenderer_Mesh_Descriptor_EE69C1DA
{
Mesh = "Meshes/Cylinder_01.pkmm";
Material = Additive_NoAlpha;
MaterialParametersFields =
{
"DiffuseColor = Color",
};
Diffuse = "Textures/LightningBranch_01.dds";
CustomName = "Mesh_Descriptor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CE2238A5
{
FieldName = "Size";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DBC441CC
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C097DE7F
{
FieldName = "Random";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4B078FAE
{
FieldName = "RandAngle";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B3947096
{
FieldName = "CFI";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_52802A1F
{
FieldName = "CFO";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_68CE7109
{
Expression = "function void Eval()
{
Life = rand(0.25,0.5);
Random=ninja;
RandAngle=rand(-pi,pi);
CFI=ColorFadeIn;
CFO=ColorFadeOut;
}
";
}
CParticleState $LOCAL$/CParticleState_D662F000
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_C3CC4EC3",
"$LOCAL$/CParticleEvolver_Script_2079C22D",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_C3CC4EC3
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_2079C22D
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E5AE45F4";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E5AE45F4
{
Expression = "function void Eval()
{
float sc=pow(LifeRatio,0.25+Random*0.25)*(0.5+Random*0.5);
Size=float3(sc,0.5+Random*1.5,sc);
Color=pow(1-LifeRatio,2+Random*2)*500;
Rotation=float3(RandAngle,10*pow(LifeRatio,0.5)*(Random-0.5),RandAngle);
Color *=(CFI-(LifeRatio*CFI)) + (LifeRatio*CFO);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/OrbBolts
{
Descriptor = "$LOCAL$/CParticleDescriptor_1BF607A2";
DurationInSeconds = 5.0000000e-001;
SpawnCount = 2.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1BF607A2
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_315E0F54";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_ECDC7308",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_14058E0D";
States =
{
"$LOCAL$/CParticleState_060F76A7",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_315E0F54
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_02.dds";
AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_ECDC7308
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_14058E0D
{
Expression = "function void Eval()
{
Life = 1.0;
Size = 0.25;
Velocity=vrand()*0.3;
TextureID=rand(0,4);
Color=ColorFadeIn*100;
}
";
}
CParticleState $LOCAL$/CParticleState_060F76A7
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_759576F6",
"$LOCAL$/CParticleEvolver_Rotation_EFC2F011",
"$LOCAL$/CParticleEvolver_Script_3C9B45F1",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_759576F6
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_3C9B45F1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_9E9B0A6B";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_9E9B0A6B
{
Expression = "function void Eval()
{
Color*=(1-pow(LifeRatio,4));
// NOTE: the following isn\'t very good practise.
// it\'s considered bad to do rands at evolve as it\'s non-coherent frame-by-frame
// it\'d better to sample a noise-field to get coherent noise.
// ie: when slowing down time or having faster framerates, you\'d get the same results.
TextureID=rand(0,4);
Rotation=rand(-pi,pi);
Size = rand(0.1,0.2);
}
";
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_EFC2F011
{
CustomName = "Rotation";
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,356 @@
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";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 3.0000000e+002;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_CBEB632D",
"$LOCAL$/CParticleFieldDeclaration_A6FFE779",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_BFD04111",
"$LOCAL$/CParticleSamplerProceduralTurbulence_8E7D769B",
"$LOCAL$/CParticleSamplerCurve_F2CD6F30",
"$LOCAL$/CParticleSamplerShape_3E09C57A",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
Diffuse = "Textures/FX/bokeh_diffraction_xsmall.dds";
AtlasDefinition = "Textures/FX/bokeh_diffraction.pkat";
SoftAnimationBlending = true;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Size = 0.05;
Position = StartPosition.samplePosition();
// Velocity = float3(0,pow(sin(scene.Time)*0.5+0.5,2)+2,0);//rand(-1.0.xxx, 1.0.xxx) * float3(1,0.2,1) + float3(0,2,0);
Velocity = float3(0,0.1,0);
// Brightness = 5 + step(ninja, 0.95) * 100;
float power = BrightnessSelector.sample(ninja);
Life = 12.0 + power * 5;
Brightness = power * 100;
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/Field_1",
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
ConstantVelocityField = float3(0.0000000e+000, 9.9999998e-003, 0.0000000e+000);
Drag = 1.0000000e+000;
VelocityFieldSampler = "Turb_0";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_4EFEBBFA",
"$LOCAL$/CParticleAttributeDeclaration_731FAD45",
"$LOCAL$/CParticleAttributeDeclaration_A93E82EC",
"$LOCAL$/CParticleAttributeDeclaration_D130A61F",
"$LOCAL$/CParticleAttributeDeclaration_0AC61FCE",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_CBEB632D
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Field $LOCAL$/Field_1
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_777BFAC7";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_777BFAC7
{
ValueType = Float4;
Times =
{
0.0000000e+000,
8.8679262e-002,
8.9314032e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
5.9527493e-001,
5.8135343e-001,
4.2271119e-001,
9.8072559e-001,
2.5069571e-001,
5.2228272e-001,
8.1159347e-001,
5.5738533e-001,
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,
-9.7854652e-002,
-3.4917984e-002,
-6.6325706e-003,
0.0000000e+000,
-8.8769633e-001,
-3.1676129e-001,
-6.0167897e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.5176258e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-2.0159213e-001,
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);
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_8B1C3D96";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_8B1C3D96
{
Expression = "function void Eval()
{
float distToView = dot(Position - ViewPosition, ViewDirection);
float dofSignedDist = distToView - FocusDistance;
float dofDist = abs(dofSignedDist);
float dofFactor = min(1, max(0, dofDist - FocusRange.y) / FocusRange.x);
float dofFactorNonLin = pow(dofFactor,2);
float cocFactor = dofFactorNonLin;
float cocScale = distToView * cocFactor;
float realSize = 0.01;
float newSize = realSize + cocScale * MaxCocRadius;
float areaDiffusion = pow(realSize / newSize, 2);
float cocBias = sqrt(min(realSize / (newSize - realSize), 100)); // hack
TextureID = 3*(1-cocFactor) + 2*cocBias;
Size = newSize;
Color *= (areaDiffusion*Brightness).111x;
// Color = DOF_DEBUG.sample(1-cocFactor);
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_BFD04111
{
SamplerName = "DOF_DEBUG";
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
9.8960614e-001,
0.0000000e+000,
1.0000000e+000,
0.0000000e+000,
9.8960614e-001,
};
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,
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);
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_8E7D769B
{
SamplerName = "Turb_0";
Strength = 8.8388346e-002;
TimeScale = 5.0000000e-001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_4EFEBBFA
{
AttributeName = "FocusDistance";
AttributeDescription = "Distance from the focus plane to the camera";
DefaultValueF4 = float4(1.4457840e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(2.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_731FAD45
{
AttributeName = "FocusRange";
AttributeType = float2;
AttributeDescription = "Distance from the in-focus to the out-of-focus plane in \'x\'\\nSize of the fully-focused zone in \'y\'";
DefaultValueF4 = float4(2.2891560e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(4.0000000e+001, 2.0000000e+001, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_A93E82EC
{
AttributeName = "MaxCocRadius";
AttributeDescription = "Radius of the Bokeh when fully out of focus.\\n(Warning: larger values can quickly become EXTREMELTY HEAVY on overdraw\\nand can bring your GPU to its knees...)";
DefaultValueF4 = float4(5.0000001e-002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e-001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_D130A61F
{
AttributeName = "ViewPosition";
AttributeType = float3;
AttributeDescription = "Camera position (Will be auto-filled by the editor)";
MinValueF4 = float4(-1.0000000e+002, -1.0000000e+002, -1.0000000e+002, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+002, 1.0000000e+002, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0AC61FCE
{
AttributeName = "ViewDirection";
AttributeType = float3;
AttributeDescription = "Normalized camera direction (Will be auto-filled by the editor)";
HasMin = true;
HasMax = true;
MinValueF4 = float4(-1.0000000e+000, -1.0000000e+000, -1.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A6FFE779
{
FieldName = "Brightness";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_F2CD6F30
{
SamplerName = "BrightnessSelector";
Times =
{
0.0000000e+000,
9.8499995e-001,
9.8999995e-001,
1.0000000e+000,
};
FloatValues =
{
4.9999997e-002,
1.4027023e-001,
9.8938227e-001,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
1.9461302e-001,
9.8788249e-004,
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);
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3E09C57A
{
SamplerName = "StartPosition";
Shape = "$LOCAL$/CShapeDescriptor_B59AB4C5";
SampleDimensionality = Volume;
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_B59AB4C5
{
ShapeType = SPHERE;
Radius = 2.5000000e+001;
}

View file

@ -0,0 +1,257 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Link_lerpFunction
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+002;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_8301E75F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_58015AE9",
"$LOCAL$/CParticleFieldDeclaration_B775D1A3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Link_lerpFunction",
"$LOCAL$/Others",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_8301E75F
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/SymmetricGradient.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.2;
Size = Thickness;
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_70E40A2D",
"$LOCAL$/CParticleAttributeDeclaration_95C22DF4",
"$LOCAL$/CParticleAttributeDeclaration_96C9169E",
"$LOCAL$/CParticleAttributeDeclaration_02AFD60A",
};
SamplerList =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_EB192F60",
};
}
CParticleState $LOCAL$/CParticleState_B3CB37AE
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_95C22DF4
{
AttributeName = "Target";
AttributeType = float3;
DefaultValueF4 = float4(-2.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MinValueF4 = float4(-1.0000000e+001, -1.0000000e+001, -1.0000000e+001, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+001, 1.0000000e+001, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_2
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Script_95A75800",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_70AF6F2C";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_70AF6F2C
{
Expression = "function void Eval()
{
Pos = lerp(0,Target,LifeRatio); // Movement between 2 position with lerp function
float3 Turb = Turb_0.sample(Pos); // Sampling of the turbulence
Position = Pos + Turb * pow(sin(LifeRatio*3),2); // Using sin to lerp with turbulence position in the middle life of the particles
// same using of sin to blend opacity between the start and end and use a lerp function to blend 2 color during the life particles
Color=pow(sin(LifeRatio*3),1.25)*lerp(RGBstart.xyz1,RGBend.xyz1,LifeRatio);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_58015AE9
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_EB192F60
{
SamplerName = "Turb_0";
GlobalScale = 1.0000000e-001;
Wavelength = 1.0000000e+000;
Strength = 2.9999999e-002;
Lacunarity = 3.1724140e-001;
Gain = 8.7241381e-001;
TimeScale = 8.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B775D1A3
{
FieldName = "Pos";
FieldType = float3;
TransformFilter = full;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_FD4E0A1D
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_84A334A4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_6F8DDE37",
"$LOCAL$/CParticleFieldDeclaration_86892DC6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0A02E67F";
States =
{
"$LOCAL$/CParticleState_B3CB37AE",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_84A334A4
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/SymmetricGradient.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6F8DDE37
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_86892DC6
{
FieldName = "Pos";
FieldType = float3;
TransformFilter = full;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_60B4D6C3
{
Expression = "function void Eval()
{
Pos = lerp(0,Target,LifeRatio);
float3 Turb = Turb_0.sample(Pos * 0.1);
Position = Pos + Turb * pow(sin(LifeRatio*3),2);
Color = pow(sin(LifeRatio*3),1.25)*lerp(RGBstart.xyz1,RGBend.xyz1,LifeRatio);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/SubLink
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_FD4E0A1D";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+002;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_95A75800
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_60B4D6C3";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_70E40A2D
{
AttributeName = "RGBstart";
AttributeType = float3;
DefaultValueF4 = float4(0.0000000e+000, 1.0000000e+000, 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_0A02E67F
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.2;
Size = Thickness;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_96C9169E
{
AttributeName = "RGBend";
AttributeType = float3;
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);
}
CActionFactoryWithChilds $LOCAL$/Others
{
ChildList =
{
"$LOCAL$/SubLink",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_02AFD60A
{
AttributeName = "Thickness";
DefaultValueF4 = float4(4.0000002e-003, 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);
}

View file

@ -0,0 +1,216 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Starlight",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float4;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 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_1BCEDEFE
{
AttributeName = "Power";
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Starlight
{
Descriptor = "$LOCAL$/CParticleDescriptor_AB7EC2E2";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AB7EC2E2
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_98BF80E7";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_01646094",
"$LOCAL$/CParticleFieldDeclaration_32074B2F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_40DEE74A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D";
States =
{
"$LOCAL$/CParticleState_ABE52E36",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D
{
Expression = "function void Eval()
{
Life = rand(0.5,1);
Size = rand(0.2,0.5);
Color = float4(1.0);
Target = float3(rand(1,10),rand(1,10),rand(1,10));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_01646094
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_98BF80E7
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Starlight.png";
}
CParticleState $LOCAL$/CParticleState_ABE52E36
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/Script_1",
};
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_40DEE74A
{
SamplerName = "AlphaCurve";
Times =
{
0.0000000e+000,
2.3615220e-001,
5.6383878e-001,
8.2244629e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.1440367e+000,
9.9042088e-002,
7.9212719e-001,
1.1273320e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
3.3561143e-001,
4.6569717e-001,
1.4082058e-001,
1.1113440e-001,
-9.4605821e-001,
-6.4954060e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.5254011e-001,
5.4675919e-001,
8.4582168e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.7732545e-001,
4.2903140e-001,
1.6624220e-001,
1.9126390e-003,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
1.5548030e-001,
1.8114072e-001,
1.4708639e+000,
1.4950771e+000,
-4.6752223e-001,
-2.4102570e-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_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_903292D5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_903292D5
{
Expression = "function void Eval()
{
float3 Pos = lerp(0,Target,LifeRatio);
Color = RGB * pow(1 + AlphaTurb.sample(Pos).x,AlphaCurve.sample(LifeRatio)) * pow(2,Power);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC
{
SamplerName = "AlphaTurb";
GlobalScale = 3.0000000e+000;
Strength = 4.0000001e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
Interpolator = Quintic;
TimeScale = 1.0000000e-001;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_32074B2F
{
FieldName = "Target";
FieldType = float3;
}

View file

@ -0,0 +1,403 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Starlight",
"$LOCAL$/Layer_1",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_9078374F",
"$LOCAL$/CParticleAttributeDeclaration_60B79B3A",
"$LOCAL$/CParticleAttributeDeclaration_EF0E5D85",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float4;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 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_1BCEDEFE
{
AttributeName = "Power";
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9078374F
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(6.0270268e-001, 5.1351351e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Starlight
{
Descriptor = "$LOCAL$/CParticleDescriptor_AB7EC2E2";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AB7EC2E2
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_98BF80E7";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_01646094",
"$LOCAL$/CParticleFieldDeclaration_32074B2F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_40DEE74A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D";
States =
{
"$LOCAL$/CParticleState_ABE52E36",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D
{
Expression = "function void Eval()
{
Life = rand(0.5,1);
Size = rand(0.3,0.75);
Color = float4(1.0);
Target = float3(rand(1,10),rand(1,10),rand(1,10));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_01646094
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_98BF80E7
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Starlight.png";
}
CParticleState $LOCAL$/CParticleState_ABE52E36
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/Script_1",
};
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_40DEE74A
{
SamplerName = "AlphaCurve";
Times =
{
0.0000000e+000,
2.3615220e-001,
5.6383878e-001,
8.2244629e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.1440367e+000,
9.9042088e-002,
7.9212719e-001,
1.1273320e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
3.3561143e-001,
4.6569717e-001,
1.4082058e-001,
1.1113440e-001,
-9.4605821e-001,
-6.4954060e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.5254011e-001,
5.4675919e-001,
8.4582168e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.7732545e-001,
4.2903140e-001,
1.6624220e-001,
1.9126390e-003,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
1.5548030e-001,
1.8114072e-001,
1.4708639e+000,
1.4950771e+000,
-4.6752223e-001,
-2.4102570e-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_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_903292D5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_903292D5
{
Expression = "function void Eval()
{
float3 Pos = lerp(0,Target,LifeRatio);
Color = RGB * pow(1 + AlphaTurb.sample(Pos).x,AlphaCurve.sample(LifeRatio)) * pow(2,Power);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC
{
SamplerName = "AlphaTurb";
GlobalScale = 3.0000000e+000;
Strength = 4.0000001e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
Interpolator = Quintic;
TimeScale = 1.0000000e-001;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_32074B2F
{
FieldName = "Target";
FieldType = float3;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D2FE5656
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_List_179BE8D1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D8B7456A",
"$LOCAL$/CParticleFieldDeclaration_66453B75",
"$LOCAL$/CParticleFieldDeclaration_99DF14DC",
"$LOCAL$/CParticleFieldDeclaration_B062A6CF",
"$LOCAL$/CParticleFieldDeclaration_E9DAD63E",
"$LOCAL$/CParticleFieldDeclaration_D038F2D9",
"$LOCAL$/CParticleFieldDeclaration_DC8BAE10",
"$LOCAL$/CParticleFieldDeclaration_6375DE13",
"$LOCAL$/CParticleFieldDeclaration_12BAFCD2",
"$LOCAL$/CParticleFieldDeclaration_B27612FD",
"$LOCAL$/CParticleFieldDeclaration_C0D57F04",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_320EC817";
States =
{
"$LOCAL$/CParticleState_29A56D26",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_179BE8D1
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_5D5B3E4B",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D8B7456A
{
FieldName = "PosSphere";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66453B75
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_99DF14DC
{
FieldName = "AxisUp";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B062A6CF
{
FieldName = "Speed";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E9DAD63E
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D038F2D9
{
FieldName = "ColorCoeff";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DC8BAE10
{
FieldName = "ColorG";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6375DE13
{
FieldName = "Pos";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_12BAFCD2
{
FieldName = "Offset";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B27612FD
{
FieldName = "AxisUpG";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C0D57F04
{
FieldName = "InitPosition";
FieldType = float3;
TransformFilter = full;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_320EC817
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.01;
float3 v = vrand();
PosSphere = v*0.2*Scale;
Speed = ninja*2-1;
ColorCoeff = select(1,10,ninja<0.1);
Axis = float3(0,1,0);
Offset = select(0.5,0.75,ninja<0.5);
InitPosition = Position;
}
";
}
CParticleState $LOCAL$/CParticleState_29A56D26
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_79C25FE1",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_79C25FE1
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_20539BB8";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_20539BB8
{
Expression = "function void Eval()
{
Color = (sin(LifeRatio*3)*RGB.xyz*ColorCoeff).xyz1 * pow(2,1);
ColorG = Color*0.2;
Pos = rotate(PosSphere * Offset, scene.axisUp(), scene.Time*Speed*2);
AxisUp = normalize(Pos);
AxisUpG = AxisUp * Offset * Scale;
Position = InitPosition + Pos;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_D2FE5656";
Infinite = true;
DurationInSeconds = 2.0000000e+001;
SpawnCount = 3.0000000e+000;
FluxFactorExpression = "Flux";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_60B79B3A
{
AttributeName = "Flux";
DefaultValueF4 = float4(5.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+003, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF0E5D85
{
AttributeName = "Scale";
DefaultValueF4 = float4(7.5862062e-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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5D5B3E4B
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
BillboardMode = VelocityAxisAligned;
ColorField = "ColorG";
AxisField = "AxisUpG";
Axis2Field = "AxisUp";
AxisScale = 1.0000000e+000;
}

View file

@ -0,0 +1,513 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Starlight",
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_9078374F",
"$LOCAL$/CParticleAttributeDeclaration_60B79B3A",
"$LOCAL$/CParticleAttributeDeclaration_EF0E5D85",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float4;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 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_1BCEDEFE
{
AttributeName = "Power";
DefaultValueF4 = float4(1.3103449e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9078374F
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(6.0270268e-001, 5.1351351e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Starlight
{
Descriptor = "$LOCAL$/CParticleDescriptor_AB7EC2E2";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AB7EC2E2
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_98BF80E7";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_01646094",
"$LOCAL$/CParticleFieldDeclaration_32074B2F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_40DEE74A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D";
States =
{
"$LOCAL$/CParticleState_ABE52E36",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D
{
Expression = "function void Eval()
{
Life = rand(0.5,1);
Size = rand(0.5,1);
Color = float4(1.0);
Target = float3(rand(1,10),rand(1,10),rand(1,10));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_01646094
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_98BF80E7
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Starlight.png";
}
CParticleState $LOCAL$/CParticleState_ABE52E36
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/Script_1",
};
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_40DEE74A
{
SamplerName = "AlphaCurve";
Times =
{
0.0000000e+000,
2.3615220e-001,
5.6383878e-001,
8.2244629e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.1440367e+000,
9.9042088e-002,
7.9212719e-001,
1.1273320e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
3.3561143e-001,
4.6569717e-001,
1.4082058e-001,
1.1113440e-001,
-9.4605821e-001,
-6.4954060e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.5254011e-001,
5.4675919e-001,
8.4582168e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.7732545e-001,
4.2903140e-001,
1.6624220e-001,
1.9126390e-003,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
1.5548030e-001,
1.8114072e-001,
1.4708639e+000,
1.4950771e+000,
-4.6752223e-001,
-2.4102570e-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_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_903292D5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_903292D5
{
Expression = "function void Eval()
{
float3 Pos = lerp(0,Target,LifeRatio);
Color = RGB * pow(1 + AlphaTurb.sample(Pos).x,AlphaCurve.sample(LifeRatio)) * pow(2,Power);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC
{
SamplerName = "AlphaTurb";
GlobalScale = 3.0000000e+000;
Strength = 4.0000001e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
Interpolator = Quintic;
TimeScale = 1.0000000e-001;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_32074B2F
{
FieldName = "Target";
FieldType = float3;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D2FE5656
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_List_179BE8D1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D8B7456A",
"$LOCAL$/CParticleFieldDeclaration_66453B75",
"$LOCAL$/CParticleFieldDeclaration_99DF14DC",
"$LOCAL$/CParticleFieldDeclaration_B062A6CF",
"$LOCAL$/CParticleFieldDeclaration_E9DAD63E",
"$LOCAL$/CParticleFieldDeclaration_D038F2D9",
"$LOCAL$/CParticleFieldDeclaration_DC8BAE10",
"$LOCAL$/CParticleFieldDeclaration_6375DE13",
"$LOCAL$/CParticleFieldDeclaration_12BAFCD2",
"$LOCAL$/CParticleFieldDeclaration_B27612FD",
"$LOCAL$/CParticleFieldDeclaration_C0D57F04",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_320EC817";
States =
{
"$LOCAL$/CParticleState_29A56D26",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_179BE8D1
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_5D5B3E4B",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D8B7456A
{
FieldName = "PosSphere";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66453B75
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_99DF14DC
{
FieldName = "AxisUp";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B062A6CF
{
FieldName = "Speed";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E9DAD63E
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D038F2D9
{
FieldName = "ColorCoeff";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DC8BAE10
{
FieldName = "ColorG";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6375DE13
{
FieldName = "Pos";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_12BAFCD2
{
FieldName = "Offset";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B27612FD
{
FieldName = "AxisUpG";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C0D57F04
{
FieldName = "InitPosition";
FieldType = float3;
TransformFilter = full;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_320EC817
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.01;
float3 v = vrand();
PosSphere = v*0.2*Scale;
Speed = ninja*2-1;
ColorCoeff = select(1,10,ninja<0.1);
Axis = float3(0,1,0);
Offset = select(0.5,0.75,ninja<0.5);
InitPosition = Position;
}
";
}
CParticleState $LOCAL$/CParticleState_29A56D26
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_79C25FE1",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_79C25FE1
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_20539BB8";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_20539BB8
{
Expression = "function void Eval()
{
Color = (sin(LifeRatio*3)*RGB.xyz*ColorCoeff).xyz1 * pow(2,1);
ColorG = Color*0.2;
Pos = rotate(PosSphere * Offset, scene.axisUp(), scene.Time*Speed*2);
AxisUp = normalize(Pos);
AxisUpG = AxisUp * Offset * Scale;
Position = InitPosition + Pos;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_D2FE5656";
Infinite = true;
DurationInSeconds = 2.0000000e+001;
SpawnCount = 3.0000000e+000;
FluxFactorExpression = "Flux";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_60B79B3A
{
AttributeName = "Flux";
DefaultValueF4 = float4(1.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+003, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF0E5D85
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.5172414e+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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5D5B3E4B
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
BillboardMode = VelocityAxisAligned;
ColorField = "ColorG";
AxisField = "AxisUpG";
Axis2Field = "AxisUp";
AxisScale = 1.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_14935FF6
{
InheritInitialVelocity = 1.8316831e-001;
Renderer = "$LOCAL$/CParticleRenderer_List_7C0AE2F1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AB5F7F6B",
"$LOCAL$/CParticleFieldDeclaration_F5290B33",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_0B672F1D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_791CD77C";
States =
{
"$LOCAL$/CParticleState_1FDC4DEF",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_7C0AE2F1
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_5C05D408",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5C05D408
{
CustomName = "Billboard";
Diffuse = "Textures/FX/BB_Glow_02_64.tga";
BillboardMode = VelocityCapsuleAlign;
AxisScale = 5.0000001e-002;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AB5F7F6B
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_791CD77C
{
Expression = "function void Eval()
{
float power = pow(rand(0,1),4); // steep pow curve, only a few sparks are \'powerful\'
Life = 0.6 + pow(power,8) * 4; // very steep pow curve, only very few powerful sparks live long
Size = 0.0015 + power * 0.001; // powerful sparks are slightly bigger
Target = float3(rand(1,10),rand(1,10),rand(1,10));
Velocity = normalize(float3(rand(-10,10),rand(-10,10),rand(-10,10))) * (1 + 1 * power); // powerful sparks go faster
}
";
}
CParticleState $LOCAL$/CParticleState_1FDC4DEF
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6913FBDE",
"$LOCAL$/Script_2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6913FBDE
{
CustomName = "Physics";
Drag = 4.0000000e+000;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 16;
BounceRestitution = 7.5000000e-001;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2
{
Descriptor = "$LOCAL$/CParticleDescriptor_14935FF6";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.0000000e+002;
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_07535EB0";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_07535EB0
{
Expression = "function void Eval()
{
float3 Pos = lerp(0,Target,LifeRatio);
Color = RGB * pow(1 + AlphaTurb.sample(Pos).x,1) * pow(2,Power);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F5290B33
{
FieldName = "Target";
FieldType = float3;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_0B672F1D
{
SamplerName = "AlphaTurb";
GlobalScale = 3.0000000e+000;
Strength = 4.0000001e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
Interpolator = Quintic;
TimeScale = 1.0000000e-001;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}

View file

@ -0,0 +1,990 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Starlight",
"$LOCAL$/Layer_1",
"$LOCAL$/Layer_2",
"$LOCAL$/Layer_3",
"$LOCAL$/Layer_4",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_9078374F",
"$LOCAL$/CParticleAttributeDeclaration_60B79B3A",
"$LOCAL$/CParticleAttributeDeclaration_EF0E5D85",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float4;
DefaultValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 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_1BCEDEFE
{
AttributeName = "Power";
DefaultValueF4 = float4(1.3103449e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9078374F
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(6.0270268e-001, 5.1351351e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Starlight
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_AB7EC2E2";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AB7EC2E2
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_98BF80E7";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_01646094",
"$LOCAL$/CParticleFieldDeclaration_32074B2F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerDoubleCurve_40DEE74A",
"$LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D";
States =
{
"$LOCAL$/CParticleState_ABE52E36",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D
{
Expression = "function void Eval()
{
Life = rand(0.5,1);
Size = rand(0.5,1);
Color = float4(1.0);
Target = float3(rand(1,10),rand(1,10),rand(1,10));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_01646094
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_98BF80E7
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Starlight.png";
}
CParticleState $LOCAL$/CParticleState_ABE52E36
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/Script_1",
};
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_40DEE74A
{
SamplerName = "AlphaCurve";
Times =
{
0.0000000e+000,
2.3615220e-001,
5.6383878e-001,
8.2244629e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.1440367e+000,
9.9042088e-002,
7.9212719e-001,
1.1273320e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
3.3561143e-001,
4.6569717e-001,
1.4082058e-001,
1.1113440e-001,
-9.4605821e-001,
-6.4954060e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
2.5254011e-001,
5.4675919e-001,
8.4582168e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
7.7732545e-001,
4.2903140e-001,
1.6624220e-001,
1.9126390e-003,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
1.5548030e-001,
1.8114072e-001,
1.4708639e+000,
1.4950771e+000,
-4.6752223e-001,
-2.4102570e-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_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_903292D5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_903292D5
{
Expression = "function void Eval()
{
float3 Pos = lerp(0,Target,LifeRatio);
Color = RGB * pow(1 + AlphaTurb.sample(Pos).x,AlphaCurve.sample(LifeRatio)) * pow(2,Power);
}
";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC
{
SamplerName = "AlphaTurb";
GlobalScale = 2.0000000e+000;
Strength = 4.0000001e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
Interpolator = Quintic;
TimeScale = 1.0000000e-001;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_32074B2F
{
FieldName = "Target";
FieldType = float3;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_D2FE5656
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_List_179BE8D1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D8B7456A",
"$LOCAL$/CParticleFieldDeclaration_66453B75",
"$LOCAL$/CParticleFieldDeclaration_99DF14DC",
"$LOCAL$/CParticleFieldDeclaration_B062A6CF",
"$LOCAL$/CParticleFieldDeclaration_E9DAD63E",
"$LOCAL$/CParticleFieldDeclaration_D038F2D9",
"$LOCAL$/CParticleFieldDeclaration_DC8BAE10",
"$LOCAL$/CParticleFieldDeclaration_6375DE13",
"$LOCAL$/CParticleFieldDeclaration_12BAFCD2",
"$LOCAL$/CParticleFieldDeclaration_B27612FD",
"$LOCAL$/CParticleFieldDeclaration_C0D57F04",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_320EC817";
States =
{
"$LOCAL$/CParticleState_29A56D26",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_179BE8D1
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_5D5B3E4B",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D8B7456A
{
FieldName = "PosSphere";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66453B75
{
FieldName = "Axis";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_99DF14DC
{
FieldName = "AxisUp";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B062A6CF
{
FieldName = "Speed";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E9DAD63E
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D038F2D9
{
FieldName = "ColorCoeff";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DC8BAE10
{
FieldName = "ColorG";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6375DE13
{
FieldName = "Pos";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_12BAFCD2
{
FieldName = "Offset";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B27612FD
{
FieldName = "AxisUpG";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C0D57F04
{
FieldName = "InitPosition";
FieldType = float3;
TransformFilter = full;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_320EC817
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.01;
float3 v = vrand();
PosSphere = v*0.2*Scale;
Speed = ninja*2-1;
ColorCoeff = select(1,10,ninja<0.1);
Axis = float3(0,1,0);
Offset = select(0.5,0.75,ninja<0.5);
InitPosition = Position;
}
";
}
CParticleState $LOCAL$/CParticleState_29A56D26
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_79C25FE1",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_79C25FE1
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_20539BB8";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_20539BB8
{
Expression = "function void Eval()
{
Color = (sin(LifeRatio*3)*RGB.xyz*ColorCoeff).xyz1 * pow(2,1);
ColorG = Color*0.2;
Pos = rotate(PosSphere * Offset, scene.axisUp(), scene.Time*Speed*2);
AxisUp = normalize(Pos);
AxisUpG = AxisUp * Offset * Scale;
Position = InitPosition + Pos;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_D2FE5656";
Infinite = true;
DurationInSeconds = 2.0000000e+001;
SpawnCount = 3.0000000e+000;
FluxFactorExpression = "Flux";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_60B79B3A
{
AttributeName = "Flux";
DefaultValueF4 = float4(1.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+003, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF0E5D85
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.5172414e+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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5D5B3E4B
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
BillboardMode = VelocityAxisAligned;
ColorField = "ColorG";
AxisField = "AxisUpG";
Axis2Field = "AxisUp";
AxisScale = 1.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_14935FF6
{
InheritInitialVelocity = 1.8316831e-001;
Renderer = "$LOCAL$/CParticleRenderer_List_7C0AE2F1";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AB5F7F6B",
"$LOCAL$/CParticleFieldDeclaration_F5290B33",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_0B672F1D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_791CD77C";
States =
{
"$LOCAL$/CParticleState_1FDC4DEF",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_7C0AE2F1
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_5C05D408",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_5C05D408
{
CustomName = "Billboard";
Diffuse = "Textures/FX/BB_Glow_02_64.tga";
BillboardMode = VelocityCapsuleAlign;
AxisScale = 5.0000001e-002;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AB5F7F6B
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_791CD77C
{
Expression = "function void Eval()
{
float power = pow(rand(0,1),4); // steep pow curve, only a few sparks are \'powerful\'
Life = 0.6 + pow(power,8) * 4; // very steep pow curve, only very few powerful sparks live long
Size = 0.002 + power * 0.001; // powerful sparks are slightly bigger
Target = float3(rand(1,10),rand(1,10),rand(1,10));
Velocity = normalize(float3(rand(-10,10),rand(-10,10),rand(-10,10))) * (1.5 + 1 * power); // powerful sparks go faster
}
";
}
CParticleState $LOCAL$/CParticleState_1FDC4DEF
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_6913FBDE",
"$LOCAL$/Script_2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6913FBDE
{
CustomName = "Physics";
Drag = 4.0000000e+000;
WorldInteractionMode = OneWay;
BouncesBeforeDeath = 16;
BounceRestitution = 7.5000000e-001;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_2
{
Descriptor = "$LOCAL$/CParticleDescriptor_14935FF6";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.5000000e+002;
}
CParticleEvolver_Script $LOCAL$/Script_2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_07535EB0";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_07535EB0
{
Expression = "function void Eval()
{
float3 Pos = lerp(0,Target,LifeRatio);
Color = RGB * pow(1 + AlphaTurb.sample(Pos).x,1) * pow(1.5,Power);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F5290B33
{
FieldName = "Target";
FieldType = float3;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_0B672F1D
{
SamplerName = "AlphaTurb";
GlobalScale = 3.0000000e+000;
Strength = 4.0000001e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
Interpolator = Quintic;
TimeScale = 1.0000000e-001;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_5AF63C29
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_6D1309A0",
"$LOCAL$/CParticleFieldDeclaration_16EB98E3",
"$LOCAL$/CParticleFieldDeclaration_E8C2E7E2",
"$LOCAL$/CParticleFieldDeclaration_ABA7D34D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_791F1D94",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C473C336";
States =
{
"$LOCAL$/CParticleState_09B56731",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6D1309A0
{
FieldName = "Timeb";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_16EB98E3
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E8C2E7E2
{
FieldName = "FluxScale";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_ABA7D34D
{
FieldName = "NextBranchTime";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_791F1D94
{
SamplerName = "DropSampler";
Shape = "$LOCAL$/CShapeDescriptor_D28281E7";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_D28281E7
{
ShapeType = SPHERE;
Radius = 1.0000000e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C473C336
{
Expression = "function void Eval()
{
Life = 0.2;
Velocity = Scale*float3(rand(-1,1),rand(-1,1),rand(-1,1));
SizeCoeff = Scale*0.05;
FluxScale = pow(Flux,0.5)*2*Scale*0.05;
NextBranchTime = SizeCoeff * (0.5 + 0.25 * pow(rand(0, 1), 2));
Position = DropSampler.samplePosition();
}
";
}
CParticleState $LOCAL$/CParticleState_09B56731
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_85448D48",
"$LOCAL$/CParticleEvolver_Spawner_D5872CBC",
"$LOCAL$/CParticleEvolver_Spawner_AE1EF75D",
"$LOCAL$/CParticleEvolver_Spawner_17377E03",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_85448D48
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_C1FC11AB",
"$LOCAL$/CParticleEvolver_Script_9294EC4A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_C1FC11AB
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_9294EC4A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_0A6E7BD5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0A6E7BD5
{
Expression = "function void Eval()
{
Timeb += dt;
int shouldSpawnBranch = Timeb > 0.01;
float n = 60 * SizeCoeff;
Velocity = select(Velocity,float3(SizeCoeff*rand(-1,1)*100,rand(-n,n),SizeCoeff*rand(-1,1)*100),shouldSpawnBranch);
Timeb = select(Timeb,0,shouldSpawnBranch);
NextBranchTime = select(NextBranchTime, SizeCoeff * (0.05 + 0.25 * pow(rand(0, 1), 2)), shouldSpawnBranch);
}
";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_D5872CBC
{
CustomName = "Spawner";
SpawnInterval = 3.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_78FEAC2F";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_78FEAC2F
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_16DA971E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_80908FF0";
States =
{
"$LOCAL$/CParticleState_9BE97573",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_16DA971E
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_80908FF0
{
Expression = "function void Eval()
{
Life = 0.01;
Color = RGB;
}
";
}
CParticleState $LOCAL$/CParticleState_9BE97573
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_63C0B7B2",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_63C0B7B2
{
CustomName = "Physics";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_AE1EF75D
{
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_B8640AE4";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_B8640AE4
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_BC985177";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D49F0206",
"$LOCAL$/CParticleFieldDeclaration_2C1F2641",
"$LOCAL$/CParticleFieldDeclaration_72D2B198",
"$LOCAL$/CParticleFieldDeclaration_31E7E43B",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_397CEA1A",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_AAE465E5";
States =
{
"$LOCAL$/CParticleState_05AF580C",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_BC985177
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D49F0206
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2C1F2641
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_72D2B198
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_31E7E43B
{
FieldName = "CC";
FieldType = float4;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_397CEA1A
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
7.5512230e-002,
1.6900167e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4312178e+000,
3.8749021e-001,
1.5209466e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_AAE465E5
{
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.4 * Scale * 0.1;
ColorCoeff = 100 * pow(1 - spawner.LifeRatio, 2);
TextureID = rand(0,16);
CC = RGB * 10;
}
";
}
CParticleState $LOCAL$/CParticleState_05AF580C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_0DF991BF",
"$LOCAL$/CParticleEvolver_Physics_28A5A3EE",
"$LOCAL$/CParticleEvolver_Script_B03FFA49",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_0DF991BF
{
CustomName = "Localspace";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_28A5A3EE
{
CustomName = "Physics";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_B03FFA49
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_0AC29240";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0AC29240
{
Expression = "function void Eval()
{
Color=CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
}
";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_17377E03
{
CustomName = "Spawner";
SpawnInterval = 1.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_29FC2382";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_29FC2382
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_0395E76D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9F7EB434",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_68188D07";
States =
{
"$LOCAL$/CParticleState_300F1CD6",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_0395E76D
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Glow_12.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9F7EB434
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_68188D07
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 2 * Scale * 0.1;
Color = RGB * 0.04 * pow(1 - spawner.LifeRatio, 2);
}
";
}
CParticleState $LOCAL$/CParticleState_300F1CD6
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_5280F151",
"$LOCAL$/CParticleEvolver_Physics_D473D1E8",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_5280F151
{
CustomName = "Localspace";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_D473D1E8
{
CustomName = "Physics";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_3
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_5AF63C29";
Infinite = true;
DurationInSeconds = 5.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 8.0000000e+000;
SpawnCountRelativeRandomDeviation = 1.3000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1FB913A6
{
Renderer = "$LOCAL$/CParticleRenderer_List_4E73C861";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_DCC28D5B",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_B3E72B8D",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_114A39BA";
States =
{
"$LOCAL$/CParticleState_582E1E05",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_4E73C861
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Billboard_9F34EE38",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9F34EE38
{
CustomName = "Billboard";
Diffuse = "Textures/FX/Glow_02.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DCC28D5B
{
FieldName = "Color";
FieldType = float4;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_114A39BA
{
Expression = "function void Eval()
{
Life = 0.7;
Size = 5;
}
";
}
CParticleState $LOCAL$/CParticleState_582E1E05
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Field_23FBE869",
"$LOCAL$/Script_3",
};
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_23FBE869
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_81B80AE0";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_81B80AE0
{
Times =
{
0.0000000e+000,
5.6802160e-001,
1.0000000e+000,
};
FloatValues =
{
-5.4880661e-001,
5.2195132e-001,
6.5549666e-001,
};
FloatTangents =
{
0.0000000e+000,
1.2214795e+000,
2.6096267e-001,
1.9846117e-001,
-9.7864561e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_4
{
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_1FB913A6";
Infinite = true;
DurationInSeconds = 1.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 2.0000000e+000;
}
CParticleEvolver_Script $LOCAL$/Script_3
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E9FFCF22";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E9FFCF22
{
Expression = "function void Eval()
{
Color = RGB * ColorCurve.sample(LifeRatio);
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_B3E72B8D
{
SamplerName = "ColorCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
9.8859322e-001,
6.4638560e-003,
};
FloatTangents =
{
0.0000000e+000,
-2.8239629e+000,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}

View file

@ -0,0 +1,177 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Starlight",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float4;
DefaultValueF4 = float4(5.0000000e-001, 5.0000000e-001, 5.0000000e-001, 5.0000000e-001);
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_1BCEDEFE
{
AttributeName = "Power";
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Starlight
{
Descriptor = "$LOCAL$/CParticleDescriptor_AB7EC2E2";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 4.0000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AB7EC2E2
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_98BF80E7";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_01646094",
"$LOCAL$/CParticleFieldDeclaration_32074B2F",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC",
"$LOCAL$/CParticleSamplerCurve_E6410E3F",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D";
States =
{
"$LOCAL$/CParticleState_ABE52E36",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_98BF80E7
{
CustomName = "Billboard";
Diffuse = "Textures/FX/BlackStar.png";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_01646094
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_32074B2F
{
FieldName = "Target";
FieldType = float3;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_59018FBC
{
SamplerName = "AlphaTurb";
Wavelength = 2.0000000e+000;
Strength = 5.0000000e-001;
Octaves = 1;
Lacunarity = 0.0000000e+000;
Gain = 0.0000000e+000;
TimeScale = 1.0000000e-003;
TimeRandomVariation = 1.0000000e+000;
FlowFactor = 2.0000000e+000;
DivergenceFactor = 2.0000000e+000;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_23D34A4D
{
Expression = "function void Eval()
{
Life = rand(0.5,1);
Size = rand(1,1.1);
Color = float4(1.0);
Target = float3(rand(1,10),rand(1,10),rand(1,10));
}
";
}
CParticleState $LOCAL$/CParticleState_ABE52E36
{
StateName = "Evolvers";
Evolvers =
{
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_903292D5";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_903292D5
{
Expression = "function void Eval()
{
Color = RGB * AlphaCurve.sample(LifeRatio);
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E6410E3F
{
SamplerName = "AlphaCurve";
Times =
{
0.0000000e+000,
5.0000000e-001,
1.0000000e+000,
};
FloatValues =
{
4.9429536e-003,
5.8721614e-001,
6.4638853e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
1.1368742e-003,
1.1368742e-003,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,870 @@
Version = 1.9.0.28323;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/OnHit",
"$LOCAL$/Dust",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flame
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 3.0000000e+002;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_810F8ED5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_EB91C64D",
"$LOCAL$/CParticleSamplerShape_B8868C94",
"$LOCAL$/CParticleSamplerCurve_43F8F34A",
"$LOCAL$/CParticleSamplerCurve_EA2D0D62",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Flame",
"$LOCAL$/Hit",
"$LOCAL$/Flame_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
Diffuse = "Textures/BB_Glow_02_64.tga";
BillboardMode = VelocitySpheroidalAlign;
AxisScale = 7.5000003e-002;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.12;
Size = 0.3;
//Position = Spawn.samplePosition();
Velocity = float3(0, -10, 0);
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/CParticleEvolver_Script_AEA6FA36",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Flame_1
{
EditorInfosPosition = int2(-288, -61);
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_EE3C32D8";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 1.0000000e+002;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_958CC850",
"$LOCAL$/CParticleAttributeDeclaration_69CB8DF8",
"$LOCAL$/CParticleAttributeDeclaration_7A70AB7A",
"$LOCAL$/CParticleAttributeDeclaration_817EBD85",
};
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_EB91C64D
{
SamplerName = "Trub";
Strength = 8.8388346e-002;
Gain = 1.0000000e+000;
TimeScale = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_B8868C94
{
SamplerName = "Spawn";
Shape = "$LOCAL$/CShapeDescriptor_6C371CE7";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_6C371CE7
{
ShapeType = SPHERE;
Radius = 1.0000000e-001;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_AEA6FA36
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E92A3CAB";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E92A3CAB
{
Expression = "function void Eval()
{
Color = SampColor.sample(LifeRatio) * 0.5;
Size = SampSize.sample(LifeRatio) * 0.8;
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_43F8F34A
{
SamplerName = "SampColor";
ValueType = Float4;
Times =
{
0.0000000e+000,
8.1095225e-001,
1.0000000e+000,
};
FloatValues =
{
5.7424700e-001,
5.7424700e-001,
2.1750972e+000,
1.0000000e+000,
1.4841725e+000,
9.1255206e-001,
5.4194069e-001,
6.8126559e-002,
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,
-9.9560744e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-4.8800033e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.1376178e-001,
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_810F8ED5
{
FieldName = "Color";
FieldType = float4;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Hit
{
Descriptor = "$LOCAL$/CParticleDescriptor_48643BBC";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 2.0000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_48643BBC
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_21481493";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_76E3E553",
"$LOCAL$/CParticleFieldDeclaration_5EE1E544",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_F28F7906",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0A89672F";
States =
{
"$LOCAL$/CParticleState_1F067839",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_0A89672F
{
Expression = "function void Eval()
{
Velocity = float3(0, -20, 0) + vrand() * 2;
float v = length(Velocity);
Life = rand(0, 1) * abs(v) / MaxDistance;
Size = 0;
Distance = 0;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_958CC850
{
AttributeName = "SmokeSpawnFact";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleState $LOCAL$/CParticleState_1F067839
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Script_3271F512",
"$LOCAL$/CParticleEvolver_Physics_8ADAEEF0",
"$LOCAL$/CParticleEvolver_Script_1A840B57",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_8ADAEEF0
{
CustomName = "Physics";
WorldInteractionMode = OneWay;
DieOnContact = true;
EventTransformsMode = PostContactVelocity;
}
CActionFactoryParticleSpawnerBase $LOCAL$/Dust
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_C7C3C073";
DurationInSeconds = 1.0000000e-001;
DurationRelativeRandomDeviation = 2.0000000e+000;
SpawnCountMode = TotalParticleCount;
SpawnCount = 5.0000000e+001;
SpawnCountRelativeRandomDeviation = 2.0000000e+000;
FluxFactorExpression = "SmokeSpawnFact";
FluxFunction = "$LOCAL$/CParticleSamplerCurve_E9C31B93";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_C7C3C073
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_2EA32A5D";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_006CB098",
"$LOCAL$/CParticleFieldDeclaration_2C9039BE",
"$LOCAL$/CParticleFieldDeclaration_52205C59",
"$LOCAL$/CParticleFieldDeclaration_E3CA4852",
"$LOCAL$/CParticleFieldDeclaration_B689C81B",
"$LOCAL$/CParticleFieldDeclaration_4497AC63",
"$LOCAL$/CParticleFieldDeclaration_66A93D3F",
};
VirtualParentFields =
{
"$LOCAL$/CParticleFieldDeclaration_BB0D6941",
"$LOCAL$/CParticleFieldDeclaration_A916F921",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_860240EA",
"$LOCAL$/CParticleSamplerCurve_6D261CF5",
"$LOCAL$/CParticleSamplerCurve_62EA9590",
"$LOCAL$/CParticleSamplerCurve_3683758C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_83335EB2";
States =
{
"$LOCAL$/CParticleState_DB52B9E4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_83335EB2
{
Expression = "function void Eval()
{
Distance = parent.Distance;
DistRatio = Distance / MaxDistance;
FlameRatio = min(Distance, FlameDistance) / FlameDistance;
Life = rand(0, 1) * (1 - DistRatio) * 4;
//kill(Life < 0.1);
Size = 0.25;
AxisUp = float3(1, 0, 0);
TextureID = rand(32, 35);
}
function void PostEval()
{
Position += float3(0, 0.2, 0);
float3 up = float3(0, 1, 0);
float3 cr = cross(vrand() + AxisUp * AngleFactor, float3(0, 1, 0)).x0z;// + vrand() * 0.1;
float crl = length(cr);
float3 x = select(float3(0), cr / crl, crl > 0.0001);
Velocity = x * (1 - DistRatio) * 20;
RotationAxis = cross(up, x) * 2;
}
";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_2EA32A5D
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend_Additive_Soft;
Diffuse = "Textures/BlastPack_Extended.png";
AtlasDefinition = "Textures/BlastPack_Extended.pkat";
SoftAnimationBlending = true;
BillboardMode = VelocitySpheroidalAlign;
AxisScale = 3.0000001e-001;
SoftnessDistance = 2.0000000e+000;
}
CParticleState $LOCAL$/CParticleState_DB52B9E4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_F0C52C77",
"$LOCAL$/CParticleEvolver_Script_3B78D45C",
"$LOCAL$/CParticleEvolver_Rotation_1B49847D",
"$LOCAL$/CParticleEvolver_Damper_39481419",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_F0C52C77
{
CustomName = "Physics";
ConstantAcceleration = float3(0.0000000e+000, 8.0000001e-001, 0.0000000e+000);
Drag = 1.0000000e+000;
VelocityFieldSampler = "Turb";
WorldInteractionMode = OneWay;
}
CActionFactoryWithChilds $LOCAL$/OnHit
{
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_F28F7906
{
EventName = "OnCollide";
EventAction = "$LOCAL$/Dust";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BB0D6941
{
FieldName = "Velocity";
FieldType = float3;
TransformFilter = rotate;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_006CB098
{
FieldName = "AxisUp";
FieldType = float3;
TransformFilter = rotate;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_860240EA
{
SamplerName = "Turb";
Wavelength = 2.0000000e+000;
Strength = 3.5355338e-001;
Gain = 1.0000000e+000;
TimeScale = 5.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6D261CF5
{
SamplerName = "SampColor";
ValueType = Float4;
Times =
{
0.0000000e+000,
2.1920484e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
2.4044332e-001,
2.4044332e-001,
2.4044332e-001,
3.3824044e-001,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
3.7190318e-003,
};
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,
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,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_3B78D45C
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7A979C4F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7A979C4F
{
Expression = "function void Eval()
{
Color = SampColor.sample(LifeRatio) + SampColorFlame.sample(min(LifeRatio + pow(FlameRatio, 4) * 0.1, 1));
Size = SampSize.sample(LifeRatio);
Color *= (1 - DistRatio);
TextureID = (TextureID + dt * 0.1 - 32) % 4 + 32;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2C9039BE
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_52205C59
{
FieldName = "TextureID";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_62EA9590
{
SamplerName = "SampSize";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0033851e+000,
5.9395857e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
1.5400079e+001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E9C31B93
{
Times =
{
0.0000000e+000,
4.5556694e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.6025927e+000,
0.0000000e+000,
};
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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E3CA4852
{
FieldName = "RotationAxis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_1B49847D
{
CustomName = "Rotation";
RotationMode = Axial;
AxialRotationSpeedField = "RotationAxis";
}
CParticleEvolver_Damper $LOCAL$/CParticleEvolver_Damper_39481419
{
CustomName = "Damper";
ExpDampingTime = 1.0000000e+000;
FieldToDampen = "RotationAxis";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_76E3E553
{
FieldName = "Distance";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_3271F512
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7BC0503D";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7BC0503D
{
Expression = "function void Eval()
{
PrevPos = Position;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5EE1E544
{
FieldName = "PrevPos";
FieldType = float3;
TransformFilter = full;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_1A840B57
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_BF165166";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_BF165166
{
Expression = "function void Eval()
{
Distance += length(Position - PrevPos);
kill(Distance > MaxDistance);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A916F921
{
FieldName = "Distance";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_69CB8DF8
{
AttributeName = "MaxDistance";
DefaultValueF4 = float4(1.5000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(2.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B689C81B
{
FieldName = "DistRatio";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_7A70AB7A
{
AttributeName = "FlameDistance";
DefaultValueF4 = float4(6.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(2.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4497AC63
{
FieldName = "Distance";
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_21481493
{
CustomName = "Billboard";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EA2D0D62
{
SamplerName = "SampSize";
Times =
{
0.0000000e+000,
4.8969069e-001,
1.0000000e+000,
};
FloatValues =
{
2.6262656e-002,
2.9208758e-001,
2.1885523e-001,
};
FloatTangents =
{
0.0000000e+000,
2.3242655e+000,
0.0000000e+000,
0.0000000e+000,
-7.1656033e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3683758C
{
SamplerName = "SampColorFlame";
ValueType = Float4;
Times =
{
0.0000000e+000,
3.7199147e-002,
8.6106494e-002,
1.0000000e+000,
};
FloatValues =
{
2.1934063e+000,
1.0011489e+000,
2.5813350e-001,
0.0000000e+000,
7.2222084e-001,
1.9145030e-001,
3.1847715e-002,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.9779557e-001,
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,
-1.8821217e+000,
-8.0028939e-001,
-3.5542059e-001,
0.0000000e+000,
-5.2926677e-001,
-2.7211586e-001,
0.0000000e+000,
0.0000000e+000,
-6.9585019e-001,
-3.5776260e-001,
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,
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_66A93D3F
{
FieldName = "FlameRatio";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_817EBD85
{
AttributeName = "AngleFactor";
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);
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_38202B47
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EE3C32D8
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_C522DE7B";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_14BA515A",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_1CEE3E25",
"$LOCAL$/CParticleSamplerShape_F455F54C",
"$LOCAL$/CParticleSamplerCurve_2D5C472E",
"$LOCAL$/CParticleSamplerCurve_6C5DBE89",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3DD58B80";
States =
{
"$LOCAL$/CParticleState_961D5043",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_C522DE7B
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
Diffuse = "Textures/BB_Glow_02_64.tga";
BillboardMode = VelocitySpheroidalAlign;
AxisScale = 2.0000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_14BA515A
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_1CEE3E25
{
SamplerName = "Trub";
Strength = 8.8388346e-002;
Gain = 1.0000000e+000;
TimeScale = 5.0000000e-001;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_F455F54C
{
SamplerName = "Spawn";
Shape = "$LOCAL$/CShapeDescriptor_B469D7FF";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_B469D7FF
{
ShapeType = SPHERE;
Radius = 1.0000000e-001;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2D5C472E
{
SamplerName = "SampColor";
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.6588544e+000,
5.7424700e-001,
2.1750972e+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,
9.8085731e-002,
-4.7324739e+000,
-2.6382587e+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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6C5DBE89
{
SamplerName = "SampSize";
Times =
{
0.0000000e+000,
4.8969069e-001,
1.0000000e+000,
};
FloatValues =
{
2.6262656e-002,
2.9208758e-001,
2.1885523e-001,
};
FloatTangents =
{
0.0000000e+000,
2.3242655e+000,
0.0000000e+000,
0.0000000e+000,
-7.1656033e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3DD58B80
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
Life = 0.18;
Size = 0.3;
//Position = Spawn.samplePosition();
Velocity = float3(0, -10, 0);
}
";
}
CParticleState $LOCAL$/CParticleState_961D5043
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_38202B47",
"$LOCAL$/CParticleEvolver_Script_2A5142C2",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_2A5142C2
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C835D7AD";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C835D7AD
{
Expression = "function void Eval()
{
Color = SampColor.sample(LifeRatio) * 0.15;
Size = SampSize.sample(LifeRatio) * 1.8;
}
";
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,195 @@
Version = 1.8.4.27161;
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";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 6.4000000e+001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_AE135B2A
{
EditorInfosPosition = int2(-392, -44);
Renderer = "$LOCAL$/CParticleRenderer_Billboard_9136D2F4";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8ED4ECCD",
"$LOCAL$/CParticleFieldDeclaration_7BA8472B",
"$LOCAL$/CParticleFieldDeclaration_49559E58",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
States =
{
"$LOCAL$/CParticleState_3AF8190E",
};
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Layer_1",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_9136D2F4
{
EditorInfosPosition = int2(-508, -63);
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
BranchLength = rand(0.08,0.60);
Life = BranchLength;
Size = 0.2;
Vrand=vrand();
}
";
}
CParticleState $LOCAL$/CParticleState_3AF8190E
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/Trail_1",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_36D6D4BD
{
EditorInfosPosition = int2(-590, 86);
IntegrationDtTreshold = 2.0000001e-003;
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
};
}
CParticleEvolver_Script $LOCAL$/Script_1
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EF9BBE63
{
Expression = "function void Eval()
{
Color=(RGB*sin(LifeRatio*3)).xyz1*0.5;
}
";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(1.0106380e-001, 2.2074470e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8ED4ECCD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_36D6D4BD",
"$LOCAL$/Script_1",
};
}
CParticleEvolver_Spawner $LOCAL$/Trail_1
{
Descriptor = "$LOCAL$/CParticleDescriptor_EC6BEF67";
}
CParticleState $LOCAL$/CParticleState_A25D7514
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_07A88CC8",
"$LOCAL$/Script_2",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_EC6BEF67
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_72728FCA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_A2FF29AF",
"$LOCAL$/CParticleFieldDeclaration_F373C982",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6";
States =
{
"$LOCAL$/CParticleState_A25D7514",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_163AFEB6
{
Expression = "function void Eval()
{
Life = parent.BranchLength-spawner.LifeRatio*parent.BranchLength;
Size = 0.1;
Velocity=parent.Vrand*20+vrand()*5;
Time=spawner.LifeRatio;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_72728FCA
{
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
SoftnessDistance = 4.0000000e+000;
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_07A88CC8
{
Drag = 6.0000000e+001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7BA8472B
{
FieldName = "Vrand";
FieldType = float3;
}
CParticleEvolver_Script $LOCAL$/Script_2
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_00FC543C";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_00FC543C
{
Expression = "function void Eval()
{
Color=(200*RGB).xyz1*float4((1-LifeRatio)*pow(sin(Time*3),4));
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_A2FF29AF
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_49559E58
{
FieldName = "BranchLength";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F373C982
{
FieldName = "Time";
}

View file

@ -0,0 +1,550 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Trail",
"$LOCAL$/Spark",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_B1F5EDB1",
"$LOCAL$/CParticleAttributeDeclaration_0F3455C8",
"$LOCAL$/CParticleAttributeDeclaration_FEA2D0CA",
"$LOCAL$/CParticleAttributeDeclaration_84958DCF",
"$LOCAL$/CParticleAttributeDeclaration_C515E1D9",
"$LOCAL$/CParticleAttributeDeclaration_EF71D2B2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(7.5000000e-001, 1.2000000e-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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D62E0EDF
{
FieldName = "Energy";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F51E30B
{
FieldName = "Energy";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_52633D9B
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5648EFA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAC07C45",
"$LOCAL$/CParticleFieldDeclaration_F8F7FDEC",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F",
"$LOCAL$/CParticleSamplerCurve_11D402CE",
"$LOCAL$/CParticleSamplerCurve_45CB442B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F12C52A9";
States =
{
"$LOCAL$/CParticleState_2A5FA220",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5648EFA
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAC07C45
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F8F7FDEC
{
FieldName = "ColorScale";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F
{
SamplerName = "Turb";
Wavelength = 2.5000000e-001;
Strength = 5.0000001e-002;
Gain = 1.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_11D402CE
{
SamplerName = "Fade";
Times =
{
0.0000000e+000,
4.9999997e-002,
3.9999998e-001,
5.9999996e-001,
9.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.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,
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_F12C52A9
{
Expression = "function void PostEval()
{
Life = TrailLife;
Size = 0.05 * TrailSize;
Velocity = Turb.sample(Position) * TrailVelocityScaler;
Position += Velocity * 0.05;
ColorScale = 1;
}
";
}
CParticleState $LOCAL$/CParticleState_2A5FA220
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7FEFDB63",
"$LOCAL$/CParticleEvolver_Field_A8A31C62",
"$LOCAL$/CParticleEvolver_Script_E5FB0E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7FEFDB63
{
CustomName = "Physics";
Drag = 1.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A8A31C62
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_26B9E1CD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_26B9E1CD
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.9999994e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
8.7402363e+000,
4.4445987e+000,
1.0468085e+001,
9.9948126e-001,
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,
-6.4010613e-002,
-1.0760010e+000,
-7.6663963e-002,
-7.3198671e-003,
-5.7609558e-001,
-9.6840105e+000,
-6.8997574e-001,
-6.5878808e-002,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E5FB0E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_481CFC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_481CFC67
{
Expression = "function void Eval()
{
Color = (RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),Power);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Trail
{
Descriptor = "$LOCAL$/CParticleDescriptor_52633D9B";
Infinite = true;
SpawnCount = 6.4000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B1F5EDB1
{
AttributeName = "TrailVelocityScaler";
DefaultValueF4 = float4(3.5608298e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0F3455C8
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_45CB442B
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
2.8418908e+000,
8.1062841e-001,
};
FloatTangents =
{
0.0000000e+000,
9.8915182e-002,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FEA2D0CA
{
AttributeName = "TrailLife";
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_010DD88C
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6C01DC3F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2856806E",
"$LOCAL$/CParticleFieldDeclaration_119BD0C9",
"$LOCAL$/CParticleFieldDeclaration_FB47EAC0",
"$LOCAL$/CParticleFieldDeclaration_63838083",
"$LOCAL$/CParticleFieldDeclaration_7623C910",
"$LOCAL$/CParticleFieldDeclaration_DE6392D5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802",
"$LOCAL$/CParticleSamplerCurve_2204493E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED";
States =
{
"$LOCAL$/CParticleState_545764B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6C01DC3F
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2856806E
{
FieldName = "Rotation";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_119BD0C9
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FB47EAC0
{
FieldName = "SizeFactor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_63838083
{
FieldName = "ColorFactor";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802
{
SamplerName = "Turb";
Strength = 7.0710677e-001;
Lacunarity = 1.6425119e-001;
Gain = 2.8502420e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED
{
Expression = "function void PostEval()
{
Life = remap(pow(rand(0,1), 4), 0, 1, 0.2, 1.5);
SizeFactor = rand(0.007, 0.01) * ParticleScale;
ColorFactor = remap(pow(rand(0,1),8), 0, 1, 0.5, 3);
float vScale = pow(saturate(5), 0.5);
float3 rVel = vrand() * 5;
float3 tVel = Turb.sample(Position);
Velocity = (rVel + tVel) * 0.2;// * remap(noise(parent.LifeRatio * 20 + scene.Time), -1, 1, 0.03, 0.1);
Rotation = rand(-pi, pi);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.y),rand(0,RandomRGB.z));
}
";
}
CParticleState $LOCAL$/CParticleState_545764B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_530EC787",
"$LOCAL$/CParticleEvolver_Field_574CA956",
"$LOCAL$/CParticleEvolver_Field_35E45A68",
"$LOCAL$/CParticleEvolver_Script_5405A86A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_530EC787
{
CustomName = "Physics";
Mass = -1.0000000e+000;
Drag = 5.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_574CA956
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E70F37D1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E70F37D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.7447720e+000,
4.5880709e+000,
1.0473518e+001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0970583e+001,
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,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_35E45A68
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56A3554B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56A3554B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-3.4636030e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5405A86A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75
{
Expression = "function void Eval()
{
Size *= SizeFactor * 2;
Color *= (RGB.xyz1 + RandomedRGB.xyz1) * GlowCurve.sample(LifeRatio) * pow(Power,1);
Force = Turb.sample(LifeRatio) * 5 * LifeRatio;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Spark
{
Descriptor = "$LOCAL$/CParticleDescriptor_010DD88C";
Infinite = true;
SpawnCount = 1.2800000e+002;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_84958DCF
{
AttributeName = "ParticleScale";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2204493E
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.8354541e-002,
2.1165061e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.5340417e-001,
2.4170661e-001,
-1.3308048e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-9.0102851e-002,
-6.2696373e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C515E1D9
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(8.5000002e-001, 2.0000000e-001, 7.0999998e-001, 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_7623C910
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DE6392D5
{
FieldName = "Force";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF71D2B2
{
AttributeName = "Power";
DefaultValueF4 = float4(4.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}

View file

@ -0,0 +1,619 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
OnSpawn = "$LOCAL$/Spawner";
LayerGroups =
{
"$LOCAL$/branch",
};
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(329, 64);
ChildList =
{
"$LOCAL$/lightning",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_B30B2123
{
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_9AEE5ABD
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_168DE691
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_216E6F10";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_216E6F10
{
Expression = "function void Eval()
{
Color=CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
}
";
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_FE3EB050",
"$LOCAL$/CParticleAttributeDeclaration_02243087",
"$LOCAL$/CParticleAttributeDeclaration_1DF47118",
};
}
CActionFactoryParticleSpawnerBase $LOCAL$/lightning
{
Descriptor = "$LOCAL$/CParticleDescriptor_7C46C5E9";
Infinite = true;
DurationInSeconds = 5.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 5.0000000e+000;
SpawnCountRelativeRandomDeviation = 1.3000000e+000;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_7C46C5E9
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AA0A7EFA",
"$LOCAL$/CParticleFieldDeclaration_2832E92E",
"$LOCAL$/CParticleFieldDeclaration_668C5BD9",
"$LOCAL$/CParticleFieldDeclaration_7EA25C67",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_3F5A22F7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_A99F3108";
States =
{
"$LOCAL$/CParticleState_4C8B87C2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_A99F3108
{
Expression = "function void Eval()
{
Life = 0.2;
Velocity = Scale*float3(rand(-100,100),rand(-100,100),rand(-100,100));
SizeCoeff = Scale;
FluxScale = pow(Flux,0.5)*2*Scale;
NextBranchTime = SizeCoeff * (0.5 + 0.25 * pow(rand(0, 1), 2));
Position = DropSampler.samplePosition();
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_668C5BD9
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_4C8B87C2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_081972C0",
"$LOCAL$/death",
"$LOCAL$/base",
"$LOCAL$/glow",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_C1D98F7D
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8FACC28C
{
FieldName = "Timeb";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FE3EB050
{
AttributeName = "CustomColorRGBA";
AttributeType = float4;
DefaultValueF4 = float4(4.0000000e+000, 2.7586201e-001, 2.0000000e+000, 4.0000000e+000);
MaxValueF4 = float4(2.0000000e+000, 2.0000000e+000, 2.0000000e+000, 2.0000000e+000);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_104D4D29
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5E0F683";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_9AEE5ABD",
"$LOCAL$/CParticleFieldDeclaration_BB297115",
"$LOCAL$/CParticleFieldDeclaration_42AA1C4F",
"$LOCAL$/CParticleFieldDeclaration_BD2FCDD3",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_37052329",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3F389B48";
States =
{
"$LOCAL$/CParticleState_6B8B6DDE",
};
}
CParticleEventDeclaration $LOCAL$/CParticleEventDeclaration_7A8041A7
{
EventName = "OnDeath";
EventAction = "$LOCAL$/branch";
}
CParticleState $LOCAL$/CParticleState_6B8B6DDE
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_1",
"$LOCAL$/CParticleEvolver_Physics_B91A4402",
"$LOCAL$/CParticleEvolver_Script_168DE691",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BC1951CA
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_7AF25165";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_7AF25165
{
Expression = "function void Eval()
{
Timeb += dt;
int shouldSpawnBranch = Timeb > 0.01;
float n = 60 * SizeCoeff;
Velocity = select(Velocity,float3(SizeCoeff*rand(-1,1)*100,rand(-n,n),SizeCoeff*rand(-1,1)*100),shouldSpawnBranch);
Timeb = select(Timeb,0,shouldSpawnBranch);
NextBranchTime = select(NextBranchTime, SizeCoeff * (0.05 + 0.25 * pow(rand(0, 1), 2)), shouldSpawnBranch);
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E9BE2D1D
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_B91A4402
{
CustomName = "Physics";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_F1A21305
{
CustomName = "Physics";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5E0F683
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AA0A7EFA
{
FieldName = "Timeb";
}
CParticleEvolver_Spawner $LOCAL$/base
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_104D4D29";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_3F389B48
{
Expression = "function void Eval()
{
Life = 0.2;
Size = 0.4 * Scale;
ColorCoeff = 100 * pow(1 - spawner.LifeRatio, 2);
TextureID = rand(0,16);
CC = CustomColorRGBA * 10;
}
";
}
CParticleEvolver_Spawner $LOCAL$/death
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 3.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_CD6A0035";
}
CParticleState $LOCAL$/CParticleState_91BC2CDA
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_D33971BE",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_CD6A0035
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_59D07FA1",
};
CustomEvents =
{
"$LOCAL$/CParticleEventDeclaration_7A8041A7",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_C095B224";
States =
{
"$LOCAL$/CParticleState_91BC2CDA",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C095B224
{
Expression = "function void Eval()
{
Life = 0.01;
Color = CustomColorRGBA;
}
";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_D33971BE
{
CustomName = "Physics";
}
CActionFactoryParticleSpawnerBase $LOCAL$/branch
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_1DEAC189";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_1DEAC189
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_8FACC28C",
"$LOCAL$/CParticleFieldDeclaration_C9081B39",
"$LOCAL$/CParticleFieldDeclaration_28722F38",
"$LOCAL$/CParticleFieldDeclaration_E4021DE6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4669BE28";
States =
{
"$LOCAL$/CParticleState_247F7DE2",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4669BE28
{
Expression = "function void Eval()
{
Life = rand(0.025,0.05);
Velocity=float3(0,50,0)*Scale;
SizeCoeff=Scale;
FluxScale=pow(Flux,0.5)*1*Scale;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_28722F38
{
FieldName = "FluxScale";
}
CParticleState $LOCAL$/CParticleState_247F7DE2
{
StateName = "State_0";
MicroUpdatesMinFPS = 0.0000000e+000;
MaxMicroUpdatesPerFrame = 0;
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_9AAE6F84",
"$LOCAL$/ert",
};
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_4E3ECB6C
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_25B6EC7F
{
Expression = "function void Eval()
{
Timeb += dt*SizeCoeff;
int shouldChangeDirection = Timeb>0.01*SizeCoeff;
float n = 60*SizeCoeff;
Velocity = select(Velocity, float3(rand(-n,n),50*SizeCoeff,rand(-n,n)), shouldChangeDirection);
Timeb = select(Timeb,0,shouldChangeDirection); // reset the \'should.pkangeDirection\' condition
}
";
}
CParticleEvolver_Spawner $LOCAL$/ert
{
CustomName = "Spawner";
SpawnInterval = 5.0000000e-001;
CustomSpawnIntervalScaleField = "FluxScale";
Descriptor = "$LOCAL$/CParticleDescriptor_47893DF0";
}
CParticleState $LOCAL$/CParticleState_65AD76F1
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_F1A21305",
"$LOCAL$/CParticleEvolver_Script_403022B8",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_47893DF0
{
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_23F2DF84";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_0B9A51ED",
"$LOCAL$/CParticleFieldDeclaration_366F0A1E",
"$LOCAL$/CParticleFieldDeclaration_BC9A45D6",
"$LOCAL$/CParticleFieldDeclaration_C223EA14",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_09C487E3",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3";
States =
{
"$LOCAL$/CParticleState_65AD76F1",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_57CEA4F3
{
Expression = "function void Eval()
{
Life = 0.1;
float iSpawnerLR = 1 - spawner.LifeRatio;
Size = 0.4*Scale * pow(iSpawnerLR, 0.5);
ColorCoeff = pow(Flux,4)*100*pow(iSpawnerLR, 2);
TextureID = rand(0,16);
Position = float3(0,-0.5,0)*Scale;
CC = CustomColorRGBA * 5;
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_23F2DF84
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_403022B8
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_70F7169B";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_70F7169B
{
Expression = "function void Eval()
{
Color = CC * ColorCoeff * pow(GlowSampler.sample(LifeRatio), 4);
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C223EA14
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0B9A51ED
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C9081B39
{
FieldName = "SizeCoeff";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_02243087
{
AttributeName = "Scale";
DefaultValueF4 = float4(1.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2832E92E
{
FieldName = "SizeCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_366F0A1E
{
FieldName = "TextureID";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BB297115
{
FieldName = "TextureID";
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_90A7E102
{
CustomName = "Physics";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_88F983BD
{
FieldName = "Color";
FieldType = float4;
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_91A60DEB
{
CustomName = "Billboard";
BillboardingMaterial = Additive_NoAlpha;
Diffuse = "Textures/Fx/Glow_12.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_548E9048
{
Expression = "function void Eval()
{
Life = 0.1;
Size = 2 * Scale;
Color = CustomColorRGBA * 0.04 * pow(1 - spawner.LifeRatio, 2);
}
";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_E8BCA629
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_91A60DEB";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_88F983BD",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_548E9048";
States =
{
"$LOCAL$/CParticleState_D38CFADE",
};
}
CParticleEvolver_Spawner $LOCAL$/glow
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Spawner";
SpawnInterval = 1.0000000e+000;
FirstSpawnDelay = 0.0000000e+000;
CustomSpawnIntervalScaleField = "SizeCoeff";
Descriptor = "$LOCAL$/CParticleDescriptor_E8BCA629";
}
CParticleState $LOCAL$/CParticleState_D38CFADE
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/LocalSpace_2",
"$LOCAL$/CParticleEvolver_Physics_90A7E102",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1DF47118
{
AttributeName = "Flux";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_081972C0
{
EditorInfosIsBlockMinimized = 0;
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_C1D98F7D",
"$LOCAL$/CParticleEvolver_Script_BC1951CA",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_9AAE6F84
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_E9BE2D1D",
"$LOCAL$/CParticleEvolver_Script_4E3ECB6C",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_42AA1C4F
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BC9A45D6
{
FieldName = "ColorCoeff";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BD2FCDD3
{
FieldName = "CC";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_7EA25C67
{
FieldName = "NextBranchTime";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_E4021DE6
{
FieldName = "ParentColor";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_59D07FA1
{
FieldName = "Color";
FieldType = float4;
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_3F5A22F7
{
SamplerName = "DropSampler";
Shape = "$LOCAL$/CShapeDescriptor_EE347186";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_EE347186
{
ShapeType = CYLINDER;
Radius = 9.9999998e-003;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_37052329
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
7.5512230e-002,
1.6900167e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4312178e+000,
3.8749021e-001,
1.5209466e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_09C487E3
{
SamplerName = "GlowSampler";
Times =
{
0.0000000e+000,
7.5512230e-002,
1.6900170e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.4312180e+000,
3.8749021e-001,
1.5209470e-003,
};
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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_1
{
CustomName = "Localspace";
}
CParticleEvolver_Localspace $LOCAL$/LocalSpace_2
{
CustomName = "Localspace";
}

View file

@ -0,0 +1,550 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Trail",
"$LOCAL$/Spark",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_B1F5EDB1",
"$LOCAL$/CParticleAttributeDeclaration_0F3455C8",
"$LOCAL$/CParticleAttributeDeclaration_FEA2D0CA",
"$LOCAL$/CParticleAttributeDeclaration_84958DCF",
"$LOCAL$/CParticleAttributeDeclaration_C515E1D9",
"$LOCAL$/CParticleAttributeDeclaration_EF71D2B2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(7.5000000e-001, 1.2000000e-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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D62E0EDF
{
FieldName = "Energy";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F51E30B
{
FieldName = "Energy";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_52633D9B
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5648EFA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAC07C45",
"$LOCAL$/CParticleFieldDeclaration_F8F7FDEC",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F",
"$LOCAL$/CParticleSamplerCurve_11D402CE",
"$LOCAL$/CParticleSamplerCurve_45CB442B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F12C52A9";
States =
{
"$LOCAL$/CParticleState_2A5FA220",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5648EFA
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAC07C45
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F8F7FDEC
{
FieldName = "ColorScale";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F
{
SamplerName = "Turb";
Wavelength = 2.5000000e-001;
Strength = 5.0000001e-002;
Gain = 1.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_11D402CE
{
SamplerName = "Fade";
Times =
{
0.0000000e+000,
4.9999997e-002,
3.9999998e-001,
5.9999996e-001,
9.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.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,
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_F12C52A9
{
Expression = "function void PostEval()
{
Life = TrailLife;
Size = 0.05 * TrailSize;
Velocity = Turb.sample(Position) * TrailVelocityScaler;
Position += Velocity * 0.05;
ColorScale = 1;
}
";
}
CParticleState $LOCAL$/CParticleState_2A5FA220
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7FEFDB63",
"$LOCAL$/CParticleEvolver_Field_A8A31C62",
"$LOCAL$/CParticleEvolver_Script_E5FB0E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7FEFDB63
{
CustomName = "Physics";
Drag = 1.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A8A31C62
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_26B9E1CD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_26B9E1CD
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.9999994e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
8.7402363e+000,
4.4445987e+000,
1.0468085e+001,
9.9948126e-001,
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,
-6.4010613e-002,
-1.0760010e+000,
-7.6663963e-002,
-7.3198671e-003,
-5.7609558e-001,
-9.6840105e+000,
-6.8997574e-001,
-6.5878808e-002,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E5FB0E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_481CFC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_481CFC67
{
Expression = "function void Eval()
{
Color = (RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),Power);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Trail
{
Descriptor = "$LOCAL$/CParticleDescriptor_52633D9B";
Infinite = true;
SpawnCount = 6.4000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B1F5EDB1
{
AttributeName = "TrailVelocityScaler";
DefaultValueF4 = float4(3.5608298e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0F3455C8
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(4.0000001e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_45CB442B
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
2.8418908e+000,
8.1062841e-001,
};
FloatTangents =
{
0.0000000e+000,
9.8915182e-002,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FEA2D0CA
{
AttributeName = "TrailLife";
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_010DD88C
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6C01DC3F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2856806E",
"$LOCAL$/CParticleFieldDeclaration_119BD0C9",
"$LOCAL$/CParticleFieldDeclaration_FB47EAC0",
"$LOCAL$/CParticleFieldDeclaration_63838083",
"$LOCAL$/CParticleFieldDeclaration_7623C910",
"$LOCAL$/CParticleFieldDeclaration_DE6392D5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802",
"$LOCAL$/CParticleSamplerCurve_2204493E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED";
States =
{
"$LOCAL$/CParticleState_545764B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6C01DC3F
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2856806E
{
FieldName = "Rotation";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_119BD0C9
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FB47EAC0
{
FieldName = "SizeFactor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_63838083
{
FieldName = "ColorFactor";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802
{
SamplerName = "Turb";
Strength = 7.0710677e-001;
Lacunarity = 1.6425119e-001;
Gain = 2.8502420e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED
{
Expression = "function void PostEval()
{
Life = remap(pow(rand(0,1), 4), 0, 1, 0.2, 1.5);
SizeFactor = rand(0.007, 0.01) * ParticleScale;
ColorFactor = remap(pow(rand(0,1),8), 0, 1, 0.5, 3);
float vScale = pow(saturate(5), 0.5);
float3 rVel = vrand() * 5;
float3 tVel = Turb.sample(Position);
Velocity = (rVel + tVel) * 0.2;// * remap(noise(parent.LifeRatio * 20 + scene.Time), -1, 1, 0.03, 0.1);
Rotation = rand(-pi, pi);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.y),rand(0,RandomRGB.z));
}
";
}
CParticleState $LOCAL$/CParticleState_545764B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_530EC787",
"$LOCAL$/CParticleEvolver_Field_574CA956",
"$LOCAL$/CParticleEvolver_Field_35E45A68",
"$LOCAL$/CParticleEvolver_Script_5405A86A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_530EC787
{
CustomName = "Physics";
Mass = -1.0000000e+000;
Drag = 5.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_574CA956
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E70F37D1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E70F37D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.7447720e+000,
4.5880709e+000,
1.0473518e+001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0970583e+001,
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,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_35E45A68
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56A3554B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56A3554B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-3.4636030e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5405A86A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75
{
Expression = "function void Eval()
{
Size *= SizeFactor * 2;
Color *= (RGB.xyz1 + RandomedRGB.xyz1) * GlowCurve.sample(LifeRatio) * pow(Power,1);
Force = Turb.sample(LifeRatio) * 5 * LifeRatio;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Spark
{
Descriptor = "$LOCAL$/CParticleDescriptor_010DD88C";
Infinite = true;
SpawnCount = 6.4000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_84958DCF
{
AttributeName = "ParticleScale";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2204493E
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.8354541e-002,
2.1165061e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.5340417e-001,
2.4170661e-001,
-1.3308048e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-9.0102851e-002,
-6.2696373e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C515E1D9
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(8.5000002e-001, 2.0000000e-001, 7.0999998e-001, 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_7623C910
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DE6392D5
{
FieldName = "Force";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF71D2B2
{
AttributeName = "Power";
DefaultValueF4 = float4(4.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}

View file

@ -0,0 +1,875 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Trail",
"$LOCAL$/Spark",
"$LOCAL$/Thunder",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_B1F5EDB1",
"$LOCAL$/CParticleAttributeDeclaration_0F3455C8",
"$LOCAL$/CParticleAttributeDeclaration_FEA2D0CA",
"$LOCAL$/CParticleAttributeDeclaration_84958DCF",
"$LOCAL$/CParticleAttributeDeclaration_C515E1D9",
"$LOCAL$/CParticleAttributeDeclaration_EF71D2B2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(7.5000000e-001, 1.2000000e-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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D62E0EDF
{
FieldName = "Energy";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F51E30B
{
FieldName = "Energy";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_52633D9B
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5648EFA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAC07C45",
"$LOCAL$/CParticleFieldDeclaration_F8F7FDEC",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F",
"$LOCAL$/CParticleSamplerCurve_11D402CE",
"$LOCAL$/CParticleSamplerCurve_45CB442B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F12C52A9";
States =
{
"$LOCAL$/CParticleState_2A5FA220",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5648EFA
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAC07C45
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F8F7FDEC
{
FieldName = "ColorScale";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F
{
SamplerName = "Turb";
Wavelength = 2.5000000e-001;
Strength = 5.0000001e-002;
Gain = 1.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_11D402CE
{
SamplerName = "Fade";
Times =
{
0.0000000e+000,
4.9999997e-002,
3.9999998e-001,
5.9999996e-001,
9.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.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,
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_F12C52A9
{
Expression = "function void PostEval()
{
Life = TrailLife;
Size = 0.05 * TrailSize;
Velocity = Turb.sample(Position) * TrailVelocityScaler;
Position += Velocity * 0.05;
ColorScale = 1;
}
";
}
CParticleState $LOCAL$/CParticleState_2A5FA220
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7FEFDB63",
"$LOCAL$/CParticleEvolver_Field_A8A31C62",
"$LOCAL$/CParticleEvolver_Script_E5FB0E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7FEFDB63
{
CustomName = "Physics";
Drag = 1.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A8A31C62
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_26B9E1CD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_26B9E1CD
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.9999994e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
8.7402363e+000,
4.4445987e+000,
1.0468085e+001,
9.9948126e-001,
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,
-6.4010613e-002,
-1.0760010e+000,
-7.6663963e-002,
-7.3198671e-003,
-5.7609558e-001,
-9.6840105e+000,
-6.8997574e-001,
-6.5878808e-002,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E5FB0E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_481CFC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_481CFC67
{
Expression = "function void Eval()
{
Color = (RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),Power);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Trail
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_52633D9B";
Infinite = true;
SpawnCount = 6.4000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B1F5EDB1
{
AttributeName = "TrailVelocityScaler";
DefaultValueF4 = float4(3.5608298e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0F3455C8
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_45CB442B
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
2.8418908e+000,
8.1062841e-001,
};
FloatTangents =
{
0.0000000e+000,
9.8915182e-002,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FEA2D0CA
{
AttributeName = "TrailLife";
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_010DD88C
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6C01DC3F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2856806E",
"$LOCAL$/CParticleFieldDeclaration_119BD0C9",
"$LOCAL$/CParticleFieldDeclaration_FB47EAC0",
"$LOCAL$/CParticleFieldDeclaration_63838083",
"$LOCAL$/CParticleFieldDeclaration_7623C910",
"$LOCAL$/CParticleFieldDeclaration_DE6392D5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802",
"$LOCAL$/CParticleSamplerCurve_2204493E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED";
States =
{
"$LOCAL$/CParticleState_545764B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6C01DC3F
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2856806E
{
FieldName = "Rotation";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_119BD0C9
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FB47EAC0
{
FieldName = "SizeFactor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_63838083
{
FieldName = "ColorFactor";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802
{
SamplerName = "Turb";
Strength = 7.0710677e-001;
Lacunarity = 1.6425119e-001;
Gain = 2.8502420e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED
{
Expression = "function void PostEval()
{
Life = remap(pow(rand(0,1), 4), 0, 1, 0.2, 1.5);
SizeFactor = rand(0.007, 0.01) * ParticleScale;
ColorFactor = remap(pow(rand(0,1),8), 0, 1, 0.5, 3);
float vScale = pow(saturate(5), 0.5);
float3 rVel = vrand() * 5;
float3 tVel = Turb.sample(Position);
Velocity = (rVel + tVel) * 0.2;// * remap(noise(parent.LifeRatio * 20 + scene.Time), -1, 1, 0.03, 0.1);
Rotation = rand(-pi, pi);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.y),rand(0,RandomRGB.z));
}
";
}
CParticleState $LOCAL$/CParticleState_545764B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_530EC787",
"$LOCAL$/CParticleEvolver_Field_574CA956",
"$LOCAL$/CParticleEvolver_Field_35E45A68",
"$LOCAL$/CParticleEvolver_Script_5405A86A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_530EC787
{
CustomName = "Physics";
Mass = -1.0000000e+000;
Drag = 5.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_574CA956
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E70F37D1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E70F37D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.7447720e+000,
4.5880709e+000,
1.0473518e+001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0970583e+001,
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,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_35E45A68
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56A3554B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56A3554B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-3.4636030e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5405A86A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75
{
Expression = "function void Eval()
{
Size *= SizeFactor * 2;
Color *= (RGB.xyz1 + RandomedRGB.xyz1) * GlowCurve.sample(LifeRatio) * pow(Power,1);
Force = Turb.sample(LifeRatio) * 5 * LifeRatio;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Spark
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_010DD88C";
Infinite = true;
SpawnCount = 2.5600000e+002;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_84958DCF
{
AttributeName = "ParticleScale";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2204493E
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.8354541e-002,
2.1165061e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.5340417e-001,
2.4170661e-001,
-1.3308048e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-9.0102851e-002,
-6.2696373e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C515E1D9
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(8.5000002e-001, 2.0000000e-001, 7.0999998e-001, 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_7623C910
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DE6392D5
{
FieldName = "Force";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF71D2B2
{
AttributeName = "Power";
DefaultValueF4 = float4(4.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_2B0BA695
{
EditorInfosPosition = int2(-392, -44);
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_32424E7C",
"$LOCAL$/CParticleFieldDeclaration_1FA390EF",
"$LOCAL$/CParticleFieldDeclaration_5BFAFADE",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_FB33A3F9";
States =
{
"$LOCAL$/CParticleState_8F75A5B0",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_32424E7C
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1FA390EF
{
FieldName = "Vrand";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5BFAFADE
{
FieldName = "BranchLength";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FB33A3F9
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
BranchLength = rand(0.4,0.6);
Life = BranchLength;
Vrand=vrand();
}
";
}
CParticleState $LOCAL$/CParticleState_8F75A5B0
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_CE455E33",
"$LOCAL$/CParticleEvolver_Spawner_80F1FE37",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_CE455E33
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_E7A26F72",
"$LOCAL$/CParticleEvolver_Script_FF032A1D",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E7A26F72
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
IntegrationDtTreshold = 2.0000001e-003;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_FF032A1D
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_BFEED4A4";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_BFEED4A4
{
Expression = "function void Eval()
{
Color=(RGB*sin(LifeRatio*3)).xyz1*0.5;
}
";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_80F1FE37
{
CustomName = "Spawner";
SpawnInterval = 4.0000001e-001;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_23AFCDC6";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_23AFCDC6
{
Renderer = "$LOCAL$/CParticleRenderer_List_8595FD01";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_D2EA14FB",
"$LOCAL$/CParticleFieldDeclaration_8A5E89DA",
"$LOCAL$/CParticleFieldDeclaration_1352A0A5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_3F08C9CC",
"$LOCAL$/CParticleSamplerDoubleCurve_7373067F",
"$LOCAL$/CParticleSamplerProceduralTurbulence_43EDD7AE",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_6D0E5909";
States =
{
"$LOCAL$/CParticleState_D62CF800",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_8595FD01
{
EditorInfosIsBlockMinimized = 0;
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_6352EF58",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_6352EF58
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
SoftnessDistance = 2.5000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D2EA14FB
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_8A5E89DA
{
FieldName = "ParentVelocity";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1352A0A5
{
FieldName = "TextureID";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_3F08C9CC
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
8.9328818e-002,
1.2633452e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
1.0203243e+000,
6.4178073e-001,
-1.2389421e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-1.6671433e-001,
-6.9063723e-002,
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);
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_7373067F
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
1.8617449e-002,
3.7234969e-002,
9.6040227e-002,
1.6187949e-001,
4.2304891e-001,
4.8267543e-001,
6.5048271e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
4.6155271e-001,
1.1097360e+000,
1.1913260e+000,
1.2027121e+000,
1.5533510e+000,
3.1154866e+000,
1.3129970e+000,
9.9858201e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
5.2994812e-001,
5.2994978e-001,
7.0677501e-001,
2.2324190e+000,
-1.2589170e+000,
-1.4095020e+000,
1.9320531e+000,
7.6640139e+000,
3.7825661e+000,
8.6358368e-001,
-1.9505526e-001,
-5.4894471e-001,
-3.5419121e-001,
-7.3772728e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
1.8617449e-002,
3.7234969e-002,
5.7597529e-002,
1.0300433e-001,
2.6808769e-001,
5.0780302e-001,
7.3183209e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
4.9471349e-001,
1.2169130e+000,
2.2920790e+000,
3.6313715e+000,
6.5417272e-001,
1.4177361e+000,
5.1636100e-001,
1.0271250e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
5.8983940e-001,
5.8984131e-001,
7.8848606e-001,
8.6239171e-001,
1.0754330e+000,
2.3981247e+000,
6.7492634e-002,
2.4538013e-001,
-1.0991865e+000,
-1.5961140e+000,
6.7877718e-003,
6.3436050e-003,
-2.8246269e-001,
-3.3811399e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_43EDD7AE
{
SamplerName = "GlowTurb";
Wavelength = 2.0000000e-001;
Strength = 2.1213202e-001;
Lacunarity = 4.3478259e-001;
Gain = 7.3429948e-001;
TimeScale = 6.0000000e+000;
FlowFactor = -3.7681162e-001;
DivergenceFactor = -7.0531404e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_6D0E5909
{
Expression = "function void Eval()
{
Life = (parent.BranchLength-spawner.LifeRatio*parent.BranchLength)*2;
Size = 0.15;
Velocity=parent.Vrand*1+vrand()*5;
ParentVelocity = Velocity;
TextureID = rand(0,16);
}
";
}
CParticleState $LOCAL$/CParticleState_D62CF800
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_E2DAF6C3",
"$LOCAL$/CParticleEvolver_Script_65F4AB42",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_E2DAF6C3
{
CustomName = "Physics";
Drag = 6.0000000e+001;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_65F4AB42
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_5FF12A2D";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5FF12A2D
{
Expression = "function void Eval()
{
Color = float4(RGB.x, RGB.y, RGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power*0.5);
Color = Color * GlowTurb.sample(LifeRatio).x;
Position += float3(ParentVelocity * 0.02 * dt) * 3;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Thunder
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_2B0BA695";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 8.0000000e+000;
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,473 @@
Version = 1.8.4.27161;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Orbiters",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_EBAD1697",
"$LOCAL$/CParticleAttributeDeclaration_1B3B0785",
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_2A0D3865",
"$LOCAL$/CParticleAttributeDeclaration_5A5354F6",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_8163C3AE
{
SamplerName = "IntensityFromParent";
Times =
{
0.0000000e+000,
1.2138355e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.2072124e+000,
1.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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Orbiters
{
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_F069AE6B";
DurationInSeconds = 1.0000000e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 1.6000000e+001;
FirstSpawnDelay = 5.0000000e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F069AE6B
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C7AFE6DE",
"$LOCAL$/CParticleFieldDeclaration_4154FFF9",
"$LOCAL$/CParticleFieldDeclaration_AD759B72",
"$LOCAL$/CParticleFieldDeclaration_BE7FC61D",
"$LOCAL$/CParticleFieldDeclaration_B0B3CA2C",
"$LOCAL$/CParticleFieldDeclaration_D477D258",
"$LOCAL$/CParticleFieldDeclaration_0EE2FB00",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9E9ED973",
"$LOCAL$/CParticleSamplerCurve_A5DFDE5F",
"$LOCAL$/CParticleSamplerCurve_EFCF3FF6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_FA50680A";
States =
{
"$LOCAL$/CParticleState_5DA09A7C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FA50680A
{
Expression = "function void Eval()
{
Life = rand(1, 2);
Radius = 0;
OrbitalCenter = 0;
RotationAxis = vrand();
BasePosition = Sphere.samplePosition();
Position = BasePosition * Radius;
RadiusRate = rand(0.5, 1.5);
RotationRate = rand(0.5, 1.5);
}
";
}
CParticleState $LOCAL$/CParticleState_5DA09A7C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_11",
"$LOCAL$/OrbitalTrail",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4154FFF9
{
FieldName = "OrbitalCenter";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C7AFE6DE
{
FieldName = "Radius";
}
CParticleEvolver_Script $LOCAL$/Script_11
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_014431B0";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_014431B0
{
Expression = "function void Eval()
{
Radius += (AdditionalRadiusSpeed * RadiusRate) * (dt * SizeRatioSampler.sample(LifeRatio));
Orbital += (OrbitalSpeed * RotationRate) * (dt * RotateRatioSampler.sample(LifeRatio));
float3 v = BasePosition - OrbitalCenter;
Position = rotate(v, RotationAxis, Orbital) * Radius + OrbitalCenter;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AD759B72
{
FieldName = "BasePosition";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BE7FC61D
{
FieldName = "RotationAxis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Spawner $LOCAL$/OrbitalTrail
{
SpawnMetric = Time;
SpawnInterval = 2.0000000e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_5E4EBA37";
}
CParticleState $LOCAL$/CParticleState_6C99A0A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_12",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_5E4EBA37
{
Renderer = "$LOCAL$/CParticleRenderer_List_9BDF00D0";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_BDB9BCA5",
"$LOCAL$/CParticleFieldDeclaration_D4565CA7",
"$LOCAL$/CParticleFieldDeclaration_A3F9581D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_8163C3AE",
"$LOCAL$/CParticleSamplerCurve_72F75C8F",
"$LOCAL$/CParticleSamplerCurve_D48E47D3",
"$LOCAL$/CParticleSamplerCurve_1D475C8C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6";
States =
{
"$LOCAL$/CParticleState_6C99A0A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6
{
Expression = "function void Eval()
{
Life = TrailLife;
//TextureID = rand(0,4)
//Brightness = IntensityFromParent.sample(spawner.LifeRatio);
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_545410FB
{
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureIDField = "TextureID";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BDB9BCA5
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/Script_12
{
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC
{
Expression = "function void Eval()
{
Color = float4(RGB.x, RGB.y, RGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power);
Color2 = float4(0.1);
Size = TrailSize * SizeSampler.sample(LifeRatio);
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9E9ED973
{
SamplerName = "Sphere";
Shape = "$LOCAL$/CShapeDescriptor_AC2FEBB2";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_AC2FEBB2
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EBAD1697
{
AttributeName = "AdditionalRadiusSpeed";
DefaultValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1B3B0785
{
AttributeName = "OrbitalSpeed";
DefaultValueF4 = float4(5.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B0B3CA2C
{
FieldName = "Orbital";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A5DFDE5F
{
SamplerName = "SizeRatioSampler";
Times =
{
0.0000000e+000,
4.5172039e-002,
7.9667412e-002,
2.3473868e-001,
1.0000000e+000,
};
FloatValues =
{
9.7151250e-003,
8.4995359e-002,
4.5984969e-001,
7.9461977e-002,
4.8672408e-003,
};
FloatTangents =
{
0.0000000e+000,
-1.1017920e-002,
8.4486477e-002,
6.4517602e-002,
0.0000000e+000,
0.0000000e+000,
-4.9369391e-002,
-2.4363287e-001,
-7.5415880e-003,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(2.0000000e-001, 5.0000001e-002, 7.5000000e-001, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_72F75C8F
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
7.0222743e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8318589e-001,
4.9955750e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-6.9138300e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1BCEDEFE
{
AttributeName = "Power";
DefaultValueF4 = float4(6.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9BDF00D0
{
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_545410FB",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D48E47D3
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
5.7290055e-002,
1.3172999e-001,
7.1332288e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.1233578e+000,
1.6552079e+000,
1.1014417e+000,
-1.2139082e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6811266e+000,
-8.2865608e-001,
2.4560774e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_2A0D3865
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(2.0000000e-002, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1D475C8C
{
SamplerName = "SizeSampler";
Times =
{
0.0000000e+000,
1.6869873e-001,
1.0000000e+000,
};
FloatValues =
{
5.7522357e-003,
9.8893809e-001,
4.8672259e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.1051891e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D4565CA7
{
FieldName = "Color2";
FieldType = float4;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_5A5354F6
{
AttributeName = "TrailLife";
DefaultValueF4 = float4(4.0000001e-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_A3F9581D
{
FieldName = "TextureID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EFCF3FF6
{
SamplerName = "RotateRatioSampler";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.0358833e-001,
2.3914814e-002,
};
FloatTangents =
{
0.0000000e+000,
-1.7688432e+000,
9.8717056e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D477D258
{
FieldName = "RadiusRate";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0EE2FB00
{
FieldName = "RotationRate";
}

View file

@ -0,0 +1,512 @@
Version = 1.9.5.30373;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Orbiters",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_EBAD1697",
"$LOCAL$/CParticleAttributeDeclaration_1B3B0785",
"$LOCAL$/CParticleAttributeDeclaration_DBDA839C",
"$LOCAL$/CParticleAttributeDeclaration_1BCEDEFE",
"$LOCAL$/CParticleAttributeDeclaration_2A0D3865",
"$LOCAL$/CParticleAttributeDeclaration_5A5354F6",
"$LOCAL$/CParticleAttributeDeclaration_9078374F",
};
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_05FF2204
{
ShapeType = SPHERE;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_8163C3AE
{
SamplerName = "IntensityFromParent";
Times =
{
0.0000000e+000,
1.2138355e-001,
8.4999996e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.2072124e+000,
1.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,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CActionFactoryParticleSpawnerBase $LOCAL$/Orbiters
{
Delay = 1.0000000e-001;
Descriptor = "$LOCAL$/CParticleDescriptor_F069AE6B";
DurationInSeconds = 3.0000001e-001;
SpawnCountMode = TotalParticleCount;
SpawnCount = 6.4000000e+001;
FirstSpawnDelay = 5.0000000e-001;
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_F069AE6B
{
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_C7AFE6DE",
"$LOCAL$/CParticleFieldDeclaration_4154FFF9",
"$LOCAL$/CParticleFieldDeclaration_AD759B72",
"$LOCAL$/CParticleFieldDeclaration_BE7FC61D",
"$LOCAL$/CParticleFieldDeclaration_B0B3CA2C",
"$LOCAL$/CParticleFieldDeclaration_D477D258",
"$LOCAL$/CParticleFieldDeclaration_0EE2FB00",
"$LOCAL$/CParticleFieldDeclaration_95F6977D",
};
Samplers =
{
"$LOCAL$/CParticleSamplerShape_9E9ED973",
"$LOCAL$/CParticleSamplerCurve_A5DFDE5F",
"$LOCAL$/CParticleSamplerCurve_EFCF3FF6",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_FA50680A";
States =
{
"$LOCAL$/CParticleState_5DA09A7C",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_FA50680A
{
Expression = "function void Eval()
{
Life = rand(0.5, 1.5);
Radius = 0;
OrbitalCenter = 0;
RotationAxis = vrand();
BasePosition = Sphere.samplePosition();
Position = BasePosition * Radius;
RadiusRate = rand(0.5, 1.5);
RotationRate = rand(0.5, 1.5);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.g),rand(0,RandomRGB.b));
}
";
}
CParticleState $LOCAL$/CParticleState_5DA09A7C
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_11",
"$LOCAL$/OrbitalTrail",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4154FFF9
{
FieldName = "OrbitalCenter";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_C7AFE6DE
{
FieldName = "Radius";
}
CParticleEvolver_Script $LOCAL$/Script_11
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_014431B0";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_014431B0
{
Expression = "function void Eval()
{
Radius += (AdditionalRadiusSpeed * RadiusRate) * (dt * SizeRatioSampler.sample(LifeRatio));
Orbital += (OrbitalSpeed * RotationRate) * (dt * RotateRatioSampler.sample(LifeRatio));
float3 v = BasePosition - OrbitalCenter;
Position = rotate(v, RotationAxis, Orbital) * Radius + OrbitalCenter;
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AD759B72
{
FieldName = "BasePosition";
FieldType = float3;
TransformFilter = full;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BE7FC61D
{
FieldName = "RotationAxis";
FieldType = float3;
TransformFilter = rotate;
}
CParticleEvolver_Spawner $LOCAL$/OrbitalTrail
{
CustomName = "Spawner";
SpawnMetric = Time;
SpawnInterval = 2.0000000e-002;
Descriptor = "$LOCAL$/CParticleDescriptor_5E4EBA37";
}
CParticleState $LOCAL$/CParticleState_6C99A0A4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/Script_12",
};
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_5E4EBA37
{
Renderer = "$LOCAL$/CParticleRenderer_List_9BDF00D0";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_BDB9BCA5",
"$LOCAL$/CParticleFieldDeclaration_D4565CA7",
"$LOCAL$/CParticleFieldDeclaration_A3F9581D",
"$LOCAL$/CParticleFieldDeclaration_6CE61D84",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_8163C3AE",
"$LOCAL$/CParticleSamplerCurve_72F75C8F",
"$LOCAL$/CParticleSamplerCurve_D48E47D3",
"$LOCAL$/CParticleSamplerCurve_1D475C8C",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6";
States =
{
"$LOCAL$/CParticleState_6C99A0A4",
};
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_F5AD39C6
{
Expression = "function void Eval()
{
Life = TrailLife;
RandomedRGB = parent.RandomedRGB;
//TextureID = rand(0,4)
//Brightness = IntensityFromParent.sample(spawner.LifeRatio);
}
";
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_545410FB
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_BDB9BCA5
{
FieldName = "Color";
FieldType = float4;
}
CParticleEvolver_Script $LOCAL$/Script_12
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E3B015CC
{
Expression = "function void Eval()
{
Color = float4(RGB.x + RandomedRGB.x, RGB.y + RandomedRGB.y, RGB.z + RandomedRGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power);
Color2 = float4(0.1);
Size = TrailSize * SizeSampler.sample(LifeRatio);
}
";
}
CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9E9ED973
{
SamplerName = "Sphere";
Shape = "$LOCAL$/CShapeDescriptor_AC2FEBB2";
}
CShapeDescriptor $LOCAL$/CShapeDescriptor_AC2FEBB2
{
ShapeType = SPHERE;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EBAD1697
{
AttributeName = "AdditionalRadiusSpeed";
DefaultValueF4 = float4(2.0000000e+001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1B3B0785
{
AttributeName = "OrbitalSpeed";
DefaultValueF4 = float4(5.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(3.0000000e+002, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_B0B3CA2C
{
FieldName = "Orbital";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_A5DFDE5F
{
SamplerName = "SizeRatioSampler";
Times =
{
0.0000000e+000,
4.5172039e-002,
7.9667412e-002,
2.3473868e-001,
1.0000000e+000,
};
FloatValues =
{
9.7151250e-003,
8.4995359e-002,
4.5984969e-001,
7.9461977e-002,
4.8672408e-003,
};
FloatTangents =
{
0.0000000e+000,
-1.1017920e-002,
8.4486477e-002,
6.4517602e-002,
0.0000000e+000,
0.0000000e+000,
-4.9369391e-002,
-2.4363287e-001,
-7.5415880e-003,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_DBDA839C
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(8.3999997e-001, 5.9999999e-002, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_72F75C8F
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
7.0222743e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8318589e-001,
4.9955750e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-6.9138300e-001,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_1BCEDEFE
{
AttributeName = "Power";
DefaultValueF4 = float4(6.3783784e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_9BDF00D0
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_545410FB",
};
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_D48E47D3
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
5.7290055e-002,
1.3172999e-001,
7.1332288e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.1233578e+000,
1.6552079e+000,
1.1014417e+000,
-1.2139082e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.6811266e+000,
-8.2865608e-001,
2.4560774e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_2A0D3865
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(9.9999998e-003, 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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1D475C8C
{
SamplerName = "SizeSampler";
Times =
{
0.0000000e+000,
1.6869873e-001,
1.0000000e+000,
};
FloatValues =
{
5.7522357e-003,
9.8893809e-001,
4.8672259e-003,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.1051891e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_5A5354F6
{
AttributeName = "TrailLife";
DefaultValueF4 = float4(1.5135141e-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_A3F9581D
{
FieldName = "TextureID";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_2FF1CF89
{
Expression = "function void Eval()
{
}
";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_EFCF3FF6
{
SamplerName = "RotateRatioSampler";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.0358833e-001,
2.3914814e-002,
};
FloatTangents =
{
0.0000000e+000,
-1.7688432e+000,
9.8717056e-002,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D477D258
{
FieldName = "RadiusRate";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0EE2FB00
{
FieldName = "RotationRate";
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_9078374F
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(6.0270268e-001, 5.1351351e-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);
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_38F45F59
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F7D5490
{
FieldName = "RandomRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_95F6977D
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6CE61D84
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D4565CA7
{
FieldName = "Color2";
FieldType = float4;
}

View file

@ -0,0 +1,870 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Trail",
"$LOCAL$/Spark",
"$LOCAL$/Layer_1",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_B1F5EDB1",
"$LOCAL$/CParticleAttributeDeclaration_0F3455C8",
"$LOCAL$/CParticleAttributeDeclaration_FEA2D0CA",
"$LOCAL$/CParticleAttributeDeclaration_84958DCF",
"$LOCAL$/CParticleAttributeDeclaration_C515E1D9",
"$LOCAL$/CParticleAttributeDeclaration_EF71D2B2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(7.5000000e-001, 1.2000000e-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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D62E0EDF
{
FieldName = "Energy";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F51E30B
{
FieldName = "Energy";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_52633D9B
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5648EFA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAC07C45",
"$LOCAL$/CParticleFieldDeclaration_F8F7FDEC",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F",
"$LOCAL$/CParticleSamplerCurve_11D402CE",
"$LOCAL$/CParticleSamplerCurve_45CB442B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F12C52A9";
States =
{
"$LOCAL$/CParticleState_2A5FA220",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5648EFA
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAC07C45
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F8F7FDEC
{
FieldName = "ColorScale";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F
{
SamplerName = "Turb";
Wavelength = 2.5000000e-001;
Strength = 5.0000001e-002;
Gain = 1.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_11D402CE
{
SamplerName = "Fade";
Times =
{
0.0000000e+000,
4.9999997e-002,
3.9999998e-001,
5.9999996e-001,
9.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.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,
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_F12C52A9
{
Expression = "function void PostEval()
{
Life = TrailLife;
Size = 0.05 * TrailSize;
Velocity = Turb.sample(Position) * TrailVelocityScaler;
Position += Velocity * 0.05;
ColorScale = 1;
}
";
}
CParticleState $LOCAL$/CParticleState_2A5FA220
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7FEFDB63",
"$LOCAL$/CParticleEvolver_Field_A8A31C62",
"$LOCAL$/CParticleEvolver_Script_E5FB0E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7FEFDB63
{
CustomName = "Physics";
Drag = 1.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A8A31C62
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_26B9E1CD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_26B9E1CD
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.9999994e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
8.7402363e+000,
4.4445987e+000,
1.0468085e+001,
9.9948126e-001,
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,
-6.4010613e-002,
-1.0760010e+000,
-7.6663963e-002,
-7.3198671e-003,
-5.7609558e-001,
-9.6840105e+000,
-6.8997574e-001,
-6.5878808e-002,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E5FB0E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_481CFC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_481CFC67
{
Expression = "function void Eval()
{
Color = (RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),Power);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Trail
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_52633D9B";
Infinite = true;
SpawnCount = 3.2000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B1F5EDB1
{
AttributeName = "TrailVelocityScaler";
DefaultValueF4 = float4(3.5608298e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0F3455C8
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_45CB442B
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
2.8418908e+000,
8.1062841e-001,
};
FloatTangents =
{
0.0000000e+000,
9.8915182e-002,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FEA2D0CA
{
AttributeName = "TrailLife";
DefaultValueF4 = float4(5.0000000e-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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_010DD88C
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6C01DC3F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2856806E",
"$LOCAL$/CParticleFieldDeclaration_119BD0C9",
"$LOCAL$/CParticleFieldDeclaration_FB47EAC0",
"$LOCAL$/CParticleFieldDeclaration_63838083",
"$LOCAL$/CParticleFieldDeclaration_7623C910",
"$LOCAL$/CParticleFieldDeclaration_DE6392D5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802",
"$LOCAL$/CParticleSamplerCurve_2204493E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED";
States =
{
"$LOCAL$/CParticleState_545764B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6C01DC3F
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2856806E
{
FieldName = "Rotation";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_119BD0C9
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FB47EAC0
{
FieldName = "SizeFactor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_63838083
{
FieldName = "ColorFactor";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802
{
SamplerName = "Turb";
Strength = 7.0710677e-001;
Lacunarity = 1.6425119e-001;
Gain = 2.8502420e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED
{
Expression = "function void PostEval()
{
Life = remap(pow(rand(0,1), 4), 0, 1, 0.2, 1.5);
SizeFactor = rand(0.007, 0.01) * ParticleScale;
ColorFactor = remap(pow(rand(0,1),8), 0, 1, 0.5, 3);
float vScale = pow(saturate(5), 0.5);
float3 rVel = vrand() * 5;
float3 tVel = Turb.sample(Position);
Velocity = (rVel + tVel) * 0.2;// * remap(noise(parent.LifeRatio * 20 + scene.Time), -1, 1, 0.03, 0.1);
Rotation = rand(-pi, pi);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.y),rand(0,RandomRGB.z));
}
";
}
CParticleState $LOCAL$/CParticleState_545764B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_530EC787",
"$LOCAL$/CParticleEvolver_Field_574CA956",
"$LOCAL$/CParticleEvolver_Field_35E45A68",
"$LOCAL$/CParticleEvolver_Script_5405A86A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_530EC787
{
CustomName = "Physics";
Mass = -1.0000000e+000;
Drag = 5.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_574CA956
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E70F37D1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E70F37D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.7447720e+000,
4.5880709e+000,
1.0473518e+001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0970583e+001,
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,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_35E45A68
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56A3554B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56A3554B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-3.4636030e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5405A86A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75
{
Expression = "function void Eval()
{
Size *= SizeFactor * 2;
Color *= (RGB.xyz1 + RandomedRGB.xyz1) * GlowCurve.sample(LifeRatio) * pow(Power,1);
Force = Turb.sample(LifeRatio) * 5 * LifeRatio;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Spark
{
EditorInfosIsBlockMinimized = 0;
Descriptor = "$LOCAL$/CParticleDescriptor_010DD88C";
Infinite = true;
SpawnCount = 4.8000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_84958DCF
{
AttributeName = "ParticleScale";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2204493E
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.8354541e-002,
2.1165061e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.5340417e-001,
2.4170661e-001,
-1.3308048e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-9.0102851e-002,
-6.2696373e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C515E1D9
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(8.5000002e-001, 2.0000000e-001, 7.0999998e-001, 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_7623C910
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DE6392D5
{
FieldName = "Force";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF71D2B2
{
AttributeName = "Power";
DefaultValueF4 = float4(4.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_85273F59
{
EditorInfosPosition = int2(-392, -44);
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_0439B490",
"$LOCAL$/CParticleFieldDeclaration_02A12693",
"$LOCAL$/CParticleFieldDeclaration_EEABAF52",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_E083777D";
States =
{
"$LOCAL$/CParticleState_72047D84",
};
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_0439B490
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_02A12693
{
FieldName = "Vrand";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_EEABAF52
{
FieldName = "BranchLength";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_E083777D
{
EditorInfosPosition = int2(-508, 22);
Expression = "function void Eval()
{
BranchLength = rand(0.2,0.4);
Life = BranchLength;
Vrand=vrand();
}
";
}
CParticleState $LOCAL$/CParticleState_72047D84
{
EditorInfosPosition = int2(-508, 65);
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Localspace_FFD26897",
"$LOCAL$/CParticleEvolver_Spawner_A458815B",
};
}
CParticleEvolver_Localspace $LOCAL$/CParticleEvolver_Localspace_FFD26897
{
CustomName = "Localspace";
ChildList =
{
"$LOCAL$/CParticleEvolver_Physics_896957A6",
"$LOCAL$/CParticleEvolver_Script_9A075C61",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_896957A6
{
EditorInfosPosition = int2(-590, 86);
CustomName = "Physics";
IntegrationDtTreshold = 2.0000001e-003;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_9A075C61
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C5C61238";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C5C61238
{
Expression = "function void Eval()
{
Color=(RGB*sin(LifeRatio*3)).xyz1*0.5;
}
";
}
CParticleEvolver_Spawner $LOCAL$/CParticleEvolver_Spawner_A458815B
{
CustomName = "Spawner";
SpawnInterval = 4.0000001e-001;
FirstSpawnDelay = 0.0000000e+000;
Descriptor = "$LOCAL$/CParticleDescriptor_68DD3DBA";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_68DD3DBA
{
Renderer = "$LOCAL$/CParticleRenderer_List_21FB7205";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2DCAD4DF",
"$LOCAL$/CParticleFieldDeclaration_5900958E",
"$LOCAL$/CParticleFieldDeclaration_6E76FC69",
};
Samplers =
{
"$LOCAL$/CParticleSamplerCurve_1586AEE0",
"$LOCAL$/CParticleSamplerDoubleCurve_4D298723",
"$LOCAL$/CParticleSamplerProceduralTurbulence_35045322",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5543FF8D";
States =
{
"$LOCAL$/CParticleState_96DC9ED4",
};
}
CParticleRenderer_List $LOCAL$/CParticleRenderer_List_21FB7205
{
CustomName = "List";
Renderers =
{
"$LOCAL$/CParticleRenderer_Ribbon_4D6F46AC",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_4D6F46AC
{
CustomName = "Ribbon";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/FX/Lightning_05.dds";
AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
SoftnessDistance = 2.5000000e-001;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2DCAD4DF
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_5900958E
{
FieldName = "ParentVelocity";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_6E76FC69
{
FieldName = "TextureID";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_1586AEE0
{
SamplerName = "Alpha";
Times =
{
0.0000000e+000,
1.9577943e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
9.8620117e-001,
-1.2389421e-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);
}
CParticleSamplerDoubleCurve $LOCAL$/CParticleSamplerDoubleCurve_4D298723
{
SamplerName = "Glow";
Times =
{
0.0000000e+000,
1.8617511e-002,
3.7235029e-002,
1.0049713e-001,
1.6187957e-001,
2.7263108e-001,
4.9624464e-001,
6.5048277e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.9479560e-001,
9.4297880e-001,
3.3005321e+000,
1.0359550e+000,
2.5645046e+000,
1.7412803e+000,
1.1462400e+000,
9.9858201e-001,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
5.2994978e-001,
5.2994978e-001,
7.0677501e-001,
2.4016132e+000,
-1.3543299e+000,
-1.3140889e+000,
1.8012676e+000,
3.2500029e+000,
1.6040356e+000,
3.2386386e+000,
-7.3150241e-001,
-5.0455630e-001,
-3.2555088e-001,
-7.3772722e-001,
0.0000000e+000,
0.0000000e+000,
};
Times1 =
{
0.0000000e+000,
1.8617511e-002,
3.7235029e-002,
5.7597589e-002,
1.0930161e-001,
2.6808780e-001,
5.0780308e-001,
7.5035948e-001,
1.0000000e+000,
};
FloatValues1 =
{
0.0000000e+000,
3.2795650e-001,
1.0501560e+000,
2.1253221e+000,
4.6880264e+000,
4.8741561e-001,
1.2509789e+000,
9.0204418e-001,
1.0271250e+000,
};
FloatTangents1 =
{
0.0000000e+000,
0.0000000e+000,
5.8984131e-001,
5.8984131e-001,
7.8848600e-001,
8.6239153e-001,
1.0754330e+000,
2.7307096e+000,
7.6852888e-002,
2.3601985e-001,
-1.0572574e+000,
-1.5961140e+000,
6.7877718e-003,
6.8682232e-003,
-3.0582249e-001,
-3.1475419e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_35045322
{
SamplerName = "GlowTurb";
Wavelength = 2.0000000e-001;
Strength = 2.1213202e-001;
Lacunarity = 4.3478259e-001;
Gain = 7.3429948e-001;
TimeScale = 6.0000000e+000;
FlowFactor = -3.7681162e-001;
DivergenceFactor = -7.0531404e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_5543FF8D
{
Expression = "function void Eval()
{
Life = (parent.BranchLength-spawner.LifeRatio*parent.BranchLength) * 1.5;
Size = 0.15;
Velocity=parent.Vrand*1+vrand()*8;
ParentVelocity = Velocity;
TextureID = rand(0,16);
}
";
}
CParticleState $LOCAL$/CParticleState_96DC9ED4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_CCA17C27",
"$LOCAL$/CParticleEvolver_Script_DE652A76",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_CCA17C27
{
CustomName = "Physics";
Drag = 6.0000000e+001;
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_DE652A76
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_86833F71";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_86833F71
{
Expression = "function void Eval()
{
Color = float4(RGB.x, RGB.y, RGB.z, Alpha.sample(LifeRatio)) * pow(Glow.sample(LifeRatio),Power * 0.6);
Color = Color * GlowTurb.sample(LifeRatio).x;
Position += float3(ParentVelocity * 0.02 * dt);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Layer_1
{
EditorInfosPosition = int2(-288, -61);
Descriptor = "$LOCAL$/CParticleDescriptor_85273F59";
Infinite = true;
DurationInSeconds = 2.0000000e+000;
SpawnCount = 8.0000000e+000;
}

View file

@ -0,0 +1,550 @@
Version = 1.9.4.30080;
CParticleEffect $LOCAL$/Resource
{
EditorInfosPosition = int2(73, 52);
OnSpawn = "$LOCAL$/Spawner";
CustomAttributes = "$LOCAL$/_GlobalAttributes";
Autostart = true;
}
CActionFactoryWithChilds $LOCAL$/Spawner
{
EditorInfosPosition = int2(-162, -81);
ChildList =
{
"$LOCAL$/Trail",
"$LOCAL$/Spark",
};
}
CParticleAttributeList $LOCAL$/_GlobalAttributes
{
EditorInfosPosition = int2(-599, -20);
AttributeList =
{
"$LOCAL$/CParticleAttributeDeclaration_40FB3B62",
"$LOCAL$/CParticleAttributeDeclaration_B1F5EDB1",
"$LOCAL$/CParticleAttributeDeclaration_0F3455C8",
"$LOCAL$/CParticleAttributeDeclaration_FEA2D0CA",
"$LOCAL$/CParticleAttributeDeclaration_84958DCF",
"$LOCAL$/CParticleAttributeDeclaration_C515E1D9",
"$LOCAL$/CParticleAttributeDeclaration_EF71D2B2",
};
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_40FB3B62
{
AttributeName = "RGB";
AttributeType = float3;
DefaultValueF4 = float4(7.5000000e-001, 1.2000000e-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);
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6D31A1F2
{
EditorInfosPosition = int2(-508, -63);
CustomName = "Billboard";
BillboardingMaterial = Additive_Soft;
Diffuse = "Textures/Fx/Glow_03.dds";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_15A23984
{
Expression = "function void Eval()
{
}
";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_D62E0EDF
{
FieldName = "Energy";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_4F51E30B
{
FieldName = "Energy";
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_52633D9B
{
EditorInfosIsBlockMinimized = 0;
Renderer = "$LOCAL$/CParticleRenderer_Ribbon_E5648EFA";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_AAC07C45",
"$LOCAL$/CParticleFieldDeclaration_F8F7FDEC",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F",
"$LOCAL$/CParticleSamplerCurve_11D402CE",
"$LOCAL$/CParticleSamplerCurve_45CB442B",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F12C52A9";
States =
{
"$LOCAL$/CParticleState_2A5FA220",
};
}
CParticleRenderer_Ribbon $LOCAL$/CParticleRenderer_Ribbon_E5648EFA
{
CustomName = "Ribbon";
Quality = CorrectDeformation;
Diffuse = "Textures/FX/TrailWater_01.dds";
AtlasDefinition = "Textures/FX/AtlasC4.pkat";
TextureUField = "LifeRatio";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_AAC07C45
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_F8F7FDEC
{
FieldName = "ColorScale";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_555A3D1F
{
SamplerName = "Turb";
Wavelength = 2.5000000e-001;
Strength = 5.0000001e-002;
Gain = 1.0000000e+000;
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_11D402CE
{
SamplerName = "Fade";
Times =
{
0.0000000e+000,
4.9999997e-002,
3.9999998e-001,
5.9999996e-001,
9.4999999e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
1.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,
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_F12C52A9
{
Expression = "function void PostEval()
{
Life = TrailLife;
Size = 0.05 * TrailSize;
Velocity = Turb.sample(Position) * TrailVelocityScaler;
Position += Velocity * 0.05;
ColorScale = 1;
}
";
}
CParticleState $LOCAL$/CParticleState_2A5FA220
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_7FEFDB63",
"$LOCAL$/CParticleEvolver_Field_A8A31C62",
"$LOCAL$/CParticleEvolver_Script_E5FB0E14",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_7FEFDB63
{
CustomName = "Physics";
Drag = 1.0000000e+000;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_A8A31C62
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_26B9E1CD";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_26B9E1CD
{
ValueType = Float4;
Times =
{
0.0000000e+000,
9.9999994e-002,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
8.7402363e+000,
4.4445987e+000,
1.0468085e+001,
9.9948126e-001,
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,
-6.4010613e-002,
-1.0760010e+000,
-7.6663963e-002,
-7.3198671e-003,
-5.7609558e-001,
-9.6840105e+000,
-6.8997574e-001,
-6.5878808e-002,
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);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_E5FB0E14
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_481CFC67";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_481CFC67
{
Expression = "function void Eval()
{
Color = (RGB).xyz1*sin(LifeRatio)*pow(GlowCurve.sample(LifeRatio),Power);
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Trail
{
Descriptor = "$LOCAL$/CParticleDescriptor_52633D9B";
Infinite = true;
SpawnCount = 6.4000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_B1F5EDB1
{
AttributeName = "TrailVelocityScaler";
DefaultValueF4 = float4(3.5608298e-001, 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);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_0F3455C8
{
AttributeName = "TrailSize";
DefaultValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_45CB442B
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
2.8418908e+000,
8.1062841e-001,
};
FloatTangents =
{
0.0000000e+000,
9.8915182e-002,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_FEA2D0CA
{
AttributeName = "TrailLife";
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);
}
CParticleDescriptor $LOCAL$/CParticleDescriptor_010DD88C
{
Renderer = "$LOCAL$/CParticleRenderer_Billboard_6C01DC3F";
CustomFields =
{
"$LOCAL$/CParticleFieldDeclaration_2856806E",
"$LOCAL$/CParticleFieldDeclaration_119BD0C9",
"$LOCAL$/CParticleFieldDeclaration_FB47EAC0",
"$LOCAL$/CParticleFieldDeclaration_63838083",
"$LOCAL$/CParticleFieldDeclaration_7623C910",
"$LOCAL$/CParticleFieldDeclaration_DE6392D5",
};
Samplers =
{
"$LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802",
"$LOCAL$/CParticleSamplerCurve_2204493E",
};
SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED";
States =
{
"$LOCAL$/CParticleState_545764B4",
};
}
CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_6C01DC3F
{
CustomName = "Billboard";
BillboardingMaterial = AlphaBlend;
Diffuse = "Textures/FX/BB_Glow_02_64.dds";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_2856806E
{
FieldName = "Rotation";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_119BD0C9
{
FieldName = "Color";
FieldType = float4;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_FB47EAC0
{
FieldName = "SizeFactor";
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_63838083
{
FieldName = "ColorFactor";
}
CParticleSamplerProceduralTurbulence $LOCAL$/CParticleSamplerProceduralTurbulence_26DF1802
{
SamplerName = "Turb";
Strength = 7.0710677e-001;
Lacunarity = 1.6425119e-001;
Gain = 2.8502420e-001;
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_EA81B5ED
{
Expression = "function void PostEval()
{
Life = remap(pow(rand(0,1), 4), 0, 1, 0.2, 1.5);
SizeFactor = rand(0.007, 0.01) * ParticleScale;
ColorFactor = remap(pow(rand(0,1),8), 0, 1, 0.5, 3);
float vScale = pow(saturate(5), 0.5);
float3 rVel = vrand() * 5;
float3 tVel = Turb.sample(Position);
Velocity = (rVel + tVel) * 0.2;// * remap(noise(parent.LifeRatio * 20 + scene.Time), -1, 1, 0.03, 0.1);
Rotation = rand(-pi, pi);
RandomedRGB = float3(rand(0,RandomRGB.x),rand(0,RandomRGB.y),rand(0,RandomRGB.z));
}
";
}
CParticleState $LOCAL$/CParticleState_545764B4
{
StateName = "State_0";
Evolvers =
{
"$LOCAL$/CParticleEvolver_Physics_530EC787",
"$LOCAL$/CParticleEvolver_Field_574CA956",
"$LOCAL$/CParticleEvolver_Field_35E45A68",
"$LOCAL$/CParticleEvolver_Script_5405A86A",
};
}
CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_530EC787
{
CustomName = "Physics";
Mass = -1.0000000e+000;
Drag = 5.0000000e-001;
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_574CA956
{
CustomName = "Field";
Name = "Color";
Evaluator = "$LOCAL$/CParticleSamplerCurve_E70F37D1";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_E70F37D1
{
ValueType = Float4;
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
8.7447720e+000,
4.5880709e+000,
1.0473518e+001,
1.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
1.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-1.0970583e+001,
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,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_35E45A68
{
CustomName = "Field";
Name = "Size";
Evaluator = "$LOCAL$/CParticleSamplerCurve_56A3554B";
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_56A3554B
{
Times =
{
0.0000000e+000,
1.0000000e+000,
};
FloatValues =
{
1.0000000e+000,
0.0000000e+000,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
-3.4636030e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_5405A86A
{
CustomName = "Script";
Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75";
}
CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_C9B1DA75
{
Expression = "function void Eval()
{
Size *= SizeFactor * 2;
Color *= (RGB.xyz1 + RandomedRGB.xyz1) * GlowCurve.sample(LifeRatio) * pow(Power,1);
Force = Turb.sample(LifeRatio) * 5 * LifeRatio;
}
";
}
CActionFactoryParticleSpawnerBase $LOCAL$/Spark
{
Descriptor = "$LOCAL$/CParticleDescriptor_010DD88C";
Infinite = true;
SpawnCount = 4.8000000e+001;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_84958DCF
{
AttributeName = "ParticleScale";
DefaultValueF4 = float4(2.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);
}
CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_2204493E
{
SamplerName = "GlowCurve";
Times =
{
0.0000000e+000,
9.8354541e-002,
2.1165061e-001,
1.0000000e+000,
};
FloatValues =
{
0.0000000e+000,
2.5340417e-001,
2.4170661e-001,
-1.3308048e-002,
};
FloatTangents =
{
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
0.0000000e+000,
-9.0102851e-002,
-6.2696373e-001,
0.0000000e+000,
0.0000000e+000,
};
MinLimits = float4(0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_C515E1D9
{
AttributeName = "RandomRGB";
AttributeType = float3;
DefaultValueF4 = float4(8.5000002e-001, 2.0000000e-001, 7.0999998e-001, 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_7623C910
{
FieldName = "RandomedRGB";
FieldType = float3;
}
CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_DE6392D5
{
FieldName = "Force";
FieldType = float3;
}
CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_EF71D2B2
{
AttributeName = "Power";
DefaultValueF4 = float4(4.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
HasMin = true;
HasMax = true;
MaxValueF4 = float4(1.0000000e+001, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
MaxValueI4 = int4(10, 10, 10, 10);
}

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more