3ds Max

Job Submission

You can submit jobs from within 3ds Max after installing the integrated Submit Max To Deadline (SMTD) script, or you can submit them from the Monitor. The instructions for installing the integrated SMTD script can be found further down this page. You can also submit jobs from within RPManager, the Render Pass Manager for 3ds Max. The instructions for installing the integrated submitter for RPManager can also be found further down the page.

To submit from within 3ds Max, select the Deadline menu item that you created during the integrated submission script setup.

integrated monitor

If you are submitting from RPManager, just select the Network tab in RPManager after setting up the integrated submitter.

../_images/3dsmax_rpmanager_deadline_integrated.png

Submission Options

The general Deadline options are explained in the Job Submission documentation, and the Draft/Integration options are explained in the Draft and Integration documentation. The 3ds Max specific options are as follows.

Scene File Submission Options

  • SAVE and Submit Current Scene File with the Job to the REPOSITORY: The current scene will be saved to a temporary file which will be sent with the job and will be stored in the Job’s folder in the Repository.
  • SAVE and Submit Current Scene File to GLOBAL NETWORK PATH: The current scene will be saved to a temporary file which will be copied to a Globally-Defined Alternative Network Location (e.g. dedicated file server). It is specified in [Repository]\submission\3dsmax\Main\SubmitMaxToDeadline_Defaults.ini under [GlobalSettings] as the SubmitSceneGlobalBasePath key. It will be referenced by the Job via its path only. This will reduce the load on the Repository server.
  • SAVE and Submit Current Scene File to USER-DEFINED NETWORK PATH: The current scene will be saved to a temporary file which will be copied to a User-Defined Alternative Network Location (e.g. dedicated file server) stored as a local setting. It will be referenced by the Job via its path only. This will reduce the load on the Repository server.
  • DO NOT SAVE And Use Current Scene’s ORIGINAL NETWORK PATH: The current scene will NOT be saved, but the original file it was opened from will be referenced by the job. Assuming the file resides on a dedicated file server, this will speed up submission and rendering significantly, but current changes to the scene objects will be ignored.

Sanity Check

  • Run Sanity Check Automatically Before Submission: This options forces Submit To Deadline to perform a Sanity Check before submitting the job. The Sanity Check is implemented as a separate set of scripted functions which can be enhanced by 3rd parties to meet specific studio needs. For more information, please refer to the Sanity Check section.
  • Run Sanity Check Now!: This button performs a Sanity Check without submitting a job. Any potential problems will be reported and can be fixed before actually submitting the job.

Job Tab

Job Options

../_images/max_job_options.png
  • Render Task Chunk Size (Frames Per Task): Defines the number of Tasks (Frames) to be processed at once by a Slave.
  • Limit Number of Machines Rendering Concurrently: When checked, only the number of Slaves specified by the [Machines] value will be allowed to dequeue the job. When unchecked, any number of Slaves can work on the job.
  • Machines: Defines the number of Slaves that will be allowed to dequeue the job at the same time.
  • Out-Of-Order Rendering Every Nth Frame: Deadline will render every Nth frame based on the order selected in the drop down box. This option can be very useful when rendering long test animations - you can render a rough animation containing evey Nth frame early enough to detect any major issues before all frames have been rendered, or in cases where the major action happens in the end of the sequence, reverse the rendering order.
  • Log: Print Frame Sequence to the Log File, then double-click the feedback window to open the Log, Copy & Paste into Monitor > Job’s Frame Range.
  • Out Of Order Step: When a Nth frame based rendering order is selected in the Out-Of-Order Rendering drop-down list, this defines the Nth step to use. Preview Jobs respect this setting as well.
  • Render Preview Job First: When the checkbox is checked, two jobs will be submitted. The first job will have [PREVIEW FRAMES] added to its name, have a priority equal to the main job priority setting combined with the value of the Priority+ setting (see next setting), and will render only N frames based on the spinner’s value. The step will be calculated internally. If the spinner is set to 2, the first and the last frame will be rendered. With a value of 3, the first, middle and last frames will be rendered and so on. The second job will have [REST OF FRAMES] added to its name, and will be DEPENDENT on the first job and will start rendering once the preview frames job has finished. It will have the priority specified in the dialog, and render all frames not included in the preview job.
  • Priority+: Defines the Priority Increase for the PREVIEW job. For example if the Job Priority is set to 50 and this value is +5, the PREVIEW job will be submitted with Priority of 55 and the REST job with 50.
  • Dependent: When checked, the [REST OF FRAMES] Job will be made dependent on the [PREVIEW FRAMES] Job. When unchecked, the [REST OF FRAMES] Job will use the same dependencies (none or custom) as the [PREVIEW FRAMES] Job.
  • # Frames: Defines the number of frames to be submitted as a PREVIEW job. The frames will be taken at equal intervals, for example a value of 2 will send the first and last frames, a value of 3 will send first, middle and last and so on.
  • Task Timeout: When checked, a task will be requeued if it runs longer than the specified time. This is useful when the typical rendering time of the job is known from previous submissions and will prevent stalling.
  • Enable Auto Task Timeout: Enables the Auto Task Timeout option.
  • Restart 3ds Max Between Tasks: When unchecked (default), 3ds Max will be kept in memory for the duration of the give job’s processing. This can reduce render time significantly as multiple Tasks can be rendered in sequence without reloading 3ds Max. When checked, 3ds Max will be restarted between tasks, thus releasing all memory and resetting the scene settings at cost of startup time.
  • Enforce Sequential Rendering: When checked, the Tasks will be processed in ascending order in order to reduce the performance hit from History-Dependent calculations, for example from particle systems. When unchecked, Tasks can be picked up by Slaves in any order. Recommended for Particle Rendering.
  • Submit Visible Objects Only: This option should be used at your own risk, as it is heavily dependent on the content of your scene. In most cases, it can be used to submit only a subset of the current scene to Deadline, skipping all hidden objects that would not render anyway. This feature will be automatically disabled if the current scene contains any Scene XRefs. The feature will create an incorrect file if any of the scene objects depend INDIRECTLY on hidden objects.
  • Concurrent Tasks: Defines the number of Tasks a single Slave can pick up at once (by launching multiple instances of 3ds Max on the same machine). Note that only one Deadline license will be used, but if rendering in Workstation Mode, multiple licenses of 3ds Max might be required. This is useful to maximize performance when the tasks don’t saturate all CPUs at 100% and don’t use up all memory. Typically, as a rule of thumb, this feature is NOT required as 3ds Max uses 100% of CPU’s during rendering.
  • Limit Tasks To Slave’s Task Limit: When checked, the number of Concurrent Tasks will be limited by the Slave’s Task Limit which is typically set to the number of available CPUs. For example, if ‘Concurrent Tasks’ is set to 16 but a Slave has 8 cores, only 8 concurrent tasks will be processed.
  • On Job Completion: Defines the action to perform when the job has completed rendering successfully. The job can be either left untouched, ARCHIVED to improve Repository performance, or automatically DELETED from the Repository.
  • Submit Job As Suspended: When checked, the Job will be submitted to the Repository as Suspended. It will require manual user intervention before becoming active.
  • Force 3ds Max Build: This drop-down list allows you to specify which build of 3ds Max (32 bit vs. 64 bit) to use when rendering the job. The list will be greyed out when running in 3ds Max 8 or earlier.
  • Make Force 3ds Max Build Sticky: When the checkbox is unchecked, the “Force 3ds Max Build” drop-down list selection will NOT persist between sessions and will behave as documented above in the “Default” section. When the checkbox is checked, the “Force 3ds Max Build” drop-down list selection will persist between sessions. For example, if you are submitting from a 64 bit build of 3ds Max to an older network consisting of only 32 bit builds, you can set the drop-down list to “32bit” once and lock that setting by checking “Make Force 3ds Max Build Sticky”.
  • Stereo Camera Jobs: Controls what Jobs to submit when the Viewport is set to a component of a Stereo Camera rig: LEFT/RIGHT/CENTER Camera Only - submits only the respective eye regardless of which of the 3 Cameras is active. LEFT and RIGHT Cameras - submits both eyes regardless of which of the 3 Cameras is active. LEFT, RIGHT and CENTER - submits all 3 Cameras regardless of which of them is active. If the Viewport is not set to a Stereo Camera component, the current view will be submitted regardless of this mode.
  • Stereo Camera Job Priorities: Modifies the Job Priorities of Stereo Camera jobs, allowing one eye to be processed with higher priority than the others. The first Camera listed will be submitted with unmodified Priority. The second Camera listed will have (Priority-1). The third Camera listed will have (Priority-2).

Job Dependencies

When the checkbox is checked and one or more jobs have been selected from the multi-list box, the job will be set to Pending state and will start rendering when all jobs it depends on have finished rendering. Use the Get Jobs List button to populate the Job List and the Filter options with job data from the Repository.

../_images/max_job_dependencies.png

RPM Pass Dependencies - Global Setup

This option is ONLY available when submitting jobs from RPManager. If enabled, all passes that are submitted will be dependent on the passes selected in this rollout.

../_images/max_rpm_pass_dependencies.png

Job Scheduling

Enable job scheduling. See the Scheduling section of the Modifying Job Properties documentation for more information on the available options.

../_images/max_job_scheduling.png

Job Failure Detection

Override the job failure detection settings. See the Scheduling section of the Modifying Job Properties documentation for more information on the available options.

../_images/max_job_failure_detection.png

Render Tab

Rendering Options

../_images/max_rendering.png
  • Use Alternate Plugin.ini file: By default, 3ds Max will launch using the default plugin.ini file in the local installation. You can use this option to select an alternative plugin.ini file to use instead. Alternative plugin.ini files can be added to [Repository]\plugins\3dsmax, and then they will appear in the drop down box in the submitter (see the Custom Plugin.ini File Creation section for more information). If you have the [Default] option selected, it’s the equivalent to having this feature disabled.
  • Fail On Black Frames: This option can be used to fail the render if a certain portion of the output image or its render elements is black. The Black Pixel % defines the minimum percentage of the image’s pixels that must be black in order for the image to be considered black. If each of RGB are all less than or equal to the Threshold, and the alpha is not between the Threshold and (1.0 - threshold), then the pixel is considered black. If the Threshold is greater than or equal to 0.5, then the alpha value has no effect.
  • Override Bitmap Pager Setting While Rendering: You can specify if you want the 3dsmax Bitmap Pager setting to be enabled or disabled.
  • Submit External Files With Scene: Whether the external files (bitmaps, xrefs etc.) will be submitted with the scene or not.
  • Merge Object XRefs: If object XRefs will be merged during submission.
  • Merge Scene XRefs: If scene XRefs will be merged during submission.
  • Force Workstation Mode (Uses up a 3ds Max GUI License): Used mainly for testing and debugging purposes and should be left unchecked. When this option is unchecked, 3ds max will be started in Slave mode without the User Interface, which does not require a 3ds Max license. When checked, 3ds max will be launched in full Interactive mode and will require a license. Note that Workstation mode is set automatically when submitting MAXScripts to Deadline.
  • Enable Silent Mode: This option is only available when Force Workstation Mode is checked. This is a SDK function we execute which can help suppress some popups that 3ds Max displays (although some non-native popups like to ignore this setting such as VRay). However, we also explicitly support the VRay Silent Mode setting in this case. For further automatic handling via our Deadline Plugin API, please see our sections on Stdout Handling and Popup Ignorers / Handlers in our Scripting API documentation.
  • Ignore Missing External File Errors: Missing external files could mean that the 3ds Max scene will render incorrectly (with textures missing etc). In some cases though, missing external files could be ignored- for example if the job is meant for test rendering only. If you want the job to fail if a missing external resource is detected, uncheck this checkbox.
  • Ignore Missing UVW Errors: Missing UVWs could mean that some 3ds Max object would render incorrectly (with wrong texture mapping etc). In some cases though, missing UVWs could be ignored (for example if the job is meant for test rendering).
  • Ignore Missing XREF Errors: Missing XFEFs could mean that the 3ds Max scene cannot be loaded correctly. In some cases though, missing XFEFs could be ignored. If you want the job to fail if a missing XFEF message is detected at startup, keep this checkbox unchecked.
  • Ignore Missing DLL Errors: Missing DLLs could mean that the 3ds Max scene cannot be loaded or rendered correctly. In some cases though, missing DLLs could be ignored. If you want the job to fail if a missing DLL message is detected at startup, keep this checkbox unchecked.
  • Do Not Save Render Element Files: Enable this option to have Deadline skip the saving of Render Element image files during rendering (the elements themselves are still rendered).
  • Show Virtual Frame Buffer: If checked, the 3ds Max frame buffer will be displayed on the slave during rendering.
  • Override Renderer Frame Buffer Visibility: If checked, the current renderers frame buffer visibility will be overridden by the next setting (Show Renderer Frame Buffer).
  • Show Renderer Frame Buffer: If checked, the current renderers frame buffer will be made visible during rendering (V-Ray and Corona Frame Buffers currently supported).
  • Disable Progress Update Timeout: Enable this option to disable progress update checking. This is useful for renders like Fume FX sims that don’t constantly supply progress to 3dsmax.
  • Disable Frame Rendering: Enable this option to skip the rendering process. This is useful for renders like Fume FX sims that don’t actually require any rendering.
  • Restart Renderer Between Frames: This option can be used to force Deadline to restart the renderer after each frame to avoid some potential problems with specific renderers. Enabling this option has little to no impact on the actual render times. This feature should be ENABLED to resolve V-Ray renders where typically the beauty pass renders correctly but the Render Element’s are all black or perhaps seem to be swapped around. When enabled, the c++ Lightning plugin (unique to Deadline), will unload the renderer plugins and then reload them instantly. This has the effect of forcing a memory purge and helps to improve renderer stability, as well as ensure the lowest possible memory footprint. This can be helpful, when rendering close to the physical memory limit of a machine. Ensure this feature is DISABLED if you are sending FG/LC/IM caching map type jobs to the farm, as the renderer will get reset for each frame and the FG/LC/IM file(s) won’t get incrementally increased with the additional data per frame. This option should be disabled for FumeFX simulation jobs as well.
  • Disable Multipass Effects: Enable this option to skip over multipass effects if they are enabled for the camera to be rendered.
  • Job Is Interruptible: If enabled, this job will be cancelled if a job with higher priority is submitted to the queue.
  • V-Ray/Mental Ray DBR (off-load): Enable this option to offload a V-Ray or Mental Ray DBR render to Deadline. See the V-Ray/Mental Ray DBR section for more information.
  • Slaves: Number of VRay Spawners via Deadline Slave to run (including the MASTER slave).
  • Use 3dsCmd Plugin: To save on using a 3dsMax workstation license for the MASTER slave, submit this job to the 3dsCmd plugin.
  • Apply Custom Material To Scene: If checked, all geometry objects in the scene will be assigned one of the user-defined materials available in the drop down box.

Gamma Options

../_images/max_gamma.png
  • Gamma Correction: Enable to apply gamma correction during rendering.

Pathing Options

../_images/max_pathing.png
  • Remove Filename Padding: If checked, the output filename will be (for example) “output.tga” instead of “output0000.tga”. This feature should only be used when rendering single frames. If you render a range of frames with this option checked, each frame will overwrite the previous existing frame.
  • Force Strict Output Naming: If checked, the output image filename is automatically modified to include the scene’s name. For example, if the scene name was myScene.max and the output image path was \myServer\images\output.tga, the output image path would be changed to \myServer\images\myScene\myScene.tga. If the new output image path doesn’t exist, it is created by the 3dsmax plugin before rendering begins.
  • Purify Filenames: If checked, all render output including Render Elements will be purged of any illegal characters as defined by “PurifyCharacterCodes” in “SubmitMaxToDeadline_Defaults.ini” file.
  • Force Lower-Case Filenames: If checked, all render output including Render Elements will be forced to have a lowercase filename.
  • Update Render Elements’ Paths: Each Render Element has its own output path which is independent from the render output path. When this option is unchecked, changing the output path will NOT update the Render Elements’ paths and the Elements could be written to the wrong path, possibly overwriting existing passes from a previous render. When checked, the paths will be updated to point at sub-folders of the current Render Output path with names based on the name and class of the Render Element. The actual file name will be left unchanged.
  • Also Update RE’s Filenames: If enabled, the Render Element file names will also be updated along with their paths.
  • Include RE Name in Paths: If enabled, the new Render Element files will be placed in a folder that contains the RE name.
  • Include RE Name in Filenames: If enabled, the new Render Element files will contains the RE name in the file name.
  • Include RE Type in Paths: If enabled, the new Render Element files will be placed in a folder that contains the RE type.
  • Include RE Type in Filenames: If enabled, the new Render Element files will contains the RE type in the file name.
  • Permanent RE Path Changes: When this checkbox is checked, changes to the Render Elements paths will be permanent (in other words after the submission, all paths will point at the new locations created for the job). When unchecked, the changes will be performed temporarily during the submission, but the old path names will be restored right after the submission.
  • Permanent RE Name Changes: When this checkbox is checked, changes to the Render Elements file names will be permanent (in other words after the submission, all file names will point at the new locations created for the job). When unchecked, the changes will be performed temporarily during the submission, but the old file names will be restored right after the submission.
  • Rebuild Render Elements: If checked, Render Elements will be automatically removed and rebuilt during submission to work around known 3dsMax issues: (1) RE manager in 3dsMax gets confused between the correct image file format to be used to write each of the RE image files, (2) A bug with the VrayExtraTex which resets its name after submission, so on a second submission the output is different for that element, and (3) RenderElementManager’s path handling can behave differently depending on the visible state of the RenderSceneDialog. Note, the RE file extension will be unified to match the main 3ds Max render scene output image file. If you wish to maintain a different image file format for individual RE’s, then ensure this option is disabled.
  • Include Local Paths With Job (not used): (Thinkbox internal use only) Currently not hooked up to any functionality.
  • Use Alternate Path: Allows you to specify an alternate path file in the MXP format that the slaves can use to find bitmaps that are not found on the primary map paths.

