DOOMCENTER.RU - Сайт о Doom и Quake
 DOOMCENTER.RU
 Главная | Новости
 Архив новостей
 О проекте
 Ссылки
 Форум
 
 Doom 3
 Обзоры
 Коды Doom 3
 Враги (бестиарий)
 Оружие
 Секреты
 Прохождение
 Статьи о Doom 3
 
 Моды Doom 3
 В разработке
 Новые уровни
 Маппинг
 
 Doom 3: RoE
 Новые уровни
 
 Doom 2
 Об игре
 Руководство
 Предыстория
 Монстры
 Оружие
 Скрины
 
 Doom
 Об игре
 Предыстория
 Монстры
 Оружие
 Скрины
 





Форум о Doom 3

 Добавить в "Избранное"

Quake 4

 Обзоры
 Чит-коды
 Скрины
 

Quake 3

 Обзоры
 Чит-коды
 Скрины
 

Quake 2

 Скрины
 Чит-коды
 

Quake

 Чит-коды
 Скрины
 

Разное

Архив новостей

 2009 год
 2008 год
 2007 год
 2006 год
 2005 год
 2004 год
 


 

 


Разъяснение неясностей. Часть III




 Автор руководства: iMiceman



Сегодня передо мной стоит задача рассказать вам несколько простых вещей: добавление своих текстур (и некоторые моменты их редактирования), немного поработаем с "Simple patch mesh" - гениальным инструментом в руках мастера, ну и там по мелочам. ;)

Добавление текстур. Текстуры в Doom3 добавляются путем нехитрой операции, которую я весьма подробно рассмотрю. Итак. Раньше, для того чтоб нам добавить текстуру в Radiant требовалось кинуть наш "шедевр" в папку "textures" и бегом в Radiant налаживать на браш, но теперь - нет, сейчас все изменилось - текстуры стали сложнее и нам теперь нужно указать инструкции (о них чуть позже) для Doom3 - собственно как использовать данную текстуру.

Обычная текстура в Doom3 должна состоять из следующего: главной текстуры, её карты нормалей (бамп, в простонародии), спекуляре (текстуры с подсветкой (блеском от источников света) - specular), возможно, альфа каналом (хотя при правильном оформлении текстуры он может и не понадобиться - именно этот вариант мы и рассмотрим).

Итак, мы сделали текстуру, и предположим это трава (или мы жалко украли из какой ни будь игры текстуру травы). Она, разумеется, должна быть в разрешении кратному двум, должна быть полноцветной (если вы, например, сохраните текстуру в grayscale, то Doom3 непременно выдаст ошибку, при загрузке карты с этой текстурой, и напомнит вам какие форматы текстур он поддерживает), к сожалению, мы можем использовать только TGA формат (также убогий сжатый вариант - DDS (DXTx), но это отврат, поэтому о нем забудем), никакого JPG, для нелюбителей больших размеров напомню - сжатый RLE TGA не поддерживается.

Текстура у нас есть, теперь нужно сделать организацию папок, для последующей переупаковки в ZIP и добавления в Doom3. Создаем где-нибудь папку "Doom3 PROGECTS", в ней подпапку "New texture pack", в "New texture pack" создаем папки "textures", "materials". В "textures" создаем папку "New_tex_1" (если кто-то считает что такая организация файлов невостребованная, то он ошибается, при создании/модификации файла материалов, очень удобно, когда понятная организация папок и не нужно будет потом вспоминать "Чего мы туда напихали?", когда будем писать пути текстур). Все нужные папки приготовлены, и мы перемещаем нашу траву (переименовав имя в "grass_1") в папку "New_tex_1". Теперь нам нужно сделать бамп и спекуляр. Бамп делается с помощью плагина "Normal map filter" для Photoshop'a (собственно в нем мы и будем редактировать текстуры), берем оригинал текстуры, и указываем  затемнением участков - впадины, осветлением - возвышенности, рекомендую оставлять четкие грани - иначе будет плохо смотреться, а также неплохо было бы добавить шума - в игре выглядит, будто текстура детализирована и смотрится немного реалистичней, потом применяем плагин (слегка поэкспериментировав с настройками, иначе возможно плагин не так преобразует рельеф и у нас впадины станут возвышенностями, или наоборот), если вы заметили похожую на вашу текстуру в думе, то рекомендую взять с неё бамп и подогнать под свою текстуру - так получится заметно лучше (поскольку в ID делали бамп на основе трехмерных моделей, а не потели в Photoshop'e). Сохраняем файл в папке "New_tex_1", с именем "grass_1_b". Спекуляр - берем оригинал текстуры, создаем новый слой, заливаем его черным и делаем его прозрачным на половину, потом кистью зарисовываем области отражающие свет (темновато-сероватым цветом - иначе карта вспыхнет при активном использовании света), восстанавливаем прозрачность слоя? сводим и сохраняем в папке "New_tex_1", с именем "grass_1_s". Или более простой вариант создания спекуляра - открываем в Photoshop'e и немного экспериментируем с опциями слоёв, делая текстуру бледнее, преобразовываем в grayscale и сохраняем. Также хочу заметить, что если вашей текстуре не нужен бамп или спекуляр, то чистые файлы делать не нужно - это отразиться на скорости прорисовки (причем очень заметно), легче их просто не сделать и не описать их в файле материалов.

