Справка 2dfx это секция файла модели .dff в GTA:SA. Эта секция позволяет крепить специальные эффекты к модели. В San Andreas существует 10 типов 2dfx эффектов. Один из них можно добавить только через .ide файлы (это тип 2dfx - мебель(futnitur)), так что добавлять её в dff нет смысла - она просто не будет работать.
2dfx секция в RwAnalyze Мы можем найти эту секцию (если она существует) в секции Clump->Geometry List->Geometry->Extension.
Можно извлечь/вставить эту секцию, нажав ПКМ и выбрав нужное действие.
После извлечения секции, у созданного файла не будет расширения. Добавьте расширение ".2dfx" к имени файла, чтобы позже использовать его в 2dfx tool.
2dfx tool Эта программа очень проста. Она создаёт текстовый файл (.txt) на основе файла .2dfx, и файл .2dfx - на основе текстового файла. Итак, если нам нужно изменить оригинальную 2dfx секцию, нам нужно выполнить следующие шаги: 1) извлечь оригинальную секцию в файл, добавить расширение ".2dfx" к имени файла; 2) поместить файл .2dfx в папку "2dfx"; 3) запустить программу SA2dfx.exe; 4) открыть созданный текстовый файл (.txt)(он будет создан в этой же папке ("2dfx")) и изменить его; 5) поместить изменённый текстовый файл (.txt) в папку "txt"; 6) запустить программу SA2dfx.exe; 7) Полученный файл .2dfx из папки "txt" добавить в dff с помощью RwAnalyze.
Структура файла Заголовок текстового файла содержит кол-во 2dfx эффектов в секции.
NumEntries 12
После этого следует описание эффектов. Описание каждого типа эффектов имеет свой формат, но все они начинаются с этого:
2dfxType LIGHT
Где "LIGHT" это тип эффекта. Доступны следующие типы эффектов:
После того, как программа узнает тип эффекта, она выберет нужный формат для чтения информации об эффекте. Тип LIGHT Этот тип используется для создания источника света. Такой свет состоит из: 1) короны (2d спрайт); 2) тени (проекция на земле); 3) динамического света (базируется на стандартном освещении графического движка, вершинное освещение для динамических объектов - автомобилей, пешеходов, объектов). Формат этой секции:
2dfxType LIGHTPosition 2.468750 3.131592 4.541241 (позиция)Color 191 206 132 200 (цвет, значение альфа игнорируется)CoronaFarClip 100.000000 (радиус видимости короны)PointlightRange 18.000000 (радиус динамического света)CoronaSize 1.000000 (размер короны)ShadowSize 8.000000 (размер тени)CoronaShowMode DEFAULT (дополнительный тип)CoronaReflection 0 (включение отражения на земле для короны (0/1))CoronaFlareType 0 (тип бликов для короны (1/2, 0 - без бликов))ShadowColorMP 40 (интенсивность тени)ShadowZDistance 0 (максимальное расстояние до поверхности, на которой может быть отрисована тень)CoronaTexName coronastar (название текстуры короны в particle.txd)ShadowTexName shad_exp (название текстуры тени в particle.txd)Flags1 AT_NIGHT (флаги №1)Flags2 - (флаги №2)ViewVector 0 0 100 (направление, из которого видно корону. Используется, если включен флаг CHECK_DIRECTION)
CoronaShowMode Этот параметр устанавливает дополнительный тип для источника света.
DEFAULT (стандартный тип)ALWAYS_AT_WET_WEATHER (включается при влажной погоде)TRAFFICLIGHT (используется как светофор)TRAINCROSSLIGHT (используется как светофор на ж/д)AT_RAIN_ONLY (работает только в дождь)
Это известные, именованные типы. Также существуют неименованные типы, назначение которых пока что неизвестно (используйте номера 1,3,4,5,6,9,11,12,13 вместо названия типа).
Флаги №1
CORONA_CHECK_OBSTACLES (при отрисовке короны будет проверяться наличие преград между короной и камерой, если такие преграды будут найдены - корона не отрисуется)FOG_TYPE1 (определяет тип эффекта рассеянного света)FOG_TYPE2 (определяет тип эффекта рассеянного света)WITHOUT_CORONA (отключить корону)CORONA_ONLY_AT_LONG_DISTANCE (корону видно только издалека)AT_DAY (работает днём)AT_NIGHT (работает ночью)BLINKING1 (мигание №1)
Флаги №2
CORONA_ONLY_FROM_BELOW (корону видно только тогда, когда камера находится ниже позиции короны)BLINKING2 (мигание №2)UDPDATE_HEIGHT_ABOVE_GROUND (нужно ли обновить информацию о высоте короны над землей)CHECK_DIRECTION (корону видно только из определённой позиции (параметр ViewVector))BLINKING3 (мигание №3)
Использование флагов Если нужно использовать несколько флагов, их надо разделить запятой (","). Если не нужно использовать ни одного из флагов, ставится знак "-". Например, такая запись
PED Привлекает пешехода и заставляет его выполнять определённые действия.
2dfxType PEDPosition -0.572941 0.661896 0.030715 (позиция)Type SIT_ON_BENCH_DAY_ONLY (тип действия)Rotation -0.993852 0.006778 -0.110507 -0.993852 0.006778 -0.110507 0.995570 -0.009073 0.093582 (вращение (направление по 3 осям))ExternalScript - (имя внешнего скрипта (если используется тип действия "SCRIPTED"))ExistingProb 75 (вероятность выполнения)Unknown1 0 (неизвестно)Unknown2 0 (неизвестно)
Доступные типы поведения:
USE_ATM_DAY_ONLY (использует банкомат (только днём))SIT_ON_BENCH_DAY_ONLY (сидит (только днём))STANDSTILL_DAY_ONLY (стоит (только днём))STANDSTILL_THEN_GO_AWAY (стоит и уходит)GO_AWAY_BUT_STAY_IF_RAINY (уходит, но если идёт дождь - остается. У R* данный тип назывался "Shelter", т.е. "Укрытие")SCRIPTED (используется внешний скрипт)STANDSTILL_GO_AWAY_2 (стоит и уходит)LIE_DAY_ONLY_GO_AWAY_AFTER_6PM (загорает, уходит после 6-ти вечера)SIT_AT_HOUSE (сидит на ступеньках возле дома)
SUNFLARE Создаёт блик солнца на модели (в виде короны).