You are not logged in.

1

Thursday, May 19th 2016, 12:12pm

Создание текстур

Во время обучения экспортированию трёхмерных моделей в движок CryEngine 3.8.6 столкнулся с проблемой создания текстур. Собственно проблема заключается в швах, которые неизбежно возникают в процессе разворачивания поверхности трёхмерной модели на плоскость. При работе с угловатыми моделями (дома, мебель, роботы) интуиция подсказывает оные швы загонять в эти самые углы. И при достаточно ответственном подходе, швы становятся практически незаметны.

Однако ситуация кардинально меняется при работе с объектами цилиндрическими (ваза, нога человека и вообще почти любая органика) или шарообразными (яблоко, мотоциклетный шлем). Здесь уже швы будут сразу бросаться в глаза, и приходится озаботиться процессом тайлинга. И вот тут-то и кроется подводный камень, поскольку стандартными методами (например, инструмент Штамп в Фотошопе) затайлить такую карту становится крайне сложно, особенно если один кластер развёртки имеет прямоугольную форму, а другой - округлую (см. скрины).

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

И вот, вероятно, наилучшее решение для голодных студентов одиноких инди-разработчиков может дать программа Substance Painter (или другая похожая). Программа, вроде как, хороша ещё и тем, что её действие основано на технологии PBS (физически корректный шейдинг).




Вроде как, PBS используется в CryEngine со времён игры Rise: Son of Rome.


Действительно ли программа Substance Painter решает вышеобозначенную проблему швов, я пока ещё не уверен, поскольку только начал её осваивать. И прямо на первых же шагах столкнулся с некоторыми вопросами. Когда в Substance Painter начинаешь новый проект (см. скриншот), необходимо задать некоторые входные параметры. В частности, необходимо выбрать формат normal-карты, который использует DirectX или OpenGL. На официальном сайте я не нашёл, какое API использует CryEngine (я вообще в этой теме не вдупляю), поэтому прошу подсказать, что мне выбирать в этом пункте.

Второй вопрос связан с пространством касательных по фрагменту (compute tangent space per fragment; тот же скрин). Насколько я понял, это как-то связано с запеканием карт нормалей. Сказано, что это опция для Unreal Engine. Но что насчёт CryEngine? Нужно ли мне тоже ставить тут галочку?

З. Ы. Алекс626, имеет ли смысл мне впредь делиться своими пространными откровениями по моддингу, как в этом посте, или же следует просто задавать конкретные вопросы?
Gray-man has attached the following images:
  • 787.jpg
  • 788.jpg
  • 789.jpg
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

nickiforov.kost

Искусный моддер

  • "nickiforov.kost" is male

Posts: 705

Location: Дыра и глухомань

Occupation: Помешанный на игрострое

2

Thursday, May 19th 2016, 5:40pm

Делись всеми своими достижениями, если есть желание конечно....
На сильно ни кто ни кого не заставляет.
Может где то и будут решаться какие то непонятные задачи одновременно, вноситься какие нить исправления и глядишь и тутор состряпаем клевый по текстурированию...
Одна голова- хорошо, а две ваще здорово!!! :thumbsup: :thumbsup:
А так, все нормально,продолжай дальше заниматься текстурированием и экспортом...

Quoted

В частности, необходимо выбрать формат normal-карты, который использует DirectX или OpenGL. На официальном сайте я не нашёл, какое API использует CryEngine (я вообще в этой теме не вдупляю), поэтому прошу подсказать, что мне выбирать в этом пункте.
DirectX, я думаю так норм будет....
ну если я не прав, то пусть меня поправят, но все же думаю DirectX.... 8| 8| 8|
Ну вот не могу я жить без игростроя, а комп я обновил, ну или типа того...
:D

Alex626

admin

  • "Alex626" is male

Posts: 11,294

Location: Земля

3

Thursday, May 19th 2016, 5:59pm

В фотошопе вручную текстуры никто не тайлит - это слишком дорого по времени. Для этого есть специализированные программы для создания бесшовных текстур (seamless textures) - Genetica, Gexture maker и некоторые другие.

Вообще, мне кажется, что ты не настроил группы сглаживания на своих полигонах, вот они у тебя и торчат в разные стороны. Если модель сложная, её придётся красить в Mudbox или Zbrush.

Касательно Substance Designer, там в настройках экспорта есть конфиг для CryEngine. На выходе будет набор текстур для экспорта через Photoshop/CryTIFF.


4

Thursday, May 19th 2016, 6:01pm

