Вот полный список параметров для инстанций класса C_PARTICLEFX из файла PfxInstMagic.d. Этот файл отвечает за визуальные эффекты заклинаний.
Все параметры сгруппированы по их функции.
Временные параметры излучения
Эта группа описывает, как именно и с какой скоростью рождаются частицы.
Параметр
Тип
Описание
Пример
ppsValue
FLOAT
Базовое количество частиц, создаваемых в секунду.
ppsValue = 40;
ppsScaleKeys_S
STRING
Список коэффициентов для ppsValue во времени. Позволяет менять количество частиц, например, делать "всплески" эффекта.
ppsScaleKeys_S = "1.0 0.5 0.2";
ppsIsLooping
INT
Флаг BOOL. Если 1, то цикл изменения (из ppsScaleKeys_S) зацикливается. Если 0, эффект умирает после одного прохода.
ppsIsLooping = 1;
ppsIsSmooth
INT
Флаг BOOL. Если 1, то изменения между ключами в ppsScaleKeys_S будут сглажены (линейная интерполяция). Если 0 — переходы резкие.
ppsIsSmooth = 1;
ppsFPS
FLOAT
Скорость, с которой проигрывается список ppsScaleKeys_S (в кадрах в секунду).
ppsFPS = 0.8;
ppsCreateEm_S
STRING
Позволяет создать другой PFX-эффект одновременно с текущим. Редко используемая, но мощная опция.
ppsCreateEm_S = "MFX_Explosion_INIT";
ppsCreateEmDelay
FLOAT
Задержка в миллисекундах перед созданием эффекта, указанного в ppsCreateEm_S.
ppsCreateEmDelay = 500;
Пространственное распределение (Эмиттер)
Эти параметры определяют форму, размер и положение источника частиц.
Параметр
Тип
Описание
Пример
shpType_S
STRING
Форма эмиттера. Варианты: "point", "line", "circle", "box", "sphere", "mesh".
shpType_S = "sphere";
shpFOR_S
STRING
Система координат для эмиттера: "world" (мир) или "object" (объект). Влияет на то, будет ли источник двигаться с объектом.
shpFOR_S = "object";
shpOffsetVec_S
STRING
Смещение центра эмиттера от центра объекта. Задается вектором "X Y Z" в сантиметрах.
shpOffsetVec_S = "0 50 0";
shpDistribType_S
STRING
Тип распределения частиц на эмиттере: "RAND" (случайно), "UNIFORM" (равномерно), "WALK" (прогулка по форме).
shpDistribType_S = "WALK";
shpDistribWalkSpeed
FLOAT
Скорость "прогулки" по форме при shpDistribType_S = "WALK".
shpDistribWalkSpeed = 0.0001;
shpIsVolume
INT
Флаг BOOL. Если 1 и форма "box" или "sphere", частицы рождаются по всему объему. Если 0 — только на поверхности.
shpIsVolume = 1;
shpDim_S
STRING
Размеры эмиттера. Для "sphere"/"circle" — один радиус "R". Для "box" — три размера "X Y Z".
shpDim_S = "100 50 100";
snpMesh_S
STRING
Имя mesh-файла (например, .3ds), если shpType_S = "mesh".
snpMesh_S = "myMesh.3ds";
shpMeshRender_B
INT
Флаг BOOL. Если 1, сам mesh (из snpMesh_S) будет визуализироваться.
shpMeshRender_B = 1;
shpScaleKeys_S
STRING
Коэффициенты масштабирования эмиттера во времени (аналогично ppsScaleKeys_S).
shpScaleKeys_S = "1.0 0.5 1.0";
shpScaleIsLooping
INT
Флаг BOOL. Зацикливает изменение масштаба (из shpScaleKeys_S).
shpScaleIsLooping = 1;
shpScaleIsSmooth
INT
Флаг BOOL. Сглаживает изменения масштаба между ключами в shpScaleKeys_S.
shpScaleIsSmooth = 1;
shpScaleFPS
FLOAT
Скорость проигрывания ключей масштабирования (из shpScaleKeys_S) в FPS.
shpScaleFPS = 2;
Движение частиц
Здесь задается, куда и с какой скоростью летят частицы после рождения.
Параметр
Тип
Описание
Пример
dirMode_S
STRING
Режим направления: "RAND" (случайное), "DIR" (конкретное), "TARGET" (на цель).
dirMode_S = "DIR";
dirFOR_S
STRING
Система координат для заданного направления ("world" или "object").
dirFOR_S = "world";
dirAngleHead
FLOAT
Угол направления по горизонтали (азимут) в градусах.
dirAngleHead = 45;
dirAngleHeadVar
FLOAT
Допустимое отклонение для dirAngleHead для создания рассеивания.
dirAngleHeadVar = 15;
dirAngleElev
FLOAT
Угол направления по вертикали (элевация) в градусах.
dirAngleElev = -30;
dirAngleElevVar
FLOAT
Допустимое отклонение для dirAngleElev.
dirAngleElevVar = 10;
velAvg
FLOAT
Средняя скорость частиц (см/мс). Именно этот параметр отвечает за горизонтальную скорость.
velAvg = 200;
velVar
FLOAT
Разброс скорости частиц.
velVar = 50;
flyGravity_S
STRING
Вектор гравитации"X Y Z", который влияет на траекторию (например, "0 -200 0" тянет вниз).
flyGravity_S = "0 -100 0";
flyCollDet_B
INT
Включает столкновения с миром. 0 — нет; 1 — замедление и отскок; 2 — ускорение и отскок; 3 — остановка; 4 — удаление частицы.
flyCollDet_B = 1;
Жизненный цикл
Эти параметры отвечают за "время жизни" каждой частицы.
Параметр
Тип
Описание
Пример
lspPartAvg
FLOAT
Среднее время жизни одной частицы в миллисекундах.
lspPartAvg = 2000;
lspPartVar
FLOAT
Разброс времени жизни частиц в миллисекундах.
lspPartVar = 500;
Визуализация
Эти параметры управляют тем, как выглядит частица.
Параметр
Тип
Описание
Пример
visName_S
STRING
Имя текстурного файла (.TGA) для частиц. Обычно путь относительно папки _work/Data/Textures.
visName_S = "FX_SMOKE_01.TGA";
visOrientation_S
STRING
Ориентация спрайта к камере: "NONE" (всегда к камере), "VELO", "VELO3D".
visOrientation_S = "NONE";
visTexIsQuadPoly
INT
Флаг BOOL. Рендерить как полноценный 2D-квадрат, а не как точку. Улучшает вид, но нагружает систему.
visTexIsQuadPoly = 1;
visTexAniFPS
FLOAT
Скорость анимации текстуры в FPS, если текстура — это последовательность кадров (например, name_A0.TGA, name_A1.TGA).
visTexAniFPS = 24;
visTexAniIsLooping
INT
Флаг BOOL. Зациклить анимацию текстуры.
visTexAniIsLooping = 1;
visTexColorStart_S
STRING
Начальный цвет частицы в формате "R G B" (0-255). Белый "255 255 255" означает "без изменений".
visTexColorStart_S = "255 128 0";
visTexColorEnd_S
STRING
Конечный цвет частицы. Цвет будет плавно меняться от Start к End за время жизни частицы.
visTexColorEnd_S = "255 0 0";
visSizeStart_S
STRING
Начальный размер частицы "Ширина Высота" (в см для 3D-пространства).
visSizeStart_S = "50 50";
visSizeEndScale
FLOAT
Коэффициент масштабирования к конечному размеру (умножает visSizeStart_S). Позволяет частицам расти или сжиматься.
visSizeEndScale = 0.5;
visAlphaFunc_S
STRING
Режим смешивания цветов с фоном: "NONE", "BLEND", "ADD" (обычно для огня/магии), "MUL".
visAlphaFunc_S = "ADD";
visAlphaStart
FLOAT
Начальная прозрачность частицы (0 — полностью прозрачна, 1 — непрозрачна).
visAlphaStart = 0.8;
visAlphaEnd
FLOAT
Конечная прозрачность частицы. Часто ставится 0, чтобы частицы плавно исчезали.
visAlphaEnd = 0;
Специальные эффекты (Следы, Отметки, Стаи)
Сюда входят дополнительные эффекты вроде свечения, следов и отметок при столкновении.
Параметр
Тип
Описание
Пример
trlFadeSpeed
FLOAT
Скорость затухания следа от движущейся частицы. След включается, если значение > 0.
trlFadeSpeed = 0.5;
trlTexture_S
STRING
Текстура для следа частицы.
trlTexture_S = "FX_TRAIL.TGA";
trlWidth
FLOAT
Ширина следа в сантиметрах.
trlWidth = 10;
mrkFadeSpeed
FLOAT
Скорость затухания "отметки", которая появляется на месте столкновения частицы с поверхностью (например, дым от пули).
mrkFadeSpeed = 0.3;
mrkTexture_S
STRING
Текстура отметки.
mrkTexture_S = "FX_MARK.TGA";
mrkSize
FLOAT
Размер отметки в сантиметрах.
mrkSize = 15;
flockMode
STRING
Включает поведение "стая" (частицы следуют за лидером). Требует дополнительных настроек.
flockMode = "MODE";
flockStrength
FLOAT
Сила притяжения к вожаку стаи.
flockStrength = 0.5;
useEmittersFOR
INT
Флаг BOOL. Если 1, то частицы наследуют движение эмиттера (например, вылетают из движущейся руки).
useEmittersFOR = 1;
timeStartEnd_S
STRING
Интервал игрового времени в часах "Начало Конец", когда эффект виден. Например, для ночных светлячков.
timeStartEnd_S = "22 3";
m_bIsAmbientPFX
INT
Флаг BOOL. Если 1, эффект считается атмосферным и может отключаться в настройках игры.
m_bIsAmbientPFX = 1;
VisualFX
Вот полный список параметров для VisualFXInst.d. В отличие от PfxInstMagic.d, где собраны «сырые» частицы, этот файл служит управляющей оболочкой (CFx_Base_Proto) для них: он отвечает за анимацию, прикрепление к модели персонажа и взаимодействие с миром.
Траектория и наведение
Эти параметры управляют тем, как эффект перемещается в пространстве, куда направлен и как строит свой путь.
Параметр
Тип
Описание
Пример
emTrjMode_S
STRING
Режим траектории. Определяет, как эффект летит к цели: "FIXED" (фиксированное направление), "TARGET" (на цель), "SPLINE" (по сплайну), "LINE" (по линии), "RANDOM" (случайные точки).
emTrjMode_S = "TARGET";
emTrjOriginNode
STRING
Узел-источник. Часть модели ("BIP01" или "ZS_RIGHTHAND"), из которой начинается эффект. Обычно привязан к анимации персонажа.
emTrjOriginNode = "ZS_RIGHTHAND";
emTrjTargetNode
STRING
Узел-цель. Часть модели цели, к которой будет лететь эффект, например, "BIP01 HEAD" для попадания в голову.
emTrjTargetNode = "BIP01 HEAD";
emTrjTargetRange
FLOAT
Дальность полёта. Максимальная дистанция, на которую эффект может удалиться от источника, прежде чем исчезнуть (в метрах).
emTrjTargetRange = 15.0;
emTrjTargetAzi
FLOAT
Азимут цели. Горизонтальный угол поворота эффекта при наведении на цель (в градусах).
emTrjTargetAzi = 45.0;
emTrjTargetElev
FLOAT
Угол места цели. Вертикальный угол наведения эффекта (в градусах).
emTrjTargetElev = 30.0;
emTrjNumKeys
INT
Количество опорных точек. Минимальное число случайных точек для построения траектории.
emTrjNumKeys = 3;
emTrjNumKeysVar
INT
Вариация опорных точек. Дополнительное случайное количество точек (с низкой вероятностью появления).
emTrjNumKeysVar = 1;
emTrjAngleElevVar
FLOAT
Вариация угла места. Диапазон случайного отклонения по вертикали для создания "разброса" траектории.
emTrjAngleElevVar = 5.0;
emTrjAngleHeadVar
FLOAT
Вариация азимута. Диапазон случайного отклонения по горизонтали.
emTrjAngleHeadVar = 5.0;
emTrjKeyDistVar
FLOAT
Вариация дистанции ключей. Фактор случайного расстояния (от 0.0 до 1.0), на который умножается дистанция до опорной точки.
emTrjKeyDistVar = 0.5;
emTrjLoopMode_S
STRING
Режим зацикливания траектории. Что происходит, когда эффект достигает конца пути: "RESTART", "PINGPONG_ONCE", "PINGPONG", "HALT".
emTrjLoopMode_S = "RESTART";
emTrjEaseFunc_S
STRING
Функция плавности. Определяет характер движения по траектории: "LINEAR" (линейно) или "SINE" (синусоидально).
emTrjEaseFunc_S = "SINE";
emTrjEaseVel
FLOAT
Скорость плавности. Значение, влияющее на интенсивность работы функции плавности.
emTrjEaseVel = 1.0;
emTrjDynUpdateDelay
FLOAT
Задержка обновления динамической траектории. Время в секундах, через которое обновляется позиция движущегося эффекта.
emTrjDynUpdateDelay = 0.1;
emTrjDynUpdateTargetOnly
BOOL
Обновлять только цель. Если true, эффект не отслеживает постоянно движущуюся цель, а застывает в точке привязки.
emTrjDynUpdateTargetOnly = true;
emAdjustShpToOrigin
INT
Подстраивать форму под источник. Если 1, эмиттер (PfxInstMagic.d) поворачивается вслед за узлом-источником, откуда летит заклинание.
emAdjustShpToOrigin = 1;
Временные и структурные параметры
Эта группа управляет продолжительностью жизни эффекта, его каскадированием и реакцией на столкновения.
Параметр
Тип
Описание
Пример
emFXLifeSpan
FLOAT
Время жизни эффекта. Продолжительность существования основного визуального эффекта в секундах. Значение -1 делает его бесконечным.
emFXLifeSpan = 2.0;
emFXTriggerDelay
FLOAT
Задержка перед запуском. Эффект начнёт проигрываться только через указанное количество секунд.
emFXTriggerDelay = 0.5;
emFXCreate_S
STRING
Создать дочерний эффект. Имя другой инстанции CFx_Base_Proto, которая запустится одновременно с текущей.
emFXCreate_S = "SLOW_TIME_CHILD";
emFXInvestOrigin_S
STRING
Эффект вложения (источник). Визуальный эффект, который проигрывается у заклинателя во время "инвестиции" (произнесения заклинания).
emFXInvestOrigin_S = "spellFX_Sleep_ORIGIN";
emFXInvestTarget_S
STRING
Эффект вложения (цель). Эффект, который проигрывается на цели после успешного применения заклинания.
emFXInvestTarget_S = "spellFX_Charm_TARGET";
emFXCollStat
STRING
Эффект при статическом столкновении. Какой эффект (CFx_Base_Proto) создать при столкновении с неподвижным объектом (стена, земля).
emFXCollStat = "FX_IMPACT_EARTH";
emFXCollDyn
STRING
Эффект при динамическом столкновении. Какой эффект создать при столкновении с движущимся NPC.
emFXCollDyn = "FX_IMPACT_NPC";
emFXCollDynPerc
STRING
Эффект восприятия цели. Эффект, применяемый к цели, если функция C_CanNPCCollideWithSpell возвращает успех.
emFXCollDynPerc = "FX_HIT_SPARK";
emFXCollStatAlign
STRING
Выравнивание статического эффекта. Должен ли эффект столкновения быть выровнен по нормали поверхности.
emFXCollStatAlign = "COLLISIONNORMAL";
emFXCollDynAlign
STRING
Выравнивание динамического эффекта. Должен ли эффект быть выровнен по объекту, с которым столкнулся.
emFXCollDynAlign = "COLLISIONNORMAL";
emActionCollStat_S
STRING
Тип статического столкновения. Должен содержать "CREATE", чтобы emFXCollStat был создан. Используется для настройки поведения при столкновении.
emActionCollStat_S = "CREATE";
Визуальные параметры
Здесь задаётся, как именно будет выглядеть эффект, его текстура, прозрачность, размеры и анимация.
Параметр
Тип
Описание
Пример
visName_S
STRING
Имя визуального эффекта. Может быть: имя PFX-эффекта (из PfxInstMagic.d), текстура (.TGA), 3D-модель (.3DS), анимация (.MMS), эффекты смены ракурса/замедления времени (.FOV/.SLW).
visName_S = "MFX_CHARM_INIT";
visAlpha
FLOAT
Общая прозрачность эффекта. Значение от 0.0 (полностью прозрачен) до 1.0 (полностью непрозрачен).
visAlpha = 0.8;
visAlphaBlendFunc
STRING
Режим смешивания. Определяет, как прозрачность эффекта смешивается с фоном. Варианты: "NONE", "BLEND", "ADD" (аддитивное смешение), "SUB", "MUL", "MUL2".
visAlphaBlendFunc = "ADD";
visSize_S
STRING
Вектор размера. Размеры эффекта в 3D-пространстве в виде строки "X Y Z" (в сантиметрах).
visSize_S = "100 100 100";
visTexAniFPS
FLOAT
FPS анимации текстуры. Скорость смены кадров анимированной текстуры в секунду.
visTexAniFPS = 24.0;
visTexAniIsLooping
BOOL
Зациклить анимацию текстуры. Если true, анимация текстур будет повторяться бесконечно.
visTexAniIsLooping = true;
lightpresetname
STRING
Имя пресета освещения. Позволяет привязать к эффекту определённый источник света или цветовую гамму, например, "REDAMBIENCE".
lightpresetname = "REDAMBIENCE";
Пользовательские строки
Эти параметры используются для передачи кастомных данных в сложные эффекты, которые требуют дополнительных настроек.
Параметр
Тип
Описание
Пример
userString[0-9]
STRING
Пользовательские строки. Массив из 10 строк, предназначенных для хранения произвольных данных, например, для передачи параметров в медленный эффект SLOW_TIME.
userString[0] = "0.5";
Источники:
World of Players (русскоязычный форум): https://worldofplayers.ru
World of Gothic (немецкоязычный форум): https://forum.worldofplayers.de
ParticleFX
Вот полный список параметров для инстанций класса
C_PARTICLEFXиз файлаPfxInstMagic.d. Этот файл отвечает за визуальные эффекты заклинаний.Все параметры сгруппированы по их функции.
Временные параметры излучения
Эта группа описывает, как именно и с какой скоростью рождаются частицы.
Параметр
Тип
Описание
Пример
ppsValueFLOATБазовое количество частиц, создаваемых в секунду.
ppsValue = 40;ppsScaleKeys_SSTRINGСписок коэффициентов для
ppsValueво времени. Позволяет менять количество частиц, например, делать "всплески" эффекта.ppsScaleKeys_S = "1.0 0.5 0.2";ppsIsLoopingINTФлаг
BOOL. Если1, то цикл изменения (изppsScaleKeys_S) зацикливается. Если0, эффект умирает после одного прохода.ppsIsLooping = 1;ppsIsSmoothINTФлаг
BOOL. Если1, то изменения между ключами вppsScaleKeys_Sбудут сглажены (линейная интерполяция). Если0— переходы резкие.ppsIsSmooth = 1;ppsFPSFLOATСкорость, с которой проигрывается список
ppsScaleKeys_S(в кадрах в секунду).ppsFPS = 0.8;ppsCreateEm_SSTRINGПозволяет создать другой PFX-эффект одновременно с текущим. Редко используемая, но мощная опция.
ppsCreateEm_S = "MFX_Explosion_INIT";ppsCreateEmDelayFLOATЗадержка в миллисекундах перед созданием эффекта, указанного в
ppsCreateEm_S.ppsCreateEmDelay = 500;Пространственное распределение (Эмиттер)
Эти параметры определяют форму, размер и положение источника частиц.
Параметр
Тип
Описание
Пример
shpType_SSTRINGФорма эмиттера. Варианты:
"point","line","circle","box","sphere","mesh".shpType_S = "sphere";shpFOR_SSTRINGСистема координат для эмиттера:
"world"(мир) или"object"(объект). Влияет на то, будет ли источник двигаться с объектом.shpFOR_S = "object";shpOffsetVec_SSTRINGСмещение центра эмиттера от центра объекта. Задается вектором
"X Y Z"в сантиметрах.shpOffsetVec_S = "0 50 0";shpDistribType_SSTRINGТип распределения частиц на эмиттере:
"RAND"(случайно),"UNIFORM"(равномерно),"WALK"(прогулка по форме).shpDistribType_S = "WALK";shpDistribWalkSpeedFLOATСкорость "прогулки" по форме при
shpDistribType_S = "WALK".shpDistribWalkSpeed = 0.0001;shpIsVolumeINTФлаг
BOOL. Если1и форма"box"или"sphere", частицы рождаются по всему объему. Если0— только на поверхности.shpIsVolume = 1;shpDim_SSTRINGРазмеры эмиттера. Для
"sphere"/"circle"— один радиус"R". Для"box"— три размера"X Y Z".shpDim_S = "100 50 100";snpMesh_SSTRINGИмя mesh-файла (например,
.3ds), еслиshpType_S = "mesh".snpMesh_S = "myMesh.3ds";shpMeshRender_BINTФлаг
BOOL. Если1, сам mesh (изsnpMesh_S) будет визуализироваться.shpMeshRender_B = 1;shpScaleKeys_SSTRINGКоэффициенты масштабирования эмиттера во времени (аналогично
ppsScaleKeys_S).shpScaleKeys_S = "1.0 0.5 1.0";shpScaleIsLoopingINTФлаг
BOOL. Зацикливает изменение масштаба (изshpScaleKeys_S).shpScaleIsLooping = 1;shpScaleIsSmoothINTФлаг
BOOL. Сглаживает изменения масштаба между ключами вshpScaleKeys_S.shpScaleIsSmooth = 1;shpScaleFPSFLOATСкорость проигрывания ключей масштабирования (из
shpScaleKeys_S) в FPS.shpScaleFPS = 2;Движение частиц
Здесь задается, куда и с какой скоростью летят частицы после рождения.
Параметр
Тип
Описание
Пример
dirMode_SSTRINGРежим направления:
"RAND"(случайное),"DIR"(конкретное),"TARGET"(на цель).dirMode_S = "DIR";dirFOR_SSTRINGСистема координат для заданного направления (
"world"или"object").dirFOR_S = "world";dirAngleHeadFLOATУгол направления по горизонтали (азимут) в градусах.
dirAngleHead = 45;dirAngleHeadVarFLOATДопустимое отклонение для
dirAngleHeadдля создания рассеивания.dirAngleHeadVar = 15;dirAngleElevFLOATУгол направления по вертикали (элевация) в градусах.
dirAngleElev = -30;dirAngleElevVarFLOATДопустимое отклонение для
dirAngleElev.dirAngleElevVar = 10;velAvgFLOATСредняя скорость частиц (см/мс). Именно этот параметр отвечает за горизонтальную скорость.
velAvg = 200;velVarFLOATРазброс скорости частиц.
velVar = 50;flyGravity_SSTRINGВектор гравитации
"X Y Z", который влияет на траекторию (например,"0 -200 0"тянет вниз).flyGravity_S = "0 -100 0";flyCollDet_BINTВключает столкновения с миром.
0— нет;1— замедление и отскок;2— ускорение и отскок;3— остановка;4— удаление частицы.flyCollDet_B = 1;Жизненный цикл
Эти параметры отвечают за "время жизни" каждой частицы.
Параметр
Тип
Описание
Пример
lspPartAvgFLOATСреднее время жизни одной частицы в миллисекундах.
lspPartAvg = 2000;lspPartVarFLOATРазброс времени жизни частиц в миллисекундах.
lspPartVar = 500;Визуализация
Эти параметры управляют тем, как выглядит частица.
Параметр
Тип
Описание
Пример
visName_SSTRINGИмя текстурного файла (
.TGA) для частиц. Обычно путь относительно папки_work/Data/Textures.visName_S = "FX_SMOKE_01.TGA";visOrientation_SSTRINGОриентация спрайта к камере:
"NONE"(всегда к камере),"VELO","VELO3D".visOrientation_S = "NONE";visTexIsQuadPolyINTФлаг
BOOL. Рендерить как полноценный 2D-квадрат, а не как точку. Улучшает вид, но нагружает систему.visTexIsQuadPoly = 1;visTexAniFPSFLOATСкорость анимации текстуры в FPS, если текстура — это последовательность кадров (например,
name_A0.TGA,name_A1.TGA).visTexAniFPS = 24;visTexAniIsLoopingINTФлаг
BOOL. Зациклить анимацию текстуры.visTexAniIsLooping = 1;visTexColorStart_SSTRINGНачальный цвет частицы в формате
"R G B"(0-255). Белый"255 255 255"означает "без изменений".visTexColorStart_S = "255 128 0";visTexColorEnd_SSTRINGКонечный цвет частицы. Цвет будет плавно меняться от
StartкEndза время жизни частицы.visTexColorEnd_S = "255 0 0";visSizeStart_SSTRINGНачальный размер частицы
"Ширина Высота"(в см для 3D-пространства).visSizeStart_S = "50 50";visSizeEndScaleFLOATКоэффициент масштабирования к конечному размеру (умножает
visSizeStart_S). Позволяет частицам расти или сжиматься.visSizeEndScale = 0.5;visAlphaFunc_SSTRINGРежим смешивания цветов с фоном:
"NONE","BLEND","ADD"(обычно для огня/магии),"MUL".visAlphaFunc_S = "ADD";visAlphaStartFLOATНачальная прозрачность частицы (0 — полностью прозрачна, 1 — непрозрачна).
visAlphaStart = 0.8;visAlphaEndFLOATКонечная прозрачность частицы. Часто ставится 0, чтобы частицы плавно исчезали.
visAlphaEnd = 0;Специальные эффекты (Следы, Отметки, Стаи)
Сюда входят дополнительные эффекты вроде свечения, следов и отметок при столкновении.
Параметр
Тип
Описание
Пример
trlFadeSpeedFLOATСкорость затухания следа от движущейся частицы. След включается, если значение > 0.
trlFadeSpeed = 0.5;trlTexture_SSTRINGТекстура для следа частицы.
trlTexture_S = "FX_TRAIL.TGA";trlWidthFLOATШирина следа в сантиметрах.
trlWidth = 10;mrkFadeSpeedFLOATСкорость затухания "отметки", которая появляется на месте столкновения частицы с поверхностью (например, дым от пули).
mrkFadeSpeed = 0.3;mrkTexture_SSTRINGТекстура отметки.
mrkTexture_S = "FX_MARK.TGA";mrkSizeFLOATРазмер отметки в сантиметрах.
mrkSize = 15;flockModeSTRINGВключает поведение "стая" (частицы следуют за лидером). Требует дополнительных настроек.
flockMode = "MODE";flockStrengthFLOATСила притяжения к вожаку стаи.
flockStrength = 0.5;useEmittersFORINTФлаг
BOOL. Если1, то частицы наследуют движение эмиттера (например, вылетают из движущейся руки).useEmittersFOR = 1;timeStartEnd_SSTRINGИнтервал игрового времени в часах
"Начало Конец", когда эффект виден. Например, для ночных светлячков.timeStartEnd_S = "22 3";m_bIsAmbientPFXINTФлаг
BOOL. Если1, эффект считается атмосферным и может отключаться в настройках игры.m_bIsAmbientPFX = 1;VisualFX
Вот полный список параметров для
VisualFXInst.d. В отличие отPfxInstMagic.d, где собраны «сырые» частицы, этот файл служит управляющей оболочкой (CFx_Base_Proto) для них: он отвечает за анимацию, прикрепление к модели персонажа и взаимодействие с миром.Траектория и наведение
Эти параметры управляют тем, как эффект перемещается в пространстве, куда направлен и как строит свой путь.
Параметр
Тип
Описание
Пример
emTrjMode_SSTRINGРежим траектории. Определяет, как эффект летит к цели:
"FIXED"(фиксированное направление),"TARGET"(на цель),"SPLINE"(по сплайну),"LINE"(по линии),"RANDOM"(случайные точки).emTrjMode_S = "TARGET";emTrjOriginNodeSTRINGУзел-источник. Часть модели (
"BIP01"или"ZS_RIGHTHAND"), из которой начинается эффект. Обычно привязан к анимации персонажа.emTrjOriginNode = "ZS_RIGHTHAND";emTrjTargetNodeSTRINGУзел-цель. Часть модели цели, к которой будет лететь эффект, например,
"BIP01 HEAD"для попадания в голову.emTrjTargetNode = "BIP01 HEAD";emTrjTargetRangeFLOATДальность полёта. Максимальная дистанция, на которую эффект может удалиться от источника, прежде чем исчезнуть (в метрах).
emTrjTargetRange = 15.0;emTrjTargetAziFLOATАзимут цели. Горизонтальный угол поворота эффекта при наведении на цель (в градусах).
emTrjTargetAzi = 45.0;emTrjTargetElevFLOATУгол места цели. Вертикальный угол наведения эффекта (в градусах).
emTrjTargetElev = 30.0;emTrjNumKeysINTКоличество опорных точек. Минимальное число случайных точек для построения траектории.
emTrjNumKeys = 3;emTrjNumKeysVarINTВариация опорных точек. Дополнительное случайное количество точек (с низкой вероятностью появления).
emTrjNumKeysVar = 1;emTrjAngleElevVarFLOATВариация угла места. Диапазон случайного отклонения по вертикали для создания "разброса" траектории.
emTrjAngleElevVar = 5.0;emTrjAngleHeadVarFLOATВариация азимута. Диапазон случайного отклонения по горизонтали.
emTrjAngleHeadVar = 5.0;emTrjKeyDistVarFLOATВариация дистанции ключей. Фактор случайного расстояния (от 0.0 до 1.0), на который умножается дистанция до опорной точки.
emTrjKeyDistVar = 0.5;emTrjLoopMode_SSTRINGРежим зацикливания траектории. Что происходит, когда эффект достигает конца пути:
"RESTART","PINGPONG_ONCE","PINGPONG","HALT".emTrjLoopMode_S = "RESTART";emTrjEaseFunc_SSTRINGФункция плавности. Определяет характер движения по траектории:
"LINEAR"(линейно) или"SINE"(синусоидально).emTrjEaseFunc_S = "SINE";emTrjEaseVelFLOATСкорость плавности. Значение, влияющее на интенсивность работы функции плавности.
emTrjEaseVel = 1.0;emTrjDynUpdateDelayFLOATЗадержка обновления динамической траектории. Время в секундах, через которое обновляется позиция движущегося эффекта.
emTrjDynUpdateDelay = 0.1;emTrjDynUpdateTargetOnlyBOOLОбновлять только цель. Если
true, эффект не отслеживает постоянно движущуюся цель, а застывает в точке привязки.emTrjDynUpdateTargetOnly = true;emAdjustShpToOriginINTПодстраивать форму под источник. Если
1, эмиттер (PfxInstMagic.d) поворачивается вслед за узлом-источником, откуда летит заклинание.emAdjustShpToOrigin = 1;Временные и структурные параметры
Эта группа управляет продолжительностью жизни эффекта, его каскадированием и реакцией на столкновения.
Параметр
Тип
Описание
Пример
emFXLifeSpanFLOATВремя жизни эффекта. Продолжительность существования основного визуального эффекта в секундах. Значение
-1делает его бесконечным.emFXLifeSpan = 2.0;emFXTriggerDelayFLOATЗадержка перед запуском. Эффект начнёт проигрываться только через указанное количество секунд.
emFXTriggerDelay = 0.5;emFXCreate_SSTRINGСоздать дочерний эффект. Имя другой инстанции
CFx_Base_Proto, которая запустится одновременно с текущей.emFXCreate_S = "SLOW_TIME_CHILD";emFXInvestOrigin_SSTRINGЭффект вложения (источник). Визуальный эффект, который проигрывается у заклинателя во время "инвестиции" (произнесения заклинания).
emFXInvestOrigin_S = "spellFX_Sleep_ORIGIN";emFXInvestTarget_SSTRINGЭффект вложения (цель). Эффект, который проигрывается на цели после успешного применения заклинания.
emFXInvestTarget_S = "spellFX_Charm_TARGET";emFXCollStatSTRINGЭффект при статическом столкновении. Какой эффект (
CFx_Base_Proto) создать при столкновении с неподвижным объектом (стена, земля).emFXCollStat = "FX_IMPACT_EARTH";emFXCollDynSTRINGЭффект при динамическом столкновении. Какой эффект создать при столкновении с движущимся NPC.
emFXCollDyn = "FX_IMPACT_NPC";emFXCollDynPercSTRINGЭффект восприятия цели. Эффект, применяемый к цели, если функция
C_CanNPCCollideWithSpellвозвращает успех.emFXCollDynPerc = "FX_HIT_SPARK";emFXCollStatAlignSTRINGВыравнивание статического эффекта. Должен ли эффект столкновения быть выровнен по нормали поверхности.
emFXCollStatAlign = "COLLISIONNORMAL";emFXCollDynAlignSTRINGВыравнивание динамического эффекта. Должен ли эффект быть выровнен по объекту, с которым столкнулся.
emFXCollDynAlign = "COLLISIONNORMAL";emActionCollStat_SSTRINGТип статического столкновения. Должен содержать
"CREATE", чтобыemFXCollStatбыл создан. Используется для настройки поведения при столкновении.emActionCollStat_S = "CREATE";Визуальные параметры
Здесь задаётся, как именно будет выглядеть эффект, его текстура, прозрачность, размеры и анимация.
Параметр
Тип
Описание
Пример
visName_SSTRINGИмя визуального эффекта. Может быть: имя PFX-эффекта (из
PfxInstMagic.d), текстура (.TGA), 3D-модель (.3DS), анимация (.MMS), эффекты смены ракурса/замедления времени (.FOV/.SLW).visName_S = "MFX_CHARM_INIT";visAlphaFLOATОбщая прозрачность эффекта. Значение от
0.0(полностью прозрачен) до1.0(полностью непрозрачен).visAlpha = 0.8;visAlphaBlendFuncSTRINGРежим смешивания. Определяет, как прозрачность эффекта смешивается с фоном. Варианты:
"NONE","BLEND","ADD"(аддитивное смешение),"SUB","MUL","MUL2".visAlphaBlendFunc = "ADD";visSize_SSTRINGВектор размера. Размеры эффекта в 3D-пространстве в виде строки
"X Y Z"(в сантиметрах).visSize_S = "100 100 100";visTexAniFPSFLOATFPS анимации текстуры. Скорость смены кадров анимированной текстуры в секунду.
visTexAniFPS = 24.0;visTexAniIsLoopingBOOLЗациклить анимацию текстуры. Если
true, анимация текстур будет повторяться бесконечно.visTexAniIsLooping = true;lightpresetnameSTRINGИмя пресета освещения. Позволяет привязать к эффекту определённый источник света или цветовую гамму, например,
"REDAMBIENCE".lightpresetname = "REDAMBIENCE";Пользовательские строки
Эти параметры используются для передачи кастомных данных в сложные эффекты, которые требуют дополнительных настроек.
Параметр
Тип
Описание
Пример
userString[0-9]STRINGПользовательские строки. Массив из 10 строк, предназначенных для хранения произвольных данных, например, для передачи параметров в медленный эффект
SLOW_TIME.userString[0] = "0.5";Источники:
World of Players (русскоязычный форум):
https://worldofplayers.ruWorld of Gothic (немецкоязычный форум):
https://forum.worldofplayers.deGothic Wiki (на wiki.worldofplayers.de):
https://wiki.worldofplayers.deGothic Modding Community на GitHub:
https://github.com(ищите репозитории по ключевым словамGothic,Daedalus,PfxInstMagic,VisualFXInst)Изменено пользователем Чужеземец