HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Архив проектов > Уроки VolatileRadiant > Урок 10. Использование собственных текстур
Стандартных текстур мало, хочется добавить свои?
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Урок 10. Использование собственных текстур

Урок 10. Использование собственных текстур

Пришло время разнообразить уровень собственными текстурами. Движок понимает только внутренний формат VTX (Volatile Texture), однако есть инструмент, позволяющий легко конвертировать в него обычные TGA-текстуры, PNG-текстуры, JPG-текстуры и BMP-текстуры.
Стандартный материал в игре обычно состоит из трех различных текстур: diffuse, normal и gloss. Первая текстура – это обычная текстура, задающая основную фактуру. Вторая – карта нормалей, позволяющая задавать попиксельный микрорельеф при динамическом освещении. И, наконец, третья попиксельно регулирует уровень блеска материала при динамическом освещении.
Diffuse-текстуру вы можете создать в любом графическом редакторе (например, Photoshop) или позаимствовать из другой игры (учтите, что заимствованные текстуры вы можете использовать только для собственных нужд; распространять их незаконно). Дайте ей какое-либо имя (например, mytexture) и сохраните в формате TGA. Получится файл mytexture.tga.
Normal-текстуру вы можете также откуда-либо взять или сгенерировать на основе heightmap, используя NVidia Photoshop Plugin. Если вы хотите использовать параллакс-маппинг для материала, создайте в normal-текстуре альфа-канал, в который сохраните height map. Сохраните текстуру как 24-битный (или 32-битный, если использовался альфа-канал) TGA-файл, добавив к имени текстуры окончание «_n»; например, mytexture_n.tga.
Gloss-текстуру имеет смысл делать черно-белой и сохранять как 8-битный (grayscale) TGA с добавлением окончания «_g»; например, mytexture_g.tga. Черный цвет текстуры соответствует отсутствию блеска, белый – максимальному блеску. Если программа редактирования изображений не позволяет сохранить её в таком формате, сохраняйте в обычном, но в этом случае нужно будет указать параметр утилиты makevtx «-g» или «-ag» (см. ниже).
На все текстуры действует ограничение по размеру: он не должен превышать 2048 x 2048 пикселей.

Теперь текстуры надо перевести в формат VTX. Для этого служит утилита makevtx. Вызывать ее нужно через командную строку со следующими аргументами:
makevtx [options] texturename.tga
Утилита преобразует выбранную TGA-текстуру в VTX-текстуру.
Опции командной строки таковы:


  • -ea: создает 16-битную текстуру с альфа-каналом из 8-битной Grayscale-текстуры, при этом цветовой канал копируется в альфа-канал. Опция полезна для создания текстур шрифтов.
  • -rg2la: ещё один способ создания 16-битной текстуры с альфа-каналом. В этом случае красный канал текстуры становится цветовым, а зелёный – альфой.
  • -d: текстура является detail-текстурой, малые mip-уровни при загрузке становятся серыми.
  • -n: текстура является картой нормалей.
  • -an: утилита автоматически распознает карту нормалей по окончанию имени (для карты нормалей это «_n»).
  • : текстура является кубической картой.
  • -a0: обрезать альфа-канал текстуры (если он есть).
  • -a1: альфа-канал текстуры однобитный (полезно для текстур, где альфа задает битовую маску «прозрачно-непрозрачно»).
  • -a8: альфа-канал текстуры 8-битный (это значение по умолчанию).
  • -clamp: текстурные координаты должны принадлежать диапазону (0, 1). Это может быть полезно для текстур в некоторых шейдерных скриптах.
  • -nc: текстура не будет сжиматься (используйте для высокодетализированных текстур, где сжатие может давать артефакты).
  • -np2: разрешить создание текстур, размер стороны которых не является степенью двойки. Не рекомендуется использовать, т.к. старые видеокарты не поддерживают эту возможность.
  • -f: задать частоту кадров анимированной текстуры.
  • -g: конвертировать текстуру в 8-битную чёрно-белую текстуру (убрать информацию о цвете).
  • -ag: утилита автоматически распознает карту блеска и карту отражений по окончанию имени (для карты блеска это «_g», для карты отражения это «_ref») и конвертирует их в 8-битные чёрно-белые изображения. При наличии альфы её значение умножается на интенсивность цвета.