Файлы текстур готовы, теперь осталась малость (хотя как для кого) - создать файл материала, в котором мы опишем пути к текстурам и суть самой текстуры. Выглядеть он должен так (если только текстура простая, если нет – см. ниже):

  textures/New_tex_1/grass_1
  {
   qer_editorimage  textures/New_tex_1/grass_1.tga
   diffusemap  textures/New_tex_1/grass_1.tga
   bumpmap  textures/New_tex_1/grass_1_b.tga
   specularmap  textures/New_tex_1/grass_1_s.tga
   //heightmap - карта высот, если нужна
  }

 Самая верхняя строка (textures/New_tex_1/grass_1), описывает папку/имя текстуры, которое будет использовано в редакторе в закладке "Media". Лучше всего чтоб он совпадал со структурой папок, чтоб не было путаницы. Параметр "qer_editorimage" описывает путь к файлу текстуры, которую должен использовать редактор, "diffusemap" - путь к главной текстуре, "bumpmap" - путь к текстуре карты нормалей, "specularmap" - путь к спекуляру. Это и есть основные параметры текстур. Теперь немного о том, что можно еще описать в файле материала. Можно также указать текстуру, с которой наша текстура будет "реагировать" (как вы заметили скрипт имеет контейнерную структуру и мы можем писать вложения), это будет выглядеть так:

   {
          blend  имя_реакции
     map  textures/.../*.tga
   }

 Параметр "blend" указывает на реакцию, которая будет происходить с нашими текстурами, это: "add" - наложение текстуры поверх нашей, "blend" - просто будет смешиваться, "diffusemap" - наложение карты диффузии, "bumpmap" - наложение карты нормалей, "specularmap" - наложение спекуляра, есть также "gl_*" значения, но они пока невостребованные. Можно также дописать во вложение степень отсечения прозрачности (используется совместно с translucent (см. ниже)): "alphatest" - значение до 1.0, масштаб - параметр "scale" ("centerscale" - масштабировать от центра), или определенное действие:

    rgb  throbtable[ time * .5 ] //Текстура пульсирует через определенные интервалы времени (в данном случае каждые пол секунды)

    rgb  blinktable[ time * .5 ] //Будет мигать

    scroll time * 0.1 , time * 0.1 //Будет скроллировать, полезно для крови

    rotate  time * 1 //Вращаться

 Для создания альфа канала нужно создать текстуру, где темными областями обозначить прозрачность, степень отсечения черного указать параметром "alphatest", и дописать в главный контейнер "translucent" (см. еще ниже :)).
 Также можно указать цвет текстуры путем добавления данных параметров в контейнер с описанием текстуры (или реакции, и т.п.):

   red  значение   //Сколько красного (до 255)
   green  значение //Сколько зеленого (до 255)
   blue  значение  //Сколько синего (до 255)

 В общий контейнер, для удобства, можно еще дописать параметр "description" - "описание", тобиш описание текстуры. Значение этого параметра должно быть в кавычках. Теперь немного о тех параметрах, что помогут описать некоторые особенности самой текстуры (параметрам не нужны значение, их наличие - признак активации):

   noShadows //Не отбрасывать тени на текстуру
   noSelfShadow //Не отбрасывать тени на саму себя
   twoSide //Двусторонняя текстура (без этого параметра с одной стороны будет прозрачной)
   translucent //Прозрачная текстура - под чистую сметает черный цвет делая его прозрачным    noimpact (в основном исп. вместе с nonsolid) //Не твердый материал - можно пройти сквозь
   glass //Обозначает что эта текстура стекла, более подробно смотрите в материалах дума
   stone //Текстура камня, более подробно смотрите в материалах дума
   vertexcolor //Вниз наклоненные проекции будут слегка затемнены
   clamp //Не будет залито в режиме "плитки", если проектируется мимо границ
   collision //Разрешается столкновение (например, используется в текстурах паутины)
 
 Надеюсь, вы разобрались и сделали вам нужный файл материалов. Сохраняем его в папке "materials”, как *.mat.
Теперь покажу, как должны выглядеть все файлы из нашего пака. Текстуры (*.tga):
                     grass_1_s
 
 

grass_1
grass_1_b
grass_1_s
 
 
 
 
 

Файл материалов (*.mat)(аналогичный приведенному выше):
 
textures/New_tex_1/grass_1
  {
   qer_editorimage  textures/New_tex_1/grass_1.tga
   diffusemap  textures/New_tex_1/grass_1.tga
   bumpmap  textures/New_tex_1/grass_1_b.tga
   specularmap  textures/New_tex_1/grass_1_s.tga
   description  "Fucking grass. Its sucks! :D”
}
 
Все. Текстура готова, осталось только содержимое папки "New texture pack" сжать в ZIP, сохранить как *.pk4 и отправить в папку Doom3/base (извиняюсь, что, возможно, оскорбил кого-то такими глупостями, но мало ли что :)).
 

Simple patch mesh. Очень полезная штука. С помощью неё мы можем создать такие вещи как трубы (цилиндры), односторонние плоскости, конусы, сферы, выгибы (для, например, стен в помещениях), ландшафты. Для того чтоб сделать Simple patch mesh, нам нужно создать браш, выделить его, и активировать пункт меню Patch/Simple patch mesh, перед нами появится некое окно, предлагающее нам выбрать из скольких секторов будет состоять наш mesh. Мы выбираем 5 на 5 (для более детализированных изгибов рекомендую брать большие параметры). Жмем Ok, наш браш стает односторонним (кстати, об односторонности, если у текстуры выставить параметр twosided, то он наложится на обе стороны mesh'a). Теперь мы можем проделать следующее:

1) Ландшафт (хочу также заметить, что согнуть можно любой mesh) - делается это так, выбираем mesh, жмем на панели инструментов кнопку (на ней изображены две стрелки, и согнутый mesh) с подсказкой "Patch Bend Mode" и у нас подсвечивается группа точек (количество зависит от того какой детализации мы выбрали mesh) которые мы можем поворачивать в различных направлениях, тем самым, создавая изгиб т.е. рельеф, кнопкой "Change views", на панели инструментов, изменяем вид плоскости и изгибаем, так как нам нужно, для того чтоб перейти к следующей группе точек нужно нажать TAB и далее продолжать изгибы, ENTER - применить изменения группы точек, итого может получиться нечто вроде этого:
 

 

2) Трубы/цилиндры - выбираем mesh, кликаем по пункту меню Patch/Cylinder (или Patch/More Cylinders/* Cylinder, в зависимости от того какого типа цилиндр мы хотим создать). Вот и получилась труба/цилиндр, для состыковки с другими трубами, мы всегда можем взять и согнуть её с помощью "Patch Bend Mode".

3) Остальное - это выгиб для создания неугловатых стен, конус/сфера (хотя это для браша, но отнести сюда стоит), растертую по полу кровь. Выгиб - Patch/Bevel, Конус/сфера - Brush/Primitives/Cone(Sphere), кровь - создаем браш, выбираем текстуру крови, жмем клавишу S, появляется окно с опциями текстурирования, мы нажимаем кнопку Fit и она натягивает прям впору текстуру (рядом поля должны быть 1 и 1), создаем mesh 3 на 3, и выгибаем - растертая кровь готова.

Примечание: Для того чтоб посмотреть контрольные точки изгибов, нужно просто кликнуть меню - Patch/Overlay/Set, или просто нажать Y.
 

По мелочам. Немного хочу рассказать о Clipper. Создаем браш, жмем на панели инструментов кнопку с подсказкой "Clipper" (на кнопке изображены три синих точки, соединенных линиями), или просто жмем X. Кликаем по определенными местам нашего браша и вуа-ля, он разрезается по линии выстроенной поставленными нами точками. Нажав ENTER мы оставим только подсвеченный желтым кусочек, SHIFT+ENTER - обе части, CTRL+ENTER - выделить другой кусок. Вот и все, что нужно знать о Clipper, он же кастратор. :D

Удачи! У кого проблемы – мыльте на iMiceman@mail.ru, всегда рад.





Фото знаменитостей на CELEBRITYPICS.RU - сайт, на котором выложено много интересных фото зарубежных знаменитостей.


 
 
Rambler's Top100 liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня Рейтинг@Mail.ru