RemapPSD

8 votes
Version: 
0.8
Date Updated: 
05/31/2013

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:

INSTALLATION:

  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.

USAGE:

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.

LIMITATIONS

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.

SATISFIED?

If this script has saved your life maybe you could donate me some money? I have setup a paypal donation button on my blog: http://davidshelton.de/blog/?p=249

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.

History:

[0.1]
2011-12-02
first release

[0.2]
2011-12-03
    - 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

[0.3]
2011-04-26
    - fixed problem with slashes in remapped_name variable (thanks to Pixhellmann)

[0.4]
2012-07-06
    - fixed problem where projection was turned off and automatic unwrap got applied.

[0.5]
2013-04-03
    - 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

[0.6]
2013-04-30
    - fixed bug when render to texture dialog wasn't opened (thanks trebor777)

[0.7]
21.05.2013
    - removed unneccessary command and execute steps. Compatibility to 3dsmax 2012 established.

[0.8]
2013-05-31
    - 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: 
AttachmentSize
remappsd.mzp8.93 KB

Comments

Comment viewing options

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

3ds max 2016-2018

Hi
I test this script whith 3ds max 2016 and have a error
--Runtime error: createOLEObject: cant find server Photoshop.Application

I use photoshop cs6 and 3ds max 2016/2018/2020/2022

Can I fix it?

Leoneli's picture

3ds max 2016-2018

Hi
I test this script whith 3ds max 2016 and have a error
--Runtime error: createOLEObject: cant find server Photoshop.Application

I use photoshop cs6 and 3ds max 2016/2018/2020/2022

Can I fix it?

trebor777's picture

PSD layer issue

I don't think it's related to your script, but i'd like to ask if you had notice d issues with psd layers in max.

For me they're not all the time "fully loaded", only half of the layer is and the other half is just a color(black or white) and it's offsetted as well. And i'm talking about the original texture, not the remapepd one.

I was looking for the problem why it wasn't transfering correctly to my new layout. turns out it's because of this.

ScoobyDoofus's picture

RemapPSD Bug

Hi! I downloaded your script with high hopes, as I’ve got quite a large project for which it would be VERY useful. However, after installing and using the script, it just returns a PSD which is identical to the original. It doesn’t move anything. I’m using Photoshop CS6 and 3D Studio Max 2012. Any help would be greatly appreciated!

3dhippie's picture

oh

Thanks for pointing this bug out. I will implement update the script.

trebor777's picture

Yo! Found a bug: basically if

Yo!

Found a bug: basically if you never have opened the render to texture dialog during your max session before starting the script, you get an "undefined" error on gTextureBakedialog at line 765

So, I added this to fix the issue.
if gTextureBakeDialog == undefined then macros.run "Render" "BakeDialog"

asymptote's picture

I had that error when some of

I had that error when some of my uvw's had strayed outside the uvw area in max, maybe worth checking.

Miguelito's picture

Error Message

Hi,
I am getting an error with my PSD:

Error 1302: No such element
Line: 194
-> selBounds = otherImage.selection.bounds

The error occured only with Layers that only had gradients or very little painted in. So maybe the script has problems with getting over that selection, or something similar like that?

Thx

Edit: I only used white color in those layers.

Daniel

asymptote's picture

I'm happy to report this now

I'm happy to report this now works perfectly in Max 2010 64, many thanks for the update.
My earlier issue of it not working (it skipped the render to texture stage) was fixed by simply exporting & re-importing the 3ds file.
I haven't a clue why this single mesh stopped the RTT stage, but a quick imp/exp fixed it.
Hope this may help if people may have similar issues.

3dhippie's picture

I don't have a copy of CS6

I don't have a copy of CS6 yet. But as soon as I've bought a new license (maybe a christmas present to myself) I will update the script.

Comment viewing options

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