Для создания анимированной текстуры или кубической карты нужно указать маску имени текстуры. В маске подстрока %d будет подменена на порядковый номер текстуры, начиная с 1. Если вы используете bat-файл, нужно указывать не %d, а %%d.
Внимание: makevtx поддерживает разнообразные форматы TGA: 8-битные Grayscale, индексированные, полноцветные RGB и RGBA, с RLE-сжатием и без него. Кроме того, поддерживаются различные форматы PNG-файлов. Однако при сохранении PNG нужно быть внимательным: текстура может быть создана с альфа-каналом («белым») там, где это не было нужно. Во избежание проблем сохраняйте PNG-файлы, не содержащие альфы, только после склеивания слоёв (например, в Photoshop – Layer > Flatten Image). Последние версии makevtx поддерживают, кроме того, JPG и BMP форматы.

Для того, чтобы массово сконвертировать вышеописанные текстуры, создайте bat-файл следующего содержания:

code:
@ECHO OFF for %%i in (*.tga) do @C:\OptionImplicitDemo\system\makevtx.exe -an -ag %%i pause


Вместо «C:\OptionImplicitDemo\system\makevtx.exe» укажите ваш путь к утилите makevtx. После запуска вы получите три текстуры: mytexture.vtx, mytexture_n.vtx и mytexture_g.vtx. Обратите внимание на опции «-an» и «-ag»: они позволяет распознавать карты нормалей, блеска и отражения при массовом создании текстур.

Вы можете разместить полученные текстуры в нужной папке в подпапке textures и использовать текстуру mytexture в редакторе. Карта нормалей и карта блеска будут загружены автоматически.
Кроме того, вы можете создавать сложные многослойные текстуры с различными эффектами, создавая соответствующие шейдерные скрипты. Подробнее об этом смотрите файл «Volatile3D II Shading Manual.doc» в папке sdk.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 71168

Старое сообщение 05-02-2011 15:43
-
PunkPaToB
Теперь я с провами!!!

Дата регистрации: Dec 2010
Проживает: (void)
Сообщений: 792
Возраст: 29

Рейтинг



Скажите пожалуста опции командных строк, оптимальных для каждой из 3 текстур.(я так понимаю их для каждой несколько)
З Ы Глосс текстуру делать с серыми оттенками? (от 0 до 255).Или просто черный и белый цвет?(0 до 1).
И Paint.net дает сохранить только в 32 или 24 битном изображении.
Посоветуйте прогу (не фотошоп) которая может более опционально сохранять.

Сообщить модератору | | IP: Записан
Сообщение: 71704

Старое сообщение 11-02-2011 16:19
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
PunkPaToB писал:
я так понимаю их для каждой несколько

Где в туторе написано, что для каждой из 3 текстур надо использовать разные опции? Ну покажи.
Цитата:
PunkPaToB писал:
Глосс текстуру делать с серыми оттенками? (от 0 до 255).Или просто черный и белый цвет?(0 до 1).

От 0 до 255, в Фотошопе - Image > Mode > Grayscale.
Цитата:
PunkPaToB писал:
Посоветуйте прогу (не фотошоп) которая может более опционально сохранять.

Я таких не знаю.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 71710

Старое сообщение 11-02-2011 17:53
-
PunkPaToB
Теперь я с провами!!!

Дата регистрации: Dec 2010
Проживает: (void)
Сообщений: 792
Возраст: 29

Рейтинг



XaeroX
Заметил такую неприятность, вот ты апгрейднул Радиант на пути с пробелами.А батник отказывается что либо делать из за них. Ну я текстурку скомпилил. Но Gloss текстура 24 бита.Такая может идти?

Сообщить модератору | | IP: Записан
Сообщение: 71713

Старое сообщение 11-02-2011 18:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
PunkPaToB писал:
Но Gloss текстура 24 бита.Такая может идти?

старый ксаш ужимал в видеопамяти такие текстурки до полагающихся им 8-бит. Думаю что и Волатила делает так же.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 71720

Старое сообщение 11-02-2011 18:41
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
PunkPaToB писал:
А батник отказывается что либо делать из за них.

