Перейти к содержанию
Установить приложение

Установите наше приложение для более удобного доступа к сообществу.

Best Gothic Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

полное описание параметров ParticleFX и VisualFX

ParticleFX

Вот полный список параметров для инстанций класса 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";

Источники:

  1. World of Players (русскоязычный форум):
    https://worldofplayers.ru

  2. World of Gothic (немецкоязычный форум):
    https://forum.worldofplayers.de

  3. Gothic Wiki (на wiki.worldofplayers.de):
    https://wiki.worldofplayers.de

  4. Gothic Modding Community на GitHub:
    https://github.com (ищите репозитории по ключевым словам Gothic, Daedalus, PfxInstMagic, VisualFXInst)

Изменено пользователем Чужеземец

Рекомендуемые сообщения

Нет сообщений для отображения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.