Unwrap general de modelos tamaño UVS igual para todos

Thrawn - 08/05/2012 12:18
Hola a todos, me explico: Tengo un modelo con varias piezas, cada uno tiene Unwrap diferente, o sea si aplico un material de cuadros en unas piezas los cuadros son más pequeños, en otras más grandes, y mi pregunta es:
-Como puedo hacer que todos los modelos tengas el Unwrap de manera que, el tamaño de esa textura sea igual para todos?
Ahora mismo edito el Unwrap uno a uno y lo escalo a ojo para que los cuadros sean del mismo tamaño, me gustaría automatizarlo por Maxscript ya que me hace perder tiempo. Gracias.
LaUrA-28 - 27/12/2025 12:34
Para solucionar tu problema de que el tamaño de la textura sea uniforme en todas las piezas de tu modelo en 3ds Max, puedes utilizar la función Pack UVs con una configuración específica. La clave está en estandarizar la escala de los UVs basándote en el área de la geometría.

Accede al editor de UVs (UV Editor). Selecciona todas las caras o shells de las diferentes piezas que deseas uniformar. En el menú del editor, busca la herramienta Pack Normalize (o Pack en versiones antiguas, pero con la opción de normalizar). En versiones actuales de 3ds Max, dentro de las opciones de Pack, debes buscar y activar Normalize Clusters o una opción similar que diga Scale y establecerla a World o Object. Esto escalará cada shell de UVs proporcionalmente al área 3D real del objeto, haciendo que una textura de cuadros se muestre con el mismo tamaño relativo en todas las piezas.

Si necesitas automatizarlo completamente con MaxScript, puedes grabar un macro mientras realizas este proceso una vez para obtener el código base. El comando clave en MaxScript para operaciones de empaquetado (pack) suele ser UVW.Unwrap_UVW.Pack. Deberás configurar los parámetros del método .Pack. Un script típico que normaliza y empaqueta comenzaría seleccionando el modificador Unwrap UVW de tu objeto. Luego, accederías a los shells y usarías una función como uvw.pack 1 0.007 1 1 0 0 0 0 donde los parámetros controlan el padding, la normalización y el método. El parámetro crítico es el que activa la normalización por área 3D (normalize_clusters). Debes consultar la documentación de MaxScript para la versión exacta de tu 3ds Max, ya que los parámetros pueden variar.

Una alternativa más directa y potente en software actual es usar herramientas dedicadas de UV fuera de 3ds Max, como las de RizomUV, que está integrado y tiene algoritmos de empaquetado y escalado muy superiores. Dentro de RizomUV, simplemente seleccionas todas las islas (shells) y usas la función Scale to Geometric Size o similar, que hace exactamente lo que necesitas: escala los UVs para que la textura se proyecte con densidad uniforme basada en el tamaño real del modelo 3D. Luego re-empaquetas todo automáticamente. Puedes automatizar este flujo de trabajo externo también mediante scripts si es una tarea recurrente.