Чтение онлайн

на главную

Жанры

Журнал «Компьютерра» №1-2 за 2006 год
Шрифт:

Если механического актера, как и живого, можно снять обычной камерой, то для их компьютерных коллег применяются специальные программы рендеринга, позволяющие создавать реалистичное изображение на основе 3D-сцен. Для наиболее сложных сцен обычно используют так называемые рейтрейсеры (Raytracer). Принцип действия этих программ довольно прост. Из оптического центра камеры через каждый пиксел на экране пускается луч. Он может отражаться, преломляться и затухать в зависимости от того, какие объекты встречаются у него на пути, и в конце концов приносит информацию о цвете того пиксела, через который прошел в самом начале своего пути. Понятно, что такой способ визуализации требует немалых вычислительных мощностей, особенно если учесть огромные разрешения кинематографических форматов.

Теперь осталось

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

Виртуальные массовки

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

В современном кинематографе массовки принято размножать или рисовать с нуля, полностью собирая из 3D-персонажей. У каждого из этих методов есть свои достоинства и недостатки. Размножение двухмерных персонажей на первый взгляд кажется менее трудоемкой задачей, а 3D открывает больше возможностей для управления.

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

А вот в трилогии «Властелин колец», во-первых, нужны были воистину масштабные батальные сцены, и, во-вторых, камера должна была пролетать над строями воинов. Поскольку во время пролета камеры ракурс, с которого видно человека внизу, существенно меняется, то двухмерное размножение не подходило, было решено делать участников массовки в 3D.

Персонаж для участия в массовке делается по тем же принципам, что и любой другой, но кроме меньшей детализации он еще должен обладать очень простыми инструментами для управления. Если у вас всего один персонаж, то вы можете следить за движением каждого сустава, а если их больше? Хорошо, если вам не лень указывать каждому участнику сцены, когда и куда ему бежать. Для такого персонажа создается некоторое количество элементарных анимаций: ходьба, бег, прыжок, падение. Также некоторые параметры персонажа делаются так, чтобы при размножении их легко было задать случайным образом, – например, рост, полнота, цвет одежды и кожи.

При работе над «Властелином колец» для управления массовками доселе невиданных масштабов (более 70 тысяч объектов) на студии Weta Digital была разработана программа Massive. Она позволяет управлять как отдельным существом, так и строями, при этом они движутся по 3D-ландшафту, автоматически обходя преграды и не сталкиваясь друг с другом. Каждый агент (так принято называть участника массовки) имеет свой искусственный интеллект, который позволяет ему не только адекватно перемещаться, но и атаковать противника, стараясь нанести свой удар так, чтобы попасть в наименее защищенную часть тела. Эта программа вышла за пределы родной студии, что редко случается в мировой практике, и была взята на вооружение крупнейшими студиями планеты.

А вот в фильме «9 рота» массовку для финального боя решили делать двухмерной. При натурных съемках были задействованы актеры только для первых рядов наступающих душманов. Остальных же пришлось дорисовывать, для чего в студии на зеленом фоне отсняли множество кадров с различными ракурсами и движениями актеров. Впоследствии из этих материалов и была собрана финальная массовка.

Технологии: Эффекты в компьютерных играх

Спецэффекты нужны не только в кино, но и в компьютерных

играх. Причем то, что для киношников не составляет никакого труда, может вызвать у разработчиков игр головную боль. Первое, что приходит на ум, – это тени. Если при натурных съемках они получаются сами собой, да и при рендеринге 3D-сцен рейтрейсеры делают неплохие тени, то в играх…

Тени

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

В таких случаях придется рисовать объект дважды. Один раз таким, каким мы его будем видеть, а второй раз путем несложных проекционных преобразований изменив его так, чтобы по форме он точно соответствовал своей тени. После чего объект окрашивается в полупрозрачный серый цвет и отрисовывается на полу. Этот метод, однако, подходит, только когда тень падает на плоскость, а если под объектом сложная рельефная поверхность?

