• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

2.2 SpacerNET, Окно объектов. Частицы PFX и их редактор

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.650
Благодарности
2.452
Баллы
380
Окно объектов. Частицы PFX и их редактор
В Окне объектов есть вкладка Particles (Эффекты). В ней вы можете просматривать существующие эффекты (огонь, дым и прочее).
  • Левый список - все доступные эффекты.​
  • Правый список - только те, что удовлетворяют условию поиска​

1717498788575.png


  1. Выбирая объект в списке вы будете видеть его на экране​
  2. Более того, вы можете редактировать выбранный объект и сразу видеть изменения.​
  3. Вы можете сразу добавить PFX как новый воб, нажав кнопку создать (одну из, в зависимости от списка)​
  4. Чтобы добавить эффект как воб нужно в поле visual для воба поставить имя эффекта + .PFX​

Пример созданного воба-pfx:

1717499219614.png




Редактор частиц
Редактор частиц позволяет сразу менять эффект, видя его изменения.
Внимание! Редактор частиц никаким образом не меняет эффекты в файлах игры (ParticleFX.dat), т.е. после перезапуска спейсера все изменения будут утрачены!

Для того, чтобы сохранить изменения, вы сохраняете свой изменённый эффект в файл (текстовый), а потом уже вставляете измененный эффект (или как новые) в скрипты (PFX ), компилируете их в файл ParticleFX.dat, и данный эффект будет изменен (или добавлен новый) при следующем запуске Спейсера.


1717499082374.png


Возможно, в будущем добавлю описание полей для редактора частиц.
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.650
Благодарности
2.452
Баллы
380
Описание полей PFX
ПолеТип поляДопустимые значенияЧто делает?Пример
ppsValuefloat1-10000Количество частиц. Чем их больше, тем гуще эффект. Не рекомендуется ставить выше 300. Большая нагрузка.75.0
ppsScaleKeys_sstring1 или 1.0 2.0 3.0 или любая строка из чисел через пробелЗадает изменение кол-ва частиц по времени, т.е. если ppsValue будет 75, то это число будет домножаться на числа в строке, т.е. на 1 2 3 4.0 5.0 (как в примере)1 2 3 4.0 5.0 1.0 3.0
ppsIsLoopingboolTRUE / FALSEПроигрывается ли эффект бесконечно, или исчезает после завершенияTRUE (бесконечный)
ppsIsSmoothboolTRUE / FALSEСглаживает ppsScaleKeys_s, т.е. эффект будет менять ключи более плавноTRUE
ppsFPSfloat1...120 (примерно 120)Скорость анимации ppsScaleKeys_s, т.е. как быстро эффект будет идти по ключам10
ppsCreateEm_sstringИмя другого эффектаВызывает дополнительный эффект с задержкой по имени, без .pfx в имениFIRE_SMOKE
ppsCreateEmDelayfloat0-10000Задержка ppsCreateEm_s в миллисекундах300


