Реалистичность игровых персонажей: как не угодить в “зловещую долину”
Запуская ярлык любимой игры с персонажами-людьми, пользователь помнит, что виртуальная реальность — это не настоящая жизнь. Однако искушенный потребитель требует реалистичной прорисовки героев игрового сюжета. Вычислительные мощности персональных компьютеров позволяют добиться некоторого сходства. Но чем сильнее персонаж напоминает живого человека, тем большее отвращение может вызвать у пользователя. Возникает так называемый «эффект зловещей долины». Что это означает?
Человекоподобные роботы, манекены и нарисованные герои игр могут выглядеть почти как люди. Однако зоркий взгляд зрителя угадывает подделку по несуразным эмоциям, «стеклянным» неживым глазам и «пластиковой» коже роботов и компьютерных персонажей. Обман вызывает неприязнь и ощущение тревоги. Эти чувства мешают любителям видеоигр полностью раствориться в процессе и получать от него удовольствие.
Проблема «пластиковой» кожи игровых персонажей возникает потому, что алгоритмы компьютерной визуализации не учитывают рассеяние света в подповерхностных слоях кожи. Взаимодействие света со структурированной трехмерной поверхностью — достаточно случайный процесс. Там, где в дело вступает вероятность, жди беды, то есть огромного количества вычислений.
Луч света представляет из себя электромагнитную волну. От энергии и направления волны зависит то, куда луч полетит после столкновения с атомами среды. Рассчитать наиболее вероятное направление можно, например, по методу Монте-Карло. Метод получил название благодаря одноименному городу с большим количеством казино, где правит случайность.
Случайным образом луч направляется на поверхность, где испытывает случайные отражения и преломления. Затем его путь повторяется заданное число раз. Обычно — не менее миллиона. Миллион, а то и больше, раз рассчитать пути всех лучей света в помещении или на открытой локации, траектории их отражения от поверхностного и подповерхностного слоя нарисованного персонажа — дело долгое и ресурсозатратное. Персональный компьютер зависнет, и в монитор полетят избранные оскорбления.
Вместо многоразового прохода освещения по коже персонажей исследователи из Университета штата Мэриленд применили другой метод реалистичной визуализации. Исследование Марка Олано, доцента кафедры информатики и электротехники, и Тяньтяня Се, доктора наук в области вычислительной техники, опубликовано в трудах Ассоциации вычислительной техники по компьютерной графике и интерактивным методам.
Подход разработчиков основан на методах оффлайн-рендеринга, которые используются в кино. Рендеринг — это отрисовка персонажа по модели. Модель — это подробное описание геометрии объекта, химического состава и окружающих его физических полей. В модель также входят координаты точки наблюдения и положения источника освещения. В описании модели исследователям нужно было выбрать пиксели кожи, которые отображаются иначе из-за рассеяния света в них.
Алгоритм выбора «иных» пикселей был основан отклонении от среднего значения постоянно меняющейся во времени величины, то есть по статистическим формулам. Выбор пикселей осуществлялся за один «проход» по поверхности кожи без повтора вычислений по методу Монте-Карло, что значительно увеличило скорость отрисовки. Разработчики планируют начать использовать эту технику в ближайшее время, чтобы создавать более реалистичные человеческие фигуры в играх для большего удовольствия пользователей.