Просмотр
Материал из DoomDev
Страница «
ANIMDEFS
»
Перейти к:
навигация
,
поиск
Ламп ANIMDEFS альтернатива лампу [[ANIMATED]]. Он обеспечивает большую гибкость, позволяя не только создавать анимированные текстуры из любого количества кадров и с любой скоростью, не только создавать текстуры выключателей, но и одновременно делать и то и другое. Выключатели могут быть анимированы так же, как и обычные текстуры, и даже могут издавать звуки (определенные в [[SNDINFO]] в любой точке анимации). Особые манипуляции (например, привязка камеры, деформации) с текстурами возможны только с помощью этого лампа<br> Кроме того, этот ламп содержит обычный текст, что упрощает его редактирование. Хотя во всех командах ANIMDEFS можно указывать текстуры смещением лампа от базовой текстуры, так делать не рекомендуется. По возможности используйте имена текстур, так как такая запись легче для понимания и не привязывается к конкретному порядку лампов в [[WAD]]е. Индексная запись поддерживается только для совместимости с [[Hexen]] и старыми проектами. В ANIMDEFS можно использовать следующие команды: == TEXTURE/FLAT <имя> == Начинает определение анимации. TEXTURE определяет анимацию текстуры, а FLAT - анимацию пола. Такое разделение несколько утратило свою строгость, так как начиная с ZDoom 2.0.48 flat и texture взаимозаменяемы. Единственное различие - порядок поиск при наличии повторяющихся имен: TEXTURE означает начало поиска с [[TEXTURE]]x-лампов, а FLAT с имен между F_START и F_END. Оба типа поддерживают следующие подкоманды: === PIC <номер|имя> tics <длительность> | rand <мин> <макс> === Определяет один кадр анимации. При таком определении будет анимирована только базовая текстура.<br> Используемая текстура может быть указана либо по индексу (при этом базовая текстура имеет индекс 1, последущие индексы означают текстуры, следующие за ней в списке), либо по имени (рекомендуемый способ). Если текстура указана индексом, не требуется как-либо сортировать индексы, один и тот же индекс может быть использован несколько раз. Если текстура кадра указана по имени, порядок в [[WAD]]е или [[TEXTURE]]x никак не влияет.<br> Длительность каждого кадра может быть либо постоянной либо случайно выбираться. Для постоянной длительности используйте ''''tics''' <длительность (в [[тик]]ах)>'. Для случайного значения - ''''rand''' <мин> <макс>', где мин и макс - минимальная и максимальная длительность в [[тик]]ах соответственно. Длительность в тиках может быть дробной (например, 4.3 тика). === RANGE <номер|имя> tics <длительность> | rand <мин> <макс> | Oscillate Определяет анимационный ряд. ''Номер'' или ''имя'' - последний кадр ряда. Обратите внимание, если указан номер n, у анимации будет n+1 кадров. '''tics''' и '''rand''' означают то же, что и для PIC. Но в отличие от PIC, анимация, определенная таким образом, сделает анимированными все текстуры, указанные кадрами (как в [[ANIMATED]]). Если указан флаг '''Oscillate''', по достижении конца анимации пойдет в обратную сторону, а не повторится с первого кадра. === ALLOWDECALS === По умолчанию у анимированных текстур [[декали]] отключены. Эта команда включает [[декали]] для данной текстуры. == SWITCH <имя> == Начинает определение нового выключателя. Допустимы следующие подкоманды: === ON === Определяет анимацию, проигрываемую при активации выключателя. === OFF === Определяет анимацию, проигрываемую при сбросе выключателя. === SOUND <имя звука>=== Определяет звук издаваемый выключателем === PIC <номер|имя> tics <длительность> | rand <мин> <макс> === Определяет один кадр данной анимации. Синтаксис отличается от используемых в [[ANIMDEFS#TEXTURE/FLAT <имя>|TEXTURE/FLAT]] только обязательностью указания текстуры по имени. == WARP texture|flat <имя> [allowdecals] Определяет эффект деформирования (warping) для пола или текстуры. Он схож с эффектом деформирования у воды в Quake или Quake II.<br> Этот эффект может быть использован со спрайтами (если их размеры равны степеням двух). Хотя полученный эффект будет несколько странен, полезно знать, что такая возможность существует.<br> Как и для других анимированных текстур, допустим флаг '''allowdecals''', снимающий запрет на размещение декалей на анимированных текстурах. == WARP2 texture|flat <имя> [allowdecals] То же, что WARP, но улучшен эффект воды. == ANIMATEDDOOR <имя> == Начинает определение анимации для использования спецификатором [[Door_Animated]]. Допустимы следующие подкоманды: === OPENSOUND <звук> === Определяет звук, проигрываемый при открытии двери. Звук должен быть определен в лампе [[SNDSEQ]]. === CLOSESOUND <звук> === Определяет звук, проигрываемый при закрытии двери. Звук должен быть определен в лампе [[SNDSEQ]]. === PIC <номер|имя> === Определяет один кадр анимации двери. Используемая текстура может быть указана либо по индексу (при этом базовая текстура имеет индекс 1, последущие индексы означают текстуры, следующие за ней в списке), либо по имени (рекомендуемый способ). Если текстура указана индексом, не требуется как-либо сортировать индексы, один и тот же индекс может быть использован несколько раз. Если текстура кадра указана по имени, порядок в [[WAD]]е или [[TEXTURE]]x никак не влияет. Кадры анимации должны быть упорядочены от состояния "полностью закрыто" к состоянию "полностью закрыто", количество кадров не ограничено. == CAMERATEXTURE <имя текстуры> <ширина> <высота> [fit <ширина> <высота>] Определяет текстуры, в которую может быть отражено изображение с камеры. Если текстура с указанным именем существует, изображение будет отмасштабировано в рамки текстуры. Кроме того, рамки масштабирования можно указать принудительно при помощи ключевого слова '''fit'''. Квадратные текстуры требуют меньше памяти, чем неквадратные. Однако если необходима камеры, которая может видеть отображающую ее изображение текстуру, необходимо использовать неквадратную текстуру. Для назначения текстуры камере используется [[ACS]]-функция [[SetCameraToTexture]]. == Примеры == Анимированный пол: flat x_001 pic 1 tics 5 pic 2 tics 5 pic 3 tics 5 pic 4 tics 5 Анимировання текстура с разрешенными декалями: texture x_water1 allowdecals pic x_water1 rand 5 12 pic x_water2 rand 5 12 pic x_water3 rand 5 12 pic x_water4 rand 5 12 Обычный выключатель: switch SW_1_UP on sound Switch1 pic SW_1_DN tics 0 switch SW_1_DN off sound Switch2 pic SW_1_UP tics 0 Выключатель с анимацией переключения: switch doom 3 sw1nj15 on sound switches/lever2 pic sw1nj15b tics 8 pic sw1nj15c tics 8 pic sw2nj15 tics 8 off sound switches/lever2 pic sw1nj15c tics 8 pic sw1nj15b tics 8 pic sw1nj15 tics 0 Деформируемый пол (the second variation allows decals to appear): warp flat qslime2 warp flat qslime2 allowdecals Текстура анимированной двери: animateddoor DORIRS01 opensound DoorOpenAirlock closesound DoorCloseAirlock pic DORIRS01 pic DORIRS02 pic DORIRS03 pic DORIRS04 pic DORIRS05 pic DORIRS06 pic DORIRS07 pic DORIRS08 Текстура 64x64 для камеры: cameratexture CAMTEX1 64 64 Текстура 80x50 для камеры масштабирующая изображение с камеры разрешением 100x50: cameratexture CAMTEX2 100 50 fit 80 50 Камера разрешения 64x64, замещающая текстуру STARTAN2. Так как '''fit''' не указан, то изображение будет отмасштабировано к размерам текстуры (128x128): cameratexture STARTAN2 64 64 То же, что в прошлом случае, но при помощи '''fit''' запрещено масштабирование: cameratexture STARTAN2 64 64 fit 64 64 {{zdoomwikibased}}{{zdoom}}
Шаблон:Zdoom
Шаблон:Zdoomwikibased
Возврат к странице
ANIMDEFS
.
Просмотры
Статья
Обсуждение
Просмотр
История
Личные инструменты
Представиться системе
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Загрузить файл
Спецстраницы