ANIMDEFS. Продвинутая анимация.

Предисловие.

В данной статье, вы узнаете как:

  • Создавать переключатели.
  • Создать волнообразные текстуры.
  • Сделать телевизор.

Создаем переключатель.

Перед началом, скачайте спрайты переключателя на MEGA.

mysw1.png

Затем, через Slade, добавьте mysw1 в TEXTUREx. Как это делается, я разбирал в уроке ANIMDEFS. Делаем анимированную текстуру.

Далее, в ANIMDEFS, напишите следующие строки.

switch MYSW1 on pic MYSW2 tics 0
switch MYSW2 off pic MYSW1 tics 0

Синтаксис у switch, выглядит так:

switch спрайт_off режим pic спрайт_on tics время_показа

switch — задает анимацию переключения спрайта, при нажатии на рычаг.

  • Если режим ON, то задается переход от спрайт_OFF в спрайт_ON
  • Если режим OFF, то наоборот, задается переход от спрайт_ON в спрайт_OFF.
switch MYSW1 on pic MYSW2 tics 0

время_показа у нас равно 0 тиков, это значит, что картинка будет проигрываться бесконечно.

Вот, так выглядит переключение при режиме ON:

А, вот так при OFF:

В игре, оно выглядит так:

Создаем волнообразные текстуры.

Для того, чтобы создать волнообразную текстуру, нужно прописать простую строку:

warp texture FLAT20

Синтаксис тут следующий:

warp texture название_текстуры

В данном случае, я использовал текстуру FLAT20, для показа эффекта волны.

Также, вместо warp, можно использовать, warp2, для более приятного эффекта.

warp2 texture FLAT20

Создаем телевизор.

Сначала, скачайте текстуру камеры на MEGA. И добавьте её к себе в wad.

В ANIMDEFS, можно назначить текстуре, изображение камеры. Делается это, при помощи cameratexture.

Пропишите следующий код в ANIMDEFS:

cameratexture CAM1 256 256

Синтаксис, тут следующий:

cameratexture название_текстуры разрешение_x разрешение_y
  • название_текстуры — задает текстуру, которая впоследствии, заменится на изображение камеры.
  • разрешение_x / разрешение_y — задает разрешение изображения внутри текстуры.

Меняя разрешение текстуры, мы меняем размер экрана. Меняя разрешение_x / разрешение_y, мы меняем количество пикселей на экране.

Теперь, в Doom Builder у вас должна появиться текстура CAM1. Она, будет выглядеть по другому, так и должно быть.

Теперь, осталось привязать камеру нашей текстуре. Откройте ACS, и пропишите там следующее:

SetCameraToTexture(cameraTidInComputer,"CAM1",90);

Разберем синтаксис:

SetCameraToTexture(tid_камеры, "cameratexture", угол_обзора);
  • tid_камеры — задает tid камеры.
  • cameratexture — задает название текстуры, изображение которой, будет заменятся на изображение камеры.
  • угол_обзора — задает угол обзора камеры.

В этой строке:

SetCameraToTexture(cameraTidInComputer,"CAM1",90);

Замените cameraTidInComputer на tid камеры.

В итоге, немного поигравшись, вы сможете добиться следующего:

Кстати, так выглядит код телевизора, представленного выше:

script "CompBackground1" (void){
	cameraTidInComputer = 21;
	SetCameraToTexture(cameraTidInComputer,"CAM1",90);
	Delay(35*2);
	cameraTidInComputer = 23;
	SetCameraToTexture(cameraTidInComputer,"CAM1",90);
	Delay(35*2);
	cameraTidInComputer = 11;
	SetCameraToTexture(cameraTidInComputer,"CAM1",90);
	Delay(35*2);
	cameraTidInComputer = 22;
	SetCameraToTexture(cameraTidInComputer,"CAM1",90);
	Delay(35*2);
	restart;
}

Итоговый результат.

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!