Render Output Autodesk ME Image Sequence (IMSQ) Creation

../_images/max_imsq.png
  • Save File: Specify the render output. Note that this updates the 3ds Max Render Output dialog, and is meant as a convenience to update the output file.
  • Create Image Sequence (IMSQ) File: If checked, an Autodesk IMSQ file will be created from the output files at the output location.
  • Copy IMSQ File On Completion: If checked, the IMSQ file will be copied to the location specified in the text field.

Options Tab

User Options

../_images/max_user_options.png
  • Enable Local Rendering: If checked, Deadline will render the frames locally before copying them over to the final network location.
  • One Cpu Per Task: Forces each task of the job to only use a single CPU. This can be useful when doing single threaded renders and the Concurrent Tasks setting is greater than 1.
  • Automatically Update Job Name When Scene File Name Changes: If checked, the Job Name setting in the submission dialog will automatically match the file name of the scene loaded. So if you load a new scene, the Job Name will change accordingly.
  • Override Renderer’s Low Priority Thread Option (Brazil r/s, V-Ray): When checked, the Low Priority Thread option of the renderers supporting this feature will be forced to false during the submission. Both Brazil r/s and V-Ray provide the feature to launch the renderer in a low priority thread mode. This is useful when working with multiple applications on a workstation and the rendering should continue in the background without eating all CPU resources. When submitting a job though, this should be generally disabled since we want all slaves to work at 100% CPU load.
  • Clear Material Editor In The Submitted File: Clears the material editor in the submitted file during submission.
  • Unlock Material Editor Renderer: If checked, the Material Editor’s Renderer will be unlocked to use the Default Scanline Renderer to avoid problems with some old versions of V-Ray.
  • Delete Empty State Sets In The Submitted File: Deletes any empty State Sets in the submitted file during submission and the State Sets dialog/UI will be reset. This fixes an ADSK bug when running 3dsMax as a service.
  • Dump Scene File Properties to Job Log Report: When checked, [customize.ms] will dump the current 3dsMax scene file’s properties to the job log report (for debugging purposes only).
  • Warn about Missing External Files on Submission: When checked, a warning will be issued if the scene being submitted contains any missing external files (bitmaps etc.). Depending on the state of the ‘Ignore Missing External File Errors checkbox under the Render tab, such files might not cause the job to fail but could cause the result to look wrong. When unchecked, scenes with missing external files will be submitted without any warnings.
  • Warn about Copying External Files with Job only if: the count is greater than 100 or the size is greater than 1024MB. Both values can be configured to a studio’s need.
  • Override 3ds Max Language: If enabled, you can choose a language to force during rendering.

Export Renderer-Specific Advanced Settings

../_images/max_renderer_export.png
  • Export Renderer Caching Output Files: If checked, any renderer specific caching output files which will be generated as part of this render job will be added as Deadline Monitor output paths which can be accessed via the right-click view output menu of the job. Mental Ray, Corona and VRay caching files are currently supported. Note, any caching file which is ONLY being ‘read’ by the renderer will NOT be included at submission time as it is NOT creating any output here but rather being referenced by the 3dsMax scene file.
  • Renderer Specific Setting: If an export option is enabled for a specific renderer, you will be able to modify a variety of settings for that renderer after submission from the Monitor. To modify these settings from the Monitor, right-click on the job and select Modify Properties, then select the 3dsmax tab.

Submission Timeouts

../_images/max_timeouts.png
  • Job Submission Timeout in seconds: This value spinner defines how many seconds to wait for the external Submitter application to return from the Job submission before stopping the attempt with a timeout message.
  • Quicktime Submission Timeout in seconds: This value spinner defines how many seconds to wait for the external Submitter application to return from the Quicktime submission before stopping the attempt with a timeout message.
  • Data Collection Timeout in seconds: This value spinner defines how many seconds to wait for the external Submitter application to return from data collecting before stopping the attempt with a timeout message. Data collecting includes collecting Pools, Categories, Limit Groups, Slave Lists, Slave Info, Jobs etc.

Limits Tab

Blacklist/Whitelist Slaves

Set the whitelist or blacklist for the job. See the Scheduling section of the Modifying Job Properties documentation for more information on the available options.

../_images/max_slave_list.png

Limits

../_images/max_limits.png

Set the Limits that the job requires. See the Scheduling section of the Modifying Job Properties documentation for more information on the available options.

StateSets Tab

../_images/max_state_sets.png

Select the State Sets you want to submit to Deadline. This option is only available in 3ds Max 2012 (Subscription Advantage Pack 1) and later.

Integration Tab

Project Management Data

The available Integration options are explained in the Draft and Integration documentation.

../_images/max_integration.png

Deadline Draft Post-Render Processing

The available Draft/Integration options are explained in the Draft and Integration documentation.

../_images/max_draft.png

Extra Info

These are some extra arbitrary properties that can be set for the job. Note that some of these are reserved when enabling the Shotgun, FTrack or Draft settings.

../_images/max_extra_info.png

Scripts Tab

Run Python Scripts

../_images/max_python_scripts.png
  • Run Pre-Job Script: Specify the path to a Python script to execute when the job initially starts rendering.
  • Run Post-Job Script: Specify the path to a Python script to execute when the job finishes rendering.
  • Run Pre-Task Script: Specify the path to a Python script to execute before each task starts rendering.
  • Run Post-Task Script: Specify the path to a Python script to execute after each task finishes rendering.

Run Maxscript Script

../_images/max_maxscripts.png
  • Submit Script Job: This checkbox lets you turn the submission into a MAXScript job. When checked, the scene will NOT be rendered, instead the specified MAXScript code will be executed for the specified frames. Options that collide with the submission of a MAXScript Job like “Tile Rendering” and “Render Preview Job First” will be disabled or ignored.
  • Single Task: This checkbox lets you run the MAXScript Job on one slave only. When checked, the job will be submitted with a single task specified for frame 1. This is useful when the script itself will perform some operations on ALL frames in the scene, or when per-frame operations are not needed at all. When unchecked, the frame range specified in the Render Scene Dialog of 3ds Max will be used to create the corresponding number of Tasks. In this case, all related controls in the Job tab will also be taken into account.
  • Workstation Mode: This checkbox is a duplicate of the one under the Render tab (checking one will affect the other). MAXScript Jobs that require file I/O (loading and saving of 3ds Max files) or commands that require the 3ds Max UI to be present, such as manipulating the modifier stack, HAVE TO be run in Workstation mode (using up a 3ds Max license on the Slave). MAXScript Jobs that do not require file I/O or 3ds Max UI functionality can be run in Slave mode on any number of machines without using up 3ds Max licenses.
  • New Script From Template: This button creates a new MAXScript without any execution code, but with all the necessary template code to run a MAXScript Job on Deadline.
  • Pick Script: This button lets you select an existing script from disk to use for the MAXScript Job. It is advisable to use scripts created from the Template file using the “New Script From Template” button.
  • Edit MAXScript File: This button lets you open the current script file (if any) for editing.
  • Run Pre-Load Script: This checkbox lets you run a MAXScript specified in the text field below it BEFORE the 3ds Max scene is loaded for rendering by the Slave.
  • Run Post-Load Script: This checkbox lets you run a MAXScript specified in the text field below it AFTER the 3ds Max scene is loaded for rendering by the Slave.
  • Run Pre-Frame Script: This checkbox lets you run a MAXScript specified in the text field below it BEFORE the Slave renders a frame.
  • Run Post-Frame Script: This checkbox lets you run a MAXScript specified in the text field below it AFTER the Slave renders a frame.
  • Post-Submission Function Call: This field can be used by TDs to enter an arbitrary user-defined MAXScript Expression (NOT a path to a script!) which will be executed after the submission has finished. This can be used to trigger the execution of user-defined functions or to press a button in a 3rd party script. In the screenshot, the expression presses a button in a globally defined rollout which is part of an in-house scene management script. If you want to execute a multi-line script after each submission, you could enter fileIn “c:\temp\somescript.ms” in this field and the content of the specified file will be evaluated. The content of this field is sticky and saved in the local INI file - it will persist between sessions until replaced or removed manually.

The MAXScript Job Template file is located in the Repository under \submission\3dsmax\Main\MAXScriptJobTemplate.ms. When the button is pressed, a copy of the template file with a name pattern “MAXScriptJob_TheSceneName_XXXX.ms” will be created in the \3dsmax#\scripts\SubmitMaxToDeadline folder where XXXX is a random ID and 3dsmax# is the name of the 3ds Max root folder. The script file will open in 3ds Max for editing. You can add the code to be executed in the marked area and save to disk. The file name of the new template will be set as the current MAXScript Job file automatically. If a file name is already selected in the UI, you will be prompted about replacing it first. Your custom MAXScript file MUST be submitted with the 3dsMax job (so a snapshot of the code file is taken). Ensure, via SMTD, the Submission Option of SMTD is “orange” - “SAVE and Submit Current Scene File with the Job to the REPOSITORY” is selected or alternatively via pure MAXScript:

SMTDSettings.SubmitSceneMode = #reposave --> Force save and submit mode
local maxFileToSubmit = SMTDPaths.tempdir + maxFileName
SMTDFunctions.SaveMaxFileCopy maxFileToSubmit

Note, MAXScripts are required to return either false or true at the end of the script. As an absolute minimum your Pre-Load, Post-Load, Pre-Frame or Post-Frame MAXScript should look like this:

(
true  --return true if the script has finished successfully, return false to report a failure.
)

Deadline exposes an interface to MAXScript, which allows you to gather information about the job being rendered. See the Maxscript Interface documentation for the available functions and properties.

Tiles / Jigsaw Tab

Tile & Region Rendering Options

../_images/max_region_options.png
  • Region Rendering Mode: This drop-down list controls the various rendering modes:

    • FULL FRAME Rendering, All Region Options DISABLED - this is the default mode of the Submitter. No region rendering will be performed and the whole image will be rendered.
    • SINGLE FRAME, MULTI-REGION ‘Jigsaw’ Rendering - Single Job, Regions As Tasks - this mode allows one or more regions to be defined and rendered on one or more network machines. Each region can be optionally sub-divided to a grid of sub-regions to split between machines. The resulting fragments will then be combined to a new single image, or optionally composited over a previous version of the full image using DRAFT. This mode is recommended for large format single frame rendering. Note that the current frame specified by the 3ds Max TIME SLIDER will be rendered, regardless of the Render Dialog Time settings.
    • ANIMATION, MULTI-REGION ‘Jigsaw’ Rendering - One Job Per Region, Frames As Tasks - this mode allows one or more regions to be defined and rendered on one or more network machines. Each region can be optionally sub-divided to a grid of sub-regions to split between machines. Each region can be optionally animated over time by hand or by using the automatic tracking features. The resulting fragments from each frame will then be combined to a new single image, or optionally composited over a previous version of the full image using DRAFT. This mode is recommended for animated sequences where multiple small portions of the scene are changing relative to the previous render iteration.
    • SINGLE FRAME TILE Rendering - Single Job, Tiles As Tasks - this mode splits the final single image into multiple equally-sized regions (Tiles). Each Tile will be rendered by a different machine and the final image can be assembled either using DRAFT, or by the legacy command line Tile Assembler. This mode is recommended when the whole image needs to be re-rendered, but you want to split it between multiple machines.
    • ANIMATION, TILE Rendering - One Job Per Tile, Frames As Tasks - this mode submits a job for each tile and a post task maxscript will assemble the tiles once they are all rendered per frame for each job.
    • 3DS MAX REGION Rendering - Single Job, Frames As Tasks - this mode allows for traditional 3ds Max REGION, BLOWUP and CROP render modes to be used via Deadline.
  • Cleanup Tiles After Assembly: When checked, the Tile image files will be removed after the final image has been assembled. Keep this unchecked if you intend to resubmit some of the tiles and expect them to re-assemble with the previous ones.

  • Pixel Padding: Default is 4 pixels. This is the number of pixels to be added on each side of the region or tile to ensure better stitching through some overlapping. Especially when rendering Global Illumination, it might be necessary to render tiles with significant overlapping to avoid artefacts.

  • Copy Draft Config Files To Output Folder: When checked, the configuration files for Draft Assembly jobs will be duplicated in the output folder(s) for archiving purposes. The actual assembling will be performed using the copies stored in the Job Auxiliary Files folder. Use this option if you want to preserve a copy next to the assembled frames even after the Jobs have been deleted from the Deadline Repository.

  • Draft Assembly Job Error On Missing Tiles: When unchecked, missing region or tile fragments will not cause errors and will simply be ignored, leaving either black background or the previous image’s pixels in the assembled image. When checked, the Assembly will only succeed if all requested input images have been found and actually put together.

  • Override Pool, Group, Priority for Assembly Job: When enabled, the Assembly Pool, Secondary Pool, Group and Priority settings will be used for the Assembly Job instead of the main job’s settings.

The output formats that are supported by the Tile Assembler jobs are BMP, DDS, EXR, JPG, JPE, JPEG, PNG, RGB, RGBA, SGI, TGA, TIF, and TIFF.

Jigsaw [Single-Frame | Animation] Multi-Region Rendering

../_images/max_multi_region.png

This rollout contains all controls related to defining, managing and animating multiple regions for the’Jigsaw’ modes. The rollout title will change to include an ACTIVE: prefix and the “Single-Frame” or “Animation” token when the respective mode is selected in the Region Rendering Mode drop-down list (see above).

  • UPDATE List: Press this button to refresh the ListView.

  • LOAD/SAVE File…: Click to open a menu with the following options:

    • LOAD Regions From Disk Preset File…: Selecting this option will open a file open dialog and let you select a previously saved Regions Preset. Any existing regions will be replaced by the ones from the file.
    • MERGE Regions From Disk Preset File…: Selecting this option will open a file open dialog and let you select a previously saved Regions Preset. Any existing regions will be preserved, and the file regions will be appended to the end of the list.
    • SAVE Regions To Disk Preset File…: Only enabled if there are valid regions on the list. When selected, a file save dialog will open and let you save the current regions list to a disk preset for later loading or merging in the same or different projects.
  • GET From Camera…: If the current view is a Camera, a list of region definitions stored in the current view’s Camera will be displayed, allowing you to replace the current region list with the stored one. If the current view is not a Camera view, a warning message will be shown asking you to select a Camera view. If the current view’s Camera does not have any regions stored in it, nothing will happen.

  • STORE In Camera…: If the current view is a Camera, a list of region definitions stored in the current view’s Camera will be displayed, with the added option to Save New Preset… in a new “slot”. Alternatively, you can select any of the previously stored “slots” to override or update. The Notes text specified in the Notes: field below will be used to describe the preset. Also, additional information including the number of regions, the user, machine name, date and time and the MAX scene name will be stored with the preset.

  • Notes: Enter a description of the current Region set to be used when saving a Preset to disk or camera. When a preset is loaded, the field will display the notes stored with the preset.

  • ADD New Region: Creates a new region and appends it to the list. If objects are selected in the scene, the region will be automatically resized to frame the selection. If nothing is selected, the Region will be set to the full image size.

  • CREATE From…: Click to open a context menu with several multi-region creation options:

  • Create from SCENE SELECTION…: Select one or more objects in the scene and pick this option to create one region for each object in the selection. Note that regions might overlap or be completely redundant depending on the size and location of the selected objects - use the OPTIMIZE options below to reduce.

  • Create from TILES GRID…: Pick this option to create one region for each tile specified in the Tiles rollout. For example, if the Tiles in X is set to 4 and Tiles in Y is 3, 12 regions resembling the Tile Grid will be created. Note that once the regions are created, some of them can be merged together, others can be subdivided or split as needed to distribute regions with different content and size to different machines, providing more flexibility than the original Tiles mode.

  • Create from 3DS MAX REGION…: Create a region with the size specified by the 3ds Max Region gizmo.

  • OPTIMAL FILL Of Empty Areas: After the grid is created, two passes are performed: first a Horizontal Fill where regions are merged horizontally to produce wider regions, then a Vertical Fill merging regions with shared horizontal edges. The result is the least amount of tiles and equivalent to manually merging any neighbor tiles with shared edges in Maya Jigsaw. Thus, it is the top (recommended) option.

  • HORIZONTAL FILL Of Empty Areas: After creating the grid, a pass is performed over all regions to find neighbors sharing vertical edges. When two regions share an edge and the same top and bottom corner, they get merged. This is the equivalent to the Maya Jigsaw behavior, producing wider regions where possible, but leaving a lot of horizontal edges between tiles with the same width.

  • VERTICAL FILL Of Empty Areas: After creating the grid, a pass is performed to merge neighboring regions sharing a horizontal edge with the same left/right corners. The result is the opposite of the Horizontal Fill - a lot of tall regions.

  • GRID FILL Of Empty Areas: Takes the horizontal and vertical coordinates of all tiles and creates a grid that contains them all. No merging of regions will be performed.

  • OPTIMIZE Regions, Overlap Threshold > 25%: Compare the overlapping of all highlighted regions and if the overlapping area is more than 25% of the size of the smaller one of the two, combine the two regions to a single region. Repeat for all regions until no overlapping can be detected.

  • OPTIMIZE Regions, Overlap Threshold > 50%: Same as the previous option, but with a larger overlap threshold.

  • OPTIMIZE Regions, Overlap Threshold > 75%: Same as the previous options, but with an even larger overlap threshold.

  • Clone LEFT|RIGHT: Select a single region in the list and click with the Left Mouse Button to clone the region to the left, or Right Mouse Button to clone to the right. The height will be retained. The width will be clamped automatically if the new copy is partially outside the screen.

  • Clone UP|DOWN: Select a single region in the list and click with the Left Mouse Button to clone the region up, or Right Mouse Button to clone down. The width will be retained. The height will be clamped automatically if the new copy is partially outside the screen.

  • FIT to N Objects / Fit Padding Value: Highlight exactly one region in the list and select one or more objects in the scene, then click with the Left Mouse Button to perform a precise vertex-based Fit to the selection, or click with the Right Mouse Button to perform a quick bounding-box based Fit to the selection. Click the small button with the number to the right to select the Padding Percentage to use when fitting in either modes.

  • TRACK Region…: Left-click to open the Track dialog in Vertex-based mode for the currently selected region and scene objects. Right-click for Bounding Box-based mode. While you can switch the mode in the dialog itself, both the radio buttons and the Padding % values will be adjusted for faster access according to the mouse button pressed.

  • SELECT | INVERT: Left-click to highlight all regions on the list. Right-click to invert the current selection.

  • DELETE Regions: Click to delete the highlighted regions on the list.

  • SET Keyframe: Highlight one or more regions and click this button to set a keyframe with the current region settings at the current time.

  • << PREVIOUS Key: Click to change the time slider to the previous key of the highlighted region(s), if case there are such keys.

  • NEXT Key >>: Click to change the time slider to the next key of the highlighted region(s), if case there are such keys.

  • DELETE Keyframe: Click to delete the keys (if any) of the highlighted regions. If there is no key on the current frame, nothing will happen. Use in conjunction with Previous/Next Key navigation to delete actually existing keys.

  • Regions ListView: The list view is the main display of the current region settings. It provides several columns and a set of controls under each column for editing the values on the list:

    • On # column: Shows a checkbox to toggle a region on and off for rendering, and the index of the region.
    • X and Y columns: These two columns display the coordinates of the upper left corner of the Region. Note that internally the values are stored in relative screen coordinates, but in the list they are shown in current output resolution pixel coordinates for convenience. Changing the output resolution in the Render Setup dialog and pressing the UPDATE List button will recalculate the pixel coordinates accordingly.
    • Width and Height columns: These two columns display the width and height of the region in pixels. Like the upper left corner’s X and Y coordinates, they are stored internally as relative screen coordinates and are shown as pixels for convenience.
    • Tiles column: Each region can be subdivided additionally horizontally and vertically into a grid of sub-tiles, each to be rendered by a different network machine. This column shows the number of tiles of the region, default is 1x1.
    • Keys column: This column shows the number of animation keys recorded for the region. By default regions have no animation keys and will show – in the column unless animated manually or via the Tracking option.
    • Locked column: After Tracking, the region will be locked automatically to avoid accidental changes to its position and size. You can also lock the region manually if you want to prevent it from being moved accidentally.
    • Notes column: This column displays auto-generated or user-defined notes for each region. When a region is created, it might be given a name based on the object it was fitted to, the original region it was cloned or split from etc. You can enter descriptive notes to explain what every region was meant for.
  • UNDO… / REDO…: Most operations performed in the Multi-Region rollout will create undo records automatically. The Undo buffer is saved to disk in a similar form as the presets, and you can undo or redo individual steps by left-clicking the button, or multiple steps at once by right-clicking and selecting from a list.

  • HOLD: Not all operations produce a valid undo record. If you feel that the next operation might be dangerous, you can press the HOLD button to force the creation of an Undo record at the current point to ensure you can return back to it in case the following operations don’t produce desirable results.

  • SPLIT To Tiles: Pressing this button will split the highlighted region to new regions according to the Tiles settings, assuming they are higher than 1x1 subdivisions. You can use this feature together with the Tiles controls to quickly produce a grid of independent regions from a single large region. For example, if you create a single region with no scene selection, it will have the size of the full screen. Enter Tile values like 4 and 3 and hit the SPLIT To Tiles to produce a grid of 12 regions.

  • MERGE Selected: Highlight two or more regions to merge them into a single region. The regions don’t have to necessarily touch or overlap - the minimum and maximum extents of all regions will be found and they will be replaced by a single region with that position and size.

  • Summary Field: This field displays information about the number of regions and sub-regions (tiles), the number of pixels to be rendered by these regions, and the percentage of pixels that would be rendered compared to the full image.

  • Assemble Over… drop-down list: This list provides the assembly compositing options:

    • Assemble Over EMPTY Background: The regions will be assembled into a new image using a black empty background with zero alpha.
    • Compose Over PREVIOUS OUTPUT Image: The regions will be assembled over the previously rendered (or assembled) image matching the current output filename (if it exists). If such an image does not exist, the regions will be assembled over an empty background.
    • Compose Over CUSTOM SINGLE Image: The regions will be assembled over a user-defined bitmap specified with the controls below. The same image will be used on all frames if an animation is rendered.
    • Compose Over CUSTOM Image SEQUENCE: The regions will be assembled over a user-defined image sequence specified with the controls below. Each frame will use the corresponding frame from the image sequence.
  • Pick Custom Background Image: Press this button to select the custom image or image sequence to be used in the last compositing modes above. Make sure you specify a network location that can be accessed by the Draft jobs on Deadline performing the Assembly!

[Single-Frame | Animation] Tile Rendering

../_images/max_tiles.png
  • Tiles In X / Tiles In Y: These values specify the number of tiles horizontally and vertically. The total number of tiles (and jobs) to be rendered is calculated as X*Y and is displayed in the UI.
  • Show Tiles In Viewport: Enables the tile display gizmo.
  • Tile Pixel Padding: This value defines the number of pixels to overlap between tiles. By default it is set to 0, but when rendering Global Illumination, it might be necessary to render tiles with significant overlapping to avoid artifacts.
  • Re-Render User-Defined Tiles: When checked, only user-defined tiles will be submitted for re-rendering. Use the [Specify Tiles To Re-render…] check-button to open a dialog and select the tiles to be rendered.
  • Specify Tiles To Re-render: When checked, a dialog to select the tiles to be re-rendered will open. To close the dialog, either uncheck the button or press the [X] button on the dialog’s title bar.
  • Enable Blowup Mode: If enabled, tile rendering will work by zooming in on the region and rendering it at a smaller resolution. Then that region is blown up to bring it to the correct resolution. This has been known to help save memory when rendering large high resolution images.
  • Submit All Tiles As A Single Job: By default, a separate job is submitted for each tile (this allows for tile rendering of a sequence of frames). For easier management of single frame tile rendering, you can choose to submit all the tiles as a single job.
  • Submit Dependent Assembly Job: When rendering a single tile job, you can also submit a dependent assembly job to assemble the image when the main tile job completes.

Region Rendering

../_images/max_regions.png

When enabled, only the specified region will be rendered and depending on the region type selected, it can be cropped or blown up as well. If the Enable Distributed Tiles Rendering checkbox is checked, it will be unchecked. This option REPLACES the “Crop” option in the Render mode drop-down list in the 3ds Max UI. In other words, the 3ds Max option does not have to be selected for Region Rendering to be performed on Deadline. The region can be specified either using the CornerX, CornerY, Width and Height spinners, or by getting the current region from the active viewport. To do so, set the Render mode drop-down list to either Region or Crop, press the Render icon and drag the region marker to specify the desired size. Then press ESC to cancel and press the Get Region From Active View to capture the new values.

Misc Tab

Quicktime Generation From Rendered Frame Sequence

../_images/max_quicktime.png

Create a Quicktime movie from the frames rendered by a 3ds Max job. See the Quicktime documentation for more information on the available options.

Render To Texture

../_images/max_textures.png

This option enables texture baking through Deadline. Use the Add, Remove, and Clear All buttons to add and remove objects from the list of objects to bake. * One Object Per Task: If enabled, each RTT object will be allocated to an individual task thereby allowing multiple machines to carry out RTT processing simultaneously.

Batch Submission

../_images/max_batch.png

WARNING: Batch Render can optionally work with the old “Scene State” system in 3dsMax but does NOT work in partnership with the newer “State Sets” system, which was introduced into 3dsMax after Batch Render. SMTD provides a separate interface if you wish to submit “State Sets” to Deadline.

  • Submit All Batch Jobs From The Local Workstation: All enabled Batch Render views will be submitted by your local workstation to the Deadline queue as normal 3dsmax plugin based render jobs. This may take some submission time, depending on the number of Batch Views to submit and if you currently have a large 3dsMax scene file, which you are also including with each job submission. (Alternatively; referencing the 3dsmax scene file from a network location will speed up job submission for you here). See scene file Submission Options for more details.
  • Submit Master Job In Workstation Mode, Spawn Batch Jobs On Deadline: A single MASTER job will be sent to Deadline which in turn will “spawn” all necessary BATCH jobs. This requires the Deadline Slave that picks up this job to run in Workstation Mode (requires 3dsMax GUI license) and a maxscript will execute spawning all the enabled Batch Render views as separate jobs back into the Deadline queue.
  • Use Data from 3ds Max Batch Render: This checkbox enables Batch Submission using the 3ds Max Batch Render dialog settings.
  • Open Dialog: This button opens the 3ds Max Batch Render dialog in Version 8 and higher.
  • Update Info: This button reads the 3ds Max Batch Render dialog settings and displays the number of enabled vs. defined Views. Ensure the number of enabled views correlates with your expected number of Batch views prior to job submission.
  • Cleanup Submission Folders After Each Batch Job: SMTD will purge any temporary local files created during the Batch Render job submission to Deadline. This ensures efficient use of disk space on your local machine.

Sanity Check

The 3ds Max Sanity Check script defines a set of functions to be called to ensure that the scene submission does not contain typical errors like wrong render view and frame range settings, incorrect output path, etc.

The Sanity Check is enabled by the Run Sanity Check Automatically Before Submission checkbox in the User Options group of controls in the Submit To Deadline (3dsmax) dialog. You can also run the Sanity Check automatically by clicking the Run Now! button.

../_images/sanity_checker.png

The dialog contains the following elements:

  • The upper area (Error Report) lists the problems found in the current scene.
  • The lower area (Feedback Messages) lists the actions the Sanity Check performs and gives feedback to the user. The latest message is always on top.
  • Between the two areas, there is a summary text line listing the total number of errors and a color indicator of the current Sanity Check state. When red, the Sanity Check will not allow a job submission to be performed.

The Error Report

The left column of the Error Report displays a checkbox and the type of the error. The checkbox determines whether the error will be taken into account by the final result of the check. Currently, there are 3 types of errors:

  • FATAL: The error cannot be fixed automatically and requires manual changes to the scene itself. A job submission with such an error would be pointless. The state of the checkbox is ignored and considered always checked.
  • Can Be Fixed: The error can be fixed automatically or manually. If the checkbox is active, the error contributes to the final result. If unchecked, the error is ignored and handled as a warning.
  • Warning: The problem might not require fixing, but could be of importance to the user. It is not taken into account by the final result (the state of the checkbox is ignored and considered always unchecked).

Repairing Errors

Right-clicking an Error Message in the Error Report window will cause an associated repair function to be executed and/or a Report Message to be output in the Feedback Messages window. This difference was caused by the switch to DotNet controls which handle double-clicks as checked events, changing the checkbox state in front of the error instead.

Updating the Error Report

You can rerun/update the Sanity Check in one of the following ways:

  • Clicking the dialog anywhere outside of the two message areas will rerun the Sanity Check and update all messages.
  • Double-clicking any Message in the Feedback Messages window will rerun the Sanity Check and update all messages.
  • Reparing an error by double-clicking will also automatically rerun the Sanity Check
  • Pressing the Run Now! button in the Submit To Deadline dialog will update the Sanity Check.

FATAL Sanity Checks

These are errors that must be fixed manually before the job can be submitted.

Message Description Fix
The scene does not contain ANY objects! The scene is empty and should not be sent to Deadline. Load a valid scene or create/ merge objects, then try again.
Maxwell is the renderer and the current view is NOT a Camera. Maxwell renderer must render through an actual camera and will fail through a viewport. Double-click the error message to open a Select By Name dialog to pick a camera for the current viewport.
The scene contains objects or groups with the same name as a camera! The scene contains objects or groups with a duplicate name to a camera which could result in an incorrect object being used as the camera. Ensure you remove any duplicate named objects from your scene.
Maxwell is the renderer and the Render Time Output is set to a SINGLE FRAME! (Check is currently disabled in SMTD) Maxwell has an issue with single frame rendering. Double-click the error message will change the Rendering Output Time to animation with just the current frame.
Render Output Path length exceeds 255 characters! Ensure the render output file save path is less than 255 characters in length. Double-click the error message will open the Render Scene Dialog for you to manually shorten the path length.
Render Elements Output Path length exceeds 255 characters! Ensure any Render Element file save path lengths are less than 255 characters in length. Double-click the error message will open the Render Scene Dialog for you to manually shorten the RE path length.
Duplicate Render Elements saving to same File Found! 1 or more Render Elements are saving to an identical file path and file name. Double-click the error message will open the Render Scene Dialog for you to manually resolve the duplication.
Scene Object(s) contain names > 255 characters! 1 or more objects in the scene has an object name which is greater than 255 characters in length, which will crash Max. Shorten the character length of all the objects in your scene to ensure stability.
Corrupt Group(s) detected in your Scene! One or more objects in your scene are a group head but have no child members! Double-click the error message to automatically have these corrupt nodes deleted from the scene. Results are printed to the Sanity Check Window.
Multi-Region Rendering Requested, But No Active Regions Found! Jigsaw Multi-Region Rendering has been enabled, but there are NO active regions enabled in the SMTD Tiles Tab UI. Ensure at least 1 region is active in the Jigsaw Multi- Region Rendering UI in the Tiles tab of SMTD.
V-Ray Save Raw Image File is Enabled, but Raw Image File Path is Empty! V-Ray VFB Save Raw Image File is enabled but NO save file path has been declared! Double-click the error message will open the Render Scene Dialog for you to manually enter a valid file save path.
V-Ray Save Separate Render Channels is Enabled, but Separate Render Channels File Path is Empty! V-Ray VFB Save Separate Render Channels is Enabled, but NO save file path has been declared! Double-click the error message will open the Render Scene Dialog for you to manually enter a valid file save path.
V-Ray VFB - [Region render] button should be Disabled! V-Ray VFB [Region render] must be disabled for network rendering. Double-click the error message will disable the [Region render] button in the VFB.
V-Ray VFB - [Track mouse while rendering] button should be Disabled! V-Ray VFB [Track mouse while rendering] button must be disabled for network rendering. Double-click the error message will disable the [Track mouse while rendering] button in the VFB.
V-Ray RE:[Alpha,Reflection, Refraction] or [Save alpha] requires Draft Tile Assembler. NOT supported with TA. When using Jigsaw SingleFrame Tile Rendering with V-Ray RE’s such as Alpha, Reflection, Refraction OR [Save alpha] via the VFB, ensure you use Draft Tile Assembler which is able to support the higher bit depths created by these RE’s. Double-click the error message will enable Draft as the Tile Assembler.
V-Ray VFB - Render Region is outside the bounds of the current render resolution! V-Ray VFB [Region Render] size is currently beyond the coords of the current render resolution. Double-click the error message will disable the [Region render] button in the VFB.
V-Ray - AA Render mask selection is currently invalid, which will cause the render to hang! V-Ray Image Sampler (AA) ‘Render mask’ selection is currently empty or invalid which will cause the render to hang once submitted. Ensure a valid ‘Render mask’ selection is used prior to submitting the job to Deadline.

