Для работы. Почта на работе глючит. Кину через ЖЖ

Oct 22, 2008 00:06

Вначале можно сказать пару слов о том, что нужно для того, чтобы проект для консолей состоялся, и что такое консольный рынок вообще. Как известно, на данный момент консоли (игровые приставки) представлены тремя производителями: SONY, Microsoft, Nintendo, и их продуктами: PlayStation, Xbox, GameCube. Производство графики для них имеет большое сходство, отдельно можно выделить только GameCube где требования к графике жестче (т.е. надо обходиться намного меньшим количеством полигонов и размеров текстур). В докладе будет подразумеваться PS2, как самая популярная модель для разработчиков. Чтобы начать делать игру на одной из этих приставок надо получить одобрение у производителей приставки (это тема для отдельного доклада). Обязательно нужны специальные DevKit-ы, на которых тестируется игра и отдельные её компоненты. Все это предъявляет строгие требования к разработчикам, одним из следствий которого является полное отсутствие патчей на консолях. Приемка у производителей очень тщательная.

Что такое консоли? Для простоты изложения, допустим, что консоль - это функционально ограниченный (только игровым применением) компьютер, с другим устройством ввода/вывода: телевизор и джойстик. Также можно отметить отсутствие жесткого диска и малый объем оперативной памяти. Данные сохраняются на отдельные карты памяти (к графике это имеет опосредованное отношение, т.к. сказывается на скорости загрузки, т.е. основная информация берется с привода диска).
Особенности этих устройств, влияют на специфику производства графики для консолей вообще. У телевизора это фиксированное разрешение, чересстрочная развертка, иной цветовой диапазон, и плохое качество цветопередачи, связанное с разнообразием ЭЛТ бытовых телевизоров. У пада, это ограниченный набор кнопок, соответственно -ограничения при разработке меню, но лучшая эргономика для массового пользователя. То, как реализуется графика на консолях, зависит от Ваших программистов и их движка. Консоли не поддерживают напрямую форматы файлов, типа BMPили TGA. В нашей студии вся растровая графика - текстуры, на конечной стадии, переводятся в отдельный формат (текстурной библиотеке), и имеют свое расширение, и описание того, как они интерпретируются. Но, конечно, редактирование происходит, как обычно, в Фотошопе. После приемки, текстураторы должны отдельно выставить значения, сколько цветов использовать и как использовать альфа-канал. То есть, текстуратор обязательно должен уметь разбираться в цветовых палитрах. Есть специальный софт, в котором можно подобрать оптимальные значения. Для разработки трехмерной графики мы используем Мауа.

Экранные особенности:
ограничения, накладываемые монитором, телевизионной трубкой. Ограничения этого рода сродни тем, с которыми сталкиваются наши коллеги, занимающиеся теледизайном, телерекламой и т.п. Это ограничения кадра, ограничения цветового пространства, и ограничения, накладываемые чересстрочной разверткой.
Ограничения кадра
Разрешение кадра для КТ8С телевизоров 640x448 пикселов. Для РАЬ 768x576. Экранное поле ограничено: на телевизионных трубках нет тех настроек, к каким мы привыкли на мониторах компьютеров. Нельзя настроить масштаб и положение картинки, и возможно что, то что оказывается на краю экрана, не попадет в поле зрения игрока. Есть еще допуск на искажения лучевой трубки. Это важно для экранного меню, или действий игрока на краях картинки. Обычно допуск на такие зоны: по 5% от каждого края экрана, то, что называется заГе зсгееп. Есть еще ограничения для бегущего текста, или небольших объектов, пересекающих экран. С краю экрана, на выпуклых кинескопах, есть зоны плохого восприятия текста, то есть какие-то эффекты с этими текстами надо заканчивать гораздо раньше, чем они достигнут края экранного поля картинки, иначе они не будут понятны игроку, или создадут ощущение незаконченности. Цветовое пространство
Особенностью телевизоров является несовпадение цветового пространства с РС, из-за разности в конструкции ТВ и РС мониторов. Проявляется это в меньшем яркостном диапазоне. Зачастую то, что на экране компьютера выглядит полутемным, на телевизоре может оказаться ярко белым. То же касается и черного цвета. Есть проблемы в передаче красного цвета, самого сложного для телевизионной картинки. Чистый красный цвет на телевизионной трубке выглядит как включенная лампочка: крайне ярко, рядом с ним объекты другого цвета выглядят блеклыми и сильно уступают в читаемости. Правильно передать объект красного цвета в игре довольно сложно. Это также связано с суммированием проблем цветового пространства и чересстрочной развертки. Самой хорошей цветопередачей обладает синий цвет. Эти особенности телевизоров вызывает серьезные осложнения при освещении сцен: на компьютерах и консолях результат всегда выглядит по-разному, и приходится делать много итераций.
Чересстрочная развертка
Сложной проблемой при производстве графики для консоли является проблема чересстрочной развертки. Чересстрочная развертка - способ передачи картинки на экране кинескопа в два прохода: сначала на экран выдаются нечетные полосы сверху вниз, затем четные («через строку»). За счет этого, фактическая частота кинескопов повышается в 2 раза, с 25 до 50 на РАЬ, с 30 до 60 фз на КТ8С (если быть точным, до 59,94). Это техническое ухищрение создает немалое количество проблем для графики, проявляющееся в таком феномене, как «строб». Строб - раздражающее глаз мелькание, дерганье, переключение то одного, то другого полукадра (строки) на границах разных, резких цветовых сочетаний в кадре. Строб присутствует всегда, задача в том, чтобы сделать его менее заметным. Серьезного внимания требует настройка мипмапов.
Цветовые сочетания
Есть сочетания цветов, заведомо создающие строб в кадре. Самым заметным примером может быть красный ромб на белом фоне. На краю такого объекта будет постоянная мелькающая лесенка красно-белого цвета. При разработке картинки игры надо стремиться к тому, чтобы все объекты игры сочетались друг с другом, были в близкой цветовой гамме. Если же такого рода сочетания неизбежны, то можно ввести эффекты свечения (glow). Такого рода текстуры обычно делаются с мягким краем (альфа-каналом), мягкий переход альфа-канала смягчает строб.
Неоднородность
Внутри текстуры часто надо создавать неоднородность материала, особенно если это металл, подчеркнуть блики и тени. Опять же все это надо создавать в одной цветовой гамме, стараясь применять монохромный шум (пемзе). Если, допустим, на текстуре окна есть светлая рамка и темный проем, надо обеспечить несколько дополнительных градаций на стыке этих цветов. Сами блики/тени необязательно делать очень контрастными, достаточно бывает сделать светлее/темнее на 15-20% . Структуру материала (ржавчину, грязь, неровности) также надо стараться сделать в узком цветовом диапазоне. Во-первых, размер экрана ТВ не даст увидеть полностью оттенки текстуры, а во-вторых, вы рискуете получить раздражающий эффект «шумящего»
экрана.
Тонкие контрастные линии
Крайним примером неудачного цветового сочетания, можно считать тонкую
горизонтальную светлую линию, толщиной в 1 пиксель на темном фоне. Особенно если
-этот момент встречается в интерфейсе, где текстура отображается один к одному как на текстуре, так и на экране (вне зависимости от дальности объекта и места его на экране). В этом случае полоска будет очень сильно стробить. Такого рода полосы надо всегда смягчать несколькими переходами, градациями от цвета фона к цвету полоски.
Шрифты
Телевизионные шрифты тоже имеют свою специфику. Шрифты с засечками имеют ограниченное применение, и обычно используется шрифты Bold, чтобы получить большую читабельность текста, а засечки могут мешать восприятию текста. Минимальный размер шрифта около 16 пикселей в высоту, что объясняется рисунком шрифта. Также для улучшения читабельности часто применяется мягкая тень.

