АТМОСФЕРНЫЕ ЭФФЕКТЫ | ||
Введение | Точки привязки | Основные свойста |
Метод | Теги для дыма | Свойства последовательности |
Примеры |
Дым из фабричной трубы Паровоз |
Trainz версии 1.3 (пакет обновления 3) предоставляет вам возможность добавлять настраиваемый дым, пар, испарения и тому подобные эффекты к вашим самодельным поездам и объектам ландшафта. Для простоты настоящий документ будет именовать этот набор эффектов дымовыми эффектами.
Предполагается, что читатель уже знаком с созданием и экспортированием объектов в 3D Studio Max™ или в GMax™.
Дымовые эффекты добавляются к самодельным поездам и объектам ландшафта в два этапа:
Точки привязки добавляются к оригинальной модели с использование программы 3D Studio Max™ или GMax™ в том месте, где необходим дымовой эффект. На расположенных ниже рисунках 1 и 2 показано местонахождения инструмента "Добавить точку". После того, как точка добавлена, ей надо дать имя, начинающееся с 'a.', чтобы идентифицировать ее как точку привязки, напр. a.smoke, a.steam, a.safety, a.mist и т.д. Точка привязки должна быть повернута так, чтобы ее ось Y шла в том направлении, в каком будут испускаться частички дыма (убедитесь, что установлена пункт и ориентацию точки можно определить). После этого сохраните и экспортируйте модель как обычно.
Рис. 1. 3D Studio Max™. Точка вставки | Рис. 2. GMax™. Точка вставки. |
Добавление тегов описания дыма
Блоки описания дыма добавляются к файлу config.TXT объекта, чтобы указать каждый дымовый эффект, который будет создан для объекта. Блоки дыма именуются smoke# (где # - число) и последовательно нумеруются, начиная с нуля. См. Пример 2.
Блоки состоят из двух разделов: главных свойств и свойст последовательности. Главные свойства описывают атрибуты, которые не изменяются и зависят только от режима. Свойства последовательности описывают набор из одних или более фаз/периодов последовательности испускания дыма.
Блок имеет следующий формат:
smoke# | |
{ | |
mode | time | speed | anim | timeofday |
attachment | <название точки привязки> |
color | <красный>, <зеленый>, <синий>, <непрозрачность> |
accel | <x>, <y>, <z> |
loop | <n> |
start | <n> [, <n>]. . . |
period | <n> [, <n>]. . . |
rate | <n> [, <n>]. . . |
velocity | <n> [, <n>]. . . |
lifetime | <n> [, <n>]. . . |
minsize | <n> [, <n>]. . . |
maxsize | <n> [, <n>]. . . |
} |
Обозначения: '#' - число, [ ] означает, что блок может отсутствовать,' . . .' указывает на переменное число параметров,'|' означает "или".
Where:
<название точки привязки> - это имя точки привязки в модели, напр. a.smoke, a.steam, a.chimneyи т.д.
<красный>, <зеленый>, <синий> - числа от 0 до 255, описывающие интенсивность соответствующей цветной компоненты.
<непрозрачность> - число от 0 до 255, описывающее начальную непрозрачность/прозрачность эффекта.
<x>, <y>, <z> - компоненты векторы, направленного в сторону суммы всех сил, влияющих на данный дымовой эффект. В сущности, <z> описывает гравитацию, а <x>, <y> описывают силу ветра.
<n> - десятичное число.
ТЕГ | ОПИСАНИЕ | |
mode |
Описывает режим или тип данного дымового эффекта. Влияет на интерепретацию start и period. По умолчанию time. Во всех режимах period можно установить в -1 (по умолчанию), что означает, что фаза активна до начала следующей фазы. | |
time | В режиме time, start - это набор значений времени в секундах от создания родительского объекта этого эффекта, когда начинается данная фаза эффекта. period - это продолжительность времени, в течение которого эффект продолжает быть активным. Объекты ландшафта поддерживают только режим time. | |
speed |
При установке режима speed start - это скорость в метрах в секунду (м/с), а period не используется. (Примечание: 1 м/с = 3.6 км/ч). Все остальные атрибуты последовательности (rate, velocity, lifetime, minsize, maxsize) интерполируются так, чтобы между фазами были плавные переходы. Смотрите smoke3 в Примере 2. | |
anim | При установке anim, start - это значение от 0.0 до 1.0, описывающее время начала относительно цикла анимации объекта. period - это значение от 0.0 до 1.0, описывающее продолжительность активности эффекта. start + period не должны превышать 1.0. | |
timeofday | При установке timeofday start - это
значение от 0.0 до 1.0, описывающее время дня, когда начнется этот
эффект. Значение меняется следующим образом: 0 - полночь, 0.25 - 6 часов утра, 0.5 - полдень, 0.75 - 6 часов вечера, 1.0 - полночь. | |
color | Цвет дымового эффекта, например, '150,150,150,255' для темного дыма; '255,255, 255,150' для пара; '150,150,255,255' для воды. По умолчанию '255,255,255,255'. | |
accel | Ускорение. Вектор, направленный в сторону суммы всех сил, влияющих на дымовой эффект. В сущности, <z> описывает гравитацию, а <x>, <y> описывают силу ветра. По умолчанию 0,0,0. | |
loop | Время в секундах цикла дымовой последовательности. Действительно только, если режим установлен в time. |
Следующие свойства могут указываться как одно значение или как набор значений для разных фаз дымового эффекта. Пожалуйста, обратите внимание, что фазы не должны перекрываться, поскольку только одна фаза может быть активна в данный момент времени. Если в свойстве указан набор значений, они должны быть той же продолжительности, что и start. Если указано одно значение, оно будет использовано для всех фаз эффекта. См. Пример 1 - использование нескольких фаз.
ТЕГИ | ОПИСАНИЕ |
start, period | См. mode. |
rate | Частота испускания, в частицах в секунду для режимовtime, speed и timeofday, или число испускамых частиц во время периода анимации для режима anim. По умолчанию 4. |
velocity | Начальная скорость испускаемых частиц дыма. По умолчанию 1. |
lifetime | Время в секундах, в течение которого существуют частицы дыма. По умолчанию 3. |
minsize | Начальный размер частиц дыма. По умолчанию 0. |
maxsize | Конечный размер частиц дыма. По умолчанию 3. |
Как правило, лучше использовать низкую частоту испускания больших частиц (то есть, min/max size), а не высокую частоту испускания маленьких частиц, так как в первом случае частота обновления кадров будет выше. Дымовые эффекты могут поражать воображение. но лучше использовать их умеренно.
Попробуйте поэкспериментироваться с различными значениями, чтобы почувствовать, как они влияют на дымовые эффекты. При некоторой доле воображения возможно также множество других эффектов помимо дыма, например, водопады, туман, ядовитые зеленые облака, огонь. Можно также использовать одновременно несколько эффектов в одном и том же месте, чтобы имитировать дым и пламя и т.д.
Пример 1 - Дым из трубы фабрики
При использовании модели фабрики с трубой точка привязки с именем 'a.smoke' помещена на верхушке трубы, так что ее ось Y направлена вверх. Затем фабрика экспортирована как индексированная сетка (тип файла *.IM) в каталог Trainz\world\custom\scenery\factory, а графические ресурсы для модели скопированы туда же. Следующий файл config.TXT заставит дымить трубу фабрики между 6:00 и полуднем, между 15:00 и 18:00. Пожалуйста, обратите внимание, что указанный КИД - не настоящий и не должен использваться в ваших работах.
Пример файла Config.TXTдля ландшафта |
kuid <KUID:-15:123456> smoke0 start 0.25, 0.5 |
Пример 2 - Паровоз
Анимированная модель паровоза, требующая 4 точек выброса дыма, может быть настроена следующим образом:
Модель экспортирована как прогрессивная сетка (файл *.PM) в каталог Trainz\world\custom\trains\steam_train\steam_train_body, а графические ресурсы модели скопированы туда же. Пожалуйста, обратитесь к руководству по созданию самодельных ресурсов за дополнительной информацией по созданию самодельных поездов. Следующий файл config.TXT в родительском каталоге создаст желаемые дымовые эффекты. Пожалуйста, обратите внимание, что указанный КИД также не настоящий, и не должен использоваться вами в ваших разработках. В целях иллюстрации используются настройки локомотива F7.
Пример файла Config.TXT для локомотива |
kuid <KUID:-15:123456> enginespec <KUID:-1:42004202> smoke0 start 0 smoke1 start 0.5 smoke2 smoke3 start 0,10,20,30 |