[Closed] Plugin development – Where to start?
Hi,
I need to develop a plugin for 3ds max that creates geometry. I鈥檓 an experienced .NET developer and max user, and I already wrote some MaxScript 鈥減lugins鈥?for creating geometry and such.
As I understand the MaxScript and SDK documentation, I have different options:
- Learn C++ and write unmanged plugins using the SDK
- Write scripts that use the .NET abilities of MaxScript as described in this article: http://www.gamasutra.com/view/feature/3780/integrating_maxscript_and_net_.php
- Use a Max.NET wrapper by Ephere: http://ephere.com/autodesk/max/
What would by the best way to start creating my own fast and stable plugin. Does anyone has already developed a plugin with a .NET language such as C#?
Thanks,
Christian
To develop a plugin with c# is not a good idea. You can use any features of .NET in your code but main part of a plugin should be on c++ or maxscript. If your geometry plugin creates high poly geometry or creates a lot of objects in sequence – it must be written on c++.
If you want to do something simple, and it doesn鈥檛 need a lot of memory – you can use MXS.
I wrote about 20 geometry plugins, and in my case only 4 are c++, and all other are MXS.
I use Max script plugins all the time but they are simple. I have noticed that load times are a little higher but mine are all fairly simple geometry for control objects. they work well and have been used in many productions.
Hi,
I really need a decent performance, so maxscript is not an option in this case
How did you do that? I read that it鈥檚 only possible to create .NET controls instantiated by MaxScript, but not plugins. Or did you use Max.NET?
Christian
Since you already are used to dotNet, I think the ephere wrapper would be the fastest way out for you鈥?/p>
for performance go C++, see sceneexplorer for .NET performance鈥?/p>
last i heard about .NET wraper was that it doesn鈥檛 support param-blocks, might have changed, dunno鈥?/p>
why using .NET controls ?
whats so uber-good with them ?
write your own controls, they work and behave as you need/want
i never ever used .NET, don鈥檛 understand the hype about it鈥?(exept for mxs)
might be ok for business apps, but not for 3d-packages where speed is everything
i write my plugins outside max
a) faster tests, did you ever start max2010 247 times a day ?
b) i can debug without max interfearing (like complete system stop)
c) i can use the code elsewhere, Maya/XSI/Linux/Mac
imho鈥?the addition of .NET to max wasn鈥檛 such a good idea
again, ok for mxs, but please not in the core package
and its one of the reasons why we never will get a linux/mac max
i don鈥檛 want to start a .NET vs. non-.NET war here, its just my opinion
guruware
Thank you, guruware. I think it鈥檚 not about flame war here
Personally, I like developing with C# very much, the performance is great and software development was never easier! I also wrote 3d software with DirectX.
I would be delighted if Autodesk provides a REAL .NET interface or at least a complete .NET wrapper for the SDK, but I don鈥檛 know if this will ever happen.
Anyway, I will give Max.NET a try, so I don鈥檛 need to start c++ coding. Maybe I can port my plugins once Autodesk decides to provide a decent .NET SDK鈥?/p>
Christian
there are only two ways to make a geometry plugin for max – using c++ and max SDK, and using MAX Script. I don鈥檛 know way how to make max plugin using c#.
if you need performance go with c++
PS. .NET is very helpful with coding on max script.
hi, i want to know how you doing? 鈥淲rite plugins outside max鈥?br>
Thanks very much.
not realy that much simple
i made a small program with basic max-like functionality
a 3d viewport, rollouts, node, mesh, spline, point3, etc classes
which use the same members as you find in max
eq.
this way i can make procedural objects more easy (and faster)
then when ready, do the max-integration
everything which is too much max-specific i cant do like this
guruware