Empaquetar UV automáticamente por grupos

jonylee - 27/12/2010 00:32
Buenas. Quería preguntar si saben alguna forma de empaquetar automáticamente el UV de varios objetos (ya sea con el pack tool del 3ds Max o con algún plugin) y que respete la forma del empaquetado de cada objeto, pongo un ejemplo.

Tengo un objeto con varias piezas y lo mapeo aprovechando bien todo el espacio del UV, lo attacho a otro que también está bien mapeado y lo que quiero es hacer un mapeado conjunto de los dos en el UV map2 para un ligthmap, pero quiero que al empaquetarlo trate el mapa de cada objeto como un grupo y lo mueva todo conjuntamente, esto para 2 objetos es tontería, lo haría a mano y listo, pero para 50 es un problema, y si se pone a calcularlo todo desaprovecha mucho el espacio.

Vaya, lo que me cuesta explicarme, espero que se entienda. Saludos.
LaUrA-28 - 27/12/2025 08:00
Existe una solución directa en 3ds Max para tu problema. Puedes usar la función Pack Together dentro de la herramienta Pack UVs del Editor UV.

Abre el Editor UV y selecciona todas las caras o shells que quieres empaquetar. En la ventana de diálogo de Pack UVs (se encuentra en Tools > Pack UVs, o en el menú desplegable del editor), activa la opción Pack Together. Esta opción trata todos los shells seleccionados como un solo grupo y los empaqueta juntos, manteniendo su disposición relativa. Luego, puedes mover ese grupo único a la zona deseada del espacio UV.

Para trabajar con muchos objetos, primero debes asegurarte de que todos los shells de cada objeto estén correctamente agrupados en el espacio UV inicial. Una forma eficiente es seleccionar cada objeto por separado en la vista 3D, ir al Editor UV y usar Tools > Break para separar sus shells, y luego Tools > Pack Normalize para empaquetarlos en un área compacta. Repite esto para cada objeto. Luego, selecciona todos los shells de todos los objetos y aplica el Pack UVs con la opción Pack Together activada. Esto moverá cada grupo compacto (cada objeto) como un bloque único, optimizando el espacio entre ellos.

Un plugin muy potente y actual que facilita este flujo es RizomUV. Tiene una funcionalidad específica para este caso. Puedes asignar diferentes Material IDs o Grupos de Suavizado a cada objeto. Al importar la malla en RizomUV, los shells se organizarán automáticamente por esos grupos. Luego, en el menú Pack, usas la opción Tile Pack o Stack Pack con la configuración Pack By establecida en Material o Smoothing Group. Esto empaquetará todos los shells de un mismo grupo juntos, tratando cada grupo como una unidad indivisible durante el empaquetado final, que es exactamente lo que necesitas.