kevin vandecar visual arts intro 3dsmax customization

37

Upload: chandra-sekaran-j

Post on 03-Mar-2015

44 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Kevin Vandecar Visual Arts Intro 3dsMax Customization
Page 2: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Introduction to 3ds Max Customization and Plug-in Development

Kevin VandecarAutodesk Developer NetworkM&E Developer Technical Services

Page 3: Kevin Vandecar Visual Arts Intro 3dsMax Customization

bio: Kevin Vandecar

• @ Autodesk for about 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

– currently working for the Media and Entertainment group within Autodesk Developer Network supporting 3ds Max customization and programming.

– email: [email protected]

Page 4: Kevin Vandecar Visual Arts Intro 3dsMax Customization

3ds Max - Intro to Customization

• Presentation Goal– Quickly show what aspects that can be customized– Discuss What, Why, and How for each “type” of customization– Covering these:

• General User Interface Customizations• MAXScript• .NET API• C++ MAX SDK

Page 5: Kevin Vandecar Visual Arts Intro 3dsMax Customization

3ds Max - Intro to Customization

• Show of hands– Currently using 3ds Max (any version)? – 3ds Max 2011?– Autodesk Developer Network (ADN) members?

Page 6: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Customize User Interface

• Why customize the User Interface?– Improve efficiency of your Artists and other Production people– Make your most common tasks more accessible– Saving Time and Money $$$$ in your production environment

• Investment of time to develop customization is relatively low• Cost savings can be high

– Having your favorites easily accessible/consistent

Page 7: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Customize User Interface• Keyboard• Toolbars• Quad menus• Regular menus• Colors

• Ribbon

Page 8: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Customize User Interface

• All can be Stored via a “UI” file– Save/Load– Text based sub-files for each type

• Can also be customized from:– MAXScript– .NET API– C++ Max SDK

Page 9: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Customize User Interface

• Demonstration

Page 10: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Customize User Interface

• Resources:– 3ds Max help: “Customizing the User Interface”– Book: 3ds Max (2011) Bible: “Chapter 4, Customizing the

Max Interface and Setting Preferences”– Book: 3ds Max MAXScript Essentials (Chapters 2 and 3, but

various UI aspects covered through-out)

Page 11: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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 plug-in development

– Proprietary/Specific to 3ds Max

Page 12: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAXScript

• Why use MAXScript?– Customize the user interface– Automate repetitive tasks– Provide “algorithmic” traits to geometry/animation– Save Time and Money $$$$

• Consider Investment of time to develop customization– Programming now involved so need more skill

• Cost savings can be high

Page 13: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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 14: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAXScript

• How to use MAXScript– MAXScript is built-in– Listener and Editor windows– Visual MAXScript Plug-in

• Text based storage• Auto-Loading and Running capabilities

Page 15: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAXScript

• Demonstration

Page 16: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAXScript

• Resources:– Maxscript.chm: included with 3ds Max– Book: 3ds Max (2011) Bible: “Chapter 49, Automating with

MAXScript”– Book: 3ds Max MAXScript Essentials– Web resources (see end)– ADN DevTech– Sample files

Page 17: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX .NET API

• What is MAX .NET API?– A managed extension of the C++ MAX SDK libraries

• Not fully feature rich

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

Page 18: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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.

Page 19: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX .NET API

• What is MAX .NET API? - It’s a bit complicated… – Initially introduced a .NET API component in 3ds Max 2008

• This has grown some over the last few releases to be “wrappers” for the C++ functionality

• This is the only officially supported aspect

– MAX Sharp is a prototype work in progress that can be used by ADN members only at this point.• If interested in this contact me.

Page 20: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX .NET API - Functionality• ManagedServices• MaxCustomControls• WPFCustomControls• CSharpUtilities• ExplorerFramework

Page 21: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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 22: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX .NET API

• Demonstration

Page 23: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX .NET API

• Resources:– MAX SDK documentation– ADN DevTech

Page 24: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX SDK

• What is MAX SDK?– Used for plug-in development– Object Oriented, Set of C++ libraries (and headers)– Requires knowledge of C++ (but… many, many resources

available)

Page 25: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX SDK• Why use MAX SDK?– Functionality for nearly everything

• Flexible• Modify existing behaviors• Provide new functionality

– Saving Time and Money $$$$ in your production environment• Consider Investment of time to develop customization

– Serious Programming now involved so need more skill• Cost savings can again be high

Page 26: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX SDK• Why use MAX SDK?– Commercial Plug-ins for resale

• Pure compiled language and associated binaries• Time to develop versus selling in volume makes good business

sense• Seriously consider joining Autodesk’s partner programs (ADN

technical and marketing)

Page 27: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX SDK• Why use MAX SDK?– Internal use for task automation, proprietary internal

features, etc.• Time to develop versus functionality needed:

– Would it be easier/faster to develop with CUI, .NET API, or MAXScript?

– Already know C++? Huge advantage if so, but still time consuming.– Consider maintenance over time

• Consider joining ADN for technical help

Page 28: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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 29: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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)

– Many samples provided• Including many built-in features

– Auto-loading and Delay loading supported– Debug build provided with symbols to help your development efforts

Page 30: Kevin Vandecar Visual Arts Intro 3dsMax Customization

3ds Max Plug-in Architecture

Page 31: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX SDK

• Demonstrations– Plug-ins that ship with the SDK

• Object plug-in• Modifier plug-in

Page 32: Kevin Vandecar Visual Arts Intro 3dsMax Customization

MAX SDK

• Resources:– Maxsdk.chm included with MAX SDK– Web resources (see end)– ADN DevTech

Page 33: Kevin Vandecar Visual Arts Intro 3dsMax Customization

3ds Max - Intro to Customization - Summary

• UI Customization• Easy and low investment of time/money

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

• .NET API• Useful for UI and/or consumption of other .NET Framework functionality

• MAX SDK• Requires serious programming skills, but the most powerful and flexible

Page 34: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Web Resources for 3ds Max Customization

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

• gamedev.net– customization and programming forums

Page 35: Kevin Vandecar Visual Arts Intro 3dsMax Customization

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 vie DevHelp online• Trainings and Mentoring

– www.autodesk.com/joinadn

Page 36: Kevin Vandecar Visual Arts Intro 3dsMax Customization

ADN M&E DevTech Global Support Team

Naiqi Weng - Toronto, Canada

Akira Kudo - Tokyo, Japan

Kristine Middlemiss - Toronto, Canada

Kevin Vandecar – Manchester, NH US

Santosh Kumar – Bangalore, India

Cyrille Fauvel – Brest, FranceManager ADN M&E DevTech

Page 37: Kevin Vandecar Visual Arts Intro 3dsMax Customization

Q + A