37

Introduction to 3ds Max Customization and Plug-in Development

  • Upload
    svein

  • View
    101

  • Download
    3

Embed Size (px)

DESCRIPTION

Introduction to 3ds Max Customization and Plug-in Development. Kevin Vandecar Autodesk Developer Network M&E Developer Technical Services. bio: Kevin Vandecar. @ Autodesk for about 18 years a ll customization related - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction to 3ds Max Customization      and Plug-in Development
Page 2: Introduction to 3ds Max Customization      and Plug-in Development

Introduction to 3ds Max Customization and Plug-in Development

Kevin VandecarAutodesk Developer NetworkM&E Developer Technical Services

Page 3: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

3ds Max - Intro to Customization

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

Page 6: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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

• Ribbon

Page 8: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

Customize User Interface

• Demonstration

Page 10: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

MAXScript

• Demonstration

Page 16: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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

Page 21: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

MAX .NET API

• Demonstration

Page 23: Introduction to 3ds Max Customization      and Plug-in Development

MAX .NET API

• Resources:– MAX SDK documentation– ADN DevTech

Page 24: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

3ds Max Plug-in Architecture

Page 31: Introduction to 3ds Max Customization      and Plug-in Development

MAX SDK

• Demonstrations– Plug-ins that ship with the SDK

• Object plug-in• Modifier plug-in

Page 32: Introduction to 3ds Max Customization      and Plug-in Development

MAX SDK

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

Page 33: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

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: Introduction to 3ds Max Customization      and Plug-in Development

Q + A