Первый взгляд на компанию Squadron 42 задействовал Гэри Олдмана, Марка Хэммила и других голливудских актёров, чтобы продемонстрировать первоначальную технологию персонажей. В тот момент, команда считала, что персонажи выглядели достаточно хорошо, рассказал нам Робертс. Но, по правде говоря, для получения работоспособной демки, было использовано множество уловок и «костылей» и команда, работающая над персонажами, достигла значительных успехов по сравнению с тем, что было продемонстрирована в прошлом году (см. Выступление Сената).
Робертс рассказал нам, что карты лицевых мышц и освещение были переделаны с момента той демонстрации, и что новая технология позиционирования глаз будет лучше сочетаться с цветопереходами и мешами. Когда мы спросили о конкретных улучшениях технологии персонажей, Робертс пояснил:
«Был целый ряд неправильно работающих вещей связанных с шейдерами, освещение было запорото. Во время речи в сенате, когда вы наблюдали карты цветопереходов, шейдеры лицевых мышц и карту диффузий, касательные к ним применялись неправильно и сама кожа была наложена неверно. Использовалась линейная кожа вместо кватерниона, из-за чего он (Бишоп) немного смахивал на мартышку. Шейдеры лицевых мышц, формы цветопереходов и освещение работали неверно на нём.»
«Сейчас работа с персонажами продвигается очень быстро – у нас есть целый процесс, во время которого мы сканируем актёров. На них нет никакого макияжа, потому что его не стоит использовать во время процесса фотогеометрии, с помощью которого создаётся модель головы. У нас не было времени поработать над этим, когда мы создавали [демо]. На этот раз, когда каждый актёр обрабатывается, он так же получает первоначальный вид, по типу того, как художник по макияжу помогает актёру хорошо выглядеть для съёмок.»
Многие из этих «проблем», о которых говорит Робертс, звучат словно неверная нота в фортепианной композиции, которую ты никогда не слышал – они не очевидны, и чтобы увидеть некоторые, нужно напрямую заглянуть в игровой движок. Тем не менее, некоторые из них мы можем объяснить.
Кватернионное наложение кожи привязывается к обмундированию и деформациям, чтобы сохранить объём в стыках. Команда разработчиков начала использовать эту технологию вместо линейного наложения кожи. Касательно лицевых морщин, если пристально приглядеться, некоторые из морщин на лице Бишопа будто выворачивались наружу, а не внутрь лица. Эта проблема была исправлена вместе с новой картой лицевых шейдеров.
Глаза получили одно из самых значительных улучшений, у них теперь есть система позиционирования. С применением глазного позиционирования можно добиться независимого движения и отслеживания глазами персонажей, для более реалистичного взаимодействия с окружающей обстановкой. Теперь это может быть сделано таким образом, что движение глаз сочетается с шейдерами и цветопереходами вокруг глаз. Все мы видели это, до определённой степени, в роликах и кат сценах раньше, однако CIG надеется сделать эту технологию универсальной и внедрить во все их игры. Squadron 42 будет первой демонстрацией, а Star Citizen (расширенная вселенная) будет приемником технологии персонажей.
«Есть куча вещей, к которым ты приступаешь в самом конце, как это было с глазами, волосами и кожей. С волосами нам ещё предстоит куча работы… мы бы не смогли воспроизвести ваши волосы в таком виде, как они выглядят на самом деле, с движком в том виде что у нас есть сейчас. Но мы до этого доберёмся, говоря открыто. Отдел по работе с графикой в последнее время очень занят, у них есть длинный список вещей, что необходимо сделать. И многое оттуда является достаточно фундаментальным.»
Помимо обновлений связанных с волосами, глазами и лицом персонажей, художественный и инженерные отделы работали над движением и позиционированием солнца.
«Самое масштабное изменение, которое мы сделали, о чём не задумываются многие люди, в том, что каждый 3D движок, который я знаю, передвигает солнце. То есть меняется положение солнца. Что ж, на самом то деле солнце в нашей солнечной системе не двигается – оно остаётся в центре, а мы вращаемся вокруг. Это было масштабное изменение в движке, когда солнце было зафиксировано в одном месте, освещение теперь зависит от того, где ты находишься по отношению к солнцу. Теперь не солнце перемещается, а перемещаешься ты.»
«Это достаточно фундаментальное изменение, касающееся рендеринга и построения теней. Это был пример того, что нам пришлось сделать по причине специфики работы со звёздными системами. Цикл смены дня и ночи происходит у нас не из-за перемещения солнца, а из-за вращения планеты. [Система] будет так же позволять вращать планету вокруг солнца.»
По сути FPS движок рассматривает солнце как очередной источник света, который находится на небе. Если необходимо воспроизвести цикл смены дня и ночи, разработчики могут перемещать источник света на небе, и объекты будут реагировать на его положение. В реальности, как отмечает Робертс, нам ещё со времен Коперника и Аристотеля известно, что мы находимся в гелиоцентрической системе.
Планеты будут вращаться вокруг своих собственных звёзд, а тени и освещение будут реагировать на их движение. Одна из возможностей, о которых нам рассказали позже, это создание двойных звёздных систем, которые смогут генерировать именно такой свет, который можно ожидать от двух огромных источников света. Другая возможность касается таких масштабных событий в космосе, вроде взрыва крупных кораблей на орбите, которые могут осветить поверхность планеты. Последнее обсуждалось скорее как гипотетическая возможность, но это показывает на что способен новый движок.
«Большое количество базовых вещей касательно рендеринга и построения теней и того, как мы с ними взаимодействуем были переделаны по сравнению с тем, как они работали в CryEngine, потому как мы перешли к 64-битной системе [в прошлом году], которая сильно влияет на точность. Но есть и множество других вещей. Вроде того, что мы сделали солнце отдельной сущностью, которая создаёт корректный свет. Как правило, это просто отдельный момент при организации работы шейдеров или рендеринга. Мы же делаем это в галактическом масштабе, так что обычные уловки, которые можно было бы использовать в других случаях (то же касается синхронизации вида от первого и третьего лица) применимых в играх в большей степени ограниченных в перемещениях и масштабе… мы могли бы ими воспользоваться в качестве временного решения, но это обернулось бы для нас настоящей головной болью. Как правило, мы обычно действуем по принципу. «Ок, а как это сделать по правильному? Как, систематически, это должно функционировать?»»