Для таких случаев существует технология теневых объемов (Shadow Volume). Нам придется дважды нарисовать часть сцены, на которую может попасть тень. Сначала для отбрасывающего тень объекта строится трехмерное тело, соответствующее той части пространства, которую он затеняет. Например, для круга – это будет конус, а для треугольника – пирамида. Понятно, что построить такое тело для объекта сложной формы непросто, хотя можно построить отдельный объем для каждого полигона, а потом их объединить. После чего встроенными средствами видеокарты мы можем отсечь часть сцены, не попадающую в теневой объем. Затем, отсекая то, что не попало в объем, нарисуем ту же сцену, но с приглушенными цветами. Этот метод позволяет рисовать тени, которые одни сложные объекты отбрасывают на другие не менее сложные, а также на самих себя. В последнем случае придется рисовать объект столько раз, сколько в нем содержится полигонов. Shadow Volume подходит не только для создания теней, но и для имитации ярких пучков света. В этом случае объем будет соответствовать пучку света, а части сцены, попадающие внутрь пучков, будем рисовать ярче, чем остальные. Если же тела, соответствующие теневым объемам, сделать полупрозрачными, то лучи будут отчетливо видны в пространстве. Останется только решить проблему просвечивания пучков через объекты сцены.

Метод Shadow Mapping позволяет делать тени, отбрасываемые предметами на себя. Для этого в точке освещения создается виртуальная камера, и все точки, которые ей «видны», заносятся в специальный буфер. Они рисуются освещенными, а все остальные затененными. Перечисленные методы делают так называемые жесткие тени, имеющие четкую границу с освещенными частями сцены. В реальности же края теней чаще всего размыты, из-за того что источники света не точечные и свет отражается от различных предметов. Чтобы имитировать такие тени, можно одним из предложенных методов несколько раз нарисовать их, постепенно уменьшая размеры и увеличивая затемненность, и таким образом получить плавный переход.

Современные видеокарты поддерживают пиксельные шейдеры, с помощью которых можно получить очень неплохие тени. Для каждого пиксела задается программа, позволяющая определить его освещенность и сделать цвет ярче или темнее. Так можно сгенерировать жесткие или мягкие тени. Единственный недостаток этого метода – код шейдера для каждой сцены придется писать практически заново.

Отражения

Плоское зеркало сделать достаточно просто, нарисовав с обратной стороны то, что должно в нем отражаться. Стеклянные полы делаются таким же способом: под полом рисуется перевернутая комната со всей обстановкой, а пол делается полупрозрачным. Таким образом, нижняя комната будет восприниматься как отражение верхней, и в зависимости от степени прозрачности пола он может казаться как зеркальным, так и едва отражающим.

Поделиться:
Популярные книги

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Сердце Дракона. Том 9

Клеванский Кирилл Сергеевич
9. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.69
рейтинг книги
Сердце Дракона. Том 9

Дайте поспать! Том II

Матисов Павел
2. Вечный Сон
Фантастика:
фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Дайте поспать! Том II

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Возвращение

Кораблев Родион
5. Другая сторона
Фантастика:
боевая фантастика
6.23
рейтинг книги
Возвращение

Восход. Солнцев. Книга VIII

Скабер Артемий
8. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга VIII

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

На границе империй. Том 7

INDIGO
7. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
6.75
рейтинг книги
На границе империй. Том 7

Кодекс Крови. Книга V

Борзых М.
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга V

Адмирал южных морей

Каменистый Артем
4. Девятый
Фантастика:
фэнтези
8.96
рейтинг книги
Адмирал южных морей

Возвышение Меркурия. Книга 15

Кронос Александр
15. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 15

Измена

Рей Полина
Любовные романы:
современные любовные романы
5.38
рейтинг книги
Измена

Эффект Фостера

Аллен Селина
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Эффект Фостера