Substance Painter 1.x

Substance Painter 1.x

View Stats:
Hitpawz Jan 7, 2015 @ 2:58pm
Export to .PSD is uh...
...pointless to say the least. I see what you guys are doing, but you've literally saved the users about 10 seconds of work per project since all it does is just put each channel into a layer group in the same image. But the layers from painter are flattened.

It was never an issue to open all of the channel files separately in Photoshop and simply copy/paste or drag them to the same document to make alpha channels.

All you've accomplished is a very minor organizational convenience. Don't look at Photoshop files as a way to store multiple images. You don't do that for your photo albums right? Photoshop is designed around layers as working parts, not just placeholders.

I was expecting the export to .PSD feature to preserve the layers and the masks that are present within Painter itself. THIS would save us umpteen minutes at a time, leading to hundreds of hours in the long run.

Not only that, but if you could accomplish a "back and forth" workflow between photoshop and Painter where you could import and export entire channels from layered photoshop files and maintain layers throughout both directions, you would open the doors for a ridiculously efficient workflow.

Example:
I have a pistol with a diamond grip pattern.

I projected the pattern to the height channel and then masked it as best as I could.

Even with lazy mouse, my masking isn't great (and I have excellent pen control as a 30 year illustration vet). Needless to say, I have to fix it in Photoshop. More to the point, I WANT to fix it in Photoshop.

What actually makes a great mask is using the pen tool in Photoshop with bezier curves. In that case it's tuned and flawless.

To get the layer and the mask out of painter, I have to...
1. Turn off all other layers
2. Turn off the mask in painter
3. Export the channel
4. Open the file in Photoshop
5. Save the file as a different name (or #7 overwrites it)
6. Turn the mask back on in painter
7. Export the channel
8. Open the new file in Photoshop
9. Copy that new file to the old one as a new layer
10. Fix my mask

(this is also based on the assumption that the base layer information (not the mask) is a continously filled in image)

Compare this to the workflow if Painter exported each channel as a separate .PSD and preserved layers and masks.
1. Export the channel
2. Fix the mask

(this would be irregardless if the layer information was contiguous or not)

I am merely one user but I am emploring you guys to make this a focus. Interoperability between the single most used painting application to ever grace existance could only ever serve to make this app a more desired platform for 3D artists than it is.

Again, it's still great. I still love it. I still recommend it and I still fully appreciate it. I just want this thing to be everything it has the potential to be and it's SO close to that from the start. It can't be that much of a leap to make this application flawless. In that case, artists would actually be making a literal mistake to use any other program and I'd imagine you guys would be billionaires.
< >
Showing 1-4 of 4 comments
Jerc  [developer] Jan 7, 2015 @ 4:37pm 
Building a PSD exporter is actually much more complicated than it looks like at first glance.
Substance Painter channels all use different color space and bit depth. The height map even uses negative values, which Photoshop can't handle. Merging all this information in a single PSD file is tricky to say the least.
The current PSD export was a specific request from some of our AAA customers.
We do have plans to make a full PSD exporter happen at some point though, but it requires a lot of thinking and engineering to make it work flawlessly.
Hitpawz Jan 7, 2015 @ 8:07pm 
I understand and don't make any attempts to claim I know all the ins and outs. I CAN tell that you could study Quixel Suite to see how they do it, as that is 100% Photoshop based. Boiled down, that application literally does nothing but apply actions and filters to layers.

I know Photoshop doesn't handle negative values but really neither does anything else. All you need to do is set a 0.5 value as the 0 point and that's all there is to it. I assumed that's what Painter was actually doing in the background and am confused as to why you would do it any other way. I'm somewhat at a loss of explaination as when I export a height channel, that's what I'm getting anyway...a traditional 0-255 range of colors (black to white). -255 to +255 is unnecessary.

As for color and bit depths, simply export all layers at whatever the highest layer dictates. I use this for games and most engines don't take 32bit or even 16bit per channel images anyway, so an 8bit conversion is I think the most common result. Either way, even if Painter MUST export to a higher bit per channel than the user's output can handle, you've given them a .PSD where it's a flip of a switch to adjust.

I was actually going to include the comment that I can't see how this would work with the normal map exports as you would definitely have to go in and set it up like DDO where the layers are grouped, copied and applied with several bevel and emboss filters with the appropriate colors. (3 in total I believe) All of that having to be grouped so that it can be set to overlay to blend properly with the original normal map.

HOWEVER, you guys don't need that at all as you have the height channel and SP is kind enough to combine the normals together for us. I can't think of a reason I would need the normal map to be separated by layers when I can just use the heightmap and run xnormal or DDS plugin myself should I find I need to add to it.

Again, I'm not going to claim that it's easy. I am, however, going to fully stand behind my claim that it's necessary and well worth the effort. I'm glad to hear you guys are planning on at least looking into the option.
Jerc  [developer] Jan 8, 2015 @ 9:15am 
We agree on the fact that it's worth the effort then :)
Splort Feb 2, 2015 @ 6:56pm 
I found this thread by searching for "PSD" after finally getting a chance to try the latest update, and I thought I was missing something when I discovered the PSDs discarded the useful layering information (basically the entire point behind the PSD format), instead treating the PSD format as an alternative to a simple Windows folder.

Am I correct that the only thing the PSD exporter does is effectively run the "Load files into stack" script that comes with Photoshop and comps a bunch of flat textures into PSD layers? I'm almost at a loss for words at how you can claim support of PSD exporting in your updates if that's really all it does.

From an implementation standpoint, I'm still not seeing how exporting these layers is that big of an ordeal? It should be fairly straightforward to tell different material types how to normalize their data (shifting the -255 through +255 values in the bump layers to 0 through 255 with 128 as the midpoint) and then having an internal script that just runs through isolating layers and exporting them into temp files that can then be comped together into a PSD akin to what you're doing now.

Heck, you could give user control to the normalization values as well in case a particular project someone is working on is doing something funky, so there'd be a set of inputs in the PSD exporter for how they want Base, Height, Roughness, Metallic, and Normal maps to be normalized. Give the user the option to choose their own bit depth if that's an issue as well, so they could choose to keep all the values you're working with in a 16 or 32 bit PSD or drop down to 8 bit if they don't care (or like Hitpawz suggested, simply use the highest bit depth necessary to ensure nothing is lossy).

But seriously, given that texture exporter scripts for Photoshop already exist that simply churn through PSDs by enabling and disabling layer visibility and then saving the resulting visible document, I can't fathom how this would be so difficult. Turn off visibility for all but one layer, grab its mask and plug that into the alpha channel and then kick out a TIFF or 32bit TGA (or if the separation between mask and alpha channel is too hard, just generate new images for the masks themselves), then just have a version of your existing PSD exporter run through and comp them together. Obviously you'll lose the dynamism of some of the effects you have in Painter now, but anyone porting to Photoshop will be aware the programs don't function the same and those effects will be flattened.
Last edited by Splort; Feb 14, 2015 @ 4:43pm
< >
Showing 1-4 of 4 comments
Per page: 1530 50

Date Posted: Jan 7, 2015 @ 2:58pm
Posts: 4