» Фантастика » » Читать онлайн
Страница 223 из 245 Настройки

Пока Коул поднимает архитектуру проекта на Unity и пишет базовые скрипты механик, мне предстояло заняться визуалом блоков. Потому как главный художник моей студии теперь пропадала на парах в универе. Что, впрочем, пока не доставляло каких-либо серьезных производственных неудобств.

Первым делом я открыл Фотошоп, создал новый холст и разметил поле шестнадцать на шестнадцать пикселей. Именно такой крошечный размер использовался как стандарт для кубической геометрии в моем мире вплоть до момента, когда я благополучно откинул кони.

Затем я продублировал этот квадрат пять раз, склеил их вместе и получил пустую UV-развертку майнкрафтовского блока в виде крестика. Открыл плеер, запустил относительно свежий синтвейв-альбом от Кавински, размял пальцы и бросил взгляд на заготовленный список текстур. Блок земли с травой, камень, булыжник, угольная руда, дубовое бревно...

— Ну, погнали наших городских.

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

Следом накинул на верхний полигон уже имеющейся земли, налил зеленого цвета, пустил неровную пиксельную бахрому по верхнему краю боковин — вуаля, получил классический блок земли с травой. Затем точно так же, ритмично покачивая головой в такт музыке, я продолжил раскрашивать другие материалы.

Надо признать, я уже и забыл, насколько умиротворяющей может быть такая примитивная работа. Настоящая медитация, возвращающая в детство. Теперь понятно, почему моя бабуля любила вышивать картины крестиком по заготовленным клеточкам.

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

Природное окружение — 9 блоков:

1. Камень

2. Трава

3. Земля

4. Булыжник

5. Песок

6. Гравий

7. Коренная порода (Бедрок)

8. Вода

9. Лава

Растительность — 5 блоков:

1. Древесина

2. Листва

3. Саженец

4. Желтый цветок

5. Красная роза

Строительные материалы — 9 блоков:

1. Доски

2. Стекло

3. Кирпич

4. Моховой булыжник

5. Книжная полка

6. Каменная плита

7. Обсидиан

8. Динамит (TNT)

9. Факел

Руды и драгоценные блоки — 5 блоков:

1. Угольная руда

2. Железная руда

3. Золотая руда

4. Железный блок

5. Золотой блок

Шерсть / ткань — 4 блока:

1. Белая шерсть

2. Серая шерсть

3. Темно-серая шерсть

4. Черная шерсть

Следующим, критически важным шагом оптимизации нужно было собрать все текстуры в одну общую картинку — так называемый текстурный атлас. Если пренебречь этим этапом, то Юнити придется присваивать каждому типу сгенерированного блока свой отдельный материал со своей отдельной текстурой. И при отрисовке на экране одновременно камней, земли и песка, движку придется постоянно переключаться между материалами, плодя лишние дроу-Коллы — вызовы отрисовки. Это заставит процессор пригорюниться, и игра начнет безбожно лагать даже на мощных машинах, не говоря уже о калькуляторах целевой аудитории.

Как же эту техническую проблему фиксит простой атлас? Так же как в Марвел пофиксили проблему разброса внимания зрителя по разным фильмам. Сделали Мстителей. Так же и тут. Вместо десятков отдельных материалов для каждого типа куба у нас теперь будет всего один общий материал и одна огромная текстура. Движок будет просто назначать конкретную координату на «семейном фото», выбирая нужный квадратный участок. После чего 3D-объект будет натягивать на свои полигоны картинку с указанного куска атласа. И вуаля! Мы получаем оптимизацию рендера примерно в тридцать раз ценой всего одного дополнительного часа монотонной работы руками!

— Зашибись! Текстурки — чек... — Я с чувством выполненного долга потянулся в кресле, стянул с ушей наушники.

Повернул голову и едва не свалился со стула от неожиданности. В полуметре от меня, скрестив руки на груди, неподвижно стояла Эрин.

— Твою же мать! — Выдохнул я, хватаясь за сердце. — Что за мода у вас у всех?! Вы так меня до инсульта доведете...

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

— И давно ты тут… стоишь над душой?

Я на всякий случай еще раз прожал на клавиатуре «Ctrl+S», сохраняя проект, и осторожно встал с кресла. В таких делах лучше не торопиться, особенно после скримеров.