160 likes | 433 Views
Image courtesy of Hobart, Yañez , Ramos, Maguey, and Martínez. Introduction to Creating Autodesk® 3ds Max® Plug-Ins with Microsoft® .NET. David Cunningham Software Developer – Autodesk 3ds Max. About the Presenter. David Cunningham Software Developer for Autodesk 3ds Max
E N D
Image courtesy of Hobart, Yañez, Ramos, Maguey, and Martínez Introduction to Creating Autodesk® 3ds Max® Plug-Ins with Microsoft® .NET David Cunningham Software Developer – Autodesk 3ds Max
About the Presenter • David Cunningham • Software Developer for Autodesk 3ds Max • UI Lead for Max • ~ 8 years on the team • Expertise – UI-related features, application infrastructure • Based on Montreal, Canada
Overview • The Whats, Whys, and Whensof .NET in 3ds Max • Walkthrough of your first .NET Plug-in for 3ds Max • EPHERE and MaxSharp – ADN releases • RenderTwit example
But First… Follow: @RenderAccount
What is the Autodesk 3ds Max .NET API? • Application Hooks • Action Items • Dockable .NET UI components • Explorer Framework • Can create an explorer (like Scene Explorer) that browses any arbitrary node hierarchy • Scene Manipulations (for ADN Members) • Experimental Libraries • EPHERE Max.NET – low-level native SDK wrapper • MaxSharp – higher-level “.NET-style” wrapper for EPHERE • .NET opens the door IronPython
Why use the .NET Max API? Because It’s Easy
LINQ in C# public void Linq41() { string[] words = { "blueberry", "chimpanzee", "abacus", "banana", "apple", "cheese" }; varwordGroups = fromw in words groupw by w[0] into g selectnew { FirstLetter = g.Key, Words = g }; foreach(varg in wordGroups) { Console.WriteLine("Words that start with the letter '{0}':", g.FirstLetter); foreach(var w in g.Words) { Console.WriteLine(w); } } } Result Words that start with the letter 'b':blueberrybananaWords that start with the letter 'c':chimpanzeecheeseWords that start with the letter 'a':abacusapple
When is it appropriate to use .NET? • Best suited towards Utilities or GUPs • Need to Bind to another Service (Web) • Build a sophisticated View on Max Data • Build some other sophisticated UI
Where are we? • The Whats, Whys, and Whens of .NET in 3ds Max • Walkthrough of your first .NET Plug-in for 3ds Max • EPHERE and MaxSharp – ADN releases • RenderTwit example
Where are we? • The Whats, Whys, and Whens of .NET in 3ds Max • Walkthrough of your first .NET Plug-in for 3ds Max • EPHERE and MaxSharp – ADN releases • RenderTwit example
Low and High-level Wrappers • EPHERE – Max.NET • Low-level direct wrapper of Max C++ SDK for .NET • MaxSharp • Experimental high-level interface – more .NET-like • IronPython support
Where are we? • The Whats, Whys, and Whens of .NET in 3ds Max • Walkthrough of your first .NET Plug-in for 3ds Max • EPHERE and MaxSharp – ADN releases • RenderTwit example
Two Useful Scenarios • Local Production • Micro-publication tool • Via a TwitPic extension