Fixable Sanity Checks

The following Sanity Checks can be automatically fixed before the job is submitted.

Message Description Fix
The current Scene Name is Untitled.

The scene has never been saved to a MAX file.

While it is possible to submit an untitled scene to Deadline, it is not a good practice.

Double-click the error message to open a Save As dialog and save to disk.
The current view is NOT a camera. The active viewport is not a camera viewport. Double-click the error message to open a Select By Name dialog to pick a camera for the current viewport.
The Render Time Output is set to SINGLE FRAME! While it is ok to send a single frame to Deadline, users are sending animations 99% of the cases. Double-click the error message to set the Render Time Output to “Active Time Segment:. The Render Dialog will open so you can check the options and set to Range or Frames instead.
The Render Output Path appears to point at a LOCAL DRIVE! While it is technically possible to save locally on each Slave, this is a bad idea - all Slaves should write their output to a central location on the network. Currently, disks C:, D: and E: are considered local and will be tested agains the output path. Double-click the error message to open the Render Dialog and select a valid path, then double-click again to retest.
The Render Output File Name ends with a DIGIT - trailing numbers might fail. The Name to be saved to ends with one, two or three digits. Rendering to this file name will append 4 more digits and make loading sequential files in other applications hard or impossible. This check is performed only when the type is not AVI or MOV and will ignore 4 trailing digits which will be replaced by 3dsmax correctly when rendering to sequential files. Double-click the error message to add an underscore _ to the end of the file name, for example z:\temp\test123.tga will be changed to z:\temp\test123_.tga
The Render Output will not be saved to a file. No renders will be saved as Render Scene Dialog checkbox is currently disabled. Double-click the error message to open the Render Dialog and to enable the Save File checkbox.
The Distributed Rendering option is enabled for this renderer. Check if Distributed Rendering is enabled for MR or V-Ray renderer. Double-click the error message to disable Distributed rendering.
Workstation Mode must be enabled to use V-Ray Distributed Rendering (via 3dsmax plugin). 3dsMax must use a workstation license to allow Distributed Rendering to work, when it is being offloaded onto the farm. Double-click the error message and Workstation Mode will be enabled in SMTD.
The Render Time Output is NOT set to single frame, and Remove Filename Padding is enabled! When rendering animations, you should allow filename padding to ensure an image sequence is created during rendering. Double-click the error message will change the Rendering Output Time to SINGLE FRAME.
The current Renderer is Krakatoa and Particle Cache is ON! Particle and Lighting Cache should be disabled during SMTD submission to Deadline queue. Double-click the error message to set the PCache & LCache to be disabled.
One or more Render Element Save File Paths are EMPTY! (V-Ray? - Disable the Individual RE) Ensure that a Render Element Output File has been selected for each Render Element! If using V-Ray Frame Buffer and ALL RE’s have been Disabled, then IGNORE this Sanity Check! Double-click the error message will open the Render Scene Dialog for you to manually resolve the issue or it can be safely ignored.
Camera Match Background Image(s) in your Scene. Right-click to REMOVE these ref. bitmaps! Surplus camera match bkgrd images in your scene cause unnecessary bitmap refs. in your scene file. Double-click the error message will delete any background image in ALL cameras in your scene file.
Alpha Channel will NOT be stored if saving *.tga file @ 16/24bit depth! Select 32bit for Alpha! Ensure you select 32bit in the TGA image plugin file format options to ensure an alpha channel is stored in the TGA file. Double-click the error message will open the Render Scene Dialog for you to manually configure the bit depth of the TGA image file to be saved.
V-Ray IMAP File (*.vrmap) set to ‘From File’ is missing / invalid file path! V-Ray GI tab, IMAP File is either missing or set to an invalid file path. Double-click the error message will open the Render Scene Dialog for you to manually enter a valid file save path.
V-Ray Photon File (*.vrpmap) set to ‘From File’ is missing / invalid file path! V-Ray GI tab, Photon File is either missing or set to an invalid file path. Double-click the error message will open the Render Scene Dialog for you to manually enter a valid file save path.
V-Ray LC File (*.vrlmap) set to ‘From File’ is missing / invalid file path! V-Ray GI tab, LC File is either missing or set to an invalid file path. Double-click the error message will open the Render Scene Dialog for you to manually enter a valid file save path.
V-Ray Caustics File (*.vrpmap) set to ‘From File’ is missing / invalid file path! V-Ray GI tab, Caustics File is either missing or set to an invalid file path. Double-click the error message will open the Render Scene Dialog for you to manually enter a valid file save path.
Current Scene is Rendering in Active Shade Mode. Are you sure you want to Submit? Render Scene Dialog is set to Active Shade Mode currently, which is unsupported. Double-click the error message will set #Production renderer as the current scene renderer.
FumeFX Sim Job? - Disable Progress Timeout MUST be ENABLED! FumeFX node(s) are configured to simulate in this job, so Deadline’s Progress Update Timeout should be disabled. Double-click the error message will check the ‘Disable Progress Update Timeout’ checkbox in ‘Render’ tab.
FumeFX - Sim Jobs ONLY need to be a SINGLE FRAME (ALL Frames will be Simulated) FumeFX node(s) are configured to simulate in this job, so 3ds Max Render Time should be set to SINGLE FRAME only. Double-click the error message will automatically change the current Render Time Output to Single Frame.
FumeFX - Sim Jobs MUST have a MACHINE LIMIT = 1 (RUN only on 1 machine) FumeFX node(s) are configured to simulate in this job, so Deadline’s Machine Limit must be set to 1 (run on 1 slave). Double-click the error message will automatically change the SMTD Machine Limit to enabled and set to 1 slave only.
V-Ray DBR off-load requires WORKSTATION mode to be ENABLED. [Use 3dsCmd Plugin] to avoid! Off-load V-Ray DBR requires a workstation license for the first task (MASTER machine). Avoid this by submitting to the 3dsCmd plugin instead. Double-click the error message will automatically enable the the [Use 3dsCmd Plugin] checkbox in SMTD -> render tab.
Render output file already has a delimiter in it! Main render output filename & path contains “..”. Possibly due to Delimiter set in Defaults ini file. Double-click the error message to remove the extra delimiter from render output filename.
V-Ray raw image file [DUPLICATE DOT] delimiter/user entered V-Ray RAW image filename has duplicate “..”. Possibly due to Delimiter set in Defaults ini file. Double-click the error message to remove the extra delimiter from V-Ray RAW image filename.
V-Ray raw image file [DUPLICATE DOT] fileName_addDot/user entered V-Ray RAW image filename has duplicate “..”. Possibly due to V-Ray’s own addDot option in RAW File Browser Dialog. Double-click the error message to remove the extra delimiter from V-Ray RAW image filename.
V-Ray separate render channel files already have a delimiter in them! V-Ray separate render channel filename has duplicate “..”. Possibly due to Delimiter set in Defaults ini file. Double-click the error message to remove the extra delimiter from V-Ray separate render channel image filename.
At least one render element output file already has a delimiter in it! One or more V-Ray Render Elements contain a duplicate “..” in their image filename. Double-click the error message to remove the extra delimiter from all V-Ray Render Element filenames.

Warnings

The following Sanity Checks are simply warnings.

Message Description Fix
The Render Output Path is NOT DEFINED! No frames will be saved to disk. This is allowed if you want to output render elements only. Double-click the error message to open the Render Dialog and select a valid path, then double-click again to retest.
The Render Output is set to a MOVIE format.

The file extension is set to an AVI or MOV format.

In the current version of Deadline, this would result in a sequence of single frame MOV files rendered by separate slaves. In the future, the behaviour might be changed to render a single MOV or AVI file on a single slave as one Task.

Double-click the error message to open the Render Dialog and select a single frame output format, then double-click again to retest.
Not rendering final image (GI) so Restart Renderer should be disabled, and Machine Limit set to 1. “Don’t render final image” is enabled, so Restart Renderer and Machine Limit should be set to 1 in SMTD. Double-click the error message and Restart Renderer will be disabled and Machine Limit enabled and set to 1 in SMTD.
Restart Renderer Between Frames is disabled and V-Ray or Brazil is the selected renderer. V-Ray & Brazil renderers need Restart Renderer to be enabled to ensure memory levels are purged during rendering. Double-click the error message to enable Restart Renderer in the SMTD settings.
Viewport is currently locked, which can result in incorrect renders with Deadline. The locked viewport setting in 3dsMax 2009-2014 is ignored in the SDK but is fixed in 3dsMax 2015 onwards. Double-click the error message to disable the Locked Viewport (padlock) in the Render Scene Dialog.
Tile Rendering is enabled and the V-Ray VFB is currently on. Unexpected results can occur when the V-Ray VFB is enabled and you are Tile Rendering. Consider where any Render Elements may be saving to, including the use of the VFB Split Channels and RAW output. Double-click the error message to disable the V-Ray VFB output checkbox.

This list will be extended to include future checks and can be edited by 3rd parties by adding new definitions and functions to the original script. Documentation on extending the script will be published later. Please email suggestions for enhancements and additional test cases to Deadline Support.

V-Ray/Mental Ray off-load DBR

You can offload a V-Ray or Mental Ray DBR job to Deadline by enabling the Distributed Rendering option in your V-Ray or Mental Ray settings, and by enabling the V-Ray/Mental Ray DBR checkbox in the submission dialog (under the Render tab). With this option enabled, a job will be submitted with its task count equal to the number of Slaves you specify, and it will render the current frame in the scene file.

The slave that picks up task 0 will be the “master”, and will wait until all other tasks are picked up by other slaves. Once the other tasks have been picked up, the “master” will update its local V-Ray or Mental Ray config file with the names of the machines that are rendering the other tasks. It will then start the distributed render by connecting to the other machines. Note that the render will not start until ALL tasks have been picked up by a slave.

It is recommended to setup V-Ray DBR or Mental Ray DBR for 3ds Max and verify it is working correctly prior to submitting a DBR off-load job to Deadline. RTT (Render To Texture) is not supported with distributed bucket rendering. If running multiple Deadline slaves on one machine, having these 2 or more slaves both pick up a different DBR job concurrently as either master or slave is not supported.

Many of the common V-Ray/Mental Ray DR settings have been exposed in the Plug-in Configuration.

Notes for V-Ray DBR:

  • You MUST have the Force Workstation Mode option enabled in the submission dialog (under the Render tab). This means that the “master” will use up a 3ds Max workstation license. If you don’t want to use a 3ds Max license, you can submit to the 3ds Command plugin instead by either enabling the Use 3dsCmd Plugin checkbox or by submitting using the 3dsCmd in-app submitter.
  • Ensure V-Ray is the currently assigned renderer in the 3ds Max scene file prior to submission.
  • You must have the Distributed Rendering option enabled in your V-Ray settings under the Settings tab.
  • The slaves will launch the V-Ray Spawner executable found in the 3ds Max root directory. Do NOT install the V-Ray Spawner as a service on the master or slave machines.
  • The vray_dr.cfg / vrayrt_dr.cfg file in the 3ds Max’s plugcfg directory must be writeable so that the “master” machine can update it. This is typically located in the user profile directory, in which case it will be writeable already.
  • Chaos Group recommend that each machine to be used for DBR has previously rendered at least one other 3ds Max job prior to trying DBR on the same machine.
  • Ensure all slaves can correctly access any mapped drives or resolve all UNC paths to obtain any assets required by the 3ds Max scene file to render successfully. Use the Deadline Mapped Drives feature to ensure the necessary drive mappings are in place.
  • Default lights are not supported by Chaos Group in DBR mode and will not render.
  • Ensure you have sufficient V-Ray DR licenses if processing multiple V-Ray DBR jobs through Deadline concurrently. Use the Deadline Limits feature to limit the number of licenses being used at any time.
  • Ensure the necessary V-Ray executables & TCP/UDP ports have been allowed to pass-through the Windows Firewall. Please consult the V-Ray user manual or VRay Spawner Port Configuration documentation for more information.
  • V-Ray does NOT currently support in 3ds Max the ability to dynamically add or remove DBR slaves to the currently processing DBR render once started on the “master” slave.

Notes for Mental Ray DBR:

  • Ensure Mental Ray is the currently assigned renderer in the 3ds Max scene file prior to submission.
  • You must have the Distributed Render option enabled in your Mental Ray settings under the Processing tab.
  • The Mental Ray Satellite service must be running on your slave machines. It is installed by default during the 3ds Max 2014 or earlier installation. Note that ADSK changed this default from 3dsMax 2015 onwards and the Mental Ray Satellite Service is installed as part of the install process but is NOT automatically started, so you will need to start it manually the very first time. See this AREA blog post about Distributed Bucket Rendering in 3ds Max 2015.
  • Ensure the “Use Placeholder Objects” checkbox is enabled in the “Translator Options” rollout of the “Processing” tab. When placeholder objects are enabled, geometry is sent to the renderer only on demand.
  • Ensure “Bucket Order” is set to “Hilbert” in the “Options” section of the “Sampling Quality” rollout of the “Renderer” tab. With Hilbert order, the sequence of buckets to render uses the fewest number of data transfers.
  • Contour shading is not supported with distributed bucket rendering.
  • Autodesk Mental Ray licensing in 3ds Max is restricted. Autodesk says “Satellite processors allow any owner of a 3ds Max license to freely use up to four slave machines (with up to four processors each and an unlimited number of cores) to render an image using distributed bucket rendering, not counting the one, two, or four processors on the master system that runs 3ds Max.” Mental Ray Standalone licensing can be used to go beyond this license limit. Use the Deadline Limits feature to limit the number of licenses being used at any time if required.
  • Ensure the necessary Mental Ray executables & TCP/UDP ports have been allowed to pass-through the Windows Firewall. Please consult the Autodesk 3ds Max user manual for specific information.

Max Rayhosts File:

  • The max.rayhosts file must be writeable so that the “master” machine can update it. It’s location is different for different versions of 3ds Max:

    • 2010 and earlier: It will be in the “mentalray” folder in the 3ds Max root directory.
    • 2011 and 2012: It will be in the “mentalimages” folder in the 3ds Max root directory.
    • 2013 and later: It will be in the “NVIDIA” folder in the 3ds Max root directory.

Plug-in Configuration

You can configure the 3dsmax plugin settings from the Monitor. While in super user mode, select Tools -> Configure Plugins and select the 3dsmax plugin from the list on the left.

../_images/cp_3dsMax.png

3ds Max Render Executables

  • 3ds Max Executable: The path to the 3ds Max executable file used for rendering. Enter alternative paths on separate lines. Different executable paths can be configured for each version installed on your render nodes.

3ds Max Design Render Executables

  • 3ds Max Design Executable: The path to the 3ds Max Design executable file used for rendering. Enter alternative paths on separate lines. Different executable paths can be configured for each version installed on your render nodes.

Render Options

  • Alternate Plugin ini File: Location of alternate plugin ini file.
  • Fail On Existing 3dsmax Process: Prevent deadline from rendering when 3dsmax is already open.
  • Run Render Sanity Check: If enabled, Deadline will do a quick sanity check with 3dsmaxcmd.exe prior to rendering to ensure 3dsmax is properly set up for network rendering.
  • Kill ADSK Comms Center Process: If enabled, Deadline will kill Autodesk Communications Center process if its running during network rendering. This will fix a known Progress Update Timeout error that can occur when 3dsMax is loading or executing the customize.ms MAXScript file.
  • Disable Saving Output To Alternate File Name: If enabled, Deadline won’t try to rename the output file(s) if it is unable to save the output to its default file name.

Timeouts

  • Timeout For Loading 3dsmax: Maximum time for 3dsmax to load, in seconds.
  • Timeout For Starting A Job: Maximum time for 3dsmax to start a job, in seconds.
  • Timeout For Progress Updates: Maximum time before progress update times out, in seconds.

V-Ray DBR and Mental Ray Satellite Rendering

  • Use IP Addresses: If offloading a V-Ray DBR or Mental Ray Satellite render to Deadline, Deadline will update the appropriate config file with the host names of the machines that are running the V-Ray Spawner or Satellite service. If this is enabled, the IP addresses of the machines will be used instead.

Mental Ray Satellite Off-Load Rendering

  • MR Port Number 3ds Max 2010: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2010. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2011: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2011. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2012: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2012. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2013: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2013. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2014: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2014. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2015: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2015. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2016: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2016. Leave BLANK to use default port.
  • MR Port Number 3ds Max 2017: The port number that the master machine will use to communicate to the Mental Ray Satellite Service over TCP/IP for 3dsMax 2017. Leave BLANK to use default port.

