Создание виртуального тура в Unreal Engine 4 (почти прямой эфир)
Всем привет.
Прежде всего, хочу сказать, что данная статья не преследует следующие задачи (если нет настроения вникать во вступление, то скрольте до фразы "теперь по существу", она чутка ниже:
1. Обучение/уроки и пр. (Эта статья в первую очередь предназначена для моего личного развития. Возможно не самый лучший способ, но всё же). Ни в коем случае не принимайте данную статью как "гайд" по тому, как "надо делать", тут будет много ошибок и неправильных действий, более того я уверен что у ряда публики мои слови и действия буду вызывать шлепок ладони о лоб. Я не знаю умных словечек, терминов и грамотных подходов исключительно потому что я только начал. Поэтому товарищи знатоки очень прошу вас отнеситесь к этому с пониманием т.к. вы тоже когда то начинали. К слову в итоге полезность этой статьи может повернуться в область - "как НЕ надо делать" ))))
2. Вопросам "подскажите, пожалуйста, как сделать "это"". (Я не планирую заваливать вопросами кого-либо о тех трудностях с которыми сталкиваюсь. В данной статье будут вопросы, которые я буду оставлять открытыми без их решения по причине того, что я не знаю как их разрешить. Однако, приветствую всех тех, кто будет сопровождать советом мои действия и помогать закрыть подобные вопросы).
3. Убеждения и выводы как лучше поступать. (Не хочу и не собираюсь навязывать кому-либо "правильность/последовательность" моих решений.
Итак, надеюсь обсуждений тем что указаны выше, станет в разы меньше.)
Для чего я это всё завариваю:
1. В первую очередь, как уже и сказал - это личное развитие в данной теме, помимо этого я конечно же хочу услышать мнение и советы тех людей, которые в данной тематике разбираются куда лучше чем я.
2. Вторая немаловажная причина это собственная невнимательность к деталям и потрясающе ничтожный опыт. Этой статьёй я надеюсь получить обсуждение максимально всевозможных тем в данной структуре в одной статье, чтобы не летать в поисках иголки по просторам.
3. Если угодно, то можно отнестись к данному чтиву как к ситуации когда двоечника вызвали к доске, где половина класса вздохнули спокойно потому как такие же бестолочи, а вторая половина всё знает и изредка поднимает руку чтобы вытащить незнайку. Каждый в данной сценке найдёт себя, и вот тут можете догадаться какую роль занимаю я :)))
4. Добиться действительно крутого результата.
И наконец, прежде чем начать, хочу поделиться с вами парой ссылок, которые считаю важными и очень полезными:
1. Тут простыня от А до Я, посвящённая обучению на практике:
https://3ddd.ru/blog/post/arkhitiekturnaia_vizualizatsiia_v_unreal_engine_rukovodstvo_dlia_novichkov https://3ddd.ru/blog/post/arkhitiekturnaia_vizualizatsiia_v_unreal_engine_rukovodstvo_dlia_novichkov
2. Тут товарищ делится собственными мыслями о каше под названием "Архивиз в UE4". Там нет обучалок и прочего, просто у автора бомбит от того как это всё не сладко, но круто. Написано легко и интересно, нашёл много откликов в собственных мыслях при чтении, всем рекомендую:
https://3ddd.ru/blog/post/making_of_new_scandinavian_ili_poghovorim_niemnogho_o_ue4
Теперь по существу.
Итак, всё что будет происходить ниже будет обновляться раз в день (по возможности разумеется). Буду максимально краток, чтобы не замучить умников и тех кто не любит читать, поэтому местами будут ссылки на видео где другие покажут вам как сделать "то-то".
Начнем.
Шаг 1. UV развертка и экспорт.
Подготовил объект в 3ds max. Авторство не моё, в данном случае я преследую научные цели, а не творчество. Вот ссылка на источник откуда я взял проектhttp://design-homes.ru/kvartiry/interer-odnokomnatnoj-kvartiry-studii-42-kv-m
Далее от основной коробки я отсоединил объект, создав тем самым отдельный меш для будущей стены:
Не знаю, правильно ли я поступаю, но тем не менее:
(немного отодвинул стенку, чтобы было понятно, что я делаю возможно сомнительный объект) И так со всеми стенами в квартире.
Следом, с помощью скрипта для развертки я изобразил вот такое дело (скрипт, вы можете найти в статье по обучению, которую я оставил в начале). Везде и всюду говорят о том, что крайне важно следить за тем, чтобы данная развертка шла на второй канал, т.к. мы создаём карту для запекания теней.:
Таким образом, я пропустил через этот скрипт все объекты по отдельности, не разом, что были у меня в сцене. Я не прибегал к их поправке т.к. вроде как "итак сойдёт" - возможно это большая ошибка. Но к сожалению мой мозг пока не осознал правильность подхода к составлению правильной развертки объектов.
После всего этого дела, я экспортировал все объекты через плагин (который так же представляется в статье по обучению). Перед экспортом выделил пивоты всех объектов и поставил в 0 точку координат.
Шаг 2. Создание сцены в UE4
Всё по стандарту, создал проект со стартовым контентом (т.к. там есть материалы, которые мне помогают по началу).
В появившейся сцене от разрабов (креста столик) я не стал удалять всё. Я удалил только меши, плей и рефлекшн сферы.
Далее я импортировал свои объекты в проект, убрав всем известные галочки (материалы, текстуры, коллизию и авто развертку). Разместил, настроил рефлекшн боксы, поставил ligth portal, скайлайт, солнце, пару источников света и тд и тп.
Разумеется перед запеканием, я настроил разрешение лайтмапов на всех мешах. Тут внимание, для удобства (вероятно это лишнее и это совсем не удобство) я включил режим просмотра сцены Lightmap Density этот режим показывает кол-во пикселей и их разрешение освещения.

Далее узрел вот такую картину:
Судя по всему, это результат того, что я поставил высокое разрешение в лайтмапах мешей и данный режим показывает в каких местах просчет света будет идти дольше = качественней. Т.е. мой вывод таков, если красное - не значит плохо, могу ошибаться.
Короче говоря, запек и получил вот такое дело:
На данный момент, я нахожусь на этом этапе.
Вечером вернусь и продолжу, спасибо тому кому кто это читает и кому эта статья показалось интересной.









