Design the future of fashion, win Firefly Pro 👗✨
Connect, learn, and get help texturing your 3D assets.
Recently active
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)!
I wrote a plugin that mimics the layer composition system of Photoshop. It works fine, but has a issue that shouldn’t be one: In a big scene with 544 layers the script handles all of them one by one, so it creates tons of undo steps flooding my memory. After three and more runs Substance Painter is super slow (and I have a very strong computer!).I can’t believe that neither can I limit the undo steps like in every other application I know for decades within the preferences, I also have no Python API access to it to handle it while the script is running (like disabling undo and re-enabling it later, etc).
Im making assumptions on how some of the projection works but i think most of the projection is dealing with vectors.What id want is a way to reproject by topology where the topology is the same but the proportions might have changedIt would recalculate the difference in the projected stroke vector by checking against the changes between the old mesh and the new one. Since the topology/vertexorder is the same a deformation field can be calculated off of the vertices that are present through something like inverse distance weighting with which you can then recalculate the new projections.I`m sure its not as trivial as i make it sound but if anything like this would exist it would be a really powerful tool.
A few key features in substance 3D painter makes it frustrating to try to hand paint in the program, notably around the color picker. The fact that the color palette needs to be open to use the color picker leads to annoying scenarios, especially since it closes automatically when switching from brush to eraser and back. It would be nice to be able to dock the color picker, or if it just stayed open.Also, it’s really annoying that the color picker always open at the same spot on the screen, especially when using dual monitors. I often use my main monitor to create the base layers and generators, then move the window to my tablet to paint over it, but then the color picker always pops on my main monitor and I have to get my mouse to drag it back to the tablet. This combined with the fact that it closes when switching tool is really disrupting. The only fix I could find was to close the program and reopen which is not ideal.Thirdly it would be nice to hide the brush cursor when picking a
I would like to be able to just hit a key to toggle my brush to material picker quickly, as when painting Normals and AO it is tedious to keep switching between the picker and the brush from the toolbar, especially on these gradient sensitive maps. This feature would improve workflow incredibly when adjusting these items. Photoshop, Illustrator etc all do this very quickly, but I was surprised that Substance does not.
The ability when creating the project or reimporting a mesh to specifiy which UV channel to use for texturing/baking. Our techical dept has set up engine shaders that use UV1 for masks created in substance painter using baked data. The current workaround of exporting a seperate bake only mesh with the UV1 moved to UV0 creates a large amount of extra mesh files and can become hard to manage.
In my project, adding layer masks, applying filter effects and adjusting the color levels are very frequent actions. Could we add custom shortcuts only within the layers?If it's customizable, please let me know. Thank you.
Current builds of Substance Painter 3D on Windows do not support handling paths longer than 260 characters (Windows MAX_PATH limit). Starting with Windows 10, version 1607, MAX_PATH limitation can be lifted. However, this is an opt-in behaviour applications must explicitly subscribe to. https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later Could future builds of Substance Painter 3D implement this new Windows feature, thus removing the limit on paths length? Thank you ⭐
Would like to see the ability to adjust the UI scale while in app. Substance painter UI scale in app. I don't even use a 4K monitor and the text is so small. This capability should be in all of Adobe apps. I stopped using Subtance Painter for over a year because the UI is just too small even after scaling up windows. I never had a problem with the UI of any Substance apps (Painter, and Designer) before Adobe aquired Substance. Thank you!
We have multiple in-house tools that utilize the python API and automate portions of the texturing or setup process. Being able to import splines generated from Maya into Painter to be used for path/ribbon tools would allow for a lot of powerful additions to our toolset. A simple example would be generating a spline from the intersection of metal pieces in Maya and then bringing it into Painter for automatic weld seams with the ribbon tool.
The Python API has always had the ability to load and save files, but no way to read write or use the Recent files. Unless it is undocumented or somewhere else besides the substance_painter.project module. For now, someone needs to create their own UI or Recent File list if a pipeline tool is created for saving projects. Pythin API Function Request:- Ability to read the list of Recent Files.- Ability to add to or edit the list of Recent Files.- Saving or Loading either adds to the Recent Files, or that the open/save/save_as functions offer a save to recents flag/option.This would make wrangling projects so much easier.Thanks again for the fantastic integration
When iterating textures, it becomes time-consuming to repeatedly export each texture set into its own directory. Currently, exports are limited to a single output directory per export, which means I need to re-export each texture set separately into its respective folder. This becomes a time sink for any project with multiple texture sets.It would significantly improve workflow efficiency if we could create multiple “General Export Parameters” templates, each with: its own output directory an assigned texture set After setting these up once, re-exporting could be done with a single click while automatically routing each texture set to its correct folder.This would streamline iteration-heavy pipelines where textures are frequently re-exported.If there are technical or compatibility reasons this hasn’t been implemented, I’d also appreciate insight or recommended alternatives.Thanks!
# you can leverage the Javascript API to easily export masks to files# but the code below ONLY works for scenes that are NOT using UDIMs# it would be nice if it just worked for scenes with UDIMs as well# there does not seem to be an easy way to do this through# the Python API export module unless I am missing somethingimport substance_painter as spimport posixpathdefault_export_path = sp.export.get_default_export_path()image_format = "png"current_stack = sp.textureset.get_active_stack()texture_set_name = current_stack.material().nameselected_layers = sp.layerstack.get_selected_nodes(current_stack)for layer in selected_layers: layer_name = layer.get_name() export_filename = f"{texture_set_name}_{layer_name}_mask.{image_format}" export_path = posixpath.join(default_export_path, export_filename) export_path_str = f'\"{export_path}\"' mask = "mask" data_path_str = f'[\"{texture_set_name}\", "", \"{layer_name}\", \"{mask}\"]' javascript_code = "alg.mapexport.save("+data
Expose all of the highlighted functionality available through the UI to the Python API.
Hi, hope you’re good 👍🏾I’d like to request an option to point at a specific After Effects installation for the Export > Send to After Effects command.Use case is that I have a bunch of different versions installed for older project/plugin compatibility reasons, plus I’m working in the AE Beta for testing most of the time. The current functionality seems to automatically send to the most recent release version, and it would be a big timesaver to be able to specify which version of AE to send to, especially as this command can generate just and GLB file without all the maps as well.I’d imagine the most straightforward place to put this would be in the config options for Send to AE - there could be a dropdown with all the recognised installations, and a checkbox to enable selecting a version manually.With all the good work that the AE team are doing with substance and 3D integration right now, having this flexibility would offer quite a big quality of life upgrade.Cheers!
The UDIM numbers are not useful for game engines, yet they are essential for painting and baking across multiple parts of the mesh in Substance Painter. Instead of having to look up what part 1004 is, it would be nice if I could export it with the name I put on the tile within Substance Painter.
allow multi axis mirroring. I think it would be better in fact to just remove mirroring at all and have it as an effect, which gives better control and avoid having to repaint if your forgot to put the mirror on, or remove the mirrored side if you decide it is better but have to use some workaround as the mirror is destructivefor example texturing a sword, I may need to reflect details to the other side and back for the blade, which is impossible and I need to use a lengthy workaround such as using shared uv space and then baking or something else, which is not really ideal... would much appreciate an update like this..
Remix with Firefly Community Gallery
Thousands of free creations to fall in love with and remix in Firefly.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.