ynput / OpenPype

OpenPype has been surpassed by AYON and is now read only.
https://ayon.ynput.io
MIT License
286 stars 129 forks source link

Bug: Substance Painter not starting when Global Color Management System Enabled #5241

Closed LiborBatek closed 1 year ago

LiborBatek commented 1 year ago

Is there an existing issue for this?

Current Behavior:

When launching Substance Painter via Launcher it wont start due to global ColorManagement On.

image

Expected Behavior:

Should start normally even when global CMS being set ON.

Version

3.15.12-nightly.2

What platform you are running OpenPype on?

Windows

Steps To Reproduce:

  1. Turn on Global Color management system in OP Project Settings/ Global
  2. Launch Substance painter via OP Launcher

Are there any labels you wish to add?

Relevant log output:

No response

Additional context:

No response

[cuID:OP-6323]

moonyuet commented 1 year ago

(Sorry, I am overthinking, ignore my statement below)

I am not sure the pre-ocio-hook would work for SP, but it is probably the reason why SP not starting as expected. The way how the colorspace setting of substance painter works is a bit different from other dccs(and even Substance Designer). In other hosts like Maya or Houdini, you can set up the colorspace config o. But painter doesn't allow to do this. SP needs the user to set up the colorspace config while you are creating new spp project. (Take the screenshot below as references)

image

But when you have existing spp project, you can edit the colorspace config through "Edit->Project Configuration". And you can't click Project Configuration unless you have loaded spp project. Instead of setting up color config when starting new scene with pre-ocio-hook, I think it's better idea to add the action into the menu which allows to set up the correct ocio config, or setting up the correct ocio config when opening last workfile.

BigRoy commented 1 year ago

The error seems to be related to likely the Substance Painter settings schema not being set up correctly - I'll take a look. The OCIO env var works fine for Substance Painter by the way.