Page 1 of 1

PNG ⇄ JPEG Relink Tool for 3ds Max

Posted: Tue Sep 01, 2026 12:33 pm
by Elvissuperstar007
A one-click texture relinking tool that swaps your scene's textures between PNG and JPEG — in either direction — without breaking a single texture setting.

What it does

If you've ever needed to switch a whole scene's textures from PNG to JPEG (or back), you know the pain: dozens of Bitmap nodes, each one with its own Gamma, Override, blur, UVW settings... and if you just retype the file path, half of that gets reset or scrambled.

This tool scans your entire scene, finds every texture actually being used in a material, and — if a matching file with the other extension exists next to it (same file name) — offers to relink it. You get a checklist, review what will change, and hit Apply.

Works with every render engine

The scanner doesn't look for a fixed list of map types. Instead, it walks the real material/map graph of your scene (sub-materials, sub-maps, Multi/Sub-Object, Blend, Mix, nested maps, etc.) and automatically detects any node that holds an image file path — no matter which renderer created it. That means it works out of the box with:

Standard / Physical Bitmap
Corona Bitmap
V-Ray Bitmap / VRayHDRI
Octane Image Texture
Any other renderer's bitmap-type map (Redshift, Arnold, and others), including plugins that store the path inside a BitMap object rather than a plain string (e.g. Displace, VRayBmpFilter)

It only touches textures that are actually wired into a material — applied to an object, sitting in the Material Editor, or used as the environment map — never random unused nodes floating in the scene.

Every texture setting stays exactly as it was

This is the part that makes it safe to run on a whole scene at once: before changing a texture's file path, the tool takes a full snapshot of everything else on that texture node, then restores it right after. That includes:

Gamma — whether it was set to Automatic or Override (and the exact override value)
Blur
UVW mapping / tiling / real-world scale
Any other property specific to that render engine's bitmap type

So whatever way a texture's gamma or blur was configured before the swap, it's set up exactly the same way afterward — you never have to go back into each map by hand to fix Override/Automatic or re-check settings.

Switch direction any time

A checkbox lets you flip which way the tool searches:

PNG → JPEG (default) — finds a JPEG next to each PNG texture and relinks to it
JPEG → PNG — reverse it, finds the PNG version instead

You can toggle this back and forth on an already-scanned list without rescanning the scene.



Added another script to auto-load assets from the scene.

Other conveniences
Color-coded by texture type (Normal, Roughness, Metallic, Base Color, AO, etc.), with an optional "Group by Type" view
Handles the same texture used in multiple materials/objects as a single row — Apply updates every place it's used
Manual override: double-click any row that couldn't find an automatic match to pick a replacement file yourself
Full on-screen log with a "Copy Log" button, so you can see exactly what the scanner found and did
How to use it
Drag the .ms file into the 3ds Max viewport (or MAXScript → Run Script)
Click Scan Scene
Review the checklist (uncheck anything you don't want relinked)
Click Apply

That's it — your textures are relinked, and every gamma/override/blur setting is exactly as it was before.

Re: PNG ⇄ JPEG Relink Tool for 3ds Max

Posted: Tue Sep 01, 2026 10:14 pm
by Pelana001_1
Thanks for sharing this script, Elvissuperstar007.

Re: PNG ⇄ JPEG Relink Tool for 3ds Max

Posted: Wed Sep 02, 2026 4:37 pm
by Elvissuperstar007
I made a small fix; it didn't affect functionality, but it caused a random error when trying to expand the interface—it's fixed now! I'll update the main post.

Re: PNG ⇄ JPEG Relink Tool for 3ds Max

Posted: Wed Sep 02, 2026 4:38 pm
by Elvissuperstar007
Added another script to auto-load assets from the scene.

Re: PNG ⇄ JPEG Relink Tool for 3ds Max

Posted: Wed Sep 02, 2026 5:45 pm
by Pelana001_1
Thank you very much for sharing the update.