cp4343 - the 30,000-foot view of autodesk® 3ds max® customization and plug-in development kevin...

31
CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E Sparks Autodesk Developer Network © 2011 Autodesk

Upload: bertha-foster

Post on 25-Dec-2015

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in DevelopmentKevin VandecarPrincipal Developer Consulting Engineer – M&E Sparks Autodesk Developer Network

© 2011 Autodesk

Page 2: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

bio: Kevin Vandecar

@ Autodesk for over 18 years all customization related

Experience with AutoCAD, AutoCAD Architecture, 3d Studio (DOS), Autodesk Revit

Last five years as Software Engineer on AutoCAD Architecture API and Revit API

now focusing on 3ds Max customization in ADN Sparks team

Based in Manchester, New Hampshire, US

email: [email protected]

Page 3: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Autodesk Developer Network

Access to almost all Autodesk software and SDK’s Includes early access to beta software

Members-only website with thousands of technical articles Unlimited technical support Product direction through conferences Marketing benefits

Exposure on autodesk.com Promotional opportunities

One to three free API training classes Based on user level

www.autodesk.com/joinadn

Page 4: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max - Introduction to Customization

Presentation Goal Discuss What, Why, and How for each “type” of customization Covering these:

General User Interface Customizations

MAXScript

.NET API

C++ MAX SDK

Page 5: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Customize User Interface

Why make UI customization?

Make your most common tasks more accessible, making you more productive

Improve efficiency of your Designers or Artists

If you are developing plug-ins, you can place it where you want in the UI

Page 6: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Customize User Interface

How to do it?

user commands in the User Interface

MAXscript

SDK plug-ins

Page 7: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Customize User Interface

What can you Customize in the User Interface?

Keyboard Toolbars Quad menus Regular menus Colors

Ribbon

Page 8: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Customize User Interface

All can be managed via “UI” file set Save/Load Text based sub-files for each type

Can also be implemented from your plugin: MAXScript 3ds Max SDK (.NET or C++)

Page 9: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Customize User Interface

Resources for further information: 3ds Max help: “Customizing the User Interface”

Book: 3ds Max (2011) Bible: “Chapter 4, Customizing the Max Interface and Setting Preferences” (newer edition available)

ADN DevTech in conjunction with plugin

Page 10: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

MAXScript

What is MAXScript? The 3ds Max scripting language

Simpler and easier to use than C++

Interpreted “scripting” language Use to “drive” 3ds Max Not to be confused with SDK plug-in development

Proprietary/Specific to 3ds Max

Page 11: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

MAXScript

Why use MAXScript? Customize the user interface

Automate repetitive tasks

Provide “algorithmic” traits to geometry/animation

Quick and easy, no compilation required

Page 12: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

MAXScript - Functionality

Almost “anything” 3ds Max does, MAXScript can automate!

Including, but not limited to:

•User interface•Geometry•Cameras•Lights•Helpers

•Particles•Modifiers•Animation•Controllers•Trackview

•Renderer•Materials•Batch process files•Batch process objects

•Import/Export

Page 13: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

MAXScript

How to use MAXScript MAXScript is built-in Listener and Editor windows

Text based storage

Auto-Loading and Running capabilities

Page 14: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

MAXScript

Resources for further information: MAXScript docs and samples included with 3ds Max

Books: 3ds Max (2011) Bible: “Chapter 49, Automating with MAXScript” (newer

addition available) 3ds Max MAXScript Essentials

Web resources

ADN DevTech

Page 15: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max .NET API

What is MAX .NET API? Managed 3ds Max API assemblies

Current state: In product has UI specific utilities Subscription Advantage Pack introduces full 1 to 1 wrappers to match the C++ SDK

Can use managed languages like:C#, VB.NET, C++/CLI (managed C++)

Page 16: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max .NET API

Why use MAX .NET API? Sophisticated managed UI capabilities

access to Max’s UI, Microsoft’s WPF/XAML and associated design tools

Interfacing with other .NET API components

At the moment, it has the least amount of exposure into Max internals, but with Subscription Advantage Pack there is much more!

Page 17: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max .NET API

