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 support@3d-kstudio.com

You can find this example script “BatchRendering Script Example.ms” 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>]

Example:
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
    )
)