docs.unity3d.com
Version: 

    Export textures

    Using Pixyz, 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 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…

    Supported image formats

    Import

    Name Extensions
    Windows bitmap .bmp
    Portable image formats .pbm .pgm .ppm
    Sun raster .sr .ras
    JPEG .jpeg .jpg .jpe
    JPEG 2000 .jp2
    Portable network graphics .png
    TIFF .tiff .tif
    HDR .hdr
    KTX2 .ktx2

    Export

    Name Extensions
    JPEG .jpeg .jpg .jpe
    Portable network graphics .png
    KTX2 .ktx2

    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.


    See Preferences settings. By default Pixyz is set to:

    pxz.core.setModuleProperty("IO", "FbxEmbeddedTextures", "False")
    

    Learn more

    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]")
    
    Version 2024.2.2.1
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX.