Construyendo arquitectura

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Construir la estación de manera modular nos permitió actualizar y propagar actualizaciones de contenido de manera suave y fue clave para asegurarnos de que no pasáramos horas actualizando mallas, texturas, partes y más individualmente.

Los paquetes de Roblox nos permiten lograr este diseño modular al permitirnos empaquetar juntos una paleta de Meshparts que se ajustó fácilmente, conjuntos de hojas recortadas y SurfaceAppearance nodos que el MeshParts pudo compartir.Esto nos permitió adaptarnos a cambios en el diseño y el tamaño durante las pruebas tempranas y hizo que el proceso de llenar la estación fuera mucho más rápido.

Architecture Overview

Diseños flexibles al arte final

Cuando empezamos por primera vez, no teníamos una comprensión completa de lo que queríamos ser en la estación, o de lo grande que tenía que ser para 50 jugadores.

Para averiguarlo, primero comenzamos a construir el entorno usando Parts y a traer algunas mallas como la forma rotunda de nuestra aplicación DCC externa, como Maya o Blender.Con estas formas simples, ajustamos la escala del mapa, la disposición de las habitaciones y los caminos para encontrar los arreglos más divertidos.Ya sea para un juego o una experiencia social, esta etapa temprana tiende a ser la más dinámica.

Al construir el diseño de la estación, lo más importante para impulsar la exploración era dar al usuario un objetivo.En este caso, el objetivo más obvio es obtener una mirada más cercana al agujero negro.A continuación, sabíamos que darles un camino recto hacia el agujero negro sería aburrido, porque un jugador solo puede caminar desde el spawn hasta el final del mapa.Rompimos el camino para que el jugador no pudiera llegar al agujero negro sin antes dar una vuelta y ver otras cosas que también podrían atraerlos.

El diseño modular nos permitió hacer tales cambios al entorno sin una revisión catastrófica del diseño general.Podríamos mover secciones enteras de la estación para jugar con diferentes ideas de juego.En última instancia, estas mismas piezas modulares podrían actualizarse luego usando paquetes para que no tuviéramos que reconstruir múltiples versiones del mismo activo.

Architecture Example 1 Architecture Example 2 Architecture Example 3 Architecture Example 4

Diseño modular de Kerr-Newman DSR-14

La estación espacial utiliza solo un puñado de piezas modulares de paleta.Las piezas de paleta modulares son activos reutilizables, lo que significa que no tenemos que crear cada pared de forma única, sino que podemos armar varias paredes más pequeñas.Esto permite flexibilidad en el diseño mientras estamos construcción.

Aquí hay algunos consejos que nos ayudaron a crear nuestro diseño modular:

  • Asentarse en un tamaño de rejilla uniforme — Para la estación, nos asentamos en un tamaño de rejilla de 16 espárragos para crear la mayor parte del establecermodular.El tamaño de la cuadrícula que usas es arbitrario, pero debe ser consistente a lo largo del proyecto y de todos los artistas que trabajan en ese proyecto.Establecer un tamaño de cuadrícula al comienzo de tu proyecto garantiza que cada pieza encaje bien con la pieza adyacente.También te permite intercambiar piezas fácilmente, por ejemplo, intercambiar una sección de pared por una sección de puerta.

  • Todas las unidades se importan como studs — Cuando se crean mallas en otras aplicaciones de DCC, como Maya o Blender, Studio no convierte metros, centímetros, pies o pulgadas — simplemente reemplaza las unidades entrantes con las mismas unidades en studs.Por ejemplo, si configura sus unidades a metros, Studio convierte 2 metros a 2 tachuelas.Es mejor tratar tus escalas de unidad en tu aplicación de elección como escalas de estudio en Roblox.La escala más cercana del mundo real para un solo tachón en Roblox es de 28 centímetros.

  • Mantenga las piezas simples — No trate de construir cada pieza que crea que necesitará.La idea es tener algunas piezas muy versátiles y no muchos one-offs.Cuantas más piezas tengas, más tiempo tardará en crearse cada una de ellas y más afectará tu presupuesto de memoria y rendimiento general.Siempre puedes agregar otra pieza a tu kit si es absolutamente necesaria.

  • Usar paquetes — Convertir cada pieza modular en un paquete y también poner materiales en paquetes antes de comenzar a llenarlos en tu experiencia.Esto te permite empujar fácilmente actualizaciones a todas las instancias.Nos adentraremos en los paquetes un poco más tarde.

Los siguientes screenshots te muestran varias formas en que usamos el diseño modular para construir partes de la estación.

Architecture Example 5 Architecture Example 6 Architecture Example 7 Architecture Example 8

Crear hojas de recorte

Las texturas 1:1 son el camino del futuro, pero se vuelven costosas en términos de presupuestos de memoria y tiempo para crear.Para la estación espacial, el 90% de los elementos arquitectónicos utilizó un puñado de conjuntos de hojas de acabado intercambiables, que son un conjunto de mapas de textura que se distribuyen en forma vertical o horizontal.Cada fila o columna de la hoja tiene una apariencia única, lo que te da un montón de diferentes tratamientos de superficie para elegir al desempaquinar un aplicación de modelado, todo mientras usas una hoja de imagen.

Aquí hay algunos consejos para hacer hojas de recorte:

  • Comience con un inventario del tipo de objetos y materiales que necesita — Las hojas de recorte pueden incluir una gran variación en tipos de material, como madera, metal, goma y más.Antes de comenzar a modelar tu primer objeto, crea una plantilla de hoja de recorte.Este es el punto de partida para todos tus otros conjuntos de hojas de ajuste y te da un punto de partida rápido para desembalar tus modelos.Estas hojas de ajuste viven dentro del nodo SurfaceAppearance, que cubriremos más tarde.

  • Incluye una variedad de tratamientos de superficie en una hoja — Esto te permite mantener más de la malla juntos, por lo que puedes aplicar nuevos tratamientos sin tener que dividir tus mallas en múltiples mallas.Esto mejora el rendimiento de tiempo de ejecución al reducir las llamadas de dibujo de objetos y materiales.

  • Crear una plantilla de hoja de recorte — Una plantilla garantiza que puedas intercambiar cualquier conjunto de mapas por otro.Por ejemplo, puedes intercambiar un conjunto de metal limpio con un establecerde metal oxidado.

Así es como creamos hojas de recorte para la estación:

Hemos creado un esbozo aproximado de cómo debería verse la hoja:

Trim Sheet Example

En Photoshop, creamos un mockup para obtener una idea rápida de cómo se vería cada sección de recorte de la hoja.

Trim Section Example

Usamos Substance, pero puedes usar cualquier aplicación que te convenga para crear los mapas finales.Este es el conjunto final de mapas de hoja de ajuste que se generaron en Substance.Todos los cuatro mapas trabajan juntos dentro de un nodo de apariencia de superficie para producir un material renderizado basado en físicas (Renderizado basado en la física (PBR)).

Aquí hay algunos rendimientos finales de la hoja de recorte dentro de Substance Designer:

Y aquí hay ejemplos de las mismas hojas de ajuste que se utilizan en un amplio rango de objetos:

Modular Trim Sheets

Si quieres aprender más sobre Trim Sheet UV Mapping, busca el tema en la web; hay muchos grandes tutoriales por ahí.

Aplicar apariencias de superficie

SurfaceAppearance te permite especificar nuevas entradas de textura a nuestro sistema de renderizado basado en físicas para MeshParts y te permite anular la apariencia de una malla con opciones de gráficos avanzados, incluidos ColorMap, MetalnessMap, RoughnessMap y NormalMap.También hace uso del nuevo sistema de mapa dinámico de cubos que Roblox utiliza para reflejos en materiales, como el cromo.Por ejemplo, aquí hay una imagen lado a lado de una malla con SurfaceAppearance aplicado junto a una malla sin ella:

Surface Appearance Example

Al usar la aspecto, lookde la superficie, tenga en cuenta los siguientes consejos:

  • Si tus mapas de recorte contienen información alfa para la transparencia, cambia el modo alfa de superposición a transparencia.
  • La apariencia de la superficie no funciona con las piezas porque no tienen la información UV requerida para aplicar los mapas.Las piezas utilizan proyecciones alineadas con el mundo en lugar de información UV.Las piezas de malla se crean normalmente en otra aplicación como Maya, 3ds Max o Blender y contienen información de desempaquete de UV.

Para aplicar SurfaceAppearance :

  1. Haga clic en el al final de un nombre de MeshPart o carpeta en el Explorador y busque SurfaceAppearance.Añadir uno anulará cualquier BrickColor, Color, Material y TextureID que ya haya aplicado.

  2. Renombra el nodo SurfaceAppearance a algo único y añade un prefijo de _SA para hacerlos fáciles de encontrar.En este ejemplo, usamos Metal_Trim_A_SA.

  3. Importa los mapas de hoja de recorte, copia los IDs del panel Gestor de recursos y pégalos en las ranuras apropiadas en el panel de propiedades.Así es como se ve el nodo Metal_Trim_A_SA con todas las ID de mapa insertadas y aplicadas a la puerta.

Surface Appearance Example 2

Aumentar la eficiencia con paquetes

Los paquetes te permiten crear instancias de objeto en todas tus experiencias de Roblox, para que las actualizaciones que hagas al paquete se publiquen en todas las instancias de ese paquete.Utilizamos paquetes para casi todos los objetos que ponemos en la estación, por lo que no tuvimos que buscar cada colocación si necesitábamos hacer ajustes.Por ejemplo, usamos más de 1,000 instancias de panel de pared de un paquete y pudimos publicar actualizaciones instantáneamente modificando el paquete.

Sigue estos consejos al usar paquetes:

Activar la función de actualización automática en PackageLink .Todas las modificaciones se aplican a todos los usos del paquete cuando esto está habilitado, lo que te ahorra el paso de tener que usar la función "actualizar todos/todas".

Packages Example

Puedes usar paquetes para SurfaceAppearance para crear una "biblioteca de materiales". Esto te permite modificar mapas de bits en un objeto SurfaceAppearance y publicarlos a todos los objetos que lo usan.La siguiente captura de pantalla muestra los materiales maestros utilizados durante la demostración.Si necesitábamos modificar los mapas, solo teníamos que actualizar el material maestro y publicar de nuevo el paquete.

Packages Example 2