El conjunto de datos de Caldera es una escena de OpenUSD que contiene la mayor parte de la geometría que se encuentra en el mapa de Call of Duty®: Warzone™ del mismo nombre. Estos no son los datos de producción reales, sino más bien una conversión de partes de estos al formato de archivo USD de código abierto.
Los datos incluidos son en gran medida los que se representan fácilmente como geometría. Esto incluye la geometría renderizable pero también algunas representaciones alternativas, generalmente invisibles, utilizadas en otros cálculos. Por ejemplo, incluimos volúmenes para ayudar en los cálculos de iluminación o formas simples para la detección de colisiones. Se excluyen muchas entidades de un solo punto, como el lugar para generar personajes o modelos complicados basados en scripts. También hemos optado por no incluir texturas ni materiales en esta versión. Esto agregaría complejidad y tamaño a una escena que ya es pesada. Nos centramos en las numerosas relaciones entre los elementos espaciales que se descubrirán en este conjunto, más que en buscar una representación visual precisa.
Esperamos que la publicación de este conjunto de datos estimule la investigación académica en áreas relacionadas con la construcción y el análisis de la geometría ambiental para las que anteriormente no había datos de producción replicados a este tamaño y escala. Se han realizado muchas investigaciones en el área de la generación de imágenes y trabajos incipientes en la generación geométrica, pero generalmente se realizan dentro del marco de un único activo y no de una escena grande e interconectada con una paternidad complicada y otros aspectos semánticos, a menudo implícitos. relaciones. Además, si bien ha habido cierto interés en generar espacios ambientales, por ejemplo, para su uso en la representación de escenas estáticas de catálogos, no se ha dedicado tanto trabajo a editar y actualizar esos entornos una vez creados. Las mejoras en esta área podrían permitir a los artistas y creadores de contenido que trabajan en juegos centrarse más en el trabajo creativo de dar vida a sus ideas y menos en las operaciones mecánicas de instancias que se mueven repetidamente, reajustar objetos adyacentes en reposo, colocar manualmente nodos para apoyar el juego y pronto.
Este conjunto de datos se publica según los términos del Acuerdo de licencia de uso no comercial de Activision. Consulte LICENSE.md para obtener más detalles.
El mapa original de Caldera fue escrito principalmente por el equipo de Raven Software, con la ayuda de Beenox, High Moon Studios y los equipos más amplios de Call of Duty en Activision.
La publicación del conjunto de datos de Caldera cuenta con el respaldo de Koen Vroeijenstijn, Mathew Varghese, Xav de Matos, Senwhaa Lim, Michael Vance y Natasha Tatarchuk.
Gracias a los miembros del personal y profesores de Pixar, NVIDIA, SideFX y Stanford por brindarnos sus primeros comentarios sobre el conjunto de datos.
Utilice el rastreador de problemas asociado para enviar una consulta.
Eje arriba: Z
Unidades: Pulgadas
La parte relevante de la escena cubre aproximadamente 2 por 2 millas y contiene aproximadamente 17,5 millones de primitivos con más de 2 mil millones de puntos en total.
A continuación se muestran algunos pasos rápidos para comenzar a explorar los datos. Estos pasos se muestran en USDView, pero deberían trasladarse a otras herramientas.
Desde el directorio donde clonó el repositorio o extrajo el archivo de versión, ejecute:
usdview caldera.usda
Este punto de partida debería cargarse casi instantáneamente, ya que carga una representación muy ligera de la escena de forma predeterminada. Esto debería abrir una ventana USDView similar a la siguiente:
Los cuadros grises en el centro son parte de las anotaciones de la escena, no se utilizan al renderizar el mapa. Ocultémoslos. En USDView, esto se hace alternando los propósitos de visualización de la "guía" en el menú de visualización Visualización, Propósitos de visualización:
Ahora deberías ver toda la escena representada como proxy y una colección de puntos. Volveremos a esos puntos más adelante. Primero exploramos la geometría. Busquemos una sección y carguemos una representación más detallada. Para cambiar el punto de vista, use la tecla Alt y los botones del mouse para navegar por la vista. La escena USD también define varias cámaras para poder ver mejor. Comience mirando /cameras/map_capital_square
. En el menú de la vista, elija Cámara, Seleccionar cámara, map_capital_square. Esto debería mostrarle una versión muy aproximada de la geometría en la sección 'capital'.
Lo siguiente es seleccionar una "primitiva" en la vista de esquema. Las primitivas son solo nodos a los que se dirige una ruta. Seleccione el prim /world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/map_capital
. Puede hacerlo navegando por el árbol para encontrar esta ruta. o pegue la ruta completa en la barra de direcciones en la parte superior.
Si observa el panel de metadatos de USDView con este prim seleccionado, verá un campo variante de "LOD de distrito". Aquí puedes elegir cómo se representa esta parte de la escena. Actualmente, esto está configurado en "proxy", que es una sopa de polígonos cruda que creamos como proxy. Continúe y cambie eso a "completo":
Esto llevará un tiempo ya que carga toda la geometría en esta rama del gráfico de escena y reemplaza la primitiva poli-sopa con la geometría real y todas las primitivas que representan la escena. Si te alejas un poco, notarás que el suelo (la geometría violeta) todavía es bastante accidentado. El terreno se define en una parte diferente de la escena.
Para cargar el terreno, seleccione:
/world/mp_wz_island/mp_wz_island_paths/mp_wz_island_geo/st_main/st_o
Y aquí también seleccione 'completo' para la variante LOD:
Esto salta a la representación más alta del terreno. Esto incluye el desorden (todos los elementos pequeños, como césped, colocados en el terreno, representados por una instancia puntual). Si los pequeños detalles como el césped y los árboles no aparecen en este punto, podría deberse a que el propósito del "renderizado" está oculto. El desorden está etiquetado con este propósito para que sea más fácil ocultarlos cuando ralentizan demasiado la representación de la escena. Para mostrarlos, asegúrese de tener marcado Visualización, Propósito y Representación.
Ahora hemos cargado todos los detalles que tenemos disponibles para esta sección del mapa. En el conjunto de datos también se incluye un archivo Python ( caldera.py
) que contiene un ejemplo de cómo hacer varias de estas cosas en un script. Así es como se generó caldera.usd a partir de map_source/mp_wz_island.usd
. Para simplemente inspeccionar los datos a través de Python, puede instalar los enlaces de Python de OpenUsd a través de Pip.
Volvamos a los datos puntuales que vimos antes. Además de la geometría de la escena, hemos incluido dos tipos de datos del jugador. Estos se representan como nubes de puntos al cargar el archivo Caldera USD. Ocultemos la geometría de la escena para explorarla más fácilmente. En el contorno, colapsa el árbol hasta que solo sean visibles los jugadores, las cámaras y las primitivas del mundo. Ahora alterna la visibilidad de la rama mundial. Esto ocultará toda la geometría y dejará solo los puntos.
El primer conjunto de datos a analizar se encuentra en /players/endpoints/points_0
. Esta primitiva contiene un millón de puntos que representan el lugar donde los jugadores terminaron una partida. Los puntos almacenan una posición, pero también un color y un atributo de tiempo. El ejemplo caldera.py
muestra cómo acceder a ellos mediante programación.
El atributo de tiempo se capturó de los partidos reales y representa el tiempo desde el inicio del partido hasta el final del mismo para cada jugador (el valor varía según el punto).
El color se genera mediante posprocesamiento, como ejemplo de cómo se pueden visualizar estos datos. El color representa la densidad de la nube de puntos: el rojo representa áreas donde muchos jugadores terminaron el partido y el azul representa ubicaciones más dispersas.
Hay otra nube de puntos en el conjunto, debajo de la primitiva de ruta de navegación. Puede ocultar los puntos finales pero aún así no aparecerá nada. Las rutas de navegación almacenan muestras que varían en el tiempo y uno de los atributos animados es la opacidad. Todos son completamente transparentes mientras el jugador aún no haya aparecido en la partida. Puede mostrar puntos desplazando la línea de tiempo en la parte inferior de la ventana. Las pequeñas esferas son más fáciles de ver en el modo de sombreado Puntos:
Cada esfera es de un solo jugador en un solo partido. La posición de este jugador durante el partido se muestrea aproximadamente una vez cada dos segundos y se almacena en el atributo de posición. El color proviene nuevamente de un proceso posterior, donde el azul representa a los jugadores al comienzo de su partido y el rojo significa que están cerca del final del partido. Esto también se almacena en el atributo "vida", que representa de principio a fin como un número de cero a uno, con valores negativos que significan que el jugador aún no está en el juego, y valores mayores que uno también significan que el jugador ya no está en el juego. . No incluido en la versión, pero se muestra con fines ilustrativos. Puedes "conectar los puntos" para mostrar las rutas del jugador. Aquí todos los jugadores de un solo partido:
Otra forma de reducir la carga inmediata en el sistema al cargar el mapa es no cargar las "cargas útiles". Hemos marcado muchos de los costosos nodos hoja como carga útil y hemos dejado suficiente geometría para brindar una representación decente. Por ejemplo:
usdview –unloaded map_source/mp_wz_island.usd
Tenga en cuenta que esto todavía lleva mucho más tiempo que el método descrito anteriormente. No olvides cambiar el sombreado a algo distinto a los puntos:
Una tercera forma de gestionar la complejidad es cargando una subsección del mapa. En total hay muchos miles de archivos USD que componen este conjunto.
Un edificio del mapa que es divertido explorar por sí solo es el hotel. Puedes cargar solo esta parte del mapa comenzando con:
usdview map_source/prefabs/br/wz_vg/mp_wz_island/commercial/hotel_01.usd
Todo el terreno vive en una rama separada del árbol. Para muchas de las otras casas prefabricadas, es necesario cargar una subsección del terreno para obtener una imagen completa. De forma predeterminada, caldera.usda
cargará una versión simplificada del terreno para todo el mapa. Todos los elementos secundarios bajo el prim "st_main" tienen un conjunto de variantes llamado "district_lod" para cambiar entre la representación simple y completa. El desorden (pequeños elementos esparcidos por el terreno) tienen su "propósito" de renderizar, por lo que se pueden activar y desactivar con una configuración global.
Se puede acceder al terreno completo a través de esta escena:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/st_main.usd
Las siguientes imágenes muestran ejemplos de la representación simple y la representación completa que muestra el desorden como una nube de puntos de instancia.
El terreno en sí está dividido en secciones, cargar una sola facilita la exploración, por ejemplo:
map_source/prefabs/br/wz_vg/mp_wz_island/superterrrain/season_4/st_e.terrain.usd
Estos son algunos puntos de partida divertidos para explorar más de 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
Copyright © 2024 Activision Publishing, Inc.