What is the 3ds Max .NET API? - It’s a bit complicated…

Initially introduced a .NET API UI component in 3ds Max 2008

Enhanced .NET API comes in subscription advantage pack

Provided as a set of assemblies that you consume to program 3ds Max.

Page 18: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max .NET API

How to use MAX .NET API Install MAX SDK

Choose a managed language and IDE Visual C# Visual Basic .NET Visual C++/CLI

Reference assemblies

Page 19: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max .NET API

Resources for further information:

MAX SDK documentation

ADN DevTech

Page 20: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max SDK

What is MAX SDK? Used for plug-in development Object Oriented, Set of C++ libraries Requires knowledge of C++ (but… has a long history and many

resources available)

Page 21: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max SDK

Why use MAX SDK? Functionality for nearly everything

Flexible Modify or Change existing behaviors Provide new functionality Many samples

Page 22: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max SDK

Why use MAX SDK? Commercial Plug-ins for resale

Pure compiled language and associated binaries Performance

Internal use for task automation, proprietary internal features, etc. Sophisticated functionality for your pipeline Performance

Page 23: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max SDK - Functionality

The most robust and flexible access to 3ds Max!The following is a list of the most important plug-in types:

•3D Texture Map•Animation Controllers•Atmospheric•Bitmap Texture•Camera Object•Color Selection•Compound Objects

•Crowd Behavior•File Export•File Import•Geometric Objects•Global Utility•Hardware Shaders•Image Filters

•Image Import/Export•Image Viewers•IK Solver•Helper Objects•Light Objects•Linear Shape Object•Manipulator Objects

•Material Plug-in•MAXScript Extensions•Modifier•Multi-pass Camera Effects•Particle Objects•Patch Objects•Radiosity Effect

•Renderer•Rendering Effects•Render Elements•Sampler•Shader•Shape Objects•Snaps

•Sound•Spline Objects•Spring Systems•Texture Map•Track View Utility•Utility•World Space Modifier

Page 24: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max SDK

How to use MAX SDK? Install from 3ds Max media. Both win32 and x64 supported Visual C++ 9.0 (Visual Studio 2008)

Service Pack 1 with the July 28, 2009 security patch installed. Either VS2008 or VS2010 IDEs will work (but for VS2010 must use VC90

toolset) Samples projects for 3ds Max 2012 are in VS 2010 format

Plugin Wizard Many samples provided

Including many built-in features

Page 25: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max SDK

Resources for further information:

Docs included with MAX SDK

Web resources

ADN DevTech

Page 26: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max - Intro to Customization Summary

UI Customization Easy and low investment of time/money Easy in-house standards/customization May be needed for plugin exposure, toolset, etc.

MAXScript Easy to get started and low investment of time/money Powerful Proprietary

Page 27: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

3ds Max - Intro to Customization Summary

.NET API Initially useful for UI or consumption of other .NET Framework functionality Currently, with SAP, full managed wrappers matching C++ SDK

MAX SDK Requires serious programming skills The most powerful and flexible customization capabilities Consider for commercial or complex functionality

Page 28: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Web Resources for 3ds Max Customization

Autodesk AREA http://area.autodesk.com/ http://area.autodesk.com/forum/autodesk-3ds-max http://area.autodesk.com/blogs/chris

http://www.gamedev.net

http://www.cgsociety.org

http://code.google.com/p/3ds-max-dev/

Page 29: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Additional Resources for 3ds Max Customization

www.autodesk.com/develop3dsmax

Autodesk Developer Network – Sparks program Annual subscription

Get access to almost all the software for development purposes Technical and Marketing support

Direct technical support via DevHelp online Trainings and Mentoring

www.autodesk.com/joinadn

Page 30: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Autodesk University Session Feedback

Your feedback is very important to Autodesk! You can complete the session

survey on your mobile device, PC, or at a survey station.

Each completed session survey enters you in that day’s drawing for a free AU 2012 pass.

You can help make AU 2012 better!

Complete the AU Conference Survey at a survey station and receive an AU 2011 T-Shirt.

Page 31: CP4343 - The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E

© 2011 Autodesk

Questions?

Feel free to contact me later