Исходя из Выше сказанного, суммируем отличия в производстве графики для консолей: необходимо уложиться в меньшие размеры файлов и учесть особенности устройств ввода и вывода. Как обойти ограничения памяти?

Начнем с текстур
Первое, что приходит в голову, это уменьшить размеры текстур. Максимальный размер используемой текстуры 256x256 (только для основных персонажей)рВДМЁВ. Самый популярный размер для текстур уровней, домов 128x128. Обычно, стремятся к тому, чтобы одна текстура 128x128 была размером с 1 этаж здания, то есть примерно 3 метра ЙРИМЕЕ Для других объектов еще меньше, надо стремиться к разрешению 64х64|НЩИЩ
Второе, за счет чего можно уменьшить размеры файла текстуры это уменьшение цветовой палитры. Тут ЗОНУ «позаботилась» о разработчиках, и ограничила цветовую палитру двумя вариантами: 256 и 16 цветов. То есть, если текстура не получается 16-цветной, то приходится делать кол-во цветов 256, а не 32 или 64. Как вариант, можно применить две разные текстуры, с разными палитрами, но по 16 цветов каждая. Если палитра текстуры не редуцирована, консоль сама редуцирует палитру до 256 цветов, но качество, чаще всего, ниже сред него. (ШЩЙЩ
Отдельно надо сказать о настройке альфа-каналов. Если возможен жесткий край, используется или отрезание по цвету, или использование отдельного, жесткого альфа-канала. Особенностью отрезания по цвету является экономия, но появляется цветная окантовка. Для вариантов с гладким альфа каналом, палитра редуцируется иначе. Указывается количество битов (цветов), выделяемых альфа каналу, оставшиеся биты (цвета) распределяется на цветовые составляющие. Таким образом, если для альфа канала выделяется 2 бита (4 градации цвета), то остается 6 бит (64 цвета) для собственно цветовой составляющей.

Рекомендации на примере игры АС2
Графика для уровней
Особенностью графики для уровней является необходимость использования повторяющихся элементов, но таким образом, чтобы это не бросалось в глаза. Здесь используются элементы, которые наиболее часто встречаются в игре (кирпичи, асфальт, трава, скалы), и поэтому должны быть сделаны качественно, но неброско. Самый популярный размер текстуры 128x128, очень тщательно должен быть сведен таил, надо стараться подобрать цветовые сочетания текстур между собой и внутри текстур так, чтобы обеспечить отсутствие строба, и выполнить стилистическую задачу, т.е. передать атмосферу локации. Крайне непростая задача, требующая тщательности, большого количества итерации и постоянного внимания арт-директора. Есть некоторый объем текстур, который загружается сразу для всей игры, в каждой локации должны использоваться по возможности, их как можно больше.
Графика для техники, и персонажей
Здесь возможно использование больших текстур 256x256, но надо помнить, что такого рода текстура может быть не больше 3-4. Обычно меньше, используются они, в основном, на главном герое (который постоянно перед камерой), и/или на его автомобиле/мотоцикле и т.п. Полигонаж этих объектов может достигать 5-6 тысяч полигонов. Во всех других случаях используются ЛОДы, с текстурами меньшего разрешения. Объекты, управляемые А1, обычно имеют полигонаж 500 - 1500 полигонов, 1-2 текстуры 128x128 (в случае, если это объект размером с грузовик или цистерну), и имеют несколько LOD-ов.
Previous post Next post
Up