VRay DBR Off-Load Rendering

  • VRay Port range: The port number (20204) or range (20204-20212) that the master machine will use to communicate to the VRay Spawner over TCP/IP. Default: 20204.
  • Use local host: When enabled, the master TaskId=0 machine (the slave from which initiates the DR off-load render) will also take part in the rendering calculations. If disabled, this Deadline slave only organizes the DR process, sending rendering tasks to the Deadline slaves. Default: True.

It is recommended to disable “Use local host” checkbox to reduce network traffic on the “master” machine, when using a large number of slaves (5+). If disabled, the “master” machine only organises the DBR process, sending rendering tasks to the Deadline slaves. This is particularly important if you intend to use the V-Ray v3+ “Transfer missing assets” feature. Note that Windows 7 OS has a limitation of a maximum of 20 other machines concurrently ‘connecting’ to the “master” machine.

V-Ray v3.00.0x has a bug in DBR when the “Use local host” is unchecked, it still demands a render node license. This is resolved in a newer version of V-Ray. Please contact Chaos Group for more information.

  • Transfer missing assets: This option allows Deadline slaves to automatically download missing rendering assets from the master machine. This includes textures, V-Ray proxy files, IES profiles, GI solution caches (irradiance map, light cache), X-Ref scenes etc. Default: False.
  • Use cached assets: This option tells the Deadline slaves to keep the downloaded rendering assets between different DR sessions. Default: False.
  • Cache limit type: Allows you to specify under what conditions the assets cache is cleaned up. The possible values are: None, Age (hours), Size (GB). Default: None.
  • Cache limit value: The specific value of the limit for the asset cache. This is either hours or GB, depending on the value of Cache limit type. Min:0.0, Max:1000000.0. Default: 100.0.

VRay RT DBR Off-Load Rendering

  • VRay RT Port range: The port number (20206) or range (20206-20212) that the master machine will use to communicate to the VRay RT Spawner over TCP/IP. Default: 20206.
  • Auto-start local slave: When enabled, the master TaskId=0 machine (the slave from which initiates the VRay RT DR off-load render) will also take part in the rendering calculations. If disabled, this Deadline slave only organizes the VRay RT DR process, sending rendering tasks to the Deadline slaves. Default: True.

It is recommended to disable “Auto-start local slave” checkbox to reduce network traffic on the “master” machine, when using a large number of slaves (5+). If disabled, the “master” machine only organises the DBR process, sending rendering tasks to the Deadline slaves. This is particularly important if you intend to use the V-Ray v3+ “Transfer missing assets” feature. Note that Windows 7 OS has a limitation of a maximum of 20 other machines concurrently ‘connecting’ to the “master” machine.

Firewall Considerations

Here is an non-exhaustive list of specific 3dsMax related application executables which should be granted access to pass through the Windows Firewall for all applicable policy scopes (Windows - domain, private, public) and both inbound & outbound rules (where <maxroot> is the 3dsMax install directory):

  • <maxroot>/3dsmax.exe
  • <maxroot>/3dsmaxcmd.exe
  • <maxroot>/maxadapter.adp.exe
  • <maxroot>/vrayspawnerYYYY.exe where YYYY is the yearDate such as “2015” (Only applicable if V-Ray installed)
  • <maxroot>/python/python.exe
  • <maxroot>/python/pythonw.exe

Autodesk Communication Center (InfoCenter) Path (dependent on 3dsMax version being used):

  • 3dsMax 2009-2010: C:\Program Files\Common Files\Autodesk Shared\WSCommCntr1.exe
  • 3dsMax 2011: C:\Program Files\Common Files\Autodesk Shared\WSCommCntr\lib\WSCommCntr2.exe
  • 3dsMax 2012: C:\Program Files\Common Files\Autodesk Shared\WSCommCntr3\lib\WSCommCntr3.exe
  • 3dsMax 2013-current: C:\Program Files\Common Files\Autodesk Shared\WSCommCntr4\lib\WSCommCntr4.exe

It is recommended to always start 3dsMax for the very first time with Administrative rights to ensure the application is fully initialized correctly. This can be achieved by right-clicking the 3dsmax.exe application and selecting “Run as administrator”.

Integrated Submission Script Setup

The following procedures describe how to install the integrated Autodesk 3ds Max submission script. The integrated submission script allows for submitting 3ds Max render jobs to Deadline directly from within the 3ds Max editing GUI. The integrated render job submission script and the following installation procedure has been tested with 3ds Max versions 2010 and later (including Design editions).

You can either run the Submitter installer or manually install the submission script.

Submitter Installer

Manual Installation

  • Copy the file:

    [Repository]\submission\3dsmax\Client\Deadline3dsMaxClient.mcr to [3ds Max Install Directory]\MacroScripts
    
  • If you don’t have a MacroScripts folder in your 3ds Max install directory, check to see if you have a UI\Macroscripts folder instead, and copy the Deadline3dsMaxClient.mcr file there if you do.

  • Copy the file:

    [Repository]\submission\3dsmax\Client\SMTDSetup.ms to [3ds Max Install Directory]\scripts\Startup\SMTDSetup.ms
    

Verify Installation

Launch 3ds Max, and find the new Deadline menu.

../_images/3dsmax_submission_button_3dsmax.png

RPManager Script Setup

To install the 3ds Max integrated submission script in RPManager, just follow these steps:

  • Create a Deadline[VERSION] folder in [maxdir]\scripts\RPManager (where [VERSION] is the major version of Deadline such as 8).

  • Copy the file:

    [repo]\submission\3dsmaxRPM\Client\Deadline3dsMaxRPMClient.ms to [maxdir]\scripts\RPManager\Deadline8\Deadline3dsMaxRPMClient.ms
    
  • In RPManager, select Customize -> Preferences to open the preferences window.

  • In the Network Manager section, choose Custom Submit in the drop down, and then choose the Deadline3dsMaxRPMClient.ms script you copied over.

    ../_images/3dsmax_rpmanager_deadline.png
  • Click OK to close the preferences, and then click on the Network tab to see the submitter.

Advanced Features For Developers

Debugging Deadline’s 3ds max connection

Deadline uses a c++ plugin .dlx in 3ds Max called Lightning to control rendering on render server machines. This .dlx exposes maxscript functions for establishing the socket based control connection with 3dsMax and Deadline, as well as for functions used by MAXScript jobs. As an additional measure, there are functions which allow one to run the renderer just as Deadline does during rendering for debugging purposes.

First, you need to go to \\your\repository\plugins\3dsmax and find the appropriate .dlx file for your version/bitness of 3dsmax you want to debug with. Copy that file to a local location on your machine. For this example, let’s assume you copied it to c:\temp\lightning\. After copying the file, rename it to Lightning.dlx.

Second, you need to configure your 3ds Max so that it loads Lightning.dlx on startup. Note that using the plugin manager to load the plugin once 3ds Max is fully started will not work properly, so you must add it to the plugin.ini file. Let’s say 3dsMax 2016 is installed to C:\Program Files\Autodesk\3ds Max 2016\en-US\. Open plugin.ini in this folder, and in the section entitled [Directories], add this line:

Lightning=c:\temp\lightning

Please note, carrying out the above setup, will cause a duplicate DLL plugin loading error if this machine then picks up a 3dsMax job via Deadline Slave running. The above setup for debugging 3dsMax-Deadline via Lightning should be considered a temporary setup only (not for production machines!).

MAXScript Interface

Now, if you run 3dsmax.exe, it will load Lightning.dlx, which exposes an interface object called DeadlineUtil. These functions can be used when running a MAXScript job through Deadline to get information about the job being rendered. Here are what the MAXScript interface functions are, based on running ShowInterface DeadlineUtil in the MAXScript listener.

Functions

Function Description
string GetAuxFilename( int index) Gets the file with the given index that was submitted with the job.
string GetJobInfoEntry( string key ) Gets a value from the plugin info file that was submitted with the job, and returns an empty string if the key doesn’t exist.
string GetOutputFilename( int index ) Gets the output file name for the job at the given index.
string GetSubmitInfoEntry( string key ) Gets a value from the job info file that was submitted with the job, and returns an empty string if the key doesn’t exist.
int GetSubmitInfoEntryElementCount( string key ) If the job info entry is an array, this gets the number of elements in that array.
string GetSubmitInfoEntryElement int index string key If the job info entry is an array, this gets the element at the given index. Key is the array name. Empty string returned if key doesn’t exist.
void FailRender( string message ) Fails the render with the given error message.
void LogMessage( string message ) Logs the message to the slave log.
void SetProgress( float percent ) Sets the progress of the render in the slave UI.
void SetTitle( string title ) Sets the render status message in the slave UI.
void WarnMessage( string message ) Logs a warning message to the slave log.
bool Debug_StartJob string fileName string cameraName Local DEBUG only.
bool Debug_EndJob() Local DEBUG only.
bool Debug_RenderFrame int frameIndex Local DEBUG only.
bool RunLightningDaemon int portNumber string token Local DEBUG only.

Properties

Property Description
int CurrentFrame Gets the current frame.
int CurrentTask Gets the current task ID.
string JobsDataFolder Gets the local folder on the slave where the Deadline job files are copied to.
string PluginsFolder Gets the local folder on the slave where the Deadline plugin files are copied to.
string SceneFileName Gets the file name of the loaded 3ds Max scene.
string SceneFilePath Gets the file path of the loaded 3ds Max scene.

The RunLightningDaemon function is what Lightning uses to establish the socket connection with Deadline’s 3dsMax-Python plugin. The Debug_* functions will allow one to emulate the basic render functionality of the Daemon. All the rest are to provide values and facilities to scripts being run as MAXScript jobs on the network.

Debugging the Render

Once 3dsmax has started, and the DeadlineUtil interface is visible to MAXScript, you are ready to debug the render. First, attach the Debugger. You can do this by right clicking on the 3dsmax.exe task in Task Manager and choosing Debug. Alternatively, from Visual Studio you can choose Tools -> Debug Processes, then select the 3dsmax.exe process and attach the debugger to it.

With the debugger attached, run the maxscript commands to emulate the render. Let’s say the problem scene is c:\test\badscene.max, at frame 43. Here are the three Debug_* commands to run, and the values they return upon success.

DeadlineUtil.Debug_StartJob "c:\\test\\badscene.max" ""
true
DeadlineUtil.Debug_RenderFrame 43
true
DeadlineUtil.Debug_EndJob()
true

Querying Job Properties

Depending on when your *.ms file is executed (preLoad, postLoad, preTask, postTask, mxsJob), some of the MAXScript Interface (DeadlineUtil) properties might return an empty string. For example, if the Max scene file has not yet been loaded (in the case of a preLoad.ms script), then SceneFileName and SceneFilePath will return empty strings. Here is an example postLoad.ms script file which demonstrates how to access some of the common properties of your job:

(
        local du = DeadlineUtil  --this is the interface exposed by the Lightning Plug-in which provides communication between Deadline and 3ds Max
        if du == undefined do  --if the script is not being run on Deadline (for testing purposes),
        (
                struct DeadlineUtilStruct   --define a stand-in struct with the same methods as the Lightning plug-in
                (
                        fn SetTitle title = ( format "Title: %\n" title ),
                        fn SetProgress percent = (true),
                        fn FailRender msg = ( throw msg ),
                        fn GetSubmitInfoEntry key = ( undefined ),
                        fn GetSubmitInfoEntryElementCount key = ( 0 ),
                        fn GetSubmitInfoEntryElement index key = ( undefined ),
                        fn GetJobInfoEntry key = ( undefined ),
                        fn GetAuxFilename index = ( undefined ),
                        fn GetOutputFilename index = ( undefined ),
                        fn LogMessage msg = ( format "%\n" msg ),
                        fn WarnMessage msg = ( format "Warning: %\n" msg ),
                        CurrentFrame = ((sliderTime as string) as integer),
                        CurrentTask = ( -1 ),
                        SceneFileName = ( maxFilePath + maxFileName ),
                        SceneFilePath = ( maxFilePath ),
                        JobsDataFolder = ( "" ),
                        PluginsFolder = ( "" )
                )
                du = DeadlineUtilStruct() --create an instance of the stand-in struct
        )--end if

        du.SetTitle "Post Load MXS Script" --set the job title
        du.LogMessage "Starting Post Load MXS Script..." --output a message to the log
        local st = timestamp() --get the current system time

        --YOUR SCENE PROCESSING CODE GOES HERE
        du.LogMessage( "CurrentFrame=" + (du.CurrentFrame as string) )
        du.LogMessage( "CurrentTask=" + (du.CurrentTask as string) )
        du.LogMessage( "JobsDataFolder=" + du.JobsDataFolder )
        du.LogMessage( "PluginsFolder=" + du.PluginsFolder )
        du.LogMessage( "SceneFileName=" + du.SceneFileName )
        du.LogMessage( "SceneFilePath=" + du.SceneFilePath )

        --For "Plugin Info Parameters" (as displayed in Monitor -> job -> job properties > Submission Params)
        --Please consult the displayed Key=Value pairs in the "Plugin Info Parameters" in Monitor such as
        --"MaxVersion=2017" or "IsMaxDesign=0"
        du.LogMessage( "MaxVersion=" + du.GetJobInfoEntry( "Version" ) )
        du.LogMessage( "SubmittedFromVersion=" + du.GetJobInfoEntry ( "SubmittedFromVersion" ) )

        --For "Job Info Parameters" (as displayed in Monitor -> job -> job properties > Submission Params)
        --Please consult the Scripting API reference online -> Deadline.Jobs.Job Class Reference
        --http://docs.thinkboxsoftware.com/products/deadline/8.0/2_Scripting%20Reference/class_deadline_1_1_jobs_1_1_job.html#properties
        --All of our job properties can be accessed here and are prefixed with "Job" such as "JobSubmitMachine" for "MachineName="
        du.LogMessage( "MachineName=" + du.GetSubmitInfoEntry( "JobSubmitMachine" ) )
        du.LogMessage( "ExtraInfo0=" + du.GetSubmitInfoEntry( "JobExtraInfo0" ) )

        --When dealing with lists or arrays, we must first find the element count so that we can loop and access via an index
        local numDirs = du.GetSubmitInfoEntryElementCount( "JobOutputDirectories" ) --array of OutputDirectory
        du.LogMessage( "numDirs: " + (numDirs as string) )

        local numFiles = du.GetSubmitInfoEntryElementCount( "JobOutputFileNames" ) --array of OutputFileName
        du.LogMessage ( "numFiles: " + (numFiles as string) )

        for n in 0 to numDirs-1 do
        (
                --As we have 2 parameters to pass to this function, do not use parentheses to wrap the function call
                outputDir = du.GetSubmitInfoEntryElement n "JobOutputDirectories"
                du.LogMessage( "OutputDirectory" + (n as string) + "=" + outputDir )
        )

        for n in 0 to numFiles-1 do
        (
                --As we have 2 parameters to pass to this function, do not use parentheses to wrap the function call
                outputFile = du.GetSubmitInfoEntryElement n "JobOutputFileNames"
                du.LogMessage( "OutputFileName" + (n as string) + "=" + outputFile )
        )

        --To build the full output file path, combine outputDir + outputFile per index and replace #### with du.CurrentFrame + padding of 4.

        du.LogMessage ("Finished Post Load MXS Script in "+ ((timestamp() - st)/1000.0) as string + " sec.") --output the job duration
        true  --return true if the task has finished successfully, return false to fail the task.
)--end script

Advanced Features For Technical Directors

Submitter’s Sticky Settings and Factory Defaults

The latest version of the Submit Max To Deadline script allows the user to control the stickiness of most User Interface controls and, in the case of non-sticky settings, the defaults to be used. In previous versions of SMTD, both the stickiness and the defaults were hard-coded.

Overview

Two INI files located in the Repository in the folder \submission\3dsmax control the stickiness and the defaults:

  • SubmitMaxToDeadline_StickySettings.ini - this file can be used to define which controls in the SMTD UI will be stored locally in an INI file (“sticky”) and which will be reset to defaults after a restart of the Submitter.
  • SubmitMaxToDeadline_Defaults.ini - this file can be used to define the default settings of those controls set to non-sticky in the other file.

In addition, a local copy of the SubmitMaxToDeadline_StickySettings.ini file can be saved in a user’s application data folder. This file will OVERRIDE the stickiness settings in the Repository and can contain a sub-set of the definitions in the global file.

Details