Ну так попробуй его убедить.
Чудес не бывает, если редактор запускает компилятор с путями, где есть пробелы, то и батник запустит.
Цитата:
PunkPaToB писал:
Но Gloss текстура 24 бита.Такая может идти?

Нет.
Цитата:
Дядя Миша писал:
Думаю что и Волатила делает так же.

Неа, не делает. Но надо будет прикрутить.
Я просто подумал, зачем тратить время на это? Один фиг, если глоссмапа не 8-битная, то она на диске кучу лишнего места занимает, а это уже баг.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 71736

Старое сообщение 11-02-2011 20:05
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Я просто подумал, зачем тратить время на это?

одна из важнейших составляющих идеологии ксаша: пытаться исправить косяки девелопера. Хотя бы наполовину.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 71738

Старое сообщение 11-02-2011 20:19
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша
Я ещё не вышел на уровень готовности движка, чтобы заняться исправлением косяков девелоперов модов и карт. Мне бы косяки девелопера самого движка исправить для начала.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 71740

Старое сообщение 11-02-2011 20:43
-
PunkPaToB
Теперь я с провами!!!

Дата регистрации: Dec 2010
Проживает: (void)
Сообщений: 792
Возраст: 29

Рейтинг



XaeroX
если указать makevtx с папкой где есть пробел ничего не получается.
мне все нужные файлы пришлось в отдельной папке держать.

ЗЫ В будующем Имхо былобы прикольно запихнуть кучу текстур в rar архив (все 3 вида у каждой) и всю кучу скомпилить.

[ Вложение ]
lisa.jpg

Сообщить модератору | | IP: Записан
Сообщение: 71757

Старое сообщение 12-02-2011 07:56
- За что?
PunkPaToB
Теперь я с провами!!!

Дата регистрации: Dec 2010
Проживает: (void)
Сообщений: 792
Возраст: 29

Рейтинг



Вот нормальный компил без пробелов.

[ Вложение ]
djnm.jpg

Сообщить модератору | | IP: Записан
Сообщение: 71758

Старое сообщение 12-02-2011 07:59
- За что?
 Skaarj
Ctrl+S

Дата регистрации: Aug 2006
Проживает: Twisting Nether
Сообщений: 2377
Нанёс повреждений: 9 ед.

Рейтинг



Награды
  
[2 награды]


PunkPaToB
Добавь волшебных "
"C:\чтото с пробелами\OptionImplicitDemo\system\makevtx.exe"

Сообщить модератору | | IP: Записан
Сообщение: 71760

Старое сообщение 12-02-2011 08:17
-
PunkPaToB
Теперь я с провами!!!

Дата регистрации: Dec 2010
Проживает: (void)
Сообщений: 792
Возраст: 29

Рейтинг



Skaarj
Вот это работает.
Xaerox поправь тутор)

Сообщить модератору | | IP: Записан
Сообщение: 71762

Старое сообщение 12-02-2011 08:26
- За что?
 Skaarj
Ctrl+S

Дата регистрации: Aug 2006
Проживает: Twisting Nether
Сообщений: 2377
Нанёс повреждений: 9 ед.

Рейтинг



Награды
  
[2 награды]


Ага, а ещё добавсь как создавать/редактировать сам БАТник и ещё докучи как включать компутер.

Сообщить модератору | | IP: Записан
Сообщение: 71764

Старое сообщение 12-02-2011 08:35
-
PunkPaToB
Теперь я с провами!!!

Дата регистрации: Dec 2010
Проживает: (void)
Сообщений: 792
Возраст: 29

Рейтинг



Skaarj
Ну пример показан для того чтобы скопировать, и работать.
Я лишь показал что при таких условиях он не работает.
Не все же знают как работать с батниками.
В шк на информатике ничего путного не осваиваем.

Отредактировано PunkPaToB 12-02-2011 в 08:53

Сообщить модератору | | IP: Записан
Сообщение: 71766

Старое сообщение 12-02-2011 08:44
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
PunkPaToB писал:
Не все же знают как работать с батниками.

А гугл на что?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 71778

Старое сообщение 12-02-2011 12:37
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 03:00. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Архив проектов > Уроки VolatileRadiant > Урок 10. Использование собственных текстур
Стандартных текстур мало, хочется добавить свои?
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024