Relink Assets

38 votes
Version: 
0.02
Date Updated: 
03/01/2014

Hi this is my version of a tool for relinking (missing) bitmaps which can not be found for whatever reasons (changed paths, moved files etc.). It is pretty straightforward and works with almost any type of asset (maps, HDRIs, IES files) as long as it can be referenced and seen in the asset browser. Due to copyright restrictions I can not publish the code right now but I hope that it can help you anyways until max itself has a better management for assets.

Instructions

This script allows you to manage and relink assets like texture maps,
environment maps, HDRIs etc.

It gives you an overview of all the bitmaps used in the scene along with their
status (found / not found) and allows you to easily set a new path for a map
or completely replace it by a different bitmap or a different location.

To do this, run the script via Menu -> MAXScript -> Run Script. When the window
opens, it automatically looks for missing items and displays them. By switching
the status to either "missing" or "all" you can toggle which files you want to
display.

If you select an item it will visually show you its status with a small coloured
box (green = found, red = missing) and print further details in the info field
below the list. These details contain: Path, Map name, Map Type, Materials using
this map, objects using this map.

The path for the selected item(s) can be changed via the two buttons on the top
right:

"Set path for selected item(s)" --> only change to a new path, keep bitmap name
for example: "d:\test.jpg" becomes "d:\temp\test.jpg"
"replace selected item(s)" --> change path and bitmap name
for example: "d:\test.jpg" becomes "d:\final.jpg"

Other functions:

"Refresh"
--> refresh the map list. necessary when a scene was loaded while window was
open or manual changes were made

"recursive file search"
--> enables recursive file search. only top folder needs to be specified. the
script will automatically find the right file in one of the subfolders

"confirm each new path"
--> if activated, it will ask the user to confirm every replacement of a map
--> the old and new path will be given so the user has total control of which
asset to replace with which new asset

There is three more buttons below the map list. These become available when a map
has been selected in the list.

"Map To MEdit":
--> makes the currently selected map available in the current material editor
slot
--> no more manually digging through the scene materials to modify a missing
map in the material editor
"Mat To MEdit":
--> makes the material that has the currently selected map in one of his slots
(diffuse, bump, etc.) available in the current material editor slot
"Select Object":
--> selects all objects that contain or reference the map that is selected
--> this way all objects that have a missing map can simply be deleted from the
scene !

These three functions always refer to the currently selected map in the list.

Please note:
Maps are sometimes not listed under the bitmap asset type because they are
implemented different from standard MAX bitmaps. If this happens, try
switching to "asset links" under "asset type". It might give you a better list
of what is used in your scene. If bitmaps are not listed in either "bitmaps"
or "asset links" then there will be no way to relink it via any script and these
need to be set manually (according to my humble knowledge). I experienced this
issue for example with maps in a FinalRender skin shader (Final Shader package)
and I could not find a way to detect those via scripting.

One requirement for the "asset links" to work is that the files have the same base
file name and just the path changed.Sorry but this seems to be a limitation of
MAX. It can only change the paths to these assets not the asset name itself.

If you find any bugs, if you have any comments, suggestions or critique please let
me know ! I am always looking for ways to improve tools !!

2013-03-01 Edit: fixed small bug

short descriptions

Version Requirement: 
9+
AttachmentSize
Instructions.jpg158.63 KB
r7_relink_assets.mse29.07 KB

Comments

Comment viewing options

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

Great tool

Very nice tool. Thanx! Works perfectly on max 2014

dussla's picture

tool is very good

pls can you fix for win7 max 2013

in win7 , and max 2013

that is some error
pls can you fix that for vray map in win7 and max2013

zahid hasan's picture

hello, thanks for the

hello,
thanks for the script.i was wondering if i can run it in batch mode?
i want a folder full of max files whose map paths need to change to a sub-folder.

br0t's picture

Hi, this is a great script. I

Hi,
this is a great script. I do get an "unable to convert: undefined to type:FileName" error, when I start it (max 2011). But it only appears when the radiobutton is set to bitmaps. I managed to relink all my assets though, including bitmaps, point caches and Xrefs. This is super useful, cause its not always bitmaps in a scene that have to be relinked! I would have to relink 20 point caches by hand in 20 max files otherwise (so 20x20). So you saved me quite some robot-work, thanks for sharing ;)

Never get low & slow & out of ideas

Comment viewing options

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