When SMTD is initializing, it will perform the following operations:

  1. The SMTDSettings Struct will be initialized to the factory defaults of all settings.
  2. Each UI setting will be initially assumed to be sticky.
  3. The global Stickiness definition file is searched for a key matching the current UI setting’s name.
    • If the key is set to “false”, the setting is not sticky.
    • If the key is set to anything but “false”, the setting is sticky.
    • If the key does not exist, the stickiness still defaults to the initial value of true.
  4. A local Stickiness definition file is searched for a key matching the current UI setting’s name.
    • If the key is set to “false”, the setting is not sticky and overrides whatever was found in the global file.
    • If the key is set to anything but “false”, the setting is sticky, overriding whatever was found in the global file.
    • If the key does not exist in the local file, the last known value (initial or from the global file) remains in power.
  5. At this point, SMTD knows whether the setting is sticky or not. Now it gets the global default value:
    • If a matching key exists in the file SubmitMaxToDeadline_Defaults.ini, the setting is initialized to its value.
    • If no matching key exists in the global defaults file, the original factory default defined in the SMTDStruct definition will remain in power.
    • If the setting is sticky, SMTD loads the last known value from the local INI file. If the value turns out to be invalid or not set, it uses the default instead.
    • If the setting is not sticky, the default loaded from the global defaults file or, if no such default was loaded, the factory default, will be assigned to the setting.

When the User Interface is created, the stickiness info from the local and global files will determine whether a *star character will be added to the control’s name, reflecting the current stickiness settings.

Using this new feature, a facility can customize the submitter globally to default to the preferred settings and keep certain settings sticky so their values can be determined by the artists. In addition, single users can override the company-wide stickiness settings using a local file if they feel their workflow require a different setup.

Custom Job Name Controls

There are two ways to customize the job name. You can use keys in the job name that are replaced with actual values (like $scene), or you can have the job name be generated from a list of shows, shots, etc. You will then be able to use the [>>] button to the right of the Job Name field to select these custom job names.

Generate Job Name From Keys

There is a file in the ..\submission\3dsmax\Main\ folder in your Repository called SubmitMaxToDeadline_NameFormats.ini. In addition, a local copy of the SubmitMaxToDeadline_NameFormats.ini file can be saved in a user’s application data folder. This file will OVERRIDE the name formats in the Repository and can contain a sub-set of the definitions in the global file. This file will contain some key-value pairs such as:

$scene=(getfilenamefile(maxfilename))
$date=((filterstring (localtime) " ")[1])
$deadlineusername=(SMTDFunctions.GetDeadlineUser())
$username=(sysInfo.username)
$maxversion=(((maxVersion())[1]/1000) as string)

The key to the left of = is the string that will be replaced in the job name. The value to the right of the = is the maxscript code that is executed to return the replacement string (note that the value returned must be returned as a string). So if you use $scene in your job name, it will be swapped out for the scene file name. You can append additional key-value pairs or modify the existing ones as you see fit.

By default, the [>>] button will already have $scene or $outputfilename as selectable options. You can then create an optional JobNames.ini file in the 3dsmax submission folder, with each line representing an option. For example:

$scene
$outputfilename
$scene_$camera_$username
$maxversion_$date

These options will then be available for selection in the submission dialog. This allows for all sorts of customization with regards to the job name.

Generate Job Name For Shows

This advanced feature allows the addition of custom project, sequence, shot and pass names to the [>>] list to the right of the Job Name field. Producers in larger facilities could provide full shot lists via a central set of files in the Repository to allow users to pick existing shot names and ensuring consistent naming conventions independent from the 3ds Max scene naming.

To create a new set of files, go to the ..\submission\3dsmax\Main\ folder in your Repository and create the following files:

Projects.ini - This file describes the projects currently available for Custom Job Naming. Each Project is defined as a Category inside this file, with two keys: Name and ShortName.

For example:

[SomeProject]
 Name=Some Project in 3D
 ShortName=SP
 [AnotherProject]
 Name=Another Project
 ShortName=AP

SomeProject.ini - This is a file whose name should match exactly the Category name inside the file Projects.ini and contains the actual sequence, shot and pass description of the particular project. One file is expected for each project definition inside the Projects.ini file.

For example:

[SP_SS_010]
 Beauty=true
 Diffuse=true
 Normals=true
 ZDepth=true
 Utility=true
 [SP_SS_150]
 Beauty=true
 Diffuse=true
 Utility=true
 [SP_SO_020]
 Beauty=true
 [SP_SO_030]
 Beauty=true

The Submitter will parse this file and try to collect the Sequences by matching the prefix of the shot names, for example in the above file, it will collect two sequences - SP_SS and SP_SO - and build a list of shots within each sequence, then also build a list of passes within each shot.

Then, when the [>>] button is pressed, the context menu will contain the name of each project and will provide a cascade of sub-menus for its sequences, shots and passes.

../_images/smtd_customprojectnames_menu.png

If you selected the entry SomeProject>SP_SS>SP_SS_150>Diffuse, the resulting Job Name will be “SP_SS_150_Diffuse”:

../_images/smtd_customprojectnames_result.png

You can enter as many projects into your Projects.ini file as you want and provide one INI file for each project describing all its shots and passes. If an INI file is missing, no data will be displayed for that project.

Custom Comment Controls

Just like job names, you can use keys in the comment field that are replaced with actual values (like $scene). There is a file in the ..\submission\3dsmax\Main\ folder in your Repository called SubmitMaxToDeadline_CommentFormats.ini. In addition, a local copy of the SubmitMaxToDeadline_CommentFormats.ini file can be saved in a user’s application data folder. This file will OVERRIDE the comment formats in the Repository and can contain a sub-set of the definitions in the global file. This file will contain some key-value pairs such as:

$default=("3ds Max " + SMTDFunctions.getMaxVersion() + " Scene Submission")
$scene=(getfilenamefile(maxfilename))
$date=((filterstring (localtime) " ")[1])
$deadlineusername=(SMTDFunctions.GetDeadlineUser())
$username=(sysInfo.username)
$maxversion=(((maxVersion())[1]/1000) as string)

The key to the left of = is the string that will be replaced in the comment. The value to the right of the = is the maxscript code that is executed to return the replacement string (note that the value returned must be returned as a string). So if you use $scene in your comment, it will be swapped out for the scene file name. You can append additional key-value pairs or modify the existing ones as you see fit.

By default, the [>>] button will already have $default. You can then create an optional Comments.ini file in the 3dsmax submission folder, with each line representing an option. For example:

$default
$scene
$outputfilename
$scene_$camera_$username
$maxversion_$date

These options will then be available for selection in the submission dialog. This allows for all sorts of customization with regards to the comment field.

Auto-Suggest Category and Priority Mechanism

This feature has been implemented to help Producers suggest categories and priorities based on Shots and Sequence signatures which are part of the 3ds Max Scene Name.

This feature DOES NOT ENFORCE the Category and Priority for the job, it only suggests a value based on project guidelines - the Category and Priority can be changed manually after the suggestion.

To use this feature, you have to edit the file called “SubmitMaxToDeadline_CategoryPatterns.ms” located in the Repository in the \submission\3dsmax folder. As a shortcut, you can press the button Edit Patterns… in the Options tab of the Submitter - the file will open in the built-in MAXScript Editor.

The file defines a global array variable called SMTD_CategoryPatterns which will be used by the Submitter to perform pattern matching on the Job Name and try to find a corresponding Category and optionally a priority value in the array.

The array can contain one or more sub-arrays, each one representing a separate pattern definition.

Every pattern sub-array consists of four array elements:

  • The first element is an array containing zero, one or more string patterns using * wildcards. These strings will be used to pattern match the Job Name. If it matches, it will be considered for adding to the Category and for changing the Priority. If the subarray is empty, all jobs will be considered matching the pattern.
  • The second element is also an array containing similar pattern strings. These strings will be used to EXCLUDE jobs matching these patterns from being considered for this Category and Priority. If the subarray is empty, no exclusion matching will be performed.
  • The third element contains the EXACT name (Case Sensitive!) of the category to be set if the Job Name matches the patterns. If the category specified here does not match any of the categories defined via the Monitor, no action will be performed.
  • The fourth element specifies the Priority to give the job if it matches the patterns. If the value is -1, the existing priority will NOT be changed.

The pattern array can contain any number of pattern definitions. The higher a definition is on the list, the higher its priority - if a Job Name matches multiple pattern definitions, only the first one will be used.

The pattern matching will be performed only if the checkbox Auto-Suggest Job Category and Priority in the Options Tab is checked. It will be performed when the dialog first opens or when the the Job Name is changed.

An example:

  • Let’s assume that a VFX facility is working on a project called “SomeProject” with multiple sequences labelled “AB”, “CD” and “EF”.
  • The network manager has created categories called “SomeProject”, “AB_Sequence”, “CD_Sequence”, “EF_Sequence” and “High_Priority” via the Monitor.
  • The Producers have instructed the Artists to name their 3ds Max files “SP_AB_XXX_YYY_”where SP stands for “SomeProject”, “AB” is the label of the sequence followed by the scene and shot numbers.
  • Now we want to set up the Submitter to suggest the right Categories for all Max files sent to Deadline based on these naming conventions.
  • We want jobs from the CD sequence to be set to Priority of 60 unless they are from the scene with number “007”.
  • We want jobs from the AB sequence to be set to Priority of 50
  • We don’t want to enforce any priority to jobs for sequence EF.
  • Also we want shots from the “AB” sequence with scene number “123” and “EF” sequence with scene shot number “038” to be sent at highest priority and added to the special “High Priority” category for easier filtering in the Monitor.
  • Finally we want to make sure that any SP project files that do not contain a sequence label are added to the general “SomeProject” category with lower priority.

To implement these rules, we could create the following definitions in the “SubmitMaxToDeadline_CategoryPatterns.ms” - press the Edit Patterns… button in the Options tab to open the file:

SMTD_CategoryPatterns = #(
#(#("*AB_123*","*EF_*_038*"),#(),"High_Priority",100),
#(#("*AB_*"),#(),"AB_Sequence",50),
#(#("*CD_*"),#("*CD_007_*"),"CD_Sequence",60),
#(#("*EF_*"),#(),"EF_Sequence",-1),
#(#("SP_*"),#(),"SomeProject",30),
)
  • The first pattern specifies that files from the “AB” sequence, scene “123” and “EF” sequence, shot “038” (regardless of scene number) will be suggested as Category “High_Priority” and set Priority to 100.
  • The second pattern specifies all AB jobs to have priority of 50 and be added to Category “AB_Sequence”. Since the special case of AB_123 has been handled in the previous pattern, this will not apply to it.
  • The third pattern sets jobs that contain “CD_” in their name but NOT the signature “CD_007_” to the “CD_Sequence” Category and sets the Priority to 60.
  • The fourth pattern sets jobs that contain “EF_” in their name to the “EF_Sequence” Category but does not change the priority (-1).
  • The fifth pattern specifies that any jobs that have not matched the above rules but still start with the “SP_” signature should be added to the “SomeProject” Category and set to low priority of 30.

Note that since we used “*” instead of “SP_”in the beginning of the first 4 patterns, even if the job is not named correctly with the project prefix “SP_”, the pattern will correctly match the job name.

Custom Plugin.ini File Creation

This section covers the Alternate Plugin.ini feature in the 3ds Max Rendering rollout (under the Render tab).

Alternate Plugin.ini File

The plugin.ini list will show a list of alternative plug-in configuration files located in the Repository. By default, there will be no alternative plugin.ini files defined in the repository. The list will show only one entry called [Default], which will cause all slaves to render using their own local plugin.ini configuration and is equivalent to having the Use Custom Plugin.ini file unchecked.

To define an alternative plugin.ini, copy a local configuration file from one of the slaves to [Repository]\plugins\3dsmax in the repository. Edit the name of the file by adding a description of it. For example, plugin_brazil.ini, plugin_vray.ini, plugin_fr.ini, plugin_mentalray.ini, etc. Open the file and edit its content to include the plug-ins you want and exclude the ones you don’t want to use in the specific case. The next time you launch Submit To Deadline, the list will show all alternative files whose names start with “plugin” and end with “.ini”. The list will be alphabetically sorted, with [Default] always on top. You can then select an alternative plugin.ini file manually from the list.

Pressing the Edit Plugin.ini File button will open the currently selected alternative configuration file in a MAXScript Editor window for quick browsing and editing, except when [Default] is selected. Pressing the Browse Directory button will open Windows Explorer, taking you directly to the plug-ins directory containing the alternative plugin.ini files. Note that if you create a new plugin.ini file, you will have to restart the Submit To Deadline script to update the list.

Since the alternative plug-in configuration file is located in the Repository and will be used by all slave machines, the plug-in paths specified inside the alternative plugin.ini will be used as LOCAL paths by each slave. There are two possible installation configurations that would work with alternative plug-ins (you could mix the two methods, but it’s not recommended):

  • Centralized Plug-ins Repository: In this case, all 3dsmax plug-ins used in the network are located at a centralized location, with all Slaves mapping a drive letter to the central plug-in location and loading the SAME copy of the plug-in. In this case, the alternative plugin.ini should also specify the common drive letter of the plug-in repository.
  • Local Plug-in: To avoid slow 3dsmax booting in networks with heavy traffic, some studios (including ones we used to work for) deploy local versions of the plug-ins. Every slave’s 3dsmax installation contains a full set of all necessary plug-ins (which could potentially be automatically synchronized to a central repository to keep all machines up-to-date). In this case, the alternative plugin.ini files should use the LOCAL drive letter of the 3dsmax installation, and all Slaves’ 3dsmax copies MUST be installed on the same partition, or at least have the plug-ins directory on the same drive, for example, “C:”.

Auto-Detect Plugin.ini For Current Renderer

When enabled, the following operations will be performed:

  1. When you check the checkbox, the current renderer assigned to the scene will be queried.
  2. The first 3 characters of the renderer’s name will be compared to a list of known renderers.
  3. If the renderer is not on the list, the alternative list will be reset to [Default].
  4. If the renderer is the Default Scanline Renderer of 3dsmax, the alternative list will be reset to [Default].
  5. If the renderer is a known renderer, the plugin*.ini file that matches its name will be selected.

Supported renderers for auto-suggesting an alternative configuration are:

  • Brazil plugin*.ini should contain “brazil” in its name (i.e.: plugin_brazil.ini, plugin-brazil.ini, pluginbrazil_1_2.ini etc).
  • Entropy plugin*.ini should contain “entropy” in its name (i.e.: plugin_entropy.ini, plugin-entropy.ini, pluginentropy.ini, etc).
  • finalRender plugin*.ini should contain “fr” or “final” in its name (i.e.: plugin_fr.ini, plugin-finalrender.ini, plugin_finalRender_Stage1.ini etc).
  • MaxMan plugin*.ini should contain “maxman” in its name (i.e.: plugin_maxman.ini, plugin-maxman.ini, pluginmaxman001.ini etc).
  • mentalRay plugin*.ini should contain “mr” or “mental” in its name (i.e.: plugin_mr.ini, plugin-mentalray.ini, plugin_mental33.ini etc).
  • V-Ray plugin*.ini should contain “vray” in its name (i.e.: plugin_vray.ini, plugin-vray.ini, pluginvray109.ini etc).

Notes:

  • In 3dsmax 5 and higher, opening a MAX file while the Auto-Detect option is checked will trigger a callback which will perform the above check automatically and switch the plugin.ini to match the renderer used by the scene.
  • In 3dsmax 6 and higher, changing the renderer via the “Current Renderers” rollout of the Render dialog will also trigger the auto-suggesting mechanism.
  • You can override the automatic settings anytime by disabling the Auto-Detect option and selecting from the list manually.

Custom Extra Info Controls

Just like job names and comments, you can use keys in the Extra Info 0-9 fields (under the ‘Integration’ tab in SMTD) that are replaced with actual values (like $scene). There is a file in the ..\submission\3dsmax\Main\ folder in your Repository called SubmitMaxToDeadline_ExtraInfoFormats.ini. In addition, a local copy of the SubmitMaxToDeadline_ExtraInfoFormats.ini file can be saved in a user’s application data folder. This file will OVERRIDE the comment formats in the Repository and can contain a sub-set of the definitions in the global file. This file will contain some key-value pairs such as:

$scene=(getfilenamefile(maxfilename))
$date=((filterstring (localtime) " ")[1])
$deadlineusername=(SMTDFunctions.GetDeadlineUser())
$username=(sysInfo.username)
$maxversion=(((maxVersion())[1]/1000) as string)

The key to the left of = is the string that will be replaced in the comment. The value to the right of the = is the maxscript code that is executed to return the replacement string (note that the value returned must be returned as a string). So if you use $scene in your comment, it will be swapped out for the scene file name. You can append additional key-value pairs or modify the existing ones as you see fit.

NOTE, if you are using Shotgun or FTrack Integration, ExtraInfo0 to ExtraInfo5 will be used automatically and take precendence over any $keys in these particular fields.

As an example, you may wish to use the automatic SMTD ‘BatchName’ functionality to group logical job submissions together in your Deadline queue, but also use custom Extra Info fields to help track pipeline information such as Project, Sequence, Shot or Job Number of a particular 3dsMax/Jigsaw/Draft/Quicktime job submission such as:

