Skip to main content
michaelh20550166
Participant
July 21, 2022
Question

Export 8K textures via Python API

  • July 21, 2022
  • 1 reply
  • 493 views

We would like to automate our texture exports from Painter via Python.

This works well via substance_painter.export.export_project_textures(settings).

The `settings` look something like this:

{
  exportPath: "C:/test/",
  exportShaderParams: false,
  defaultExportPreset: "My_Preset",
  exportPresets: [{
    name: "My_Preset",
    maps: [{
      fileName: "/v001/asset_test/asset_test_v001_color(.$udim)",
      channels: [
        { destChannel: "R", srcChannel: "R",
          srcMapType: "documentMap", srcMapName: "baseColor"},
        { destChannel: "G", srcChannel: "G",
          srcMapType: "documentMap", srcMapName: "baseColor"},
        { destChannel: "B", srcChannel: "B",
          srcMapType: "documentMap", srcMapName: "baseColor"}
      ]}, {
        fileName: "/v001/asset_test/asset_test_v001_metalness(.$udim)",
        channels: [{
          destChannel: "L", srcChannel: "L",
          srcMapType: "documentMap", srcMapName: "metallic"
        }]
      }, {
        fileName: "/v001/asset_test/asset_test_v001_normal(.$udim)",
        channels: [
          { destChannel: "R", srcChannel: "R",
            srcMapType: "virtualMap", srcMapName: "Normal_OpenGL"},
          { destChannel: "G", srcChannel: "G",
            srcMapType: "virtualMap", srcMapName: "Normal_OpenGL"},
          { destChannel: "B", srcChannel: "B",
            srcMapType: "virtualMap", srcMapName: "Normal_OpenGL"}
        ]
      }]
  }],
  exportParameters: [{
    parameters: {
      fileFormat: "exr",
      bitDepth: "32f",
      dithering: false,
      paddingAlgorithm: "infinite"
    }
  }],
  exportList: [{
    rootPath: "asset_test",
    exportPreset: "My_Preset"
  }]
}

 What we're missing now is a resolution setting. We tried adding it to exportParameters.parameters like this:
resolution: { width: 8192, height: 8192 }
but that doesn't work. Any hints?

This topic has been closed for replies.

1 reply

michaelh20550166
Participant
October 11, 2022

In version 8.2.0, this works:

exportParameters: [{
    parameters: {
      fileFormat: "exr",
      bitDepth: "32f",
      dithering: false,
      paddingAlgorithm: "infinite",
      sizeLog2: 13
    }
  }]

It's still not possible to set individual texture set resolutions to 8K via the UI or substance_painter.textureset.set_resolutions. Any change the max allowed resolution could be bumped up to that?