World Partition introduce un marco compilador de commandlets a través de UWorldPartitionBuilderCommandlet y la clase base UWorldPartitionBuilder.
Estos commandlets se utilizan para automatizar procesos por lotes y generar o modificar datos en los niveles de World Partition. Los mundos grandes no tendrán que cargarse todos a la vez para hacer cosas como generar HLOD, datos de navegación de IA o volver a guardar un gran número de actores.
Compilador de HLOD de World Partition
Los HLOD se generan mediante el commandlet World Partition HLODs Builder. Ejecutando este comando se crean los actores HLOD para las celdas de tu World Partition según los ajustes de generación que hayas especificado en las capas HLOD.
Comando: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionHLODsBuilder
Si quieres más información sobre el uso de los niveles de detalle jerárquicos (HLOD) en World Partition y sobre el uso del commandlet WorldPartitionHLODsBuilder, consulta la documentación de World Partition - Nivel de detalle jerárquico.
World Partition MiniMap Builder
El commandlet World Partition MiniMap Builder genera o actualiza el minimapa que se muestra en la ventana del Editor de partición del entorno.
Comando: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionMiniMapBuilder
World Partition Rename Duplicate Builder
El commandlet World Partition Rename Duplicate Builder automatiza el proceso de cambio de nombre o duplicación de un nivel de World Partition existente y todos sus actores.
Comando: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -SCCProvider=None -builder=WorldPartitionRenameDuplicateBuilder -NewPackage=/Game/ThirdPersonBP/Maps/NewPackage
Esto creará un nivel de World Partition duplicado del mapa OpenWorldTest denominado NewPackage y dejará el mapa original intacto.
Para renombrar el mapa de World Partition en lugar de hacer una copia, añade el argumento -Rename.
World Partition Resave Actors Builder
El commandlet World Partition Resave Actors Builder vuelve a guardar todos los actores de un nivel de World Partition y admite un filtro de clase para volver a guardar solo un subconjunto de actores.
Comando: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -SCCProvider=None -builder=WorldPartitionResaveActorsBuilder
Cuando ejecutas el ejemplo anterior, se vuelven a guardar todos los paquetes del actor en el nivel OpenWorldTest.
Puedes usar el argumento -ActorClass para especificar solo un subconjunto de actores que se volverán a guardar. Por ejemplo, si añades -ActorClass=StaticMeshActor solo se volverán a guardar los actores de malla estática en el nivel especificado.
World Partition Foliage Builder
En un mapa de World Partition, el tamaño predeterminado de la cuadrícula de follaje para las instancias de follaje es de 256 metros. El commandlet World Partition Foliage Builder se utiliza para cambiar el tamaño de cuadrícula de follaje del nivel de World Partition existente.
Comando: UnrealEditor.exe QAGame Playground.umap -run=WorldPartitionBuilderCommandlet -Builder=WorldPartitionFoliageBuilder -NewGridSize=Value
Para obtener más información sobre el uso del modo Follaje con World Partition, consulta la documentación Foliage Mode.
World Partition Navigation Data Builder
El commandlet World Partition Navigation Data Builder de datos de navegación de World Partition reconstruye la navmesh en tu nivel de World Partition.
Comando: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionNavigationDataBuilder -SCCProvider=None
Este commandlet toma los siguientes argumentos:
| Argumento opcional | Descripción |
|---|---|
-SCCProvider | Especifica qué proveedor de control de versiones utilizar. Para ejecutar sin control de código fuente, especifica |
-Verbose | Muestra el registro detallado. |
-Log | Envía el registro a un archivo específico. |
-CleanPackages | Borra todos los paquetes de datos de navegación en lugar de construirlos. |
World Partition Smart Object Collection Builder
El commandlet Compilador de colecciones de objetos inteligentes de World Partition recompila la colección de objetos inteligentes a partir de todos los componentes de objetos inteligentes de tu nivel de World Partition.
Comando: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -builder=WorldPartitionSmartObjectCollectionBuilder
Al ejecutar el ejemplo anterior, se reconstruyen todas las colecciones de objetos inteligentes del nivel OpenWorldTest. Puedes usar el argumento -SCCProvider con este commandlet para especificar qué proveedor de control de código fuente usar.
World Partition PCG Builder
El commandlet World Partition PCG Builder carga el nivel por completo, espera a que se completen los procesos de forma asíncrona, como la creación de malla estática, y luego programa la generación en los componentes coincidentes con generación procedimental de contenido. Cuando se completa toda la generación, el proceso guarda el nivel de World Partition y finaliza.
Línea de comandos: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -Unattended -AllowCommandletRendering -run=WorldPartitionBuilderCommandlet -Builder=PCGWorldPartitionBuilder -IncludeGraphNames=PCG_GraphA;PCG_GraphB
Comando de consola: pcg.BuildComponents -IncludeGraphNames=PCG_GraphA;PCG_GraphB
Este commandlet toma los siguientes argumentos:
| Argumento opcional | Descripción |
|---|---|
-IncludeGraphNames | Incluye una lista de nombres de grafo en la generación, separados por |
-GenerateComponentEditingModeLoadAsPreview | Los componentes que se guarden con el modo editor Cargar como vista previa se tendrán en cuenta para la generación cuando se use este argumento. |
-GenerateComponentEditingModeNormal | Genera componentes con el modo de edición configurado como Normal. De forma predeterminada, solo se generan los componentes que se guardan con el modo de edición Cargar como vista previa. |
-GenerateComponentEditingModePreview | Genera componentes con el modo de edición configurado como Vista previa. De forma predeterminada, solo se generan los componentes que se guardan con el modo de edición Cargar como vista previa. |
-IgnoreGenerationErrors | Envía el resultado al control de código fuente, independientemente de los errores (pero los errores se siguen notificando y el estado de la tarea seguirá siendo Error). Esto puede usarse para mantener el trabajo en línea incluso en presencia de errores, pero debe usarse con precaución. De forma predeterminada, cualquier error que se produzca mientras se genera un componente se registrará en el compilador, generará un error en el trabajo de compilación y no se enviarán los resultados. |
-IncludeActorIDs | Incluye una lista de ID de actores únicos separados por |
-OneComponentAtATime | Programa la generación de un componente a la vez y espera a que termine cada generación antes de programar un nuevo componente. Es útil durante la depuración para garantizar que los procesos asíncronos no interfieren entre sí. |
-PCGBuilderSettings | Especifica un recurso de PCGBuilderSettings que se usará al configurar el commandlet del compilador. Todos los argumentos de los commandlets anulan los argumentos establecidos en el recurso PCGBuilderSettings. |
-IterativeCellLoading | Procesa el mundo usando un tamaño de celda específico para evitar cargarlo todo a la vez. Los componentes cargados se generan y guardan. A continuación, se descargan y el compilador se desplaza a una celda distinta. Esto es útil para mundos grandes en los que cargar todo el mundo provoca problemas de memoria. |
-IterativeCellSize | Anula el tamaño de celda predeterminado cuando se usa IterativeCellLoading. El valor predeterminado es |
-Unattended | Evita inicializar la IU del editor. En su lugar, se ejecuta en la consola. |
-AllowCommandletRendering | Inicializa el subsistema de renderizado. Es útil porque la generación procedimental de contenido tiene algunas funciones que utilizan la GPU. |
-AutoSubmit | Intenta enviar el resultado al control de código fuente, si está disponible. |
-AssetGatherAll | Compila el registro de recurso completo para todos los recursos del proyecto. Es obligatorio si el compilador necesita acceder a recursos a los que no se hace referencia en el nivel. |