$project=[execute maxscript code here, returning a string value]
$sequence=123456
$shot=[use maxscript to get shot # from the current render output naming convention]
$jobnumber=[maxscript to query database and get project's job number as a string]

Once this additional ‘pipeline’ information is injected into your Deadline jobs, the Extra Info columns can be given user friendly names so that they can easily be identified and used to filter and sort jobs in the Monitor. See the Job Extra Properties section for more information. NOTE, the Extra Info X columns are also injected into the Completed Job Stats, thereby allowing you to store and later analyse/create reports against previous jobs by the data stored in your Extra Info X columns.

FAQ

Which versions of 3ds Max are supported?

3ds Max versions 2010 and later are all supported (including Design editions).

Note: Due to a maxscript bug in the initial release of 3ds Max 2012, the integrated submission scripts will not work. However, this bug has been addressed in 3ds Max 2012 Hotfix 1. If you cannot apply this patch, it means that you must submit your 3ds Max 2012 jobs from the Deadline Monitor.

My 3ds Max 2013 job does not start rendering.

When Autodesk released 3ds Max 2013, a last minute bug fix they applied to the product, as well as to Service Pack 3 for 3ds Max 2012, broke compatibility with Deadline.

This means that the RELEASE build of 3ds Max 2013 (with no Product Updates applied) cannot be used with Deadline. The job will report that the scene cannot be loaded.

The only way to fix this issue is to install the latest Product Update available from the Autodesk Website.

When the problem was first discovered, it was too late for Autodesk to fix the issue, and it wasn’t possible for Thinkbox to work around it. A Blog entry outlining the problem was posted in the Thinkblog section of the Thinkbox Software website.

Which 3ds Max renderers are supported?

Deadline should already be compatible with ALL 3ds Max renderers, but it has been explicitly tested with Scanline, iRay, MentalRay, Brazil, V-Ray, Corona, finalRender, and Maxwell. If you have successfully used a 3ds Max renderer that is not on this list, please email Deadline Support.

Does Backburner need to be installed to render with Deadline?

Yes. Backburner installs the necessary files that are needed for command line and network rendering, so it must be installed to render with Deadline.

Backburner won’t install on a machine. Why?

Ensure you only have one version of Backburner installed on your system. Backburner 2016 can fail to install if Backburner 2014 is installed on your system. Backburner provides backwards compatibility support for older versions of 3dsMax.

Does the 3ds Max plugin support Tile Rendering?

Yes. See the Tile Rendering section of the submission dialog documentation for more details.

Does the 3ds Max plugin support multiple arbitrary sized, multi-resolution Tile Rendering for both stills or animations and automatic re-assembly, including the use of multi-channel image formats and Render Elements (incl. V-Ray VFB specific image files)?

Yes. We call it ‘Jigsaw’ and it’s unique to the Deadline system! See the Tile Rendering section of the submission dialog documentation for more details.

Does the 3ds Max plugin support Batch Rendering?

Yes. See the Batch Rendering section of the submission dialog documentation for more details.

How can I submit all 3ds max cameras to render in Deadline?

There are a number of options here:

  1. Use Batch Render dialog in 3dsMax to setup the different cameras, where to save the rendered image files to, frame range, etc and then use Deadline’s Batch Submission in SMTD to submit the cameras as separate jobs.
  2. Use State Sets in 3dsMax to setup your render passes using different cameras and Deadline supports State Sets being submitted via SMTD.
  3. An alternative to the built-in 3dsMax features highlighted above, you could invest in a commercial render pass management system such as RPManager which is an advanced State Sets system. Deadline provides comprehensive integration with RPManager.
  4. Finally, our job submission in 3dsMax is via SMTD which is fully implemented using MAXScript, so any studio with a scripter or developer, could easily hook into the SMTD _struct MAXScript functions we provide and build your own custom submission system handling multiple cameras in a 3dsMax scene file as you so wish. We provide a Custom MAXScript Submission Tutorial on how this can be achieved.

Is PSoft’s Pencil+ render effects plugin supported?

Yes, partially. Please note at least Pencil+ v3.1 is required to resolve an issue with the “line” render element failing to be rendered. Note, you will require the correct network render license from PSoft for each Deadline Slave or render with a Deadline Slave that already has a full, workstation license of Pencil+ already installed. Unfortunately, due to the way Pencil+ plugin and 3dsMax work together, it is not possible for this combination to support “crop” renders in 3dsMax via the “Pencil+ Line” render effect. This means that Tile/Jigsaw rendering is NOT supported in Deadline. Pencil+ Line refers to the camera’s screen geometry information for rendering. However, when using “crop”, 3ds Max outputs the geometry information with an offset. Since Pencil+ Line renders are based on the information before the offset, there is a mismatch with the data output by 3ds Max. You can see a similar problem when using Backburner’s “Split Scan Lines”. Standard 3dsMax render effects such as “Lens Effects” do not have this problem because they refer to the actual rendered pixels to apply its effects. The PSoft developers have confirmed that since this problem is related to the way 3ds Max works, there is nothing they can do on their side to fix it.

When I submit a render with a locked viewport, Deadline sometimes renders a different viewport.

Prior to the release of 3ds Max 2009, the locked viewport feature wasn’t exposed to the 3ds Max SDK, so it was impossible for Deadline to know whether a viewport is locked or not. Now that the feature has been exposed, we are working to improve Deadline’s locked viewport support. However, in the 3ds Max 2010 SDK, there is a bug that prevents us from supporting it completely (Autodesk is aware of this bug).

As of 3ds Max 2015, this bug is now resolved. For earlier versions, we can only continue to recommend that users avoid relying on the locked viewport feature, and instead ensure that the viewport they want to render is selected before submitting the job. The SMTD sanity check continues to provide a warning for those versions of 3ds Max, where the locked viewport SDK bug still exists.

When Deadline is running as a service, 3ds Max 2015 render jobs crash during startup.

This can happen if the new Scene (Content) Explorer is docked.

This is a known issue with 3ds Max network rendering when it is launched by a program running as a service. See this AREA blog post about running 3ds Max 2015 as a service for a workaround and more information.

Can I mix 3ds Max and 3ds Max Design jobs in Deadline?

Yes. ADSK have introduced (April 2014) a new system environment variable you can set which will make all jobs from 3ds Max and 3ds Max Design appear as 3ds Max jobs: “MIX_MAX_DESIGN_BB” set to “1” to enable this feature. Note, Windows typically requires a machine restart or log-off/log-on for the new environment setting value to become available once set. ADSK have confirmed this works for 3ds Max 2015, 3ds Max Design 2015 with Backburner 2015.0.1. It may also work with 2014 SP5 version of 3ds Max and 3ds Max Design, with Backburner 2015.0.1. See this AREA blog post about mixing 3ds Max and 3ds Max design on a render farm for more information. Note, Backburner Manager or Server are NOT required to be running to make this system work in Deadline, although Backburner software still needs to be installed on your rendernodes.

When I submit a render job that uses more than one default light, only one default light gets rendered.

The workaround for this problem is to add the default lights to the scene before submitting the job. This can be done from within 3ds Max by selecting Create Menu -> Lights -> Standard Lights -> Add Default Lights to Scene.

Is it possible to submit MAXscripts to Deadline instead of just a *.max scene?

Yes. Deadline supports MAXscript jobs from the Scripts tab in the submission dialog.

Does Deadline’s custom interface for rendering with 3ds Max use workstation licenses?

No. Deadline’s custom interface for rendering with 3ds max does not use any workstation licenses when running on slaves unless you have the Force Workstation Mode option checked in the submission dialog, a workstation license will be used.

Slaves are rendering their first frame/tile correctly, but subsequent frames and render elements have problems or are rendered black.

Try enabling the option to “Restart Renderer Between Frames” in the submission dialog before submission, or in the job properties dialog after submission. We have found that this works 99% of the time in these cases. When enabled, the c++ Lightning plugin (unique to Deadline), will unload the renderer plugins and then reload them instantly. This has the effect of forcing a memory purge and helps to improve renderer stability, as well as ensure the lowest possible memory footprint. This can be helpful, when rendering close to the physical memory limit of a machine. See note below for when this feature should be disabled.

V-Ray Light-Cache / Irradiance Maps are not the correct file size or seem to be getting reset between incremental frames on Deadline but calculate correctly when executed locally.

Ensure the option “Restart Renderer Between Frames” is DISABLED if you are sending FG/LC/IM caching map type jobs to the farm, as the renderer will get reset for each frame and the FG/LC/IM file(s) won’t get incrementally increased with the additional data per frame and will only contain the data from the last frame it calculated. (The resulting file size will be too small as well).

3dsMax Point Cache Files dropping geometry in renders randomly

Sometimes 3dsMax can drop point cache geometry in renders, in an almost random only certain rigs fashion. Typically but not exclusively, this happens on the 2nd assigned frame processed by a particular slave. Ensure the option “Restart Renderer Between Frames” is DISABLED in the submission dialog before submission, or in the job properties dialog after submission. We have found that this works 99% of the time in these cases.

When rendering with V-Ray/Brazil, it appears as if some maps are not being displayed properly.

Try enabling the option to “Restart Renderer Between Frames” in the submission dialog before submission, or in the job properties dialog after submission. We have found that this works 99% of the time in these cases.

Tile rendering with a Mental Ray camera shader known as “wraparound” results in an incorrect final image. How can I fix this?

This is another situation where enabling the option to “Restart Renderer Between Frames” in the submission dialog seems to fix the problem.

When tile rendering with a renderer that supports global/secondary illumination, I get bucket stamps (different lighting conditions in each tile) on the final image.

Try calculating the irradiance/final gather light caching map first in one pass at full resolution. Then perform your tile render on a scene that reads the irradiance/final gather map created at full resolution. If creating the map at full resolution is impossible then you can make it in the tile, but you need to make sure the tiles are overlapping each other (use Deadline’s tile/jigsaw padding to help here) and make sure to use the irradiance/final gather map method that appends to the map file. Alternatively, you could consider using the VRay/Mental Ray DBR off-load system to accelerate the caculation of the light caching map.

In summary: you create (pre-calculate) the secondary/global illumination map first then run the final render in tiles as a second job. Deadline job dependencies can be used here to release the second job as the first job successfully completes the lighting pre-calculation job.

Can I perform Distributed Bucket Rendering (DBR) with V-Ray or V-Ray RT?

Yes. A special ‘reserve’ job is submitted that will run the V-Ray Spawner/V-Ray standalone process on the render nodes. Once the V-Ray Spawner/V-Ray standalone process is running, these nodes will be able to participate in distributed rendering. Please see the VRay Distributed Rendering (DBR) Plug-in Guide for more information.

Can I fully off-load 3dsMax V-Ray or Mental Ray DBR rendering from my machine?

Yes, see the VRay/Mental Ray DBR section for more information. The advantages to off-loading a V-Ray DBR job fully from your workstation include; releasing your local workstation to carry out other processing tasks and helping to accelerate the irradiance map/photon cache calculation process as the V-Ray DBR system supports distributing this across multiple machines. A risk/disadvantage to this way of working is if a single machine currently being used to calculate a DBR bucket crashes/fails for an unknown reason, then the whole process will fail at it’s current stage and start from the beginning again.

Can I Perform Fume FX Simulations With Deadline?

Yes. To do so, follow these steps:
  1. Your render nodes need to have Fume FX licensed properly, either with a “full” or “simulation” licenses. This requirement is the same if you were rendering with Backburner.
  2. Before you launch the 3dsmax submission script, make sure that the Fume FX NetRender toggle button is “ON” in the Fume FX options in 3dsmax.
  3. Before you submit the job, make sure the “Disable Progress Update Timeout” option is enabled under the Render tab in the 3dsmax submission window.
  4. Note that Fume FX uses its own frame range (in the Fume FX settings/prefs), so submit the Max scene file to Deadline as a SINGLE FRAME ONLY.
  5. Before you submit the job, make sure the “Restart Renderer Between Frames” option is disabled under the Render tab in the 3dsmax submission window.

Can I force a render to use a specific language?

Yes. Using the option located in “User Options” tab of SMTD or in the monitor submission, “Advanced Options” tab (2013+ only). This will change the default on the machine it is rendered on to the chosen language. Note that the change is permanent on the machine until such time 3dsMax is restarted and the language is forced to a different language. You can manually force the language to be changed back via the language specific shortcuts in the start menu, which effectively start 3dsMax with the language flag. In this example, EN-US (default) is forced: “C:/Program Files/Autodesk/3ds Max 2015/3dsmax.exe” /Language=ENU

When submitting to Deadline, non-ASCII characters in output paths, camera names, etc, are not being sent to Deadline properly.

You need to enable the “Save strings in legacy non-scene files using UTF8” property in the Preference Settings in 3ds Max. After enabling this, the Deadline submission files will be saved as UTF8 and therefore non-ASCII characters will be saved properly. See the Character Encoding Defaults in 3ds Max section in the 3ds Max Character Encoding documentation for more information.

Why do 3ds Max jobs add a period delimiter to the output filename?

Deadline 7 introduced a new Delimiter option in the integrated 3ds Max submitter (SMTD) to avoid some problems with the way render elements and other auto-generated names were formatted in previous version. The Delimiter option is set to a factory default of “.” as this is the typical convention in VFX pipelines, but it can be overridden via the Defaults INI file in the Repository. Since this setting is considered a company-wide pipeline value and should not be overridden by individual users, it is currently not exposed in the SMTD UI.

To change the Delimiter to an empty string, you can do the following:

  1. Navigate to your Repository folder

  2. Go to …\submission\3dsmax\Main\

  3. Locate the SubmitMaxToDeadline_Defaults.ini file and open it in a text editor

  4. Add the following to the [RenderingOptions] category:

    [RenderingOptions]
    Delimiter=
    
  5. Make sure there is nothing after the = sign!

  6. Save the file

  7. Restart SMTD on your workstation

  8. RESULT: At this point, SMTD should behave like it did in Deadline 6.x and earlier.

Note that in some cases some render element passes might be misformatted due to the lack of delimiter - this was a known issue in Deadline 6.x and earlier. For example, if a V-Ray pass was named automatically based on a TextureMap name ending with digits, the resulting file name could end up having too many trailing digits, e.g. SomeMap_420000.exr instead of SomeMap_42.0000.exr. So in the Deadline Monitor, the filename could become SomeMap_######.exr instead of SomeMap_42.####.exr. If you want to replace the “.” period character with a different character to fit your pipeline requirements, (e.g. _ underscore), you can add the character to the INI file:

[RenderingOptions]
Delimiter=_

In summary, you can use the new Delimiter option to provide a consistent file naming convention across your studio pipeline. Few caveats; the file naming convention for Thinkbox’s tile, region and Jigsaw remains unchanged and V-Ray v3 has introduced a maxscript property #fileName_addDot which can be accessed via

renderers.current.fileName_addDot

which by default is True, so it will also try to add a DOT character to its filenames if one is not present.

Can I use AXYZ Design’s Anima with Deadline?

Yes, but scenes with raw Anima characters should be treated in the same way as a simulation job. At this time, Deadline is only able to render from the initial task forward and only on a single machine (Use task chunking to group the frames together). If possible, export (bake) the Anima characters to a geometry caching file format such as Point Cache pc2, Thinkbox’s XMESH or VRay/Corona Proxies, so that individual frames can be rendered by slaves.

Why do some of my rendered images contain ‘_alt_’ in their filename after rendering via Deadline?

Deadline’s c++ plugin for 3dsMax, called ‘Lightning’ provides a special feature to resolve situations where the rendered image being saved back to your network file server is unable to save the image file to disk. The reason could be due to the pre-existing image file being ‘locked’ by another process (such as another crashed instance of 3dsmax.exe elsewhere in your pipeline) or perhaps, file permissions have changed on this particular file. Whatever the reason, ‘Lightning’ will attempt 5 times to save the rendered image (which might have taken hours to render!) to your file server, adding the additional ‘_alt_N_’ suffix, where N is the attempt to save number (1 to 5). These files might look something like this:

MyRender_v001_.3608_alt_2.exr
MyRender_v001_.3609.exr
MyRender_v001_.3610_alt_4.exr
MyRender_v001_.3611.exr
MyRender_v001_.3612.exr

You can disable this feature in the 3dsMax Plugin Configuration if you so wish with the setting: Disable Saving Output To Alternate File Name. Additionally, Deadline Monitor provides a right-click job script to allow manual intervention and help you ‘cleanup’ these ‘_alt_N_’ file names by automatically renaming them for you (typically executed once you have resolved the file lock/permission error on your file server). This job script can be found by selecting your 3dsMax job, right-click, “Scripts”, “Cleanup”, “Cleanup Alt Frames From 3ds Max”.

Gamma Settings are NOT respected in 3ds Max 2014

The original shipping version of 3ds Max 2014 (16.0.420.0) had an Autodesk undocumented issue where gamma was not correct when network rendering. This is resolved by installing the latest service pack (SP5). If you have any (gamma) issues in any version of 3ds Max, it is recommended to ensure you have installed the latest service pack / product update before contacting Thinkbox support.

Error Messages and Meanings

This is a collection of known 3ds Max error messages and their meanings, as well as possible solutions. We want to keep this list as up to date as possible, so if you run into an error message that isn’t listed here, please email Deadline Support and let us know.

Note that when an error occurs in a Max render, we parse the Max render log (Max.log) for any messages that might explain the problem and include them in the error message. Some examples are:

  • ERR: An unexpected exception has occurred in the network renderer and it is terminating.
  • ERR: Missing dll: BrMaxPluginMgr.dlu
  • ERR: [V-Ray] UNHANDLED EXCEPTION: Preparing ray server Last marker is at .srcvrayrenderer.cpp

Error: Timed out waiting for the next progress update. 3dsMax is hanging at the point of executing the ‘customize.ms’ maxscript file

Typically, you might see something like this in your 3dsMax log report, in both the exception error and also if you review the tail of the log report:

0: INFO: Scene loaded successfully
0: INFO: Executing script: C:\..\..\..\..\..\..\slave\..\plugins\..\customize.ms
0: An exception occurred: Error: Timed out waiting for the next progress update.

The root cause here is an Autodesk spawned background process known as “InfoCenter” or “CommunicationCenter”. It can be fixed by enabling the Kill ADSK Comms Center Process setting in your 3dsMax plugin configuration.

3dsmax startup: Error getting connection from 3dsmax: 3dsmax startup: Deadline/3dsmax startup error: lightningMax*.dlx does not appear to have loaded on 3dsmax startup, check that it is the right version and installed to the right place.

You likely need to install the appropriate Visual C++ Redistributable package, which is carried out automatically by the Deadline Client installer. Try re-installing the Client software if you see this error.

3dsmax startup: Error getting connection from 3dsmax: Monitored managed process “3dsmaxProcess” has exited or been terminated.

Full error message:

3dsmax startup: Error getting connection from 3dsmax: Monitored managed...
DBG: Starting network
DBG: Calling NetRenderPreLoad
DBG: in NetWorkerPreLoad. jobFile: ; jobname: C:\Users\...
DBG: in NetWorkerPreLoad. LoadLib() failed
DBG: NetRenderPreLoad failed
ERR: Error loading *.max file
INF: SYSTEM: Production renderer is changed to Default...
DBG: Stop network

This is a known issue with 3ds Max, and can occur when IPv6 is enabled on the render node. The issue can be fixed by disabing IPv6 on the machines, or by disabing the IPv6 to IPv4 tunnel. See this Area blog post about IPv6 errors for more information.

Could not delete old lightning.dlx… This file may be locked by a copy of 3ds max

Usually this is because a 3dsmax.exe process didn’t quit or get killed properly. Looking in task manager on the slaves reporting the message for a 3dsmax.exe process and killing it is the solution.

3dsmax crashed in GetCoreInterFace()->LoadFromFile()

There are a number of things that can be tried to diagnose the issue:
  • Try opening the file on a machine where it crashed. You may already have done this.
  • Try rendering a frame of it on a machine where it crashed, using the 3dsmaxcmd.exe renderer. This will make it open the file in slave mode and possibly give an idea of what’s failing.
  • Submit the job to run in workstation mode. In workstation mode there’s often more diagnostic output. There’s a checkbox in the submission script for this.
  • If you’re comfortable sending us the .max file which is crashing, we’d be happy to diagnose the issue here.
  • Try stripping down the max file by deleting objects and seeing if it still crashes then.

Missing dll: mrmaterialattribs.gup

If you recieve any of these missing dll warning messages in 3ds Max 2017:

Missing dll: mrmaterialattribs.gup - mental ray: material custom attribute
Missing dll: mrarchmaterial.dlm - Arch & Design
Missing dll: mentalray.dlz - Ambient/Reflective Occlusion
Missing dll: mentalray.dlz - Bump
Missing dll: mentalray.dlz - Subsurface Scattering Fast Skin
Missing dll: mrmaterialattribs.gup - mental ray: Displacement Custom Attributes
Missing dll: mentalray.dlz - Multi/Sub-Map
Missing dll: mrmaterial.dlt - mental ray
Missing dll: mentalray.dlz - Matte/Shadow/Reflection
Missing dll: mrmaterialattribs.gup - mental ray: Indirect Illumination custom attribute
Missing dll: mrmaterialattribs.gup - mental ray: light shader custom attribute
Missing dll: Scripted Plugin - mr Area Omni
Missing dll: Scripted Plugin - mr Area Spot
Missing dll: mentalray.dlz - Contour Contrast Function Levels
Missing dll: mentalray.dlz - Contour Store Function
Missing dll: mentalray.dlz - Contour Composite
Missing dll: mentalray.dlz - Glare
Missing dll: mentalray.dlz - mrOptions
Missing dll: mentalray.dlz - NVIDIA mental ray

then it is likely you are trying to render a Mental Ray scene file or have a remaining Mental Ray reference in your scene file somewhere and have chosen to either not install Mental Ray when you installed 3ds Max 2017 OR are missing the entry declaring Mental Ray in your plugin ini file. Note, as of 2017, both Mental Ray and iRay renderers are now an optional install. Although in 2017 it is still enabled by default to install. If Mental Ray is indeed installed on your rendernodes, then you should check that your Plugin.UserSettings.ini file contains an entry to load Mental Ray. This file is located under the user profile of the user acount that is being to used to render with Deadline Slave, such as:

# where %USERNAME% is replaced for the current user
C:\Users\%USERNAME%\AppData\Local\Autodesk\3dsMax\2017 - 64bit\ENU\Plugin.UserSettings.ini

Plugin.UserSettings.ini should contain at least the following:

[Directories]
Additional MAX plug-ins=C:\Program Files\Autodesk\3ds Max 2017\PlugIns
Additional MAX plug-ins NVIDIA=C:\Program Files\Autodesk\3ds Max 2017\PlugIns\NVIDIA\Plugins\

If your studio does not use the Plugin.UserSettings.ini, then ensure your global plugin.ini file typically located at: C:\Program Files\Autodesk\3ds Max 2017\en-US\plugin.ini contains the above NVIDIA Mental Ray entry. Autodesk have also written a knowledgebase article: Missing dll: mrmaterialattribs.gup error when sending a job via network render from 3ds Max 2017 on this issue and how to resolve it using the same guidelines that we have provided above.

Trapped SEH Exception in CurRendererRenderFrame(): Access Violation

An Access Violation means that when rendering the frame, Max either ran out of memory, or memory became corrupted. The stack trace in the error message usually shows which plugin the error occurred in. If that doesn’t help track down the issue, try stripping down the max file by deleting objects and seeing if the error still occurs.

If the last line of your job log report showed INFO: Lightning: Overriding save file option to 0 as the message, it may be related to one or more of your render output paths, including Render Element file paths being > 255 characters in length (Windows OS limitation). To resolve, simply reduce the overall length of the file path you are saving your renders to. Bear in mind, if using VRay’s VFB “Separate render channels” option, the overall file path may be longer than you can currently visualize inside of 3ds Max prior to network render submission. If enabled, there are SMTD Sanity Check’s to test for this situation during submission.

3dsmax: Trapped SEH Exception in LoadFromFile(): Access Violation

An Access Violation means that when loading the scene, Max either ran out of memory, or memory became corrupted. The stack trace in the error message usually shows which plugin the error occurred in. If that doesn’t help track down the issue, try stripping down the max file by deleting objects and seeing if the error still occurs.

UNHANDLED EXCEPTION: Rendering region (248,0)-(256,8) Last marker is at ./src/globillummap.cpp, line 1692: GlobalIllumMap::buildLightMap() {1}

../_images/max_vray_vfb_render_region.png

VRay is crashing as the VFB “Render Region” button is enabled and is not supported via network rendering. Please disable this button and re-submit the job to Deadline. If you require region rendering, please see the Tile & Region Rendering Options. Note, SMTD has a sanity check to warn you if this button is enabled during submission. The “Run Sanity Check Automatically Before Submission” checkbox in SMTD needs to be enabled for this to work!

UNHANDLED EXCEPTION: Broadcasting NOTIFY_POST_RENDERFRAME Last marker is at ./src/globillummap.cpp, line 1932: GlobalIllumMap::buildLightMap() {5}

VRay is crashing at the point of calculating the GI - Light Cache map on this particular frame or referencing a pre-calculated light cache map file on the file system. In the case of pre-existing light cache files, it is recommended to verify none of the per frame LC files are corrupt? Check the file size is consistent. If not, then VRay render settings in the GI/Light Cache area will need to be better optimized as the current scene file setup is crashing VRay at render time. We understand that creating a Minidump file can be useful if then sent to support at Chaos Group to help idenitfy the isssue in your scene file. If you have the opportunity before 3dsMax crashes whilst running locally, there are several ways to create a minidump file such as using Task Manager or Process Explorer. In Task Manager, in the Applications or the Processes tabs, right click on the process and select Create Dump File. After the minidump is finished, you’ll see a dialog showing you where the dump was created. A handy feature is that the path shown is a read only edit control you can select and copy so you don’t have to try to remember a long path. Alternatively, in Process Explorer, right-click on the Create Dump option and choose Create Minidump.

taskmanager dmplocation processexplorer

3dsmax: PNG Plugin: PNG Library Internal Error

3dsMax Render Elements can become corrupt or be placed in a bad state with regard the image file format plugin trying to being used to save each Render Element to your file server. This issue is not limited to the PNG file format (TGA, TIF) but is common. A known option, which has been known to fix the issue in most circumstances, is to rebuild the render elements by deleting and re-creating them in the 3dsmax scene file. This feature is automated in SMTD if you enable the checkbox “Rebuild Render Elements” under the “Render” tab -> “3ds Max Pathing Options”.

Photoshop: Could not complete your request because it is not the right kind of document

Same error as above. 3dsMax Render Elements (bitmap image plugin) being used to save the image file extension in one or more of your Render Elements in your scene file has decided to save as a different fundamental image file format. It might say in the filename it’s a *.tif, *.png or *.tga file, but it’s actually a different image file format! When you try to open the image in AE or Photoshop, you get the cited above error message. The fix is the same as above by enabling the “Rebuild Render Elements” checkbox under the “Render” tab -> “3ds Max Pathing Options”. To save re-rendering any images, you can use an open-source application such as XnView or IrfanView to open these corrupt images, view the ‘image properties’ to identify the image file format actually being used and then rename the file extension on your file system accordingly.

RenderTask: 3dsmax exited unexpectedly (it may have crashed, or someone may have terminated)

This generic error message means that max crashed and exited before the actual error could be propagated up to Deadline. Often when you see this error, it helps to look through the rest of the error reports for that job to see if they contain any information that’s more specific.

RenderTask: 3dsmax may have crashed (recv: socket error trying to receive data: WSAError code 10054)

This generic error message means that max crashed and exited before the actual error could be propagated up to Deadline. Often when you see this error, it helps to look through the rest of the error reports for that job to see if they contain any information that’s more specific.

3dsmax startup: Error getting connection from 3dsmax: 3dsmax startup: Deadline/3dsmax startup error: lightningMax*.dlx does not appear to have loaded on 3dsmax startup, check that it is the right version and installed to the right place.

This error is likely the side effect of another error, but the original error wasn’t propagated to Deadline properly. Often when you see this error, it helps to look through the rest of the error reports for that job to see if they contain any information that’s more specific.

3dsmax startup: Max exited unexpectedly. Check that 1) max starts up with no dialog messages and in the case of 3dsmax 6, 2) 3dsmaxcmd.exe produces the message ‘Error opening scene file: “”’ when run with no command line arguments

