En resumen
- PCGCleanSplineSettings ofrece ajustes para eliminar puntos de control duplicados o innecesarios en tramos lineales.
- PCGSpawnSplineMeshSettings crea un Spline Mesh Component para cada segmento de la spline.
- La documentación de limpieza corresponde a la API experimental de Python de Unreal Engine 5.7; la de generación de mallas, a la versión 5.5.
- En los ajustes de malla se admiten las anulaciones de propiedades a nivel de datos, pero no las anulaciones por punto de control.
¿Qué aprenderás en esta guía?
Esta guía aborda las opciones para editar datos de splines y generar mallas a lo largo de ellas con las herramientas Procedural Content Generation (PCG) de Unreal Engine. En la primera parte, veremos los ajustes de PCGCleanSplineSettings, que sirven para eliminar puntos de control duplicados o innecesarios en tramos con la misma dirección. Después explicaremos cómo la clase PCGSpawnSplineMeshSettings crea componentes de malla en los segmentos de una spline.
El objetivo no es producir paso a paso un modelo arquitectónico concreto, sino entender para qué sirven estos dos grupos de ajustes y qué decisiones afectan en un proceso de generación. La documentación describe las propiedades de las clases, pero no proporciona un script de Python completo para crear un gráfico PCG específico ni una ruta por los menús del editor. Por eso, los pasos siguientes proponen un flujo de trabajo basado en las propiedades documentadas.
Requisitos y notas sobre las versiones
Las dos páginas de la API citadas corresponden a versiones distintas de Unreal Engine: la clase de limpieza de splines aparece en la documentación experimental de Python de Unreal Engine 5.7, mientras que la clase de generación de mallas para splines figura en la documentación experimental de Python de Unreal Engine 5.5. Esto no significa que las funciones estén disponibles de la misma manera en ambas versiones ni que las dos clases estén listas para probarse juntas. Consulta también la documentación de la API correspondiente a la versión del proyecto.
Ambas clases pertenecen al módulo PCG. La clase de limpieza deriva de PCGSettings; los ajustes de generación de mallas utilizan la misma clase base. La documentación no menciona requisitos de cuenta o licencia. Si planeas usar los ajustes de PCG mediante Python, consulta la documentación de la API de Python de la versión elegida. Como las fuentes no incluyen ejemplos de scripts listos para usar, aquí no se proporciona código ejecutable.
Pasos de implementación
Define los datos de la spline y el objetivo. Primero, determina qué elemento geométrico representa la spline y qué tipo de malla quieres generar a lo largo de ella. Por ejemplo, una spline puede describir el límite de un paisaje, el borde de un camino o un elemento arquitectónico lineal; sin embargo, estas fuentes no especifican qué malla utilizar ni cómo organizar el proyecto. En esta etapa, antes de editar la spline, evalúa qué puntos o segmentos afectan realmente a su forma.
Elige el comportamiento de limpieza. PCGCleanSplineSettings contempla dos casos principales para eliminar puntos de control innecesarios a lo largo de una spline: los puntos que ocupan la misma posición y los que quedan sobre un tramo recto entre los puntos anterior y siguiente.
remove_collinear_control_pointscontrola la eliminación de puntos en tramos lineales que no afectan al cálculo final de la spline.fuse_colocated_control_pointspermite fusionar puntos cuya distancia en el espacio mundial está dentro de un umbral determinado.Ajusta los umbrales con cuidado.
colocation_distance_thresholdes el umbral de distancia que determina cuándo se consideran coincidentes dos puntos de control.collinear_angle_thresholdes el umbral angular utilizado para determinar si un punto se considera colineal con el segmento recto entre los puntos anterior y siguiente. La documentación explica el tipo y la función de estas propiedades, pero no recomienda valores concretos para un proyecto. Por tanto, prueba los umbrales con los datos de la escena y comprueba que la forma de la spline se conserve.Comprueba el espacio de medición y la unidad angular.
use_spline_local_spacepermite utilizar el espacio local de la spline en lugar del espacio mundial para calcular distancias. Si se activause_radians, el umbral angular se interpreta directamente en radianes; al cambiar esta propiedad, el valor actual deCollinearAngleThresholdse convierte automáticamente. Ten en cuenta este cambio de unidad al introducir valores manualmente.Evalúa la generación de mallas a lo largo de la spline limpia. PCGSpawnSplineMeshSettings crea un Spline Mesh Component para cada segmento de la spline proporcionada. Por eso, si el objetivo de limpiar la spline es reducir puntos ineficaces sin cambiar la geometría, conviene evaluar los ajustes de limpieza antes de generar las mallas. Las fuentes no muestran cómo conectar estas dos clases en un gráfico concreto, así que este orden es una recomendación de implementación, no un esquema de conexión listo para usar.
Revisa las propiedades de la malla y la carga.
spline_mesh_descriptorproporciona el descriptor del componente de malla yspline_mesh_params, los parámetros de la malla de spline. Si se activasynchronous_load, se fuerza la carga simultánea de las mallas y los materiales. Evalúa cómo afecta esta opción al comportamiento de carga del proyecto; la documentación no especifica resultados de rendimiento ni cuándo conviene usarla.Ten presentes los límites de las anulaciones y el posprocesamiento.
spline_mesh_override_descriptionsespecifica las anulaciones del descriptor de la malla de spline. La documentación indica expresamente que, por ahora, estas solo admiten atributos a nivel de datos y que las anulaciones por punto de control no funcionan.post_process_function_namesrecibe una lista de funciones que se llamarán en el actor de destino después de crear la malla. Estas funciones deben no tener parámetros y contar con el indicadorCallInEditor.
Errores frecuentes
Interpretar la documentación de 5.5 y 5.7 como una garantía para una sola versión: Las dos clases están documentadas para versiones distintas. Verifica por separado las propiedades disponibles en la versión que utilizas.
Aumentar los umbrales sin control: Los umbrales de distancia y ángulo afectan a las decisiones de limpieza. Las fuentes no ofrecen un valor ideal universal; comprueba si se conserva la forma de la spline.
Esperar anulaciones por punto de control: La descripción de las anulaciones de malla indica que este uso no está admitido. Ten en cuenta el límite de las anulaciones a nivel de datos al definir los requisitos.
Pasar por alto el cambio de
use_radians: Al cambiar la unidad angular, el umbral actual se convierte automáticamente. Si transfieres un valor desde otro ajuste o flujo de trabajo, comprueba qué unidad se está utilizando.Dar por hecho que hay pasos del editor que no están documentados: Estas fuentes describen clases y propiedades; no ofrecen una disposición concreta de nodos ni un ejemplo de Python ejecutable.
¿Qué aporta a los flujos de arquitectura, interiorismo y archviz?
Los equipos que generan elementos lineales mediante splines —como caminos, bordillos, elementos similares a barandillas o límites de paisajismo— pueden beneficiarse de eliminar puntos de control ineficaces y generar mallas a lo largo de los segmentos. Los ajustes de limpieza deben utilizarse con el objetivo de preservar la forma de la geometría; para la generación de mallas, es necesario evaluar por separado el descriptor, los parámetros y el comportamiento de carga seleccionados. Los equipos que trabajan con varias versiones de Unreal Engine deben prestar especial atención a la compatibilidad de la API.
Esta documentación no especifica requisitos de hardware, mejoras de rendimiento ni condiciones de licencia. Por tanto, no es posible concluir cómo se comportarán la limpieza de splines o la carga simultánea en un equipo determinado. El enfoque más prudente es probar los ajustes en el proyecto real y en la versión de destino, y comprobar la compatibilidad antes de incorporar a producción las funciones de la API experimental de Python.
Próximos pasos
Primero, abre la documentación de la API de Python de PCG para la versión de Unreal Engine que hayas elegido y compara las propiedades de ambas clases en esa versión. Después, modifica los ajustes de limpieza de puntos de control en una spline de prueba pequeña y observa el efecto en su forma. En la generación de mallas, revisa el descriptor, los parámetros y los límites de las anulaciones a nivel de datos. Antes de pasar a una escena de producción, verifica que las funciones estén disponibles y den el resultado esperado en la versión que utiliza el equipo del proyecto.
Fuentes y licencia
Esta guía se ha adaptado al turco a partir de la descripción de PCGCleanSplineSettings en la documentación de la API experimental de Python de Unreal Engine 5.7 y de la descripción de PCGSpawnSplineMeshSettings en la documentación de la API experimental de Python de Unreal Engine 5.5, ambas de Epic Games. Las dos fuentes son documentación oficial y en sus registros se indica que la licencia es libre.
Fuentes
2 fuentesNo republicamos los textos de las fuentes; las citas breves van marcadas y el resto es resumen y comentario propios.
Evaluar la limpieza de splines y la generación de mallas por segmentos dentro de un mismo flujo de producción puede facilitar la edición de elementos lineales repetidos. Para los equipos de arquitectura y archviz, el verdadero valor está en probar los ajustes según la escena y el propósito de la spline; la documentación no ofrece umbrales predefinidos ni mediciones de rendimiento.
A partir de estas fuentes no es posible determinar el coste inicial para oficinas y estudiantes de Turquía; tampoco se explican las condiciones de licencia ni los requisitos de hardware. Antes de tomar una decisión de producción, conviene tener presentes las diferencias entre versiones, en particular que la documentación de 5.5 y 5.7 describe clases distintas y que la API aparece en la documentación experimental de Python.
Preguntas frecuentes
¿Para qué sirve Unreal Engine PCGCleanSplineSettings?
Ofrece ajustes para limpiar puntos de control duplicados o innecesarios en tramos lineales de una spline. Los umbrales de distancia y ángulo determinan qué puntos entran en estos casos.
¿Cómo genera mallas a lo largo de una spline PCGSpawnSplineMeshSettings?
Crea un Spline Mesh Component para cada segmento de la spline proporcionada. La documentación describe ajustes como el descriptor de malla, los parámetros de la malla de spline y la carga simultánea.
¿Se pueden aplicar anulaciones de malla de spline por punto de control?
Según la documentación, por ahora las anulaciones solo admiten atributos a nivel de datos; las anulaciones por punto de control no funcionan.



