kevin vandecar visual arts intro 3dsmax customization

Post on 03-Mar-2015

45 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction to 3ds Max Customization and Plug-in Development

Kevin VandecarAutodesk Developer NetworkM&E Developer Technical Services

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: kevin.vandecar@autodesk.com

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

3ds Max - Intro to Customization

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

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

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

• Ribbon

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

Customize User Interface

• Demonstration

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)

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

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

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

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

MAXScript

• Demonstration

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

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++)

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.

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.

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

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

MAX .NET API

• Demonstration

MAX .NET API

• Resources:– MAX SDK documentation– ADN DevTech

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)

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

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)

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

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

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

3ds Max Plug-in Architecture

MAX SDK

• Demonstrations– Plug-ins that ship with the SDK

• Object plug-in• Modifier plug-in

MAX SDK

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

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

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

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

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

Q + A

top related