При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > 2D Графика
Ник
Пароль
Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2013, 23:04  #1
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию Наложение бампа на диффузную текстуру

Подскажите, пожалуйста. Есть куча программ и способов, позволяющих делать нормал-мапы для диффузной текстуры, но почти нету удобных инструментов, позволяющих без излишних затрат сил и времени создать эффект бампа на самой диффузной текстуре.

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

П. С. Для программы Filter Forge есть фильтр для создания эффекта бампа на текстуре, но он жутко тормозной, имеет кучу непредсказуемых настроек и в некоторых случаях может обрабатывать большие текстуры бесконечно долго, так что это не очень хороший вариант.
Qwertyus вне форума Ответить с цитированием
Старый 29.06.2013, 02:56  #2
HAWK0044
HAWK0044
Старший лейтенант
Регистрация: 25.01.2009
Сообщения: 891
Замечания: 2


По умолчанию

Если актуально отпишись в аську, подумаем.
HAWK0044 вне форума Ответить с цитированием
Старый 29.06.2013, 08:04  #3
Lefront
Lefront
всегда можно орнуть
Регистрация: 30.06.2008
Адрес: Свердловская Область 66
Возраст: 35
Сообщения: 2,199
Замечания: 1


По умолчанию

Сначала надо нарисовать хейт-мапу (я вовремя забыл точное название). Черно-серо-белая такая. Там уже нарисуеш где выпуклости, где впуклости, а только потом переведешь ее в нормалку. Если делать нормалку из дифузки, получается песок или щебенка. И выглядит не ахти
Lefront вне форума Ответить с цитированием
Старый 29.06.2013, 09:34  #4
Gaia
Gaia
Чёрный вертолёт
Регистрация: 04.08.2008
Возраст: 37
Сообщения: 4,584
Замечания: 5


По умолчанию

http://cs-mapping.com.ua/forum/show...342&postcount=1 возможно пригодится.
Gaia вне форума Ответить с цитированием
Старый 29.06.2013, 10:31  #5
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию

2 Gaia:
Хм, с каналами вот я не пробовал экспериментировать, спасибо, погляжу.

2 Lefront:
Я не спрашивал о том, как делать нормал-мапу из диффузки, отнюдь .

2 HAWK0044:
Ну, отпишуся, допустим.
Qwertyus вне форума Ответить с цитированием
Старый 29.06.2013, 10:50  #6
marikcool
marikcool
Капитан
Регистрация: 13.09.2007
Сообщения: 906
Замечания: 2


По умолчанию

мне кажется лучше в фотошопе на дифузку кинуть, нормалку, взять 1-2 канала и преобразовать в чернобелый режим, и смешиванием слоев выдавится свето тень на дифузку.
если нормалки нет, то просто открывай дифузку, врубай кисть ставь белый цвет и прозрачность 30% например, и делай бамп, а также черной кистью на 30% затемняй.

в любом случае фотошоп в помощь.
marikcool вне форума Ответить с цитированием
Старый 29.06.2013, 10:53  #7
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Эмбосс фильтр?
Дядя Миша вне форума Ответить с цитированием
Старый 29.06.2013, 12:03  #8
XaeroX
XaeroX
Crystice Softworks
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 38
Сообщения: 9,254


По умолчанию

Прогу, которая грузит текстуры, делает DOT3 с нормалькой и сохраняет результат, написать. Ну или для тех, кто не умеет кодить, вариант - перловый скрипт. Или питон. Или на чём там простые юзеры пишут код?
XaeroX вне форума Ответить с цитированием
Старый 29.06.2013, 12:07  #9
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию

2 Дядя Миша:
Эмбосс немного не тот эффект даёт, более грубый, зачерняет текстуру. Т. к. он нацелен на акцентирование мелких деталей.

2 marikcool:
Вопрос не в том, как сделать вручную. Если текстур много, обрабатывать каждую кисточкой - крайне утомительное занятие. Вопрос в том, как сделать это либо автоматизированно (изменение исходной текстуры при помощи ряда предварительных настроек), либо стандартизированно (используя некий общий эффективный метод "слияния" уже готовой нормал-мапы с исходной текстурой, так, чтобы затем, к примеру, в том же Фотошопе это можно было реализовать для любой пары текстур путём выполнения автоматизированного действия).

Qwertyus, подумав, добавил 29.06.2013 в 12:11
2 XaeroX:
Вот я пытался гуглить готовое и не нашёл ничего. Хотя предполагаю, что написание чего-то подобного не должно быть слишком сложным. Просто, почему-то, никто такой цели перед собой не ставил.

Последний раз редактировалось Qwertyus, 29.06.2013 в 12:11.
Qwertyus вне форума Ответить с цитированием
Старый 29.06.2013, 12:12  #10
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 33
Сообщения: 17,146


