Home Adobe Substance

Texturing in Substance Painter with Low-End Hardware[Guide]

interpolator
Offline / Send Message
fdfxd2 interpolator

I don't know if this constitutes spam or is in the wrong category but I wrote some things that maybe someone might be interested in

If you've got anything less powerful than an RX 570, Substance Painter is a massive pain to work with on any resolution over 1024 x 1024. Not pinning any blame on the Allegorithmic team, I don't think any amount of smart programming can help the fact that substance by design has to constantly update 5 1k/2k/4k maps on every stroke. That's always going to take some computing power. And besides, most people who can afford the $20/month it takes to use substance painter, probably have at least decent modern hardware to run Substance

But for the remaining ~40/20% that don't for a bunch of reasons, and maybe the remaining 150% that acquired substance through shadier means, for shame! :(, this guide is for you.

My Specs

  • CPU : AMD Ryzen 2400G 3.6 GHz 4C/8T
  • GPU : AMD Vega 11 Graphics
  • RAM : 2x Crucial 4GB 2400 Mhz DDR4
  • Monitor Resolution (in case this factors in somehow) : 1366 x 768

Check out the official performance guide

Getting the official advice out of the way...

  1. Only activate channels on fill layers that you actually use [source]
  2. Make sure the all the layers on top of the one you're modifying are hidden [source]
  3. If your PC is prone to crashing when exporting to 4k (like my old R7 240 + G2030 rig), Set the TDR Value to 1 [source]
  4. Setup your UV in a way that UV shells with the same materials will be close to each other [Source]

A more unconventional solution...

While doing these things will definitely make things more bearable. It's probably still taking you like 2 minutes to add a single stroke in 2048 x 2048, and 2048 x 2048 doesn't even look that good, you can only just hope that the barely legible clouds you're painting end up looking at least interesting once you export to 4k, 30 mins later.

Well sad news, there's not much else you can do to make substance painter more bearable in 2k however...

Here are some fun facts...
  • You don't necessarily need a bigger map to have a better texel density, you just need bigger UV Shells
  • Substance Painter can reproject strokes from one version of your mesh with different UVs or even geometry
  • Even your shitty PC can probably run Substance painter decently at 512 x 512/ 1024 x 1024
See where I'm going with this?

Yeah you do, you just need to break up your mesh into smaller pieces pieces with a higher texel density(preferably equivalent to the texel density those pieces would've gotten in 4k), and then import them one by one into substance, and you'll notice that each one is practically the same quality it would have had in 4k but with the working performance of a 1k scene. Then when you're done, project them back to the original mesh with the fancy UVs, make pain sacrifice to the algorithm gods so that the brush reprojection goes off perfectly without any hitch. And export in 4k.


That poorly written super paragraph probably made no sense, so let me get into it in more detail, with pictures and GIFs to mask my bad writing

English is my first language, I have no excuses for this :(

1. Prepration

Before doing any of these, export your mesh with the final UVs.
Then do the following for each individual chunk of your mesh, the size of the chunk being determined by whatever texel density is legible at 1024 x 1024 or if your pc is really old, 512 x 512
  1. Pack the chunk as if no other chunks are there.
  2. Reset the UVs of every other chunk
  3. Resize those UVs and put them in any corner that doesn't overlap with the main thing
  4. Export as an FBX, make sure the scale is consistent, and "selected objects" is ticked
Repeat for all the other chunks.

2. Get Texturing

You can either create a new file or replace the mesh of a current one if you already started. (I'd recommend doing a back up fire though, just in case)

In my case I already started and I can't be arsed to start over so if you're like me, go to "Edit > Project Configuration..." and hit the "Select" button next to file, then select the fbx you want to start "focus texturing" on.


I've decided to start with my ACOG


Upon switching you'll notice that everything that's not the currently selected chunk is some kind of demonic distorted mess. Don't worry all the brush strokes and smart materials should transfer back after you load in the complete mesh,

The reason the chunk wont look very nice is because you have to rebake it, don't bother getting fancy with 2048 x 2048 or 8x AA, just do a simple 1024 x 1024 bake with 2x AA

After you're happy with the texturing of the chunk, go ahead and swap in the chunk for another chunk, through the same "Edit > Project Configuration..." menu, Just make doubly sure "Preserve strokes on mesh" is ticked

3. Reprojection & Export

After all the chunks have been textured, go to the project configuration menu and then import in your properly UV'd "final" mesh

re-bake with 4096 x 4096 with 4x AA (8x if you can handle it) and iron out any errors that may have been caused by the reprojection


Then once that's done, you know what to do, hit Ctrl + Shift + E then export in 4k. Get some tea or something and try not too think too much about the possibility of it crashing

So that's it, a very long cumbersome process but it's really the only way to get the same quality of art as someone comfortably texturing on their nice GTX 1050 or something

Things you'll never be able to do

  • Using particle brushes
  • Using that Photoshop live link
  • Exporting in 8k
  • Open the .spp files of the 3D bourgoise
  • Using any of the more complicated materials
cope

Things that seem like they'd cut down on some steps, but don't actually

  • Having all the chunks have different materials, seems like it would save the hassle of having to constantly switch meshes but then substance has no way to merge texture sets without resorting to a somehow even jankier method and would probably result in more inconsistencies.
  • Deleting the non chunk bits instead of reseting their uvs and putting them in a corner, for whatever reason, substance refuses to project strokes if there isn't a mesh there at the moment you import. You'll get an error if you do this.

Replies

  • Udjani
    Offline / Send Message
    Udjani greentooth
    This is giving me some flashbacks man, until the beginning of this year i had a ''2 duo/1x 4gb ram/gt 630'' and a 720p screen that had warm colors on top, and cool color at bottom for some reason KEKW. But with that config i could already have a couple dozen layers in 2k and use particles brushes, with lag of course. 

    Also an advice for people living in third world countries like me, maybe you can buy substance pack on steam, substance stuff and marmoset toolbag have regional pricing so if you get them on sale they can be pretty cheap. I was only able to afford them thanks to GabeN (and algorithm for keeping the regional pricing)

    Hope you get a better pc soon, no one deserve this. :/

  • poopipe
    Offline / Send Message
    poopipe high dynamic range
    Solid advice,  although combining texturesets can be done non destructively in designer and is a very good idea. 

    Some other things... 

    Clone brushes make stuff slow

    99% of suppled or downloaded smart materials are horribly slow and needlessly complex - make your own surfaces.

    Clean the project often.

    Dont import resources to your project, import to session or the shelf if you know you want them long term

    Avoid materials that react to baked maps. It's faster to have several layers and use masks that react to the baked maps to apply your effects. 
Sign In or Register to comment.