O conjunto de dados Caldera é uma cena OpenUSD contendo a maior parte da geometria encontrada no mapa Call of Duty®: Warzone™ de mesmo nome. Estes não são os dados de produção reais, mas sim uma conversão de partes deles para o formato de arquivo USD de código aberto.
Os dados incluídos são em grande parte aqueles que são facilmente representados como geometria. Isto inclui a geometria renderizável, mas também algumas representações alternativas, geralmente invisíveis, usadas em outros cálculos. Por exemplo, incluímos volumes para auxiliar nos cálculos de iluminação ou formas simples para detecção de colisões. Excluem-se muitas entidades de ponto único, como o local para gerar personagens ou modelos complicados baseados em scripts. Também optamos por não incluir texturas e materiais neste lançamento. Isso adicionaria complexidade e tamanho a uma cena já pesada. Nosso foco está nas muitas relações entre os elementos espaciais a serem descobertos neste conjunto, mais do que em uma representação visual precisa.
Esperamos que este lançamento de conjunto de dados estimule a pesquisa acadêmica em áreas relacionadas à construção e análise de geometria ambiental para as quais não havia anteriormente dados de produção de réplicas neste tamanho e escala. Tem havido muita pesquisa na área de geração de imagens e trabalhos incipientes na geração geométrica, mas geralmente é dentro do enquadramento de um único recurso e não sobre uma cena grande e interconectada com pais complicados e outras questões semânticas, muitas vezes implícitas. relacionamentos. Além disso, embora tenha havido algum interesse na geração de espaços ambientais, por exemplo, para utilização na renderização de cenas estáticas de catálogos, não tem havido tanto trabalho dedicado à edição e atualização desses ambientes depois de terem sido criados. Melhorias nesta área poderiam permitir que artistas e criadores de conteúdo que trabalham em jogos se concentrassem mais no trabalho criativo de dar vida às suas ideias e menos nas operações mecânicas de instâncias em movimento repetido, reajustando objetos adjacentes em repouso, colocando manualmente nós para suporte de jogo, e breve.
Este conjunto de dados é divulgado sob os termos do Contrato de Licença de Uso Não Comercial da Activision. Consulte LICENSE.md para obter mais detalhes.
O mapa Caldera original foi criado principalmente pela equipe da Raven Software, com a ajuda da Beenox, High Moon Studios e das equipes mais amplas de Call of Duty da Activision.
O lançamento do conjunto de dados Caldera é apoiado por Koen Vroeijenstijn, Mathew Varghese, Xav de Matos, Senwhaa Lim, Michael Vance e Natasha Tatarchuk.
Obrigado aos membros da equipe e do corpo docente da Pixar, NVIDIA, SideFX e Stanford por fornecerem feedback antecipado sobre o conjunto de dados.
Use o rastreador de problemas associado para enviar uma consulta.
Eixo superior: Z
Unidades: Polegadas
A parte relevante da cena cobre aproximadamente 2 por 2 milhas e contém cerca de 17,5 milhões de primitivos com mais de 2 bilhões de pontos no total.
Aqui estão algumas etapas rápidas para começar a explorar os dados. Essas etapas são mostradas no USDView, mas devem ser traduzidas para outras ferramentas.
No diretório onde você clonou o repositório ou extraiu o arquivo de lançamento, execute:
usdview caldera.usda
Este ponto de partida deve carregar quase instantaneamente, pois carrega uma representação muito leve da cena por padrão. Isso deve abrir uma janela USDView semelhante a esta abaixo:
As caixas cinzas no centro fazem parte das anotações da cena, elas não são usadas na renderização do mapa. Vamos escondê-los. No USDView, isso é feito alternando as finalidades de exibição do "guia" no menu de visualização Exibir, Exibir finalidades:
Agora você deverá ver toda a cena representada como proxies e uma coleção de pontos. Voltaremos a esses pontos mais tarde, primeiro exploramos a geometria. Vamos encontrar uma seção e carregar uma representação mais detalhada. Para alterar o ponto de vista, use a tecla Alt e os botões do mouse para navegar na visualização. A cena do USD também define várias câmeras para ver melhor. Comece examinando /cameras/map_capital_square
. No menu da visualização, escolha Câmera, Selecione Câmera, map_capital_square. Isso deve mostrar uma versão muito aproximada da geometria na seção 'maiúscula'.
O próximo passo é selecionar um "primitivo" na visualização de estrutura de tópicos. Primitivos são apenas nós endereçados por um caminho. Selecione o prim /world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/map_capital
. Você pode fazer isso navegando na árvore para encontrar esse caminho ou cole o caminho completo na barra de endereço na parte superior.
Se você olhar o painel de metadados do USDView com este prim selecionado, verá um campo de variante "LOD do distrito". Aqui você pode escolher como esta parte da cena será representada. Atualmente, isso está definido como "proxy", que é uma sopa poligonal rudimentar que criamos como proxy. Vá em frente e mude para "completo":
Isso demorará um pouco, pois carrega toda a geometria neste ramo do gráfico da cena e substitui a primitiva poli-sopa pela geometria real e todas as primitivas que representam a cena. Se você diminuir um pouco o zoom, notará que o solo (a geometria roxa) ainda é bastante irregular. O terreno é definido em uma parte diferente da cena.
Para carregar o terreno, selecione:
/world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/st_main/st_o
E selecione 'completo' para a variante LOD aqui também:
Isso salta para a representação mais alta do terreno. Isso inclui a desordem (todos os itens pequenos, como grama, colocados no terreno, representados por uma instância pontual). Se os pequenos detalhes como grama e árvores não aparecerem neste momento, pode ser porque o propósito de “renderizar” está oculto. A desordem é marcada com esse propósito para facilitar a ocultação deles quando eles retardam demais a renderização da cena. Para mostrá-los, certifique-se de ter marcado Display, Purpose, Render.
Agora carregamos todos os detalhes que temos disponíveis para esta seção do mapa. Incluído no conjunto de dados também está um arquivo Python ( caldera.py
) contendo um exemplo de como fazer várias dessas coisas no script. Foi assim que o caldera.usd foi gerado a partir de map_source/mp_wz_island.usd
. Para apenas inspecionar os dados através do python, você pode instalar as ligações OpenUsd python através do Pip.
Voltemos aos dados pontuais que vimos anteriormente. Além da geometria da cena, incluímos dois tipos de dados do jogador. Eles são representados como nuvens de pontos ao carregar o arquivo Caldera USD. Vamos ocultar a geometria da cena para explorá-la mais facilmente. No contorno, desmorone a árvore até que apenas os jogadores, as câmeras e as primitivas do mundo fiquem visíveis. Agora alterne a visibilidade da filial mundial. Isto irá ocultar toda a geometria e deixar apenas os pontos.
O primeiro conjunto de dados a ser observado vive em /players/endpoints/points_0
. Esta primitiva contém um milhão de pontos que representam o local onde os jogadores terminaram a partida. Os pontos armazenam uma posição, mas também uma cor e um atributo de tempo. O exemplo caldera.py
mostra como acessá-los programaticamente.
O atributo time foi capturado das partidas reais e representa o tempo desde o início da partida até o final da partida para cada jogador (o valor varia por ponto).
A cor é gerada por pós-processamento, como exemplo de como você pode visualizar esses dados. A cor representa a densidade da nuvem de pontos, com o vermelho representando as áreas onde muitos jogadores terminaram a partida e o azul representando os locais mais esparsos.
Há outra nuvem de pontos no conjunto, sob o primitivo breadcrumbs. Você pode ocultar os endpoints, mas nada aparecerá. A localização atual armazena amostras que variam no tempo e um dos atributos animados é a opacidade. Todos eles são totalmente transparentes enquanto o jogador ainda não entrou na partida. Você pode mostrar pontos deslizando a linha do tempo na parte inferior da janela. As pequenas esferas são mais fáceis de ver no modo de sombreamento Pontos:
Cada esfera é um único jogador em uma única partida. A posição deste jogador durante a partida é amostrada aproximadamente uma vez a cada dois segundos e armazenada no atributo position. A cor novamente vem de um pós-processo, onde o azul representa os jogadores no início da partida e o vermelho significa que eles estão perto do final da partida. Isso também é armazenado no atributo "life", que representa o início ao fim como um número de zero a um, com valores negativos significando que o jogador ainda não está no jogo, e valores maiores que um também significam que o jogador não está mais em jogo . Não incluído no lançamento, mas mostrado para fins ilustrativos, você pode "ligar os pontos" para mostrar os caminhos do jogador. Aqui estão todos os jogadores de uma única partida:
Outra forma de reduzir a carga imediata no sistema ao carregar o mapa é não carregar as “cargas úteis”. Marcamos muitos dos nós folhas caros como carga útil, deixando geometria suficiente para fornecer uma representação decente. Por exemplo:
usdview –unloaded map_source/mp_wz_island.usd
Observe que isso ainda leva muito mais tempo do que o método descrito anteriormente. Não se esqueça de mudar o sombreamento de volta para algo diferente dos pontos:
Uma terceira maneira de gerenciar a complexidade é carregar uma subseção do mapa. No total, existem muitos milhares de arquivos USD que compõem este conjunto.
Um edifício do mapa que é divertido de explorar por si só é o hotel. Você pode carregar apenas esta parte do mapa começando com:
usdview map_source/prefabs/br/wz_vg/mp_wz_island/commercial/hotel_01.usd
Todo o terreno vive em um galho separado da árvore. Para muitos dos outros pré-fabricados, é necessário carregar uma subseção do terreno para obter a imagem completa. Por padrão, o caldera.usda
carregará uma versão simplificada do terreno para todo o mapa. Todos os filhos sob o prim "st_main" têm um conjunto de variantes chamado "district_lod" para alternar entre a representação simples e completa. A desordem (pequenos itens espalhados pelo terreno) tem sua “finalidade” de renderização, podendo ser ligada e desligada com uma configuração global.
O terreno completo é acessível através desta cena:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/st_main.usd
As imagens abaixo mostram exemplos da representação simples e da representação completa mostrando a desordem como uma instância de nuvem de pontos.
O terreno em si é dividido em seções, carregar uma única facilita a exploração, por exemplo:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/season_4/st_e.terrain.usd
Estes são alguns pontos de partida divertidos para explorar mais a Caldera.
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
Direitos autorais © 2024 Activision Publishing, Inc.