:thumbsup: :thumbsup:
Мир-дружба-общага!!! :thumbsup: :thumbsup: :thumbsup: :thumbsup: :thumbsup: :thumbsup:
А так, туторв-то в сети вроде хватает (за исключением, пожалуй, по Краю), но нету одного большого и всеобъемлющего, чтобы от самого-самого начала до самого-самого конца, по полочкам, чтобы прям младенец понял. Ну и нюансы тоже в разных версиях встречаются... Я, например, на CryEngine по офф. докам полчаса пытался включить Ambient Light, но так и не сумел...
DirectX
Да, я пока именно его и выбрал. Вообще, программа огонь!!! 8o К сожалению, сегодня не особо много в Substance Painter полазил, скорее побаловался, а далее что-то на музицирование пробрало... :rolleyes:
Сегодня ещё поизучаю текстуры, а завтра постараюсь состряпать небольшой отчётец.

Алекс, да, модель не сглажена, но дело не в этом. Если присмотреться повнимательнее, то можно увидеть, что некоторые тёмные пятнышки на стыках обрезаются.
За тутор спасибо, буду изучать! :good:
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

This post has been edited 1 times, last edit by "Gray-man" (May 19th 2016, 6:12pm)


nickiforov.kost

Искусный моддер

  • "nickiforov.kost" is male

Posts: 705

Location: Дыра и глухомань

Occupation: Помешанный на игрострое

5

Thursday, May 19th 2016, 6:10pm

Quoted

Сегодня ещё поизучаю текстуры, а завтра постараюсь состряпать небольшой отчётец.
Работать,работать и еще раз работать!!!!
Главное не бояться кнопки давить и все придет со временем... Для младенцев туторов нет, а вот для начинающих имеются, а потом следует саморазвитие из азов,воспринятого сначала...
Так что желаю только удачи и терпения... :thumbsup: :thumbsup: :thumbsup: :) :) :) :)
Ну вот не могу я жить без игростроя, а комп я обновил, ну или типа того...
:D

AndreyFilantrop

Супер Моддер

  • "AndreyFilantrop" is male

Posts: 1,908

Location: Россия, Москва

Occupation: медицина

6

Thursday, May 19th 2016, 7:38pm

Освой сабстенс, хорошая программа. Да, она помогает и бороться со швами при текстурировании и вообще модель будет похожа на профессионально изготовленную. Только нужен опыт работы с прогой. И ещё совет: больше используй непосредственно фотошоп для изготовления текстур. В нём всё-таки контроль за текстурой был и остается самым лучшим. Я не говорю про ддо, а именно про сам фотошоп. Можно сказать, что с него всё начинается и на нём всё заканчивается. А вот в случае с сабстенсом - то, что вылезает в результате экспеорта из него - это уже непотребная для фотошопа вещь, которую можно лишь загнать в движок и радоваться. У ддо в этом плане всё лучше - но мне кажется, что его использование доставляет до сих пор гораздо больше геморроя, чем использование сабстенса.
АУРАЯМА, AURAYAMA (Crydev.net)–мистический эзотерический шутер от первого лица
AndreyFilantrop портфолио на deviantART

7

Thursday, May 19th 2016, 8:10pm

используй непосредственно фотошоп для изготовления текстур. В нём всё-таки контроль за текстурой был и остается самым лучшим.
То есть, сами карты (дифьюз, нормалы, спектры и т. д.) делать в Фотошопе, а потом эти карты использовать в Сабстенсе?

Что за ддо???

Спасибо за советы! :thumbup:
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

AndreyFilantrop

Супер Моддер

  • "AndreyFilantrop" is male

Posts: 1,908

Location: Россия, Москва

Occupation: медицина

8

Thursday, May 19th 2016, 8:19pm

Основу текстур можно сделать в фотошопе. Ддо, это DDO. Но на самом деле кроме опыта, думаю, что никакого другого воркфлоу нет.
АУРАЯМА, AURAYAMA (Crydev.net)–мистический эзотерический шутер от первого лица
AndreyFilantrop портфолио на deviantART

9

Friday, May 20th 2016, 12:01am

Короче, снова у меня, криворукого, дикие проблемы. Завтра с утречка постараюсь описать суть проблемы. А пока - скрины с Сабстенса и с движка.
Gray-man has attached the following images:
  • 776.jpg
  • 778.jpg
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

10

Friday, May 20th 2016, 12:14pm

