DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ SetEffectProgress()

void PPERequester_GameplayBase::SetEffectProgress ( float progress)
inlineprivate

См. определение в файле PPERHMP_LVL3.c строка 25

26 {
28 m_CurveValue = (1 / WAVE_TILT) * (Math.Atan((WAVE_TILT * Math.Sin(m_ProgressAngle)) / (1 - WAVE_TILT * Math.Cos(m_ProgressAngle)))) * WAVE_AMPLITUDE_COEF;
29 m_CurveValueClamped = Math.Clamp(m_CurveValue,-1,1);
30
31 float distort = Math.Lerp(DISTORT_MIN,DISTORT_MAX,m_CurveValueClamped);
32 float centerX = Math.Lerp(0,m_LenseOffsetDist,Math.Sin(m_ProgressAngle + m_LenseOffsetAngle));
33 float centerY = Math.Lerp(0,m_LenseOffsetDist,Math.Cos(m_ProgressAngle + m_LenseOffsetAngle));
34 float chromAbb = Math.AbsFloat(m_CurveValueClamped); //scale
35
36 float chromShiftR = 0.1;
37 float chromShiftG = 0;
38 float chromShiftB = 0.75;
39
40 float alpha01 = Math.Sin( -Math.PI_HALF + 7 * m_ProgressAngle) * 0.5 + 0.5;
41 vector colabA = "-1 -1 -0.85";
42 vector colabB = "0 0 0";
43 vector absim = vector.Lerp(colabA, colabB, alpha01);
44
45 array<float> color_mod = {absim[0], absim[1], absim[2], 1.0};
46
47 vector coloverA = "0 0 0";
48 vector coloverB = "0.25 0.9 0.1";
49 vector oversim = vector.Lerp(coloverA, coloverB, m_CurveValueClamped);
50
51 array<float> color_overlay = {oversim[0], oversim[1], oversim[2], 0.5};
52
53 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_DISTORT,false, distort,PPEDistort.L_0_HMP,PPOperators.ADD);
54 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_CENTERX,false, centerX,PPEDistort.L_1_HMP,PPOperators.ADD);
55 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_CENTERY,false, centerY,PPEDistort.L_2_HMP,PPOperators.ADD);
56 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_CHROM_ABB,true, chromAbb,PPEDistort.L_3_HMP,PPOperators.ADD);
57 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_CHROM_ABB_SHIFTR,true, chromShiftR,PPEDistort.L_4_HMP,PPOperators.SET);
58 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_CHROM_ABB_SHIFTG,true, chromShiftG,PPEDistort.L_5_HMP,PPOperators.SET);
59 SetTargetValueFloat(PostProcessEffectType.Distort,PPEDistort.PARAM_CHROM_ABB_SHIFTB,true, chromShiftB,PPEDistort.L_6_HMP,PPOperators.SET);
60 SetTargetValueColor(PostProcessEffectType.Distort,PPEDistort.PARAM_CHROM_COLOR_MOD,color_mod,PPEDistort.L_7_HMP,PPOperators.ADD);
61
62 SetTargetValueColor(PostProcessEffectType.Glow,PPEGlow.PARAM_COLORIZATIONCOLOR,color_overlay,PPEGlow.L_23_HMP,PPOperators.ADD);
63 }
PPOperators
PP operators, specify operation between subsequent layers.
Определения PPEConstants.c:53
void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Определения PPERequestPlatformsBase.c:588
void SetTargetValueColor(int mat_id, int param_idx, array< float > val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Определения PPERequestPlatformsBase.c:630
const float WAVE_TILT
Определения PPERHMP_LVL3.c:6
const float DISTORT_MAX
Определения PPERHMP_LVL3.c:9
const float WAVE_PROGRESS_MIN
Определения PPERHMP_LVL3.c:3
const float WAVE_AMPLITUDE_COEF
Определения PPERHMP_LVL3.c:5
float m_ProgressAngle
Определения PPERHMP_LVL3.c:13
const float WAVE_PROGRESS_MAX
Определения PPERHMP_LVL3.c:4
float m_LenseOffsetAngle
Определения PPERHMP_LVL3.c:16
float m_CurveValueClamped
Определения PPERHMP_LVL3.c:15
float m_LenseOffsetDist
Определения PPERHMP_LVL3.c:17
float m_CurveValue
Определения PPERHMP_LVL3.c:14
const float DISTORT_MIN
Определения PPERHMP_LVL3.c:8
PostProcessEffectType
Post-process effect type.
Определения EnWorld.c:72

Перекрестные ссылки Math::AbsFloat(), Math::Atan(), Math::Clamp(), Math::Cos(), DISTORT_MAX, DISTORT_MIN, PPEDistort::L_0_HMP, PPEDistort::L_1_HMP, PPEGlow::L_23_HMP, PPEDistort::L_2_HMP, PPEDistort::L_3_HMP, PPEDistort::L_4_HMP, PPEDistort::L_5_HMP, PPEDistort::L_6_HMP, PPEDistort::L_7_HMP, Math::Lerp(), vector::Lerp(), m_CurveValue, m_CurveValueClamped, m_LenseOffsetAngle, m_LenseOffsetDist, m_ProgressAngle, PPEDistort::PARAM_CENTERX, PPEDistort::PARAM_CENTERY, PPEDistort::PARAM_CHROM_ABB, PPEDistort::PARAM_CHROM_ABB_SHIFTB, PPEDistort::PARAM_CHROM_ABB_SHIFTG, PPEDistort::PARAM_CHROM_ABB_SHIFTR, PPEDistort::PARAM_CHROM_COLOR_MOD, PPEGlow::PARAM_COLORIZATIONCOLOR, PPEDistort::PARAM_DISTORT, Math::PI_HALF, SetTargetValueColor(), SetTargetValueFloat(), Math::Sin(), WAVE_AMPLITUDE_COEF, WAVE_PROGRESS_MAX, WAVE_PROGRESS_MIN и WAVE_TILT.