Source image
- Substance 3D home
- User guide
- Glossary
- Getting started
- Interface
- Interface
- Customizing your workspace
- Home screen
- Main toolbar
- Preferences
- Explorer
- Graph view
- Library
- Properties
- 2D view
- 3D view
- Dependency manager
- Resources
- Resources
- Importing, linking and new resources
- Bitmap resource
- Vector graphics (SVG) resource
- 3D scene resource
- AxF (Appearance eXchange Format)
- Font resource
- Warnings from dependencies
- Substance graphs
- Substance graphs
- Substance graph key concepts
- Creating a Substance graph
- Exposing a parameter
- Graph parameters
- Inheritance in Substance graphs
- Output size
- Values in Substance graphs
- Publishing Substance 3D asset files (SBSAR)
- Exporting bitmaps
- Exporting PSD files
- Sample Substance graphs
- Warnings in Substance graphs
- Nodes reference for Substance graphs
- Nodes reference for Substance graphs
- Atomic nodes
- Node library
- Node library
- Texture generators
- Texture generators
- Noises
- Noises
- 3D Perlin noise
- 3D Perlin noise fractal
- 3D Ridged noise fractal
- 3D Simplex noise
- 3D Voronoi
- 3D Voronoi fractal
- 3D Worley noise
- Anisotropic noise
- Blue noise fast
- BnW spots 1
- BnW spots 2
- BnW spots 3
- Cells 1
- Cells 2
- Cells 3
- Cells 4
- Clouds 1
- Clouds 2
- Clouds 3
- Creased
- Crystal 1
- Crystal 2
- Directional noise 1
- Directional noise 2
- Directional noise 3
- Directional noise 4
- Directional scratches
- Dirt 1
- Dirt 2
- Dirt 3
- Dirt 4
- Dirt 5
- Dirt gradient
- Fluid
- Fractal sum 1
- Fractal sum 2
- Fractal sum 3
- Fractal sum 4
- Fractal sum base
- Fur 1
- Fur 2
- Fur 3
- Gaussian noise
- Gaussian spots 1
- Gaussian spots 2
- Grunge concrete
- Grunge Damas
- Grunge galvanic large
- Grunge galvanic small
- Grunge leaks
- Grunge leaky paint
- Grunge map 001
- Grunge map 002
- Grunge map 003
- Grunge map 004
- Grunge map 005
- Grunge map 006
- Grunge map 007
- Grunge map 008
- Grunge map 009
- Grunge map 010
- Grunge map 011
- Grunge map 012
- Grunge map 013
- Grunge map 014
- Grunge map 015
- Grunge rough dirty
- Grunge rust fine
- Grunge scratches dirty
- Grunge scratches fine
- Grunge scratches rough
- Grunge shavings
- Grunge splashes dusty
- Grunge spots
- Grunge spots dirty
- Liquid
- Messy fibers 1
- Messy fibers 2
- Messy fibers 3
- Microscope view
- Moisture noise
- Perlin noise
- Plasma
- Caustics
- Voronoi
- Voronoi fractal
- Waveform 1
- White noise
- White noise fast
- Patterns
- Patterns
- 3D linear gradient
- 3D volume mask
- Alveolus
- Arc pavement
- Brick 1
- Brick 2
- Brick generator
- Checker 1
- Cube 3D
- Cube 3D GBuffers
- Fibers 1
- Fibers 2
- Gaussian 1
- Gaussian 2
- Gradient axial
- Gradient axial reflected
- Gradient circular
- Gradient linear 1
- Gradient linear 2
- Gradient linear 3
- Gradient radial
- Height extrude
- Mesh 1
- Mesh 2
- Panorama shape
- Polygon 1
- Polygon 2
- Scratches generator
- Shape
- Shape extrude
- Shape mapper
- Shape splatter
- Shape splatter blend
- Shape splatter data extract
- Shape splatter to mask
- Splatter
- Splatter circular
- Star
- Starburst
- Stripes
- Tile generator
- Tile random
- Tile random 2
- Tile sampler
- Triangle grid
- Weave 1
- Weave 2
- Weave generator
- Filters
- Filters
- Adjustments
- Adjustments
- Apply color palette
- Auto levels
- Channel mixer
- Chrominance extract
- Clamp
- Color match
- Color to mask
- Contrast/Luminosity
- Convert to linear
- Convert to sRGB
- Create color palette (16)
- Grayscale conversion advanced
- Hald CLUT
- HDR range viewer
- Height map frequencies mapper
- Highpass
- Histogram compute
- Histogram equalize
- Histogram range
- Histogram render
- Histogram scan
- Non-uniform histogram scan
- Histogram select
- Histogram shift
- ID to mask grayscale
- Invert
- Lighting cancel high frequencies
- Lighting cancel low frequencies
- Luminance highpass
- Min max
- Modify color palette
- Pow
- Quantize color (Simple)
- Quantize color
- Quantize grayscale
- Replace color
- Replace color range
- Threshold
- View color palette
- Blending
- Blurs
- Channels
- Effects
- Effects
- 3D texture position
- 3D texture SDF
- 3D texture surface render
- 3D texture volume render
- Ambient occlusion (HBAO)
- Ambient occlusion (RTAO)
- Anisotropic Kuwahara color
- Anisotropic Kuwahara grayscale
- Bevel
- Bevel smooth
- Cross section
- Curvature
- Curvature smooth
- Curvature sobel
- Diffusion color
- Diffusion grayscale
- Diffusion UV
- Directional distance
- Edge detect
- Emboss with gloss
- Extend shape
- Flood fill
- Flood fill mapper
- Flood fill to Bbox size
- Flood Fill to gradient
- Flood Fill to grayscale/color
- Flood Fill to index
- Flood Fill to position
- Flood Fill to random color
- Flood Fill to random grayscale
- FXAA
- Glow
- Mosaic
- Multi directional warp
- Non-uniform directional warp
- Reaction diffusion fast
- RT irradiance
- RT shadow
- Shadows
- Shape drop shadow
- Shape glow
- Shape stroke
- Summed area table
- Swirl
- Uber emboss
- Vector morph
- Vector warp
- Normal map
- Tiling
- Transforms
- Material filters
- Material filters
- 1-click
- Effects (Material)
- Transforms (Material)
- Blending (Material)
- PBR utilities
- Scan processing
- Mesh-based generators
- Mesh-based generators
- Mask generators
- Weathering
- Utilities (Mesh-based generators)
- Spline & Path tools
- Spline & Path tools
- Working with Path & Spline tools
- Path tools
- Spline tools
- Spline tools
- Paths to Spline
- Point list
- Scatter on Spline color
- Scatter on Spline grayscale
- Spline 2D transform
- Spline (Cubic)
- Spline (Poly quadratic)
- Spline append
- Spline bridge (2 Splines)
- Spline bridge (List)
- Spline bridge mapper color
- Spline bridge mapper grayscale
- Spline circle
- Spline fill
- Spline flow mapper
- Spline mapper color
- Spline mapper grayscale
- Spline merge list
- Spline render
- Spline sample height
- Spline sample thickness
- Spline select
- Spline warp
- UV mapper color
- UV mapper grayscale
- 3D view (Library)
- 3D view (Library)
- HDRI tools
- Node library
- Substance function graphs
- Substance function graphs
- What is a Substance function graph?
- Create and edit a Substance function graph
- The Substance function graph
- Variables
- FX-maps
- FX-Maps
- How it works
- The Iterate node
- The Quadrant node
- Using Substance function graphs in FX-Maps
- Warnings in Substance function graphs
- Sample Substance function graphs
- Nodes reference for Substance function graphs
- MDL graphs
- Bakers
- Best practices
- Pipeline and project configuration
- Color management
- Package metadata
- Scripting
- Scripting
- Plugin basics
- Plugin search paths
- Plugins packages
- Plugin manager
- Python editor
- Accessing graphs and selections
- Nodes and properties
- Undo and redo
- Application callbacks
- Creating user interface elements
- Adding actions to the Explorer toolbar
- Using color management
- Using spot colors
- Logging
- Using threads
- Debugging plugins using Visual Studio Code
- Porting previous plugins
- Packaging plugins
- Scripting API reference
- Technical issues
- Release notes
In this page
In some cases the total filesize of Substance 3D assets (SBSAR) can be an important factor. This page covers a few critical areas and settings to keep in mind when trying to reduce filesize.
Filesize is mostly determined by embedded bitmaps. They are files that are linked, embedded or baked and added to the Substance 3D Designer file (SBS) as a resource. Only bitmaps that are used in a graph i.e. connected to an output either directly or through the node chain are published in the Substance 3D asset. In an Substance 3D file, bitmaps have no impact on filesize, as all bitmap resources are still stored outside of the file.
Make sure the Output size property of all Bitmap nodes are set to the Absolute inheritance method. If that is not the case, their referenced Bitmap resource will be saved at the default 256*256 resolution in the published Substance 3D asset file, which will impact the quality of one or more outputs.
Filesize Factors
There are a few different factors affecting total filesize of the SBSAR. They are listed below with an short explanation.
Obviously has a large effect. Use the smallest resolution possible, keeping mind that you might also want your Substance file to work in large resolutions. You can use standard resolution-masking tricks to make smaller Bitmaps seem larger.
Found in: external software, or import/re-export bitmap in Designer.
Set in your Image Editor before export, the color mode also has an effect on filesize when using Raw bitmap format. Grayscale only bitmaps are smaller than RGB(A) images.
Found in: external software, or import/re-export bitmap in Designer while setting up Output nodes correctly.
The file format of your images makes a difference, though it can be ignored in some cases. A program like Photoshop allows for slightly more control over JPG compression and can sometimes offer a decent middle road.
Found in: external software, or import/re-export bitmap in Designer.
What mode you set the Bitmap node to also has an effect on how Designer will compress the file, using a Grayscale mode file as a color bitmap in the graph will result in larger files. Make sure to set these correctly!
Found in: Bitmap Node properties.
On the Resource properties you can choose between "Raw" and "Jpeg" compression. This can have considerable effect on the final result.
Found in: Bitmap Resource Properties, through Explorer window.
When publishing to SBSAR, you have a choice between "Auto", "Best" and "None" for compressing, these can make a considerable difference if you are using the "Raw" bitmap format. Also has a large impact on export speed. Generally not recommended to use "none as it offers no quality increase.
Found in: final publishing settings for an SBSAR package.
Filesize comparison
The table below shows the influence of all settings on each other. Bitmap used is a 4096x4096 image of generated noise, exported from Photoshop as either 24-bit TGA or JPG at quality 8. TGA's were also exported as Grayscale and RGBA mode.
The Graph just places a single Bitmap Node connected to a single output. Bitmap mode is set according to source file mode.
While the table on the right is not fully conclusive, the following can be learned when comparing visual results and file sizes:
- Raw Bitmap + Compression Best gives the best quality with an acceptable filesize.
- Pre-compressed source files can give reduced filesizes in most cases, but at a quality cost.
- Smallest filesizes, but worst quality is obtained with JPG package format at quality 0.5.
- Grayscale is not always smaller in filesize, but will have higher quality than color at similar settings.
Jpeg Bitmap Format
It's important to note that special maps that require high accuracy such as Normal maps, Vector Maps and others should probably not be set to Jpeg compression, as this will lead to much more visible artifacts!
|
Color TGA |
Color JPG |
Grayscale TGA |
Grayscale JPG |
---|---|---|---|---|
Raw Bitmap Format Compression mode: None |
48 MB |
48 MB |
16 MB |
16 MB |
Raw Bitmap Format Compression mode: Best |
9.11 MB |
3.37 MB |
5.06 MB |
4.75 MB |
Jpeg Bitmap Format Compression quality: 1 |
5.09 MB |
1.94 MB |
6.30 MB |
2.49 MB |
Jpeg Bitmap Format Compression quality: 0.5 |
231 KB |
230 KB |
626 KB |
569 KB |
Jpeg Bitmap Format Compression quality: 0 |
407 KB |
433 KB |
990 KB |
808 KB |