Material Studio - Asset-Browser

New features and fixes for version 2.31.12.
And of course this version is compatible to 3ds Max 2017!

  • Updates the studio for rendering previews for materials.*
  • Adds an option for setup number of level for searching files in subfolders (menu item ‘Show files in subfolders’).**
  • Adds ability to update a file’s description using ‘Batch Render&Relink’ API.***
  • Some minor interface changes.
  • Fixes a potential bug with tracking asset files in 3ds Max 2010.
  • Fixes a bug with exporting a mesh to Mental Ray Proxy what occurs in some files.
  • Fixes an issue with tracking assets for files opened from the 3ds Max ‘Start-up Template’ dialog.

*Default studio for rendering previews for materials supports to Real World and default size and also supports to Multi-Materials.

Material Studio - Asset Browser
** You can find this option in the “Preferences” dialog.
By default files display in a current directory and it 1st level subdirectory.

***New methods in ‘Batch Render&Relink’ API :

  1. SkipRender
  2. GetDescription
  3. UpdateDescription

Note: If you want to expand the Project Manager capabilities with the API and don’t own knowledge of the maxscript please refer to the email

You can find this example script “BatchRendering Script” in the directory “ProjectManager\presets\”

PostScriptInfo [struct]             — global variable

PostScriptInfo.MaxFile              — Full path to current max file
PostScriptInfo.SceneObjects         — Array of scene objects
PostScriptInfo.SkipRender           — Don’t render curent file
PostScriptInfo.GetDescription [filename:<filename_string>]
PostScriptInfo.UpdateDescription [filename:<filename_string>] [description:<string>]

Save a description for 3ds Max file

if PostScriptInfo != undefined and pathConfig.appendPath maxFilePath maxFilename == PostScriptInfo.MaxFile do (
    local sceneObjects = PostScriptInfo.SceneObjects
    local numFaces = 0;
    local numVerts = 0;
    for obj in sceneObjects where superClassOf obj == GeometryClass do (
        local objMeshInfo = getPolygonCount obj
        numFaces += objMeshInfo[1]
        numVerts += objMeshInfo[2]
    /* Save Description */
    if( numVerts > 0 ) do (
        /* get existing file’s description */
        local currentDescription = PostScriptInfo.GetDescription PostScriptInfo.MaxFile;
        local description = StringStream “”
        format “%\nFaces: %\nVertices: %” currentDescription numFaces numVerts to:description
        /* Save description */
        PostScriptInfo.UpdateDescription PostScriptInfo.MaxFile (description as string);
        /* Free Memory */
        free description
        close description