This message is often the result of an issue with the way Max starts up. Try starting 3ds Max on the slave machine that produced the error to see if it starts up properly. Also try running 3dsmaxcmd.exe from the command line prompt to see if it produces the message ‘Error opening scene file: “”’ when run with no command line arguments. If it doesn’t produce this message, there may be a problem with the Max install or how its configured. Sometimes reinstalling Max is the best solution.

The 3dsmax command line renderer, …\3dsmaxcmd.exe, hung during the verification of the 3ds max install

Try running 3dsmaxcmd.exe from the command line prompt to see if it pops up an error dialog or crashes, which is often the cause of this error message. If this is the case, there may be a problem with the Max install or with how it is configured. Sometimes reinstalling Max is the best solution.

3dsmax: Failed to load max file: “…”

There could be many reasons my Max would fail to load the scene file. Check for ERR or WRN messages included in the error message for information that might explain the problem. Often, this error is the result of a missing plugin or dll. Additionally, there is a known issue where a corrupt install of Backburner in 3ds Max 2015 or earlier can cause 3ds Max 2016 to fail to load its Max scene file. Autodesk provides a knowledge post Backburner Error 1721 During Install on how to resolve if this is the case.

Error: “3ds Max The Assembly Autodesk.Max.Wrappers.dll encountered an error while loading”

This is a specific 3ds Max 2015 crash when you try to launch the program. Ensure you perform a Windows update and get latest updates for Windows 7 or 8. Additionally, install the update for Autodesk 3ds Max 2015 Service Pack 1 and Security Fix. See this ADSK Knowledge post for more information.

Error message: 3dsmax adapter error : Autodesk 3dsMax 17.2 reported error: Could not find the specified file in DefaultSettingsParser::parse() ; Could not find the specified file in DefaultSettingsParser::parse() ;

The error “Could not find the specified file in DefaultSettingsParser::parse() ;” occurs if you don’t have the Populate Data installed on each of your Deadline Slave machines. To resolve the issue you need to ensure that the Populate Data is installed on all the render machines. You can run the 3dsMax_2015_PopulateData.msi installer from the “\x64\PDATA" folder of the 3ds Max 2015 installer. In case there was a previous install of the Populate Data on the machine please delete the following folder before installing “C:\Program Files\Common Files\Autodesk Shared\PeoplePower\2.0". See this Area blog post for more information.

Error message: ERR: “To use this feature, you need the Evolver data. Please check the Autodesk web site for more information.”

You may get the above error message when you try to run a Populate simulation in your 3dsMax scene file. This is a known Autodesk bug and the fix is to install the Autodesk 3ds Max 2014 64-bit Populate Data component. The actual file is 3dsMax_2014_PopulateData.msi which you can find in the “\x64\PDATA" folder of the install media. Note that if you’re running 3ds Max Design the filename will be 3dsMaxDesign_2014_PopulateData.msi. Simarily, the same bug in 3ds Max 2015 doesn’t mention Evolver anymore. Instead, it tells you to install the Populate data. See this Fixing missing Evolver data errors Area blog post for more information.

Error message: “ERROR: Please, make sure the Populate data is installed.”

This is the same error message as the previous Populate FAQ entry and is fixed by installing the Autodesk Populate Data component. See this Fixing missing Evolver data errors Area blog post for more information.

ERR: [13724] [10020] CoCreateInstance() failed. Please check your registry entries CLSID {F088EA74-2E87-11D3-B1F3-00C0F03C37D3} and make sure you are logged in as an administrator

This is a known Autodesk bug with the “skin” modifier, when a newer version of 3dsMax has unregistered a plugin dll for skin which was used by a previous version of 3dsMax. Autodesk provide the following knowledge post COM Error: CoCreateInstance failed please check your registry entries on how to resolve this issue. Alternatively, you can enable “Ignore Missing DLL Errors” in SMTD which should successfully skip this error, but your render will more than likely be incorrect due to the missing skin modifier on your object(s).

Unexpected exception (Error in bm->OpenOutput(): error code 12)

Ensure all instances of 3dsMax are running a consistent LANGUAGE. By default 3dsMax ships with the LANGUAGE code set to “ENU” - “US English” and this is recommended for the majority of customers. If you are using a 3rd party plugin in 3dsMax, please contact the plugin developer to verify that their plugin is capable of running as a different language inside of 3dsMax. Note, that the majority of 3rd party plugins are still only developed to work in “ENU”. Please see this FAQ for more information regarding options to control the LANGUAGE: 3dsMax Language Code FAQ.

Exception: Failed to render the frame.

There could be many reasons my Max would fail to render the frame. Check for ERR or WRN messages included in the error message for information that might explain the problem.

DBG: in Init. nrGetIface() failed

This error message is often an indication that 3dsmax or backburner is out of date on the machine. Updating both to the latest service packs should fix the problem.

Error when using Mental Ray DBR in 3ds Max 2016: Could not locate MDL shared core library.

When you try to use DBR (Distributed Bucket Rendering) you will get the following error message:

Could not locate MDL shared core library.

To help Mental Ray satellite find this .dll copy libmdl.dll from the main 3ds Max 2016 folder to the NVIDIA/Satellite folder. Note that you have to do this on all the machines that will be used for DBR. See this Error when using Mental Ray DBR in 3ds Max 2016 Area blog post for more information.