По умолчанию

Там довольно просто, как ксерокс описал. Как нибудь напишу тутор. Впрочем это и в 3DSMax сделать можно.
FiEctro вне форума Ответить с цитированием
Старый 29.06.2013, 12:16  #11
XaeroX
XaeroX
Crystice Softworks
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 38
Сообщения: 9,254


По умолчанию

2 Qwertyus:
Конечно, ничего сложного.
Нагугли функции чтения картинки нужного формата в массив байтов и записи из массива байтов.
Потом напиши сам операцию dot3. Это совсем просто, как-то так:
dot_pixel = (normal_pixel.r * 2 - 1) * light[0] + (normal_pixel.g * 2 - 1) * light[1] + (normal_pixel.b * 2 - 1) * light[2];
Ну а потом примени дот:
diffuse_pixel.r = diffuse_pixel.r * dot_pixel;
diffuse_pixel.g = diffuse_pixel.g * dot_pixel;
diffuse_pixel.b = diffuse_pixel.b * dot_pixel;
В цикле нужно пробежаться по всем пикселям.
В light прописываешь направление на источник света в локальном пр-ве текстуры, ну например (1, 1, -1).
Всё, пожалуй.
XaeroX вне форума Ответить с цитированием
Старый 29.06.2013, 12:30  #12
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию

2 XaeroX:
Спасибо, конечно. Но для меня это примерно как инструкция о том, как собрать радиоприёмник собственными руками, в ответ на вопрос о том, где его можно взять.
Qwertyus вне форума Ответить с цитированием
Старый 29.06.2013, 12:42  #13
XaeroX
XaeroX
Crystice Softworks
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 38
Сообщения: 9,254


По умолчанию

2 Qwertyus:
Мы родом из советского союза, нас с детства так воспитали - если негде взять, сделай сам.
XaeroX вне форума Ответить с цитированием
Старый 29.06.2013, 16:05  #14
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

>>Т. к. он нацелен на акцентирование мелких деталей.
Так ведь и бамп и параллакс преследует ту же цель - иммитацию микрорельефа.
Правда достигают они этого разными способами. У тебя какие-то неправильные представления о бампе.
Дядя Миша вне форума Ответить с цитированием
Старый 29.06.2013, 16:18  #15
Teh_Killa
Teh_Killa
Младший сержант
Регистрация: 04.08.2012
Адрес: Украина
Возраст: 28
Сообщения: 179
Замечания: 1


По умолчанию

Если для Source, посмотри этот туториал. Там все ясно и доходчиво объясняется.

Оффтоп

Если нужно делать все максимально быстро, то PixPlant в помощь. Он сохраняет все настройки и остается лишь открывать нужные диффузки.

Последний раз редактировалось Lamerog, 29.06.2013 в 16:58.
Teh_Killa вне форума Ответить с цитированием
Старый 29.06.2013, 17:51  #16
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию

2 Lamerog:
Тема этого тутора и возможности PixPlant не относятся к тому вопросу, который я задал. А GIMP я вообще не рассматриваю, как удобный графический редактор, так что советы по работе в GIMP меня вряд ли заинтересуют в принципе...
Qwertyus вне форума Ответить с цитированием
Старый 09.07.2013, 13:20  #17
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 33
Сообщения: 17,146


По умолчанию

Вообщи объясняю популярно:
1. Берем Макс
2. Запускаем
3. Делаем примитив Plane
4. Ищем нашу текстуру с картой нормалей
5. Идём в свойства материалов (Rendering>Material Editor) и перетаскиваем текстуру на любой из указаных примитивов в окне едитора.
6. Нажимаем на строке Bump кнопку None и в появившемся окне ищем Normal Bump. Применяем.
7. Вас перекинет в материал эдиторе на вкладку параметров. Там где Normal грузим нашу нормалку.
8. Накладываем на примитив
9. Ставим рядом любой источник освещения, например
Free Light.
10. Жмём F9 и сохраняем (Safe Image).
Результат:
Оффтоп
FiEctro вне форума Ответить с цитированием
Старый 10.07.2013, 19:17  #18
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию

2 FiEctro:
Я попробовал данный метод, но результат далёк от идеала. В итоге мы получаем картинку, а не текстуру, а это существенный момент. Я изначально писал о том, что важным является сохранение параметров исходной текстуры (размер текстуры, тайлинг, освещение). А при помощи данного метода мы получаем изображение, требующее дальнейшей обрезки, подгонки и т. д. (что само по себе может приводить к потере тайлинга, присутствовавшего в исходной текстуре). У меня при наложении большой текстуры был даже заметен скос краёв текстуры, не говоря уже о том, что на форму изображения влияет форма объекта, на который натягивается текстура.
Qwertyus вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 18:13.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2025 by CS-Mapping.com.ua Community