12-21-2018, 04:43 PM
Hi guys,
many of the models I work on are for use within an old WWII open-world naval game that allows objects to have two sets of UV coordinates, one of the two sets being used for diffuse / specular / normal maps and the other for ambient occlusion maps. When set appropriately, diffuse and AO textures are blended by the game shaders, hiding the seams and the repetitiveness of diffuse textures and giving a nice volumetric effect to the game models. Nonetheless, for the importer being able to import the two sets of UV coordinates, they must be stored in two identical objects (except for UV coordinates indeed): vertices, normals and XYZ/UV face definitions must be identical and they must be stored exactly in the same order within the two obj files to be imported, otherwise the import fails, or the perfect matching of the two textures gets distorted.
When I don't create my meshes from scratch, the models that I typically start from have an overlapping UV projection, useful for diffuse texturing but not for AO baking. So, I have to duplicate them and re-arrange the existing UV projection. Doing that manually for a complex model can be a long and boring task, but I never found in Wings3D a way to automate the process. Indeed, I can "force" a new auto-UV mapping, letting Wings to redo the unwrapping and to arrange UV segments in a way that they don't overlap with each other, but this process destroys old segments and creates new ones, thus making the new projection unusable for my modding purposes.
So my question is: within Wings3D, is there any way to re-arrange / re-scale automatically an UV projection so that its segments don't overlap and that they fit the UV space as best as possible (as it happens after a regular auto-UV-mapping), but without disrupting the old segments? And if not, how difficult would be implementing such a feature in one of the next Wings releases?
many of the models I work on are for use within an old WWII open-world naval game that allows objects to have two sets of UV coordinates, one of the two sets being used for diffuse / specular / normal maps and the other for ambient occlusion maps. When set appropriately, diffuse and AO textures are blended by the game shaders, hiding the seams and the repetitiveness of diffuse textures and giving a nice volumetric effect to the game models. Nonetheless, for the importer being able to import the two sets of UV coordinates, they must be stored in two identical objects (except for UV coordinates indeed): vertices, normals and XYZ/UV face definitions must be identical and they must be stored exactly in the same order within the two obj files to be imported, otherwise the import fails, or the perfect matching of the two textures gets distorted.
When I don't create my meshes from scratch, the models that I typically start from have an overlapping UV projection, useful for diffuse texturing but not for AO baking. So, I have to duplicate them and re-arrange the existing UV projection. Doing that manually for a complex model can be a long and boring task, but I never found in Wings3D a way to automate the process. Indeed, I can "force" a new auto-UV mapping, letting Wings to redo the unwrapping and to arrange UV segments in a way that they don't overlap with each other, but this process destroys old segments and creates new ones, thus making the new projection unusable for my modding purposes.
So my question is: within Wings3D, is there any way to re-arrange / re-scale automatically an UV projection so that its segments don't overlap and that they fit the UV space as best as possible (as it happens after a regular auto-UV-mapping), but without disrupting the old segments? And if not, how difficult would be implementing such a feature in one of the next Wings releases?