cp4343 - the 30,000-foot view of autodesk® 3ds max® customization and plug-in development kevin...
TRANSCRIPT
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
© 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]
© 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
© 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
© 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
© 2011 Autodesk
Customize User Interface
How to do it?
user commands in the User Interface
MAXscript
SDK plug-ins
© 2011 Autodesk
Customize User Interface
What can you Customize in the User Interface?
Keyboard Toolbars Quad menus Regular menus Colors
Ribbon
© 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++)
© 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
© 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
© 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
© 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
© 2011 Autodesk
MAXScript
How to use MAXScript MAXScript is built-in Listener and Editor windows
Text based storage
Auto-Loading and Running capabilities
© 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
© 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++)
© 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!
© 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.
© 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
© 2011 Autodesk
3ds Max .NET API
Resources for further information:
MAX SDK documentation
ADN DevTech
© 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)
© 2011 Autodesk
3ds Max SDK
Why use MAX SDK? Functionality for nearly everything
Flexible Modify or Change existing behaviors Provide new functionality Many samples
© 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
© 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
© 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
© 2011 Autodesk
3ds Max SDK
Resources for further information:
Docs included with MAX SDK
Web resources
ADN DevTech
© 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
© 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
© 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/
© 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
© 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.
© 2011 Autodesk
Questions?
Feel free to contact me later