3ds Max - Integrated Submitter - Sanity Check¶

  • Overview

  • The Error Report

    • Repairing Errors

    • Updating the Error Study

    • FATAL Sanity Checks

    • Can Be Fixed Sanity Checks

    • Warnings

  • Defining Private Sanity Checks

    • General vs. Private Checks

    • The Sanity Check Definition Array

    • Adding A New Private Check

Overview¶

The 3ds Max Sanity Check script is part of the "Submit Max To Deadline" (SMTD) integrated submitter.

It defines a fix of functions to be called to ensure that the scene submission does non comprise typical errors like wrong return 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 lesser part of the SMTD UI.

  • You tin also run the Sanity Bank check manually by clicking the Run Sanity Bank check Now! button located adjacent to the checkbox.

../_images/sanity_checker.png

The dialog contains the following elements:

  • The upper surface area (Error Report) lists the bug establish in the current scene.

  • The lower area (Feedback Messages) lists the actions the Sanity Check performs and gives feedback to the user. The latest bulletin is always on acme.

  • Between the 2 areas, there is a summary text line list the total number of errors and a colour indicator of the current Sanity Check state. When blood-red, the Sanity Check volition not allow a task submission to be performed.

The Mistake Report¶

The left cavalcade of the Fault Report displays a checkbox and the type of the error. The checkbox determines whether the error volition exist taken into account by the final result of the check. Currently, there are three types of errors:

  • FATAL: The error cannot be fixed automatically and requires transmission changes to the scene itself. A job submission with such an fault would exist 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 mistake is ignored and handled as a warning.

  • Alarm: The problem might not require fixing, but could be of importance to the user. It is not taken into account by the last result (the country of the checkbox is ignored and considered ever unchecked).

Repairing Errors¶

Right-clicking an Error Bulletin 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.

Updating the Error Report¶

You tin can re-run/update the Sanity Cheque in one of the following ways:

  • Clicking the dialog anywhere exterior of the 2 message areas will rerun the Sanity Check and update all letters.

  • Double-clicking any Message in the Feedback Letters window will rerun the Sanity Cheque and update all messages.

  • Repairing an mistake by double-clicking will too 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 exist stock-still manually before the job can be submitted.

Bulletin

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, and so endeavour again.

Maxwell is the renderer and the electric current view is NOT a Photographic camera.

Maxwell renderer must render through an actual photographic 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 proper name as a camera!

The scene contains objects or groups with a duplicate name to a camera which could result in an wrong object being used equally the camera.

Ensure you lot remove whatever 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 Fourth dimension to animation with just the current frame.

Return 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 up the Render Scene Dialog for you to manually shorten the path length.

Return Elements Output Path length exceeds 255 characters!

Ensure any Render Chemical element file salve path lengths are less than 255 characters in length.

Double-click the error message will open the Render Scene Dialog for yous to manually shorten the RE path length.

Duplicate Render Elements saving to same File Found!

1 or more than Render Elements are saving to an identical file path and file name.

Double-click the fault bulletin will open the Render Scene Dialog for you lot to manually resolve the duplication.

Scene Object(due south) comprise names > 255 characters!

i 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!

I or more objects in your scene are a grouping head but take 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.

Five-Ray Save Raw Prototype File is Enabled, merely Raw Image File Path is Empty!

V-Ray VFB Save Raw Paradigm File is enabled but NO save file path has been alleged!

Double-click the fault message will open the Render Scene Dialog for you to manually enter a valid file salve path.

V-Ray Save Divide Render Channels is Enabled, merely Separate Return Channels File Path is Empty!

V-Ray VFB Save Separate Render Channels is Enabled, but NO salvage file path has been declared!

Double-click the fault message will open the Render Scene Dialog for you to manually enter a valid file save path.

Five-Ray VFB - [Region return] 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 - [Runway mouse while rendering] button should be Disabled!

5-Ray VFB [Rail mouse while rendering] button must be disabled for network rendering.

Double-click the error message will disable the [Runway mouse while rendering] button in the VFB.

V-Ray RE:[Alpha,Reflection, Refraction] or [Save alpha] requires Draft Tile Assembler. Non supported with TA.

