Набор данных Caldera представляет собой сцену OpenUSD, содержащую большую часть геометрии, найденной на одноименной карте Call of Duty®: Warzone™. Это не фактические производственные данные, а скорее преобразование их частей в формат файла USD с открытым исходным кодом.
Включенные данные в основном представляют собой те, которые легко представить в виде геометрии. Сюда входит визуализируемая геометрия, а также некоторые альтернативные, обычно невидимые представления, используемые в других вычислениях. Например, мы включаем объемы для облегчения расчетов освещения или простые формы для обнаружения столкновений. Исключены многие отдельные объекты, такие как место появления персонажей или сложные модели на основе сценариев. Мы также решили не включать в этот выпуск текстуры и материалы. Это добавило бы сложности и размера и без того тяжелой сцене. Наше внимание сосредоточено на многочисленных отношениях между пространственными элементами, которые можно обнаружить в этом наборе, а не на стремлении к точному визуальному представлению.
Мы надеемся, что этот выпуск набора данных будет стимулировать академические исследования в областях, связанных с построением и анализом геометрии окружающей среды, для которых ранее не было данных о производстве реплик такого размера и масштаба. Было проведено много исследований в области генерации изображений и зарождающихся работ в области геометрической генерации, но обычно они находятся в рамках одного ресурса, а не большой, взаимосвязанной сцены со сложными родительскими элементами и другими, часто неявными, семантическими отношения. Более того, несмотря на некоторый интерес к созданию пространств окружающей среды, например, для использования при рендеринге статических сцен каталога, не было так много работы, посвященной редактированию и обновлению этих сред после их создания. Улучшения в этой области могут позволить художникам и создателям контента, работающим над играми, больше сосредоточиться на творческой работе по воплощению своих идей в жизнь, а не на механических операциях по многократному перемещению экземпляров, корректировке соседних покоящихся объектов, ручному размещению узлов для поддержки игрового процесса и скоро.
Этот набор данных предоставляется в соответствии с условиями Лицензионного соглашения Activision на некоммерческое использование. Пожалуйста, посетите LICENSE.md для более подробной информации.
Оригинальная карта «Кальдера» была в основном создана командой Raven Software при помощи Beenox, High Moon Studios и более широких команд Call of Duty в Activision.
Выпуск набора данных Кальдеры поддерживается Коэном Вройенстайном, Мэтью Варгезе, Ксавом де Матосом, Сенвой Лим, Майклом Вэнсом и Наташей Татарчук.
Благодарим сотрудников и преподавателей Pixar, NVIDIA, SideFX и Стэнфорда за ранние отзывы о наборе данных.
Чтобы отправить запрос, используйте соответствующий трекер проблем.
Верхняя ось: Z
Единицы: дюймы
Соответствующая часть сцены занимает примерно 2 на 2 мили и содержит примерно 17,5 миллионов примитивов с общим количеством более 2 миллиардов точек.
Вот несколько быстрых шагов, чтобы начать изучение данных. Эти шаги показаны в USDView, но их следует перенести и в другие инструменты.
Из каталога, в котором вы клонировали репозиторий или распаковали архив выпуска, запустите:
usdview caldera.usda
Эта отправная точка должна загружаться почти мгновенно, поскольку по умолчанию она загружает очень легкое представление сцены. Должно появиться окно USDView, подобное показанному ниже:
Серые прямоугольники в центре являются частью аннотаций сцены и не используются при рендеринге карты. Давайте спрячем их. В USDView это делается путем переключения «справочных» целей отображения в меню просмотра «Отображение», «Цели отображения»:
Теперь вы должны увидеть всю сцену, представленную в виде прокси, и набор точек. Мы вернемся к этим моментам позже, сначала изучим геометрию. Найдём раздел и загрузим более детальное представление. Чтобы изменить точку обзора, используйте клавишу Alt и кнопки мыши для перемещения по виду. Сцена в долларах США также определяет несколько камер, чтобы лучше рассмотреть. Начните с просмотра /cameras/map_capital_square
. В меню вида выберите «Камера», «Выбрать камеру», «map_capital_square». Это должно показать вам очень грубую версию геометрии в разделе «заглавная буква».
Следующее, что нужно сделать, это выбрать «примитив» в представлении схемы. Примитивы — это просто узлы, адресованные путем. Выберите prim /world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/map_capital
. Вы можете сделать это, просмотрев дерево, чтобы найти этот путь. или вставьте полный путь в адресную строку вверху.
Если вы посмотрите на панель метаданных USDView с выбранным этим примитивом, вы увидите поле варианта «район LOD». Здесь вы можете выбрать, как будет представлена эта часть сцены. В настоящее время для этого параметра установлено значение «прокси», которое представляет собой грубый полигональный суп, который мы создали в качестве прокси. Идите вперед и переключите его на «полный»:
Это займет некоторое время, поскольку загружается вся геометрия в этой ветви графа сцены и заменяется примитив поли-супа реальной геометрией и всеми примитивами, представляющими сцену. Если вы немного уменьшите масштаб, вы заметите, что земля (фиолетовая геометрия) все еще довольно грубая. Рельеф определяется в другой части сцены.
Чтобы загрузить ландшафт, выберите:
/world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/st_main/st_o
И здесь также выберите «полный» для варианта LOD:
Это переходит к самому высокому представлению местности. Сюда входит беспорядок (все мелкие предметы, такие как трава, расположенные на местности и представленные точечным экземпляром). Если мелкие детали, такие как трава и деревья, на этом этапе не отображаются, возможно, это связано с тем, что цель «рендеринга» скрыта. Беспорядок помечен с этой целью, чтобы его можно было легко скрыть, когда он слишком сильно замедляет рендеринг сцены. Чтобы их отобразить, убедитесь, что у вас установлены флажки «Отображение», «Цель», «Рендеринг».
Теперь мы загрузили все доступные детали для этого раздела карты. В набор данных также включен файл Python ( caldera.py
), содержащий пример того, как выполнить некоторые из этих действий в сценарии. Вот как файл Caldera.usd был создан из map_source/mp_wz_island.usd
. Чтобы просто проверить данные с помощью Python, вы можете установить привязки Python OpenUsd через Pip.
Давайте вернемся к точечным данным, которые мы видели ранее. Помимо геометрии сцены, мы включили два типа данных игрока. Они представлены в виде облаков точек при загрузке файла Caldera USD. Давайте скроем геометрию сцены, чтобы ее было легче исследовать. В схеме сворачивайте дерево до тех пор, пока не будут видны только игроки, камеры и примитивы мира. Теперь переключите видимость ветки мира. Это скроет всю геометрию и оставит только точки.
Первый набор данных для просмотра находится в каталоге /players/endpoints/points_0
. Этот примитив содержит один миллион точек, обозначающих место, где игроки завершили матч. Точки хранят позицию, а также цвет и атрибут времени. Пример caldera.py
показывает, как получить к ним программный доступ.
Атрибут времени был получен из реальных матчей и представляет собой время от начала матча до момента его окончания для каждого игрока (значение варьируется в зависимости от очка).
Цвет генерируется путем постобработки в качестве примера того, как можно визуализировать эти данные. Цвет представляет плотность облака точек: красный — области, где множество игроков завершили матч, а синий — более редкие места.
В наборе есть еще одно облако точек, под примитивом «хлебные крошки». Вы можете скрыть конечные точки, но все равно ничего не появится. В хлебных крошках хранятся изменяющиеся во времени образцы, а одним из анимированных атрибутов является непрозрачность. Все они полностью прозрачны, пока игрок еще не появился в матче. Вы можете отобразить точки, пролистывая временную шкалу в нижней части окна. Маленькие сферы легче увидеть в режиме затенения «Точки»:
Каждая сфера — это один игрок в одном матче. Позиция этого игрока во время матча определяется примерно раз в две секунды и сохраняется в атрибуте позиции. Цвет снова взят из постобработки, где синий цвет обозначает игроков в начале матча, а красный означает, что они близки к концу матча. Это также хранится в атрибуте «life», который представляет начало и конец в виде числа от нуля до единицы, причем отрицательные значения означают, что игрок еще не в игре, а значения больше единицы также означают, что игрок больше не в игре. . Не включено в выпуск, но показано в целях иллюстрации. Вы можете «соединить точки», чтобы показать пути игрока. Вот все игроки одного матча:
Еще один способ снизить непосредственную нагрузку на систему при загрузке карты — не загружать «полезную нагрузку». Мы пометили многие из дорогостоящих конечных узлов как полезную нагрузку, оставив при этом достаточно геометрии, чтобы обеспечить достойное представление. Например:
usdview –unloaded map_source/mp_wz_island.usd
Обратите внимание, что это все равно занимает значительно больше времени, чем метод, описанный ранее. Не забудьте изменить затенение на что-то другое, кроме точек:
Третий способ справиться со сложностью — загрузить подраздел карты. Всего в этот набор входят многие тысячи файлов в долларах США.
Одно из зданий на карте, которое интересно исследовать само по себе, — это отель. Вы можете загрузить только эту часть карты, начав с:
usdview map_source/prefabs/br/wz_vg/mp_wz_island/commercial/hotel_01.usd
Вся местность находится в отдельной ветке дерева. Для многих других префабов требуется загрузка части ландшафта, чтобы получить полную картину. По умолчанию caldera.usda
загружает упрощенную версию местности для всей карты. Все дочерние элементы под примом «st_main» имеют набор вариантов под названием «district_lod» для переключения между простым и полным представлением. Беспорядок (мелкие предметы, разбросанные по местности) имеют свою «цель» рендеринга, поэтому их можно включать и выключать с помощью глобальных настроек.
Полный ландшафт доступен через эту сцену:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/st_main.usd
На изображениях ниже показаны примеры простого представления и полного представления, показывающего беспорядок в виде облака точек экземпляра.
Сам ландшафт разделен на участки, загрузка одного облегчает исследование, например:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/season_4/st_e.terrain.usd
Это несколько забавных отправных точек для дальнейшего изучения Кальдеры.
map_source/prefabs/br/wz_vg/mp_wz_island/commercial/hotel_01.usd
map_source/prefabs/br/wz_vg/mp_wz_island/commercial/restaurant_01.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_capital.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_airfield.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_phosphate_mine.usd
map_source/prefabs/br/wz_vg/mp_wz_island/season_4/map_beachhead.usd
map_source/prefabs/br/wz_vg/mp_wz_island/map_tile_n/power_station_01.usd
© Activision Publishing, Inc., 2024.