Итак, продолжение эпопеи. В общем, покрасил я свою модель в Сабстенсе, и пытаюсь вытянуть из программы собственно текстуры. Насколько я понимаю, за эту процедуру отвечает команда File -> Export Textures. Выбрав эту команду, попадаешь в окно экспорта. В туторе, который вчера любезно предоставил Алекс, видимо, использовалась более старая версия, в которой окно экспорта практически кардинально отличается от моего, поэтому пришлось искать другие уроки. Я нашёл парочку, но оба они были немного не идеальны.

Что вышло у меня? У меня в окне экспорта имеются две закладки. Как я понимаю, первая (Export) отвечает за собственно экспорт. А с помощью второй можно настраивать то, что ты собираешься экспортировать, но кнопка Export здесь не работает. Поэтому дальше, как и полагается любому нормальному русскому, я решил обойтись без инструкции. Во вкладке Export в ниспадающем меню Config я выбрал пункт CryEngine 3, как и советовал Алекс. В ниспадающем меню, отвечающем за формат получаемых файлов, я выбирал targa (.tga) и tiff (.tiff). В окне Texture Set, насколько я понял, никаких параметров настраивать нельзя, кроме так включить/выключить нужный текстурный сет. В общем, при таких настройках (см. первый скриншот) я нажимаю на кнопку Export. Сабстенс какое-то время честно пытается выполнить процедуру, но потом прерывается с сообщением о том, что экспорт закончился с бякой (см. второй скрин).

На поверку, бяка оказывается не просто бякой, а настоящей катастрофой, потому что в папке, куда должны были экспортироватся куча файлов, теперь лежит одинокий бамп (с припиской _ddna). Вероятно, именно тут необходимо искать корректное решение проблемы. Скорее всего, я, как истинный рукожоп, всё-таки как-то неправильно настроил материалы в Сабстенсе. Точнее, я их вообще никак не настраивал. Я просто тупо тыкал пальцем в небо до тех пор, пока не появилась возможность хоть как-нибудь покрасить мою модель, поскольку на данном этапе этой хоть какой-нибудь покраски мне более чем достаточно. В общем, я продолжил эксперименты с экспортом. Пытался разные файлы через Фотошоп перегонять в CryTiff, как советовал Алекс, но к нужному эффекту это не привело. При чём, движок как-то очень странно себя вёл. В папке текстур внутри папки GameSDK, он то создавал файлы .dds, то удалял их. Вероятно, он их переносил во временные папки, которые создавал рядом с папкой CRYENGINE_v3.8.6.49.

К нужному эффекту привела следующая комбинация действий. В Сабстенсе в закладке Export в меню Config я выбрал пункт Document Channels + Normal + AO. Формат поставил tiff. Экспорт закончился громогласной табличкой Export sucsessfully finished! В выходной папке я получил 6 разных файлов (см. третий скрин). Эти файлы я закинул в папку движка и получил dds'ы. Далее я в Крае создал новый материал, куда и закинул полученные файлы. Правда, пока что закинул только два (Base Color и Normal_DirectX), потому что только их я понимаю, в какие поля краевского редактора материалов пихать (см. четвёртый скрин). После этого я в движке на карту поставил энтити RigidBodyLight, выбрал для неё свою модель унитазной крышки, настроил параметры света и физики, а также применил к ней недавно созданный материал (см. пятый скрин). Как видим, ни Фотошоп, ни 3DMax в этой цепочке операций не были задействованы.

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

Короче, как-то так. Всех читавших благодарю за потраченное время, а ответивших заранее благодарю за ответы. :)

З.Ы. Догадался в редактор материалов Края загрузить карту Height в соответствующее поле. Но так и не прошарил, как её настраивать...
Gray-man has attached the following images:
  • 881.png
  • 882.jpg
  • 8822.jpg
  • 8823.jpg
  • 884.jpg
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

This post has been edited 6 times, last edit by "Gray-man" (May 20th 2016, 12:39pm)


11

Friday, May 20th 2016, 6:59pm

Вот я ленивая жопа! ;(
Судя по всему, решение большинства проблем из этого треда лежит на поверхности. А именно, вот здесь.
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

Alex626

admin

  • "Alex626" is male

Posts: 11,294

Location: Земля

12

Friday, May 20th 2016, 9:43pm

Ага :)

И ещё: краткость - сестра таланта.

13

Friday, May 20th 2016, 9:52pm

краткость - сестра таланта.
Ну, смотря какого таланта. :rolleyes: Может, во мне Пушкий умирает... :P :D
Официальная страница проекта Пепел: Молитва Изгнания в ВК.

14

Saturday, April 10th 2021, 2:52am

Не убираются швы в движке, хотя в 3d пакете blender они замаскировались. Запекал карту нормалей.