ПолеТип поляДопустимые значенияЧто делает?Пример
shpType_senumPOINT, LINE, BOX, CIRCLE, SPHERE, MESHУстанавливает поверхность, на которой будут появляться частицыSPHERE
shpFor_senumWORLD / OBJECTФактически задает возможность поворота эффекта в пространстве, если выбрано OBJECT, т.е если выбрано WORLD то при поворота воба эффект не будет поворачиваться вместе с вобом.OBJECT
shpOffsetVec_sstring0 0 0 или 0 25 0Смещение появления эффекта (3-х мерный вектор)0 50 0
shpDistribType_s
enum
RAND, UNI, WALKРаспределение частиц по поверхности, видимо будут ли они появляться в случайных местах или более равномерно (UNI)RAND
shpDistribWalkSpeedfloat1, 2.5, 10 или любое положительное числоЕсли активен shpDistribType_s WALK то это число умножается на время кадра
REAL delta = emitter->shpDistribWalkSpeed * localFrameTimeF;
emitterVars.uniformValue += delta;
if (emitterVars.uniformValue>1) emitterVars.uniformValue -= zFloor(emitterVars.uniformValue);
emitterVars.uniformDelta = delta / zREAL(numTotal);
uniformValue = emitterVars.uniformValue;
uniformDelta = emitterVars.uniformDelta;
10
shpIsVolumeboolTRUE / FALSEИспользуется ли объем для появления частицTRUE
shpDim_sstring1...3000Размер поверхности где будут появляться частицы. Для типа BOX задается 3-мя числами50 или 50 500 120 (для типа BOX)
shpMesh_sstringVISUAL_NAMEИмя модели, если частицы должны появляться на 3д модели (только если включен режим shpType_s MESH)SKULL.3DS
shpMeshRender_benumNONE, DEFAULT, ADD, MULT, BLENDРежим смешивания для 3д модели (только если включен режим shpType_s MESH)ADD
shpScaleKeys_sstring1 или 1.0 2.0 3.0 или любая строка из чисел через пробелЗадает изменение размера поверхности, т.е. если shpDim_s будет 75, то это число будет домножаться на числа в строке, т.е. на 1 2 3 4.0 5.0 (как в примере)1 2 3 2.0 1.1 1.0
shpScaleIsLoopingboolTRUE / FALSEБесконечен ли эффект анимации изменения размера поверхностиFALSE
shpScaleIsSmoothboolTRUE / FALSEСглаживание эффекта анимации изменения размера поверхностиTRUE
shpScaleFPSfloat1...120 (примерно 120)Скорость эффекта анимации изменения размера поверхности5
dirMode_senumNONE, DIR, TARGET, MESHНаправление движения частиц?TARGET
dirFor_senumOBJECT, WORLD, FRAMEТип системы отсчета?OBJECT
dirModeTargetFor_senumOBJECT, WORLDНаправление движения частиц?OBJECT
dirModeTargetPos_sstring0 0 0Смещение относительно цели? (3-х мерный вектор)0 0 0
dirAngleHeadfloatДробное число от 0 до 360Направление горизонтального движения в градусах180
dirAngleHeadVarfloatЧисло от 0 до 360?Отклонение частиц от dirAngleHead в градусах, т.е. например если dirAngleHead = 0, и dirAngleHeadVar 5, то частицы будут лететь вперед и отклоняться на 5 градусов10
dirAngleElevfloatДробное число от 0 до 360Направление вертикального движения в градусах35
dirAngleElevVarfloatЧисло от 0 до 360?Отклонение частиц от dirAngleElev в градусах, т.е. например если dirAngleElev= 0, и dirAngleElevVar5, то частицы будут лететь вверх и отклоняться на 5 градусов5
velAvgfloatЧисло от 0 до 10 (примерно)Скорость полета частиц. Обычно это 0.1-0.5. Чем выше, тем быстрее летит0.5
velVarfloatЧисло от 0 до 100Разнообразие скорости velAvg, т.е. на сколько скорость конкретной частицы может отличаться от velAvg0.01
lspPartAvgfloatЧисло от 0 до 10000Время жизни частицы в миллисекундах, обычно это 500-1000750
lspPartVarfloatЧисло о 0 до 100Разнообразие времени жизни lspPartAvg, т.е. на сколько время конкретной частицы может отличаться от lspPartAvg50
flyGravity_sstringВектор (0 0 0)Как влияет гравитация на полет частиц. К примеру, если поставить 0 -0.001 0 то гравитация будет сильно влиять на полет частиц. Они будут стремиться к полу. Если поменять знак на + то наоборот, стремиться улетать от поверхности0 -0.00001 0
flyCollDet_benumNONE, SLOWER_REFLECT, FASTER_REFLECT, FREEZE, REMOVEЧто делать когда частица сталкивается с рельефом?
NONE - ничего, SLOWER_REFLECT - отразиться от поверхности и уменьшить скорость полета, FASTER_REFLECT - отразиться от поверхности и увеличить скорость полета, FREEZE - замереть на мгновение, REMOVE - мгновенно исчезнуть
NONE

*Таблица еще не закончена.
 
Последнее редактирование:
Сверху Снизу