Exporting Textures
In Pixyz Studio, it is possible to define if textures should be exported as PNG or JPEG files, with a parameterization of image quality for JPEG, and image compression for PNG.
Indeed, Data Preparation is not only about mesh optimization. Texture maps (whether they were imported in Pixyz Studio or generated through a baking process) can also be optimized in order to be lighter, while having a control over their quality.
Almost all export formats handled by Pixyz support the export of textures, whether they are embedded or as separate files: FBX, glTF, OBJ, USDZ, etc.
Note
Not all textures will be exported as the output format may not support all map types (or none at all), like Normal maps, Opacity maps, NPOT maps…
Embedded vs Not embedded textures
When exporting a 3D model that uses textures, depending on the format used to export, textures can be embedded within the file, or saved separately:
- Embedded: .fbx, .glb, .usdz, .jt, .3dxml
- Separate files: FBX, .gltf, obj, .usda, .usdc, .vrml
The FBX format has an export parameter Fbx Embedded Textures to define whether textures should be exported as embedded within the FBX file (default), or separately.
Go to Preferences (F9) > IO > Export > FBX
How To
To define how textures are exported from Pixyz Studio, select Preferences (F9) > Material > Texture export.
Fine-tune the exposed parameters to your liking:
Export Texture Format parameter
Choose between PNG (default) and JPEG as the default texture export format for Pixyz Studio.
Important
- When saving a file from the Texture Editor, the extension can be chosen from the Export texture dialog box (overriding Pixyz Studio's general preference)
- When exporting a file in script, using the function material.exportImage(), the extension can be chosen in the Filename path.
With the 2 methods, the Quality and Compression used are the ones defined in the Preferences.
JPEG Quality parameter
Defines the Quality of the textures saved as JPEG files. Choose between 0 and 100 (the higher is the better), 95 being the default value
PNG Compression parameter
Defines the level of compression for textures saved as PNG files, from 0 to 9. A higher value means a smaller size and longer compression time
Note
The JPEG format is lossy by definition, even if the quality level is set to 100. With the PNG format, even with the highest compression level the image is saved/loaded lossless. However, the saving/loading time increases with higher compression. The compression level is a trade-off between file size and encoding/decoding speed
Scripting
These parameters can be set in a script using the following commands:
core.setModuleProperty("Material", "ExportTextureFormat", "JPEG")
core.setModuleProperty("Material", "JpegQuality", "[95, 0, 100]")
core.setModuleProperty("Material", "PngCompression", "[1, 0, 9]")