When using Jigsaw SingleFrame Tile Rendering with V-Ray RE'southward such as Alpha, Reflection, Refraction OR [Save alpha] via the VFB, ensure you utilise Draft Tile Assembler which is able to support the college bit depths created by these RE's.

Double-click the error bulletin will enable Typhoon equally the Tile Assembler.

5-Ray VFB - Render Region is exterior the bounds of the current render resolution!

5-Ray VFB [Region Render] size is currently beyond the coords of the current render resolution.

Double-click the error bulletin will disable the [Region render] button in the VFB.

5-Ray - AA Render mask choice is currently invalid, which will cause the render to hang!

V-Ray Prototype Sampler (AA) 'Render mask' option 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 chore to Deadline.

'Select GPU Devices' syntax is invalid! Trailing 'commas' if present, should exist removed.

Trailing 'commas' should be removed. Valid Examples: 0 or 2 or 0,i,2 or 0,three,4 etc.

Ensure GPU syntax is valid as entered in the 'Select GPU Devices' text field.

If using 'Select GPU Devices', then 'Concurrent Tasks' must be fix to 1!

Due to Task to GPU device ID mapping, ensure Concurrent Tasks is set up to 1 if using 'Select GPU Devices' choice.

Double-click the error message to set Concurrent Tasks to 1.

At least one camera name has whitespace, newline, or tab at start/cease of camera name.

I or more cameras in the scene have 'bad' characters at the start or end of the camera name which will cause the photographic camera to be 'undefined' at render time.

Double-click the error message to trim whatever bad characters from each identified camera.

Can Be Stock-still Sanity Checks¶

The post-obit Sanity Checks can be stock-still automatically past right-clicking the message before the chore is submitted.

Yous can as well ignore each message without fixing the cause for the issue by unchecking the checkbox in front end of information technology. This is useful in cases where the Sanity Check is also conservative and reporting a setting that is intentional (eastward.g. single frame rendering).

Message

Description

Gear up

The electric 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 Borderline, information technology is non a good exercise.

Double-click the fault message to open a Save Equally dialog and save to deejay.

The electric current view is NOT a photographic camera.

The agile viewport is non a camera viewport.

Double-click the error message to open up a Select Past Name dialog to choice a camera for the electric 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 Fourth dimension Output to "Active Time Segment:. The Render Dialog volition open so you tin can check the options and set to Range or Frames instead.

The Render Output Path appears to bespeak at a LOCAL Bulldoze!

While it is technically possible to save locally on each Worker, this is a bad idea - all Workers should write their output to a cardinal location on the network. Currently, disks C:, D: and East: are considered local and will be tested confronting the output path.

Double-click the error bulletin to open the Render Dialog and

select a valid path, then double-click once again to retest.

The Render Output File Name ends with a DIGIT - abaft numbers might fail.

The Proper name to be saved to ends with ane, ii or three digits. Rendering to this file proper name will append iv more digits and make loading sequential files in other applications difficult or impossible. This check is performed just when the type is non AVI or MOV and volition ignore four abaft digits which volition exist 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 case z:\temp\test123.tga will exist changed to z:\temp\test123_.tga

The Return Output will not be saved to a file.

No renders will be saved as Return Scene Dialog checkbox is currently disabled.

Double-click the mistake message to open the Return Dialog and to enable the Save File checkbox.

The Distributed Rendering choice 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 Style must be enabled to apply V-Ray Distributed Rendering (via 3dsmax plugin).

3dsMax must employ a workstation license to allow Distributed Rendering to work, when it is being offloaded onto the farm.

Double-click the error bulletin and Workstation Fashion will be enabled in SMTD.

The Render Time Output is NOT gear up to unmarried frame, and Remove Filename Padding is enabled!

When rendering animations, y'all should allow filename padding to ensure an image sequence is created during rendering.

Double-click the error bulletin 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 prepare the PCache & LCache to exist disabled.

One or more than Render Element Relieve File Paths are EMPTY! (V-Ray? - Disable the Individual RE)

Ensure that a Return Element Output File has been selected for each Render Element! If using 5-Ray Frame Buffer and ALL RE'due south have been Disabled, then IGNORE this Sanity Check!

Double-click the error bulletin will open up the Render Scene Dialog for you to manually resolve the issue or it tin can be safely ignored.

Camera Lucifer Background Epitome(s) in your Scene. Right-click to REMOVE these ref. bitmaps!

Surplus camera lucifer bkgrd images in your scene cause unnecessary bitmap refs. in your scene file.

Double-click the mistake message will delete whatever background image in ALL cameras in your scene file.

Alpha Channel will NOT be stored if saving *.tga file @ sixteen/24bit depth! Select 32bit for Alpha!

Ensure yous select 32bit in the TGA paradigm plugin file format options to ensure an alpha channel is stored in the TGA file.

Double-click the mistake message will open the Render Scene Dialog for you to manually configure the scrap depth of the TGA image file to be saved.

Five-Ray IMAP File (*.vrmap) ready to 'From File' is missing / invalid file path!

5-Ray GI tab, IMAP File is either missing or set to an invalid file path.

Double-click the error bulletin will open the Render Scene Dialog for y'all to manually enter a valid file salvage 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 fault 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 up to an invalid file path.

Double-click the fault message will open the Render Scene Dialog for y'all to manually enter a valid file save path.

5-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 bulletin will open up the Render Scene Dialog for yous to manually enter a valid file salve path.

Electric current Scene is Rendering in Active Shade Style. Are you sure y'all want to Submit?

Render Scene Dialog is set to Active Shade Mode currently, which is unsupported.

Double-click the error message volition gear up #Production renderer as the electric current scene renderer.

FumeFX Sim Task? - Disable Progress Timeout MUST exist 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 Unmarried FRAME (ALL Frames volition exist Simulated)

FumeFX node(south) are configured to simulate in this chore, and so 3ds Max Return Fourth dimension should be set up to Unmarried FRAME only.

Double-click the error message will automatically change the current Render Time Output to Unmarried Frame.

FumeFX - Sim Jobs MUST have a Auto LIMIT = 1 (RUN only on 1 machine)

FumeFX node(southward) are configured to simulate in this job, so Deadline's Machine Limit must be ready to 1 (run on 1 Worker).

Double-click the error bulletin will automatically change the SMTD Machine Limit to enabled and set to 1 Worker just.

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 commencement task (Main machine). Avoid this by submitting to the 3dsCmd plugin instead.

Double-click the mistake message will automatically enable the the [Utilize 3dsCmd Plugin] checkbox in SMTD -> render tab.

Render output file already has a delimiter in it!

Main render output filename & path contains "..". Mayhap due to Delimiter set in Defaults ini file.

Double-click the error bulletin to remove the actress delimiter from render output filename.

Five-Ray raw image file [DUPLICATE DOT] delimiter/user entered

V-Ray RAW image filename has indistinguishable "..". Perchance due to Delimiter set in Defaults ini file.

Double-click the mistake bulletin to remove the extra delimiter from 5-Ray RAW prototype filename.

Five-Ray raw image file [DUPLICATE DOT] fileName_addDot/user entered

Five-Ray RAW prototype filename has duplicate "..". Possibly due to 5-Ray's ain addDot option in RAW File Browser Dialog.

Double-click the error message to remove the extra delimiter from Five-Ray RAW image filename.

V-Ray separate render channel files already have a delimiter in them!

5-Ray separate render aqueduct filename has duplicate "..". Possibly due to Delimiter set up in Defaults ini file.

Double-click the error message to remove the actress delimiter from V-Ray divide render channel paradigm filename.

At least one render element output file already has a delimiter in it!

One or more Five-Ray Render Elements contain a indistinguishable ".." in their image filename.

Double-click the mistake bulletin to remove the extra delimiter from all 5-Ray Return Element filenames.

Return Elements may overwrite each other as file paths may Not exist unique! Check!

one or more Return Elements are destined to save to an identical file path and file name.

Ensure at to the lowest degree one 'Include' RE checkbox option is enabled in SMTD -> Render -> 3ds Max Pathing.

Corona VFB - [Region return] push might need to be Disabled!

Corona [Region render] might need to be disabled for the correct render to be produced?

Double-click the error message volition disable the [Region render] push in the VFB.

Warnings¶

The following Sanity Check letters are but warnings which do non affect the power to submit the job.

Message

Clarification

Fix

The Return Output Path is Not Divers!

No frames volition be saved to disk. This is allowed if you lot want to output render elements merely.

Double-click the error message to open the Return Dialog and select a valid path, then double-click again to retest.

The Render Output is prepare to a Moving-picture show 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 past separate Workers. In the future, the behaviour might be inverse to return a single MOV or AVI file on a unmarried Worker equally one Job.

Double-click the error message to open the Return Dialog and select a single frame output format, so double-click again to retest.

Not rendering final epitome (GI) so Restart Renderer should exist disabled, and Auto Limit set to one.

"Don't render final image" is enabled, then Restart Renderer and Auto Limit should be fix to one in SMTD.

Double-click the mistake message and Restart Renderer will be disabled and Auto Limit enabled and fix to i in SMTD.

Restart Renderer Betwixt Frames is disabled and V-Ray or Brazil is the selected renderer.

V-Ray & Brazil renderers need Restart Renderer to exist 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 wrong renders with Deadline.

The locked viewport setting in 3dsMax 2009-2014 is ignored in the SDK but is stock-still in 3dsMax 2015 onwards.

Double-click the mistake message to disable the Locked Viewport (padlock) in the Render Scene Dialog.

Tile Rendering is enabled and the Five-Ray VFB is currently on.

Unexpected results can occur when the 5-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.

Five-Ray VFB Enabled - 3ds Max 'Return Elements' will Non save. This may exist as intended?

No render elements will be saved if V-Ray's VFB is enabled and the 'Divide render channels' option is disabled.

Double-click the fault message to disable the V-Ray VFB output checkbox or ignore this message as this setup may exist as you intended.

This listing volition be extended to include future checks and can exist edited by 3rd parties by adding new definitions and functions to the original script. Please e-mail suggestions for enhancements and additional test cases to Deadline Support.

Defining Private Sanity Checks¶

Full general vs. Private Checks¶

The Sanity Check consists of two sets of bank check and repair functions definitions - a General set, and a Individual set.

  • The file SubmitMaxToDeadline_SanityCheck_General.ms located in the Repository's submission3dsmaxMain subfolder contains the definitions of the General functions.

    • This file will be updated by the Borderline Repository installer when new versions of the software are installed on height of existing ones.

  • The file SubmitMaxToDeadline_SanityCheck_Private.ms located in the Repository'southward submission3dsmaxMain subfolder contains the definitions of the Private functions.

    • This file volition not exist updated by the Deadline Repository installer when new versions of the software are installed on top of existing ones.

    • It will only be created if it does not exist however (new installation, or it was deleted manually).

    • This means that any changes made to the Private definitions will be preserved between Deadline minor version updates.

    • When switching to a new major version, the existing Private definitions file volition take to exist copied over manually.

  • Upon launch, SMTD will merge the array of Private definitions with the array of Full general definitions, and the Sanity Check volition procedure both as i gear up of rules.

The Sanity Check Definition Array¶

The Individual Sanity Checks file looks similar this when first installed:

                                    -----------------------------------------------------------------------------------------------------------------------------------------------                  --                  THIS                  FILE                  CONTAINS                  YOUR                  USER                  -                  DEFINED                  CHECKS                  TO                  Exist                  PERFORMED                  AND                  THE                  FUNCTIONS                  --                  TO                  BE                  USED                  TO                  Check                  AND                  REPAIR                  THE                  SCENE                  Before                  SUBMISSION                  -----------------------------------------------------------------------------------------------------------------------------------------------                  --                  THIS                  FILE                  WILL                  **                  NOT                  **                  Be                  UPDATED                  AUTOMATICALLY                  Past                  THINKBOX                  SOFTWARE                  INC                  --                  AND                  SHOULD                  BE                  USED                  FOR                  YOUR                  IN                  -                  HOUSE                  NEEDS                  .                  -----------------------------------------------------------------------------------------------------------------------------------------------                  (                  global                  SMTD_Private_SanityCheckFunctions                  global                  SMTD_Private_SanityChecksToPerform                  global                  SMTD_Private_RepairFunctions                  global                  SMTD_RepairFunctions                  global                  SMTD_SanityChecksToPerform                  global                  SMTD_SanityCheckFunctions                  struct                  SMTD_Private_SanityCheckFunctions                  (                  fn                  Bare                  =                  (                  )                  )                  --                  terminate                  struct                  struct                  SMTD_Private_RepairFunctions                  (                  fn                  Blank                  =                  (                  )                  )                  --                  end                  struct                  ------------------------------------------------------------------------------------------------------------------------------------------------------                  --                  SANITY                  CHECK                  PRIVATE                  DEFINITIONS                  ------------------------------------------------------------------------------------------------------------------------------------------------------                  SMTD_Private_SanityChecksToPerform                  =                  #(                  )                  --                  finish                  checks                  assortment                  )                  --                  End                  File                

The file contains

  • Some global variable definitions,

  • 2 structs with bare place-holder functions, and

  • The global SMTD_Private_SanityChecksToPerform assortment containing no sub-arrays.

Calculation A New Private Check¶

Let's edit the file to add together a new Private role to check whether the current renderer is set to render type "View".

  • First, we will rename the "blank" function in the SMTD_Private_SanityCheckFunctions struct to "CheckRenderType".

  • In the part'due south body, nosotros will compare the return value of getRenderType() with the proper noun value #view, and will return Truthful if they are equal, and False if they are non.

  • Next, we volition rename the "bland" function in the SMTD_Private_RepairFunctions struct to "FixRenderType".

  • In the role'due south body, we will shut the Render dialog, set up the render blazon to #view, and open up the Render dialog once more.

  • Finally, in the global SMTD_Private_SanityChecksToPerform array, nosotros will add a new sub-array containing

    • the new bank check function,

    • the check type #fix as it is a fixable issue,

    • the description of the issue

    • the repair function to execute if right-clicked,

    • and the boolean value of True which means the cheque is enabled by default.

The modified file would look like this:

                                    -----------------------------------------------------------------------------------------------------------------------------------------------                  --                  THIS                  FILE                  CONTAINS                  YOUR                  USER                  -                  DEFINED                  CHECKS                  TO                  Be                  PERFORMED                  AND                  THE                  FUNCTIONS                  --                  TO                  BE                  USED                  TO                  CHECK                  AND                  REPAIR                  THE                  SCENE                  Earlier                  SUBMISSION                  -----------------------------------------------------------------------------------------------------------------------------------------------                  --                  THIS                  FILE                  WILL                  **                  NOT                  **                  Exist                  UPDATED                  AUTOMATICALLY                  Past                  THINKBOX                  SOFTWARE                  INC                  --                  AND                  SHOULD                  BE                  USED                  FOR                  YOUR                  IN                  -                  HOUSE                  NEEDS                  .                  -----------------------------------------------------------------------------------------------------------------------------------------------                  (                  global                  SMTD_Private_SanityCheckFunctions                  global                  SMTD_Private_SanityChecksToPerform                  global                  SMTD_Private_RepairFunctions                  global                  SMTD_RepairFunctions                  global                  SMTD_SanityChecksToPerform                  global                  SMTD_SanityCheckFunctions                  struct                  SMTD_Private_SanityCheckFunctions                  (                  fn                  CheckRenderType                  =                  (                  getRenderType                  ()                  ==                  #view                  )                  )                  --                  end                  struct                  struct                  SMTD_Private_RepairFunctions                  (                  fn                  FixRenderType                  =                  (                  renderSceneDialog                  .                  shut                  ()                  setRenderType                  #view                  renderSceneDialog                  .                  open up                  ()                  )                  )                  --                  end                  struct                  ------------------------------------------------------------------------------------------------------------------------------------------------------                  --                  SANITY                  Cheque                  Private                  DEFINITIONS                  ------------------------------------------------------------------------------------------------------------------------------------------------------                  SMTD_Private_SanityChecksToPerform                  =                  #(                  #(SMTD_Private_SanityCheckFunctions.CheckRenderType, #gear up, "The Area To Render is NOT set to VIEW!", SMTD_Private_RepairFunctions.FixRenderType, truthful)                  )                  --                  cease                  checks                  array                  )                  --                  Finish                  File                

After the file is saved and SMTD restarted, if you lot would set the Area To Return option in the Render Scene dialog to anything but "View", the new Sanity Check volition detect the effect and testify up in the Mistake Report listing.