8 votes
Date Updated: 

With RemapPSDyou can easily map your entire photoshop file to a different set of uvs. The script will handle any complexity in your photoshop files:


  • layers with masks
  • folders with masks
  • nested folders
  • adjustment layers with masks
  • layered tiffs


Additional Info: 

An example case: You have worked on a lowpoly game character and are almost done when the lead artist approaches you with the request to give the character's face more space on the texture. This is not so difficult if you are working on a flat image, but impossible to do with complex photshop files. With RemapPSD it's inredibly easy. You can change the uv-layout of an existing model and the psd file with all the layers, folders, adjustment layers, masks etc, will be remapped with just the click of a button.

I hope you will find it just as helpful as I do. To get started it is probably best to watch the video tutorial on vimeo:


  1. Select Maxscript/run and choose „RemapPSD.mzp“
  2. You will find the macroscipt under customize in the category „3dhippie“. Assign it to a shortcut or make a new menu item.


Basically you need three things to make the script work.

  1. Any piece of textured geometry
  2. Two sets of UV's: Channel 1 for the old mapping, Channel 2 for the new mapping
  3. A standard material with a bitmap texture as it's diffuse map

RemapPSD will do the rest for you.

The script will run through four phases:

  1. Photoshop will pop up, open the document, save it under „[originalname]_remapped“ and do some preparations.
  2. Back in 3ds Max render to texture will render all layers.
  3. Photoshop will collect all rendered images and update the psdfile.
  4. In 3ds Max the original object's material will be updated to use the remapped psd file.

That's it. You can now continue working on your psd file which will be organized just the same as before, with all layers, adjustment layers, folders and so on.


You cannot remap vector elements, such as vector masks, or text layers, or smartobjects. All of those elements will be rasterized.

Long layernames will be truncated.


If this script has saved your life maybe you could donate me some money? I have setup a paypal donation button on my blog:

I am looking for part-time or full-time positions as a 3d generalist in the games or films industry, as well as for freelance jobs. Please take a look at my current showreel:

If you have comments or critique, you are always welcome to write me a line. I can't promise that I will implement new feature requests, but I will try my best.


first release

    - fixed problem with too long layernames (more than 31 characters)
    - fixed error when trying to clear an adjustment layer
    - fixed error caused by slashes in layernames
    - fixed spelling error in messagebox

    - fixed problem with slashes in remapped_name variable (thanks to Pixhellmann)

    - fixed problem where projection was turned off and automatic unwrap got applied.

    - checked with Photoshop CS6
    - fixed issues with empty layers
    - cleaned photoshop history
    - fixed issue with wrong settings in RTT dialog
    - fixed issue with forwardslashes in layernames
    - improved general stability

    - fixed bug when render to texture dialog wasn't opened (thanks trebor777)

    - removed unneccessary command and execute steps. Compatibility to 3dsmax 2012 established.

    - Proper handling of premultiplied alphas (no more black halos).
    - fixed bug that occured when the baked layer's alpha was empty



Version Requirement: 
3ds Max 2012, 2013, 2014
Other Software Required: 
Adobe Photoshop CS or higher
Video URL: 
remappsd.mzp8.93 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
pixhellmann's picture

I'm not sure but perhaps this is the error:

I stepped through the script and noticed, that in line 492 the part:

command = "BitmapLayerManager.getLayerCount \""+ remapped_name +"\""
numlayers = execute command

produces a 0 value because the variable "remapped_name" is written in this style:

and if I manually change it to "C:\\Ordner\\Unterodner\\Dateiname.psd"
the BitmapLayerManager.getLAyerCount Command returns the real count of the layers.

and that's why later in the script the count is zero and nothing starts to bake!

but I don't know how to add the \ to the paths..

perhaps someone could help or Dave, the goodmaster of remapPSD could fix this!

I would really appreciate that!!

Interactive, real-time, apps, games, character, animation, visualization, TV commercials, marketing and print material. Visit

3dhippie's picture

Unfortunately, I wasn't able

Unfortunately, I wasn't able to track down the error yet. But please try it again but be sure to have the rtt dialog opened before you run the script this time.also, look if there is a remap component in the dialog and delete it. This forces a reset for the script.

I hope it will work then.


pixhellmann's picture

same problems here and nothing helped

Hi Dave,

i love the idea and youre script! But i have the same issues here.
Win 7 englisch, 64 bit. 3dsmax 2012 64bit. photoshop cs5 extended.
it stops when it's back in 3dsmax and should start the baking progress.

exactly the same problem like dkreset has it.

i hope there is a solution!


Interactive, real-time, apps, games, character, animation, visualization, TV commercials, marketing and print material. Visit

dkreset's picture

didn't quite work out...

Hey Dave,

I gave the settings you showed me a spin. It didn't really work either, but I noticed something interesting. I get different results by assigning your script to different parts of max menu. eg. when the script is customized into the quick access tool bar, or the main tool bar where you put yours in the video, the script gets activated when I have the UV unwrap modifier stack selected. However I tried assigning the script to a hotkey today, and it would not activate unless I have the editable poly bottom stack selected. It also then calls out the script editor in photoshop for some reasons.

I don't know if this is of any relevance but I thought I'd mention it anyway!
thanks for the effort :)


dkreset's picture

Thanks Dave!

I really appreciate the fast response and support. I will give the new settings a try to see if this works! Since you mentioned the OS. I am on Win7 professional 64 bit both at home and at work. Not sure if that's of any help but thought I'd mention it. I will update you on the status of the script with the new settings :) Thanks again! Can't wait to get this to work :)


3dhippie's picture

Hey dave thanks for the

Hey dave

thanks for the screenshots. I can tell easily that something is wrong. All the automatic unwrapping shouldn't be there. I have attached an image with the important settings. If you enter them manually and hit remappsd it will use those settings (so one can also map from channel 5 to 3 or whatever). Please try that and look if it works. Also try to delete the bake element called REMAP. This will force default values. Hopefully one of these tips will help. Although I don't really know why it doesn't bake at all. I will have to dig deeper into the problem if none of the advices were helpful.

By the way, I have a fresh windows and 3dsmax install at hands and notice the same wrong behaviour with automatic unwrapping. I will need to do some debugging.


important_settings.jpg 37.79 KB
dkreset's picture

Not working at both locations

So I tested at home as well and same thing happened. The maps were not baked and brought straight back to the PSD. When I checked the folders for the baked maps there was nothing in there.

I took some screenshot of the settings as well as how I've set the uvs up with the modifier stacks so you can take a look at them.

You can download the images here from my domain

I really hope we figure this out! It's such a great script :)

Thanks in advance!

dkreset's picture

thanks for the quick response

Will do! I was on my work machine though, will be giving it a try at home tonight. If they both don't go through I will screen cap both and post them on Monday for you :)

This is a great script, definitely worth supporting. I'd be super happy if this is working!

Thanks again!

3dhippie's picture

hey dkreset. Could you send

hey dkreset. Could you send my a screenshot with your render to texture dialog opened (with all rollouts expanded) just after the script failed? That would be very helpful.

dkreset's picture

Script not baking properly


thanks for the awesome contribution, I just have this small issue. The script runs through properly until the baking part. No render view is brought up, and the same map is brought back to photoshop with almost no wait time (the chance of the maps not even being baked is quite high in this case I believe)

Do you have any ideas? I looked at the render settings and it's using some funky settings as well with automatic unwrap and all...

I'm using max 2012 and photoshop cs3!

Thanks in advance! If I could get this working it will definitely be a life saver and I will put out my effort to see more scripts like this from you for sure :)!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.