Connect, learn, and get help texturing your 3D assets.
Recently active
In the Export Textures > Settings Window, the output map names are always cutoff, even when i expand my window to be very wide. I don't see why the text line doesn't just expand to show the whole name when there is plenty of space. This would improve clarity when preparing to export.
If I lay a ribbon path and I create another layer path that aligns over it it would be cool to group multiple overlapping child splines to folllow parent spline, then control those splines.
It would be great if we could have a getter/setter for the layer color tags.
Feature Request: Local Cage Offset Painting for BakingI'd love to see a Paintable Cage Offset feature in Substance 3D Painter, similar to Paint Offset in other programs.Currently, we can only adjust cage distances globally or import a custom cage. In many production scenarios, only a few small areas require additional projection distance. Being able to paint the cage offset directly on the low-poly mesh would:Reduce baking artifacts on complex assets. Eliminate the need to create custom cage meshes for minor issues. Speed up the baking workflow significantly. Work perfectly alongside the existing Skew Painting system.Ideally, artists could:Paint positive and negative cage offsets. Preview the offset cage live in the viewport. Blur/smooth the painted values. Rebake automatically while painting (similar to Auto Rebake). Store the offset map per Texture Set.This would make Substance Painter's baking workflow much closer to others programs while keeping everything inside Painter
I’m coming to here a little pissed off after losing FOUR HOURS of work because apparently for the last hours of texturing, I hadn’t noticed the small red text (usually covered by my taskbar) that was letting me know that I was NOT saving my file. So, eventually, when substance painter inevitably crashed like it always does, I lost SO MUCH PROGRESS. PLEASE for the LOVE OF GOD, make it so whenever the program is unable to save, it appears as a POPUP, so people like me who usually don't check the error messages will be able to fix the issue before it overwrites progress. Yes, you can argue that I should always be checking the error messages, but I would argue for an issue as big as the FILE NOT SAVING, that it deserves an error popup window. Thank you.
## SummaryPlease add a Python API to set the active brush color (Base Color and other channels) on Paint Layers.## ProblemCurrently, there is no way to set the brush color of a Paint Layer through the Python API in Substance 3D Painter. The available APIs allow:- Reading and writing **Fill Layer** uniform colors via `_substance_painter.source.set_source_uniform_color()` and `set_fill_source()`- Reading and writing **shader parameters** via `alg.shaders.setParameters()` (but this only covers shader-level params like sssColor, not the active brush color)However, there is no public or private API to set the **active brush's Base Color** that gets applied when painting on a Paint Layer.## Use CasesThis limitation blocks many useful tools and workflows:1. **Per-stroke color picker / eyedropper plugins** - Sample colors from the viewport, a reference image, or a baked map (World Space Normal, Position, etc.) and apply them as the brush color for each stroke. This is critical for stylized tex
Please add "Save and Compact" to the keyboard shortcuts menu so we can assign it a hotkey or overwrite the default Ctrl+S.Right now, the standard incremental save system balloons project files with dead data, making them way larger than they need to be. Often I’ll find files that are upwards of 800+MB that compress down to less than 100MB. The only way to purge this is by manually clicking through the file menu every time, because the action is completely missing from the shortcut settings.While I understand this isn’t the default as it can take longer on large files. I’ve found that for almost every file I’ve worked on it takes about the same length of time as saving normally. I work with other artists who constantly forget to do this manual step, which results in massive files that bloat our repos and seriously slow down our pipeline. If we could just tell the team to change their Ctrl+S shortcut to Save and Compact, this problem would be fixed immediately.It's incredibly frustrating
My biggest gripe with Substance Painter is not being able to isolate and view what an individual layer is doing. Once you have a lot of groups and layer stacks it becomes extremely combersome to toggle layers on and off. Could we utilize the drop down menu in the viewport that allows us to view individual maps and channels to give us not only a layer mask preview but the selected layer(s) as an option also? Better yet, just give us a node graph, please and thank you.
Hello Adobe Substance 3D Painter team,I would like to suggest a few features that I believe would significantly improve the hand-painted texturing workflow. One-click Color Picker Remove the confirmation click after using the Color Picker. When pressing P and clicking on a color, it should be selected immediately without requiring a second click to confirm. Hide Mesh Parts by UV Islands Add the ability to hide or isolate mesh parts based on UV islands. This would make it much easier to paint areas that are occluded by overlapping geometry without constantly changing camera angles or manually hiding meshes. Photoshop Live Connection Add a live connection between Substance Painter and Photoshop. This would allow artists to use Photoshop's advanced selection tools (such as the Lasso, Polygonal Lasso, Magic Wand, etc.) and have the changes update directly in Substance Painter. More Color Picker Layouts Add additional color picker interfaces, such as: Triangle color picker
Currently, the Texture sets are clearly distinct UV maps. This suggestion would add the possibility to merge those together at export, instead of having multiple sets of maps. EDIT : I've merged a similar user idea thread with this one. This way, the feature suggestion will have more upvotes, therefore more visibility on our side. This thread has been created in regards to a future QOL (Quality Of Life) release. We’re trying to prioritize users’ needs; therefore, your voice is very important! Please write your feedback below and don’t forget to vote for your favorite suggestions!All shared images are purely for visualization and not functional features.
The core of this proposal is simple: when a channel is toggled OFF, its blending mode and opacity values in the layer stack should be greyed out, allowing artists to instantly filter out visual noise.To maintain a seamless workflow, simply interacting with a dimmed slider should automatically re-activate the channel, sparing the user unnecessary clicks. Naturally, whenever a channel is actively driven (whether by the main layer, generators, or filters), its text must return to a bright, solid white.This minor refinement offers a massive quality-of-life boost, minimizing visual fatigue and making the interface communicate far more intuitively.Thank you.Max
Could Substance Painter add a feature to directly train a textured model into a Gaussian Splatting model and then export it?
Right now a very common workflow of mine is to create a masked fill layer to display a certain Visual like let’s say green slime across the entire suit of a ghostbuster.Once I set up the layer properties I define my mask by using generators, paint, and most importantly fills, because I can reposition or scale them later.In order to add a fill effect to my mask I drag it from the shelf onto the model, so I get a good starting point for the position. At the moment the only way I understand how to do this is to drag an alpha to the model, choose “Mask” from the pop up menu. This creates a new layer with the mask I actually want to be a part of the mask I was currently working on. So I need to scroll to the top of the layer stack, select the new mask, copy the effect, delete the new layer, scroll back down, select the mask I was working on and paste the effect.This procedure is most painful the first time around after which I will usually duplicate existing mask effects as a starting poin
I would like to be able to copy a path between the layer stack and the mask stack.At the moment, I can only copy and paste paths within the same type of stack, either layer to layer or mask to mask.But, for example, I use the ribbon path to create a lace border with base color, height, normal maps etc., now I have to paint off it’s edges in the mask stack if I want to merge it with the rest of my textures (it would be quite difficult if not impossible to create a perfectly matchingpath in the mask stack), if I could copy the same path into the mask I’d be done in a sec.Well, in many cases it can actually be easy to match path, but I mostly work with clothing and where there are folds involved it because very, very hard. The same is true when creating path effects of any kind (for example for edges effectgs): some are needed in a painting layer, others in a mask layer, but at the moment the path has to be redrawn for each stack.Being able to copy and paste paths between layer and mask s
I would like to have fast way to find necessary parameters and no scrolling over a whole tab.
Currently only regular layers support the very useful Drop shadow filter.I would like Drop shadow to work with Fill layers too because Fill layers are a much more flexible and non-destructive workflow
Hello Adobe Substance 3D Team,I would like to request a highly useful quality-of-life feature for the texture export pipeline in Substance 3D Painter.The Feature Idea:Please add a new official naming token (keyword) for the Output Templates, such as $textureSetSize or $textureSize. This token should dynamically output the texture resolution width chosen in the export window (e.g., 2048, 4096, etc.).Why this is needed (Use Case):When exporting complex assets with multiple texture sets, we often need to organize files hierarchically by resolution into subfolders. For example, a project folder structure might require something like this:$textureSet/$textureSize/$textureSet.basecolor(.$udim)This should automatically generate a clean, isolated directory structure on the hard drive, like:.../pants/2048/pants_basecolor_2048.exr .../helmet/4096/helmet_basecolor_4096.exr Current workaround and limitations:Right now, the application completely lacks any global built-in variable to get the textur
Many things done in a Python plugin can cause a C++ crash on exit. Fixing the crash is VERY difficult, as it happens once Python is finished so it can’t be caught by a Python Debugger or log message. The crash dialog on exit gives no hints as to what caused the crash, and the painter log doesn’t either. We need a way to know what from our scripting is crashing C++ on exit. This often occurs with events, connections, and UI elements. The only way to figure out what is causing the crash is bisecting your scripts line by line which is incredibly time consuming.
Hello. Many professional users need to be able to have 32k resolution in Painter like Marie. At least to output textures higher than 8k in Painter and render in rendering engines like Arnold.. Are there any plans for Painter to have this big update in the future?
Currently, the Polygon fill tool is very useful for editing base color and masks.I do not see an obvious technical reason why it can’t also affect Height, Roughness, Normal and other channels, as well as erase things.Please add this feature.
Why we have to deal with Designer ,IDs and functions and solve non-stop puzzles .Why It couldn’t work just like Blender where you pick things manually, link to special group and paint . Or like in 3dcoat where you shift click several brush dabs at once and scatter them randomly with random offset , rotation scale and whatever. All this simple ways have a key feature . you pick exactly what you currently need. Instant and easy. Doesn’t have to deal with atlas ranges or solve puzzles why something suddenly doesn’t work. Simple , direct and exact choice. Doesn’t have to save gazillion brush presets . Painter way is so exhausting. Maybe an option to select several files with suffixes like _col, _norm, _spec(with packed metall, roughness, AO and height in rgba ) in win explorer or whatever file manager and drop them to special brush list input. Atlas is so inconvenient when you need only specific things and easy quick add /delete option. Make Painter to build its ow
Many methods still need one to use javascript. Make js and Python 1:1 - so I don't have to write javascript, in python. See setProjectExportPreset/getProjectExportPreset In Python it seems impossible to set export preset settings without actually also exporting. Getting/Setting settings should be possible without side effects. Setting Output Template programattically, does not also update fileFormat field to match. ``` python import substance_painter.js as js js.evaluate(‘alg.mapexport.setProjectExportPreset(“MyPreset”)’) # MyPreset has fileFormat: tga js.evaluate(‘alg.mapexport.getProjectExportOptions()’) ``` Returns {'bitDepth': 8, 'dilation': 16, 'exportShaderParams': False, 'exportUSD': False, 'fileFormat': 'bmp', 'padding': 'Infinite'} If I do this through the UI, it will set the field to match the file format in the preset on the otherhand. No option to set File type to use same as template. “Based on output template” ```python >>> js.evaluate("alg.mapexport.getPr
For complex projects it would be a huge time saver to have on master scene and several other ones using it as a reference and save just the modifications, additions and deletions.Currently I have a rather sophisticated setup for a vehicle with 30 modifications (design variations). I thought I create a base scene primarily holding all the materials for normals, smoothness/roughness, height, opacity, etc. and then create a new Substance scene for every design, load the master scene as a reference into it, and build my color textures and materials. Save it, repeat with all the other designs. If I change something in the master scene the modifications are reflected in the other scenes as well.Sadly I had to find out that Substance Painter does not support this. Ok, so save some smart materials on disc and do it this way! Oh, Substance Painter does not support loading materials as references (if I update the file on disk all Substance scenes auto-update on load).. :(
After loading a scene ALL texture sets are enabled/visible. This drives me nuts in big scenes as I create sometimes very sophisticated setups and have several variants of a design in a single file. I thought I can write a script doing that for me, but no chance as what I found out not even Substance Painter itself can “touch” the visibility of the texture sets in a scene. It is assumed that after loading the user always wants all of them to be enabled. That is really poor. Every property the user can modify while the application is running should be saved in the scene file and fully restored after a program restart (or a scene reload)!
Remix with Firefly Community Gallery
Thousands of free creations to fall in love with and remix in Firefly.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.