Консоль. Часть 2
Автор: Jim Категория: Художник
Итак, пройдя стадию согласования, договорившись о всех мельчайших деталях, составив подробную документацию и запузырив ее в wiki, я приступил непосредственно к рисованию. В дальнейшем мне придется решать проблемы, которые будут завязаны исключительно на мне. Алена получит уже готовые элементы, которые заставит работать согласно составленой документации. Если в процессе рисования вылезут косяки, то это будет уже исключительно моя головная боль, как вписать их в рамки того, что принято нами, как незыблемое ТЗ.
Эскиз предпологаемой консоли я уже показывал в предыдущей части этого поста. Поэтому повторяться не буду, что там и для чего.
В качестве исходных данных у меня есть ряд ключевых элементов: картридж, окошки с “цифрами” и кнопки, этими “цифрами” управляющие.
Поскольку, картридж пока нигде, кроме описания концепции не фигурировал, то, чтобы распланировать рабочее пространство консоли, мне придется хотя бы в общих чертах набросать этот элемент инвентаря. Далее, “цифры” и кнопки к ним - довольно габаритный элемент. Поэтому вся планировка консоли будет строиться относительно этих элементов.
В первом наброске вышло вот что:
Вон тот объект, который Алена обозвала “сиськи в лифчике”, это зачатки картриджа. Не хочу никому навязывать всяких нездоровых ассоциаций, но я же не виноват, что все время порнуху рисую
Окошки и кнопочки - слишком очевидны по виду, чтобы был повод слишком уж заморачиваться. Их предназначение жестко навязывает их раскладку.
Вот теперь утыкаемся в технические тонкости. Представим это на уровне механизма движка. Как, собственно, “нажимается” кнопка. Очень просто “нажимается”. По клику на элементе, фрагментик картинки с отжатой кнопкой подменяется на фрагментик с картинкой нажатой кнопки. Эта простота тянет за собой цепочку забот. Очевидно, что в финале я должен буду отдать Алене не просто скриншут, а набор отдельных элементов из которых она, как мозаику, сложит всю консоль.
У нас выходит 22 кнопки. Если подходить к мозаичной системе в лоб, то мне придется нарисовать 44 кнопки - каждая кнопка в двух состояниях, нажатая/отжатая. Но этого мало. Дело в том, что кнопки у нас не только реагируют на клики. Они подсвечиваются при наведении на них мышкой. Т.н. состояние mouse_over. Это значит + еще 22 кнопки в подсвеченном виде. Всего выходит 66 кнопок. Даже абстрагировавшись от самого факта нудности такой нарезки, можно представить насколько “тяжелым” в плане графики получится набор элементов только одной консоли. Это ударит и по размеру игры, и по трудоемкости изготовления такого набора.
Очевидный шаг - не рисовать три состояния для каждой из 22 кнопок. Достаточно нарисовать три состояния только для одной нижней кнопки и три состояния для одной верхней кнопки. Всего 6 картинок выходит, вместо 66. А при сборке консоли, просто отклонировать их по нужным позициям и все. Решение очевидное даже на уровне детского сада. К моему удивлению, в некоторых играх я встречал нарезку сделанную именно в лоб. Сколько кнопок столько и картинок. Видимо разработчиками так было проще. Но мне это как-то некузяво кажется. Если уж для всей этой анимации не используется полноценное 3D, то надо хотя бы 2D использовать максимально рационально…
Но, вылезает при этом другая проблема. Очевидно, что если мы будем использовать один и тот же фрагмент картинки на разных участках, то он должен быть универсальным. Т.е. вписываться без искажений на любом из возможных участков.
Если посмотреть на картинку выше, то становится очевидным, почему с ней такой номер не пройдет. Да, кнопки все одинаковые, но обратите внимание, как отбрасываются тени. 3D MAX честно расчитал углы и длины теней исходя из двух источников освещения, расположенных над консолью.
Фигня, скажете вы, вырежем кнопки по контуру, а тени оставим на общей подложке. Фигу, отвечу я вам. Тени будут меняться от того, нажата ли кнопка или нет. Если кнопка нажмется, а тень от нее останется неизменной, то выглядеть это будет исключительно неестественно. Вывод - тень не может быть оторвана от кнопки. Фрагментик универсальной картинки для кнопки должен включать в себя саму кнопку и тень. Для отжатого, нажатого и подсвеченного состояния.
В принципе, ничего страшного - режем картинку с большими полями, охватывающими тень и всех делов. Неа! Дела все равно останутся. Есть еще освещение. При точечных источниках света, общая фоновая картинка на разных своих участках будет иметь различную освещенность. Кнопки с тенью впишутся не везде т.к. имеют подложку с освещенностью только того участка, откуда изначально была взята.
Два пути есть в этой связи. Брать тень отдельно от фона и накладывать ее на нужные участки по альфа-каналу (прозрачность). Другой путь, унифицировать освещение и тени в сцене с консолью.
Я пошел вторым путем. Различные полупрозрачности требуют большой тщательности и аккуратности, работа с ними более трудоемка. У меня фактор - время.
Выкидываем все дурацкие omni-светильники и ставим один прожектор прямоугольный формы, который излучает свет не из точки, а по всей площади прямоугольника равномерно. Лепим его прямо в зенит под очень небольшим углом над консолью и включаем тени:
Теперь свет падает равномерно по всей длинне поверхности консоли. Все кнопки становятся максимально одинаковыми и каждая из них может полноценно земенить собой аналогичную соседку. Со светом разобрались, с тенями разобрались, можно начинать добавлять детали. Теперь мы знаем - что бы не приспичило понавертеть на консоли, потенциально одинаковые ее фрагменты взаимозаменяемы и не потребуют лишнего дубляжа в результатирующей мозаике.
Сиськи в лифчике… Эээ… Картридж. Да… Нам в принципе не нужны пока. Габариты и формы есть - и ладно. По этим пропорциям строим “гнездо” на консоли, куда потом и вложим картридж, создадим “раму” вокруг кнопок и посмотрим, что начинает вырисовываться:
Освещение - равномерное. Тени - контрастные и отражаются одинаково по всей поверхности консоли. Вроде, все в порядке.
Скучный процесс укладки креатива в прокрустово ложе технических условностей пока может считаться завершенным. Спокойно вздыхаем и отпускаем воображение на волю:
Самая нижняя левая кнопочка - нажата для примера. Кстати, конструкция кнопочки проработана достаточно “честно”, что облегчает любые манипуляции с нею. “Честно” в том смысле, что те части, которые нажимаются, поворачиваются и удвигаются - они нажимаются, поворачиваются и удвигаются. Такая кнопка будет осмысленно смотреться в любых положенных ей состояниях, хотя и требует некоторый расход времени и полигонов на обеспечении осмысленности:
Впереди - самое интересное, текстурирование.







Прямо вот так и сказала: “сиськи в лифчике”?
Автор: Jim (05.18.06, Май 18, 2006, 11:47)Она сказала “грудь в лифчике”, но это звучит менее эффектно, для блога не подходит
Автор: Alena (05.18.06, Май 18, 2006, 12:19)Ты все перепутал
. Я сказала “бюст в лифчике”.
Автор: Goodwin (05.19.06, Май 19, 2006, 8:01)А где позырить порнуху, которую ты рисуешь?:)
Автор: Jim (05.19.06, Май 19, 2006, 8:45)Используй свое воображение и посмотри на любой рисунок. Не обязательно даже мой. Это же на самом деле международный заговор художников против человечества