3ds Max Plus

Shotgun Engine for 3ds Max Plus

Shotgun Integration in 3ds Max Plus
Latest Version: v0.5.1 (prod)
For our version numbers, we follow the Semantic Versioning standard.
System Name: tk-3dsmaxplus

Please Note: This document describes functionality only available if you have taken control over a Toolkit configuration. Please refer to the Shotgun Integrations User Guide for more details.

The Shotgun engine for 3ds Max Plus provides a bridge between the 3ds Max application and the Shotgun Pipeline Toolkit. The engine supports PySide and all Multi apps, meaning that you can run our standard apps inside of 3ds Max - the same apps that also work in Maya, Nuke etc. This engine uses the 3ds Max Plus python API.

Supported Application Versions

This item has been tested and is known to be working on the following application versions: 2016+. Please note that it is perfectly possible, even likely, that it will work with more recent releases, however it has not yet been formally tested with these versions.

Documentation

This engine connects Shotgun Pipeline Toolkit (Sgtk) and 3D studio Max via Max Plus' Python support.

Engine

Installation and Updates

Adding this Engine to the Shotgun Pipeline Toolkit

If you want to add this engine to Project XYZ, and an environment named asset, execute the following command:

> tank Project XYZ install_engine asset tk-3dsmaxplus

Updating to the latest version

If you already have this item installed in a project and you want to get the latest version, you can run the update command. You can either navigate to the tank command that comes with that specific project, and run it there:

> cd /my_tank_configs/project_xyz
> ./tank updates

Alternatively, you can run your studio tank command and specify the project name to tell it which project to run the update check for:

> tank Project XYZ updates

Collaboration and Evolution

If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at https://github.com/shotgunsoftware/tk-3dsmaxplus.

Special Requirements

  • You need Shotgun Pipeline Toolkit Core API version v0.18.45 or higher to use this.

Configuration

Below is a summary of all the configuration settings used. These settings need to be defined in the environment file where you want to enable this App or Engine.

run_at_startup

Type: list

Description: Controls what apps will run on startup. This is a list where each element is a dictionary with two keys: 'app_instance' and 'name'. The app_instance value connects this entry to a particular app instance defined in the environment configuration file. The name is the menu name of the command to run when the 3dsMax engine starts up. If name is '' then all commands from the given app instance are started.

launch_builtin_plugins

Type: list

Description: Comma-separated list of tk-3dsmaxplus plugins to load when launching 3dsMax. Use of this feature disables the classic mechanism for bootstrapping Toolkit when 3dsMax is launched. Therefore, if any plugins are specified using this setting, the first one in the list must be responsible for starting Toolkit when 3dsMax is launched.

compatibility_dialog_min_version

Type: int

Default Value: 2017

Description: Specify the minimum Application major version that will prompt a warning if it isn't yet fully supported and tested with Toolkit. To disable the warning dialog for the version you are testing, it is recomended that you set this value to the current major version + 1.

debug_logging

Type: bool

Description: Controls whether debug messages should be emitted to the logger

menu_favourites

Type: list

Description: Controls the favourites section on the main menu. This is a list and each menu item is a dictionary with keys app_instance and name. The app_instance parameter connects this entry to a particular app instance defined in the environment configuration file. The name is a menu name to make a favourite.

Release Notes

Welcome to the release notes for this Engine. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!

v0.5.1

2017-Nov-17

Adds session geometry plugin for publish2

v0.5.0

2017-Nov-08

Now houses publish2 plugin hooks and supports template-based worklfows

v0.4.1

2017-Jun-29

Minor adjustments to logging output

v0.4.0

2017-May-03

Dockable panels, Plugin, Software support and dropped support for max 2015.

v0.3.0

2017-Feb-17

Upgraded to better handle python ssl. Bumped major supported version.

v0.2.0

2016-Sep-19

Adds support for 3ds Max 2017 and engine-level styling.

v0.1.16

2016-Jun-29

Bug fix for Qt dialog management during maxscript operations that launch modal, native dialogs.

Details:

It's required that we hide any open Qt dialogs during these operations, as native Max dialogs that are modal pair poorly with Qt dialogs that are active and not locked away like the rest of Max. Our logic attempted to do this, but ended up showing otherwise-hidden dialogs that shouldn't have been shown, and also had the unintended effect of triggering certain operations once per existing dialog (like merge operations from the loader app).

v0.1.15

2016-Apr-15

Menu action fixes when multiple Max sessions are run at once.

Details:

The bug cropped up when multiple Max sessions are run concurrently. The macros attached to the menu actions changed after the second session's Shotgun menu was built (Max caches the menu layout, including the macros, to disk) and the first session would call the macro defined in the second session. Because we keyed our cache of AppCommand objects off of the Python object ID, the lookup to find the AppCommand in the first session looked for the ID of the second session and fail.

v0.1.14

2016-Mar-11

Modal dialogs are no longer attached to Max's main window.

Details:

Modal dialogs behave properly when not explicitly attached to Max's main window via MaxPlus. When they ARE attached, however, keyboard and mouse inputs are blocked for both Max and the modal dialog. As a result, we no longer attach modal dialogs to Max's main window.

v0.1.13

2016-Mar-10

Parents Qt dialogs to Max's main window.

Details:

As of the 2016 SP1 release, Max can have Qt widgets parented to its main window. The Maxplus engine will now attempt to do so for any version of Max of that release or newer.

v0.1.12

2016-Feb-23

Use string instead of float for version logging

v0.1.11

2016-Feb-22

hotfix for metrics logging typo

v0.1.10

2016-Feb-18

Adds a call to log a user metric for the DCC version

v0.1.9

2015-Dec-3

Logging using engine.log_* is no longer blocking.

Details:

A deadlock would occur when a background thread was logging through the engine's log methods while the main thread was waiting for the background thread to complete.

Note that this fix requires Core API 0.16.35.

v0.1.8

Update 3ds Max version compatibility to include 2016

v0.1.7

Fixed debug logging and SSL fix

Details:

  • Enabling debug logging would cause 3ds Max to hang - this has now been fixed.
  • The previous fix for the Python SSL slowdown bug wasn't being applied correctly - this has now been fixed.

v0.1.6

Fix 3ds Max when merging objects

Details:

Fixes crashing issues relating to qt dialogs and max modal.

v0.1.5

Documentation update

v0.1.4

Fix favorite menu handling

Details:

Fix an exception that stopped the engine from being created with favorite menus.

v0.1.3

Small fix for menus

Details:

Changes default behavior for menus by making them active in case the engine hasn't started properly.

v0.1.2

Added exception guard in modals

Details:

Added guard to restore menu in case of exception thrown in modal dialogs.

v0.1.1

Fix crash with modal dialogs

Details:

Fixes a crash when trying to use the shotgun menu while a modal dialog is opened.

v0.1.0

23021: 3DS Max Engine w/MaxPlus

Details:

Updated engine to work with MaxPlus instead of Blur's python distribution for 3ds max, thus removing the dependency.

Follow

0 Comments

Please sign in to leave a comment.