Drag & Drop Reference Images

For modeling in 3ds Max I like to use image planes textured with reference images of my object. Not only for blueprints, but even any reference, because on my laptop screen space is very limited and this way I don’t have to switch between applications, just move my view a little. Setting up those planes is annoying, because you would have to create a material for each and then a plane with the right aspect ratio. This script automates all this, by giving you a little window where you can drag and drop any common image type onto. The reference planes will then be created on a line and you can specifiy whether to align height/width of all images. You can also choose a material type and the gamma value that the images are loaded with.

Explanatory video:

dragNDropReferences MAXScript from Christoph Bülter on Vimeo

22/08/13: Added scaling option for planes; Script now remembers its settings

03/01/13: Set plane segments to 1 on creation

05/12/12: Removed axis checkboxes, added option to align width or length of the planes, updated image, tightened UI

18/11/12: Removed self-illumination from Standard material. which made things too bright (thanks to DeaDog)

13/10/12: Added option to choose the material type (mr arch&design, standard & vraymtl)

06/10/12: Disabled Real World Scale for maps, added Gamma correction option using a color correction map (thanks to miauu, Kinofaya)

29/09/12: UI checkbutton fix, thanks to Anubis

27/09/2012: Now recreates image from Base64 string (method by LoneRobot.net, thanks to barigazy); now uses “maxOps.canImportBitmap” thanks to Anubis

[download id=670]

If you use this script, be awesome and donate a few bucks!



  1. Love this script, such an amazing time saver, thanks.

    I’m probably being a bit greedy now but is it possible for it to create a multi sub material for each batch of images dropped in?

    Also wondering would it be difficult to have the materials and planes named after the bitmaps.

    I have hundreds of bitmaps to drop in as product and this makes life so much easier but it would be soo much better with the above.


    1. Hey Gary, thanks! The renaming part may make sense to add to the script, the MultiMat thingie I am not sure. But for now you can use the script below to do both after you dragged in your images (make sure the planes are selected before executing, MultiMat will appear in first slot of Material Editor):

      matPlanes = for s in selection where s.material != undefined collect s
      materials = #()

      for matPlane in matPlanes do
      mat = matPlane.material
      append materials mat
      case classof mat of
      Standard : (mat.name = matPlane.name = getFilenameFile mat.diffuseMap.filename)
      Arch___Design__mi : (mat.name = matPlane.name = getFilenameFile mat.diff_color_map.filename)
      VRayMtl : (mat.name = matPlane.name = getFilenameFile mat.texmap_diffuse)
      )–end case
      )–end for

      multiMat = MultiSubMaterial numsubs:matPlanes.count name:”DragNDropRefImages_MultiMat”
      multiMat.materialList = materials

      meditMaterials[1] = multiMat

      1. Amazing! Thank you Christoph. That works great for renaming everything. Unfortunately the multi sub mat is just a multimat of copied materials so cant be assigned without setting all the ID numbers to the planes but not to worry I think I have a work around that will work.

        Now that everything is named I’ll attached all the planes to create the main multi sub and then detach all elements by named material.

        Thanks a lot this has been a great help.

  2. Hy Christoph. I have trouble downloading this awesome script, the website says [download id=670] where I suppose a button should be? Many thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.