FiE-Game/assets/streaming/PackFx/Particles/GUI/DamageCounter.pkfx
2018-11-20 20:05:15 +02:00

564 lines
14 KiB
Text

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;
}