Introduction to 3ds Max Customization and Plug-in Development

Slides:



Advertisements
Similar presentations
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Advertisements

Introducing Microsoft Surface ™ 1.0 Service Pack 1.
© 2011 Autodesk Autodesk What’s New in Autodesk ® Showcase ® 2012.
BY AHROORAN & CHRIS 3D Software. Blender Blender is a free open source software that is compatible with most operating systems for example GNU/Linux,
FireMonkey Deep Dive The Next Generation of Business Application Development.
Autodesk Inventor 11 Essentials Plus Instructor’s Name.
Autodesk Inventor 2010 Essentials Plus Mr Dalton.
Debugging Python in Maya Cyrille Fauvel - ADN. About the Presenter Cyrille Fauvel - Autodesk Developer Network Cyrille is a member of the M&E workgroup.
Visual and Internet Programming using JAVA
Business and Computing Deanery 3D Modelling Tools Week 10 File formats and exporting models.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Agenda Overview of Silverlight Technology Map Suite Silverlight Beta Edition Features & Benefits Demonstration Where to Get Help and Learn More Q&A 2.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Programming in the Office 2003 Environment Corinne Hoisington.
IS4401 Project Technology Issues. Introduction This seminar covers Databases When to use a Database What Database to use Development Tools Visual Studio.
Shading Languages By Markus Kummerer. Markus Kummerer 2 / 19 State of the Art Shading.
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
Chapter 3 Software Two major types of software
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Open and save files directly from Word, Excel, and PowerPoint No more flash drives or sending yourself documents via Stop manually merging versions.
Computer Software.
© 2012 Autodesk Think outside the box: Custom Development with Autodesk Entertainment Creation Suite Laurent M. Abecassis, President of Di-O-Matic, Inc.
 Introduction  Devices  Technology – Hardware & Software  Architecture  Applications.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Copyright© 2009 Intel Corporation. All rights reserved. #Other names and brands may be claimed as the property of others. 1 NAGFO Game Developer Webinar.
© 2012 Autodesk CP Autodesk® 3ds Max®.NET API Introduction and Techniques Kevin Vandecar Principal Developer Consulting Engineer – M&E Autodesk Developer.
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
CP The 30,000-Foot View of Autodesk® 3ds Max® Customization and Plug-in Development Kevin Vandecar Principal Developer Consulting Engineer – M&E.
DEV317 Integrating Extensible Business Graphics into Enterprise Applications using Visio 2003 Mai-lan Tomsen Bukovec Program Manager.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
SOFTWARE.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
Operating Systems AOIT Principles of Information Technology.
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
CMPF124 Personal Productivity with Information Technology Chapter 1 – Part 3 Introduction To Windows Operating Systems Windows Accessories Introduction.
ICONICS ActiveX ToolWorX V 6.1.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
CHAPTER TEN AUTHORING.
1 AutoCAD Electrical 2008 What’s New Name Company AutoCAD Electrical 2008 What’s New AMS CAD Solutions
Developing ASP.NET AJAX Controls with Silverlight Barry Gervin Microsoft Regional Director John Bristowe Developer Advisor, Microsoft.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
Room and Area Revit® Architecture C H A P T E R OBJECTIVES Understand and create Rooms and Room Volumes. Understand and create Gross Building and.
CMPF124 Basic Skills For Knowledge Workers Chapter 1 – Part 3 Introduction To Windows Operating Systems Windows Accessories Introduction To Windows Operating.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Autodesk Inventor 2009 Essentials Plus Instructor’s Name.
CMPF124 Personal Productivity with Information Technology Chapter 2 – Part 3 Introduction To Windows Operating Systems Windows Accessories CMPF 112 : COMPUTING.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
Autodesk Inventor 2011 Essentials Plus Instructor’s Name.
CMPF124 Personal Productivity with Information Technology Chapter 1 – Part 3 Introduction To Windows Operating Systems Windows Accessories Introduction.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
A Brief Introduction to Flash Software Websmartz introduced its Flash software with the sole motif to facilitate the educated gentry, who may not be necessarily.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
Introducing the Windows Mobile development
Autodesk Inventor 2008 Essentials Plus
Games Development Practices 3D Modelling
Chapter 1 – Introduction to Computers, the Internet, and the Web
ASP.NET MVC Introduction
Developing Drivers in Visual Studio
CIS16 Application Development – Programming with Visual Basic
Game Engines Non-game specific technology Game: Engine
Games Development 2 Tools Programming
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

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 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 glutton for punishment to edit , but for simple tweaks could might be easier…

Customize User Interface Demonstration Customize UI… Keyboard accelerator keys Toolbars… Quick Access Toolbar Quads Menus Colors Customize Ribbon… - Tip: Make sure to restart Max when wanting to override theme colors and settings. Tip: The app frame can only be change to light or dark and there is not much else you can change about it,; especially when maximized (while not maximized the windows settings can affect parts of it). Tip: Remember to SAVE the UI schemes otherwise you might loose the work you do while customizing. Once you save, then you can also redistribute them to other team members. Tip: You can save the keyboard shortcut map to a text file that makes it easier to see what the default/current settings are and where you might be able to add new ones where ones are missing. Tip: If you somehow cause a problem in the file set, you can delete all, and Max will recreate them. A simple syntax error in the file will cause Max to crash or not start properly. Tip: There is a command-line option to start with specific UI configurations in place.

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 Text based storage MAXScript is built-in Listener and Editor windows Visual MAXScript Plug-in Text based storage Auto-Loading and Running capabilities

MAXScript Demonstration MAXJack (included with 3ds Max distribution) Create/Add Materials/Add Animation/Add Modifier/Render Additional abilities File I/O, Callbacks (including persistent/embedded)

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 Tip: Subscription customers note there is a separate file that contains the samples and extra files. Among other things, there are a bunch of MAXScripts Autodesk_3ds_Max_2011_&_Autodesk_3ds_Max_Design_2011_English_Win_Samples_Files.exe

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 ManagedServices: The (limited) amount of native SDK exposure that we directly expose to .NET is through this assembly. We expose some basic application-level services around UI, system paths, colors, etc. We do not offer much exposure with regards to scene entities. MaxCustomControls: This assembly exposes some useful base classes from which user controls and windows can be derived to inherit some basic Max-like functionality. We also expose the main Action Item interfaces in this DLL. This DLL also contains some core Scene Explorer-related UI classes. The UI classes in this DLL are Windows Forms-based. WPFCustomControls: Not currently officially part of the SDK, it can still be referenced directly in the installed version of the product and contains similar functionality to MaxCustomControls, but with a heavy WPF emphasis. CSharpUtilities: A collection of useful classes and patterns that are actually Max-agnostic. You could load this DLL into another application without needing to load Max itself, since it is an independent entity. ExplorerFramework: Exposes a system for designing arbitrary explorers that behave like the Scene Explorer does in Max, though the same pattern could be applied to any arbitrary hierarchy of nodes

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 C# example for UI elements C++/CLI example TIP: When using the Vs2010 project format, you must change the framework from default to the v3.5 (or lower). To do this, edit the vcxproj file in a text editor, find the <PropertyGroup Label="Globals"> node, and either change or insert the <TargetFrameworkVersion. Like this to use framework 3.5: <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>. Max is not compatible with framework v4.0.

MAX .NET API Resources: MAX SDK documentation ADN DevTech Tip: Subscription customers note there is a separate file that contains the samples and extra files. Among other things, there are a bunch of MAXScripts Autodesk_3ds_Max_2011_&_Autodesk_3ds_Max_Design_2011_English_Win_Samples_Files.exe

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 Maintenance for example… if hiring a contractor to write the plugin, you need to consider support when newer versions of Max come along and you need to recompile and possibly port the plugin.

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 Auto-loading and Delay loading supported Commercial/Resale should develop installation routines Internal use could be deployed manually if desired

3ds Max Plug-in Architecture

MAX SDK Demonstrations Plug-ins that ship with the SDK Object plug-in Modifier plug-in TIP: Always rename the “shipping” version of the plugin that you are monkeying with. This way if you screw it up in code, you can always get your base binary back.

MAX SDK Resources: Maxsdk.chm included with MAX SDK Web resources (see end) ADN DevTech ADN is probably even better value here. This is where we provide the bulk of support. Renderers, Shaders, Materials, etc. we provide support for!

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 ADN M&E DevTech Global Support Team Kristine Middlemiss - Toronto, Canada Kevin Vandecar – Manchester, NH US Cyrille Fauvel – Brest, France Manager ADN M&E DevTech Akira Kudo - Tokyo, Japan Santosh Kumar – Bangalore, India

Q + A