Add more than 100 morph channels? Or disconnect spinners?

Hi guys,

There are plugins that I know of that extend the Morpher modifier by Lumonix and
Di O Matic, but I can't see the source code for either.

I've already looked through the MAXScript help files on everything related to the Morpher and there's nothing in there that gives you access to channel construction.

I want to know why the Morpher modifier is limited to only 100 channels and if anybody knows how to extend it to add more.

AND/OR...

I'd like to know if it's possible to permanently set the value of a morph channel, to 100 for example, and then disconnect the spinner from the channel allowing it to drive another value.

Thanks for any hints or tips. I just need to get pointed in the right direction.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Christopher Grant's picture

Plugins are written MS Visual

Plugins are written MS Visual C++ and are able to interact with 3ds Max at an incredibly low level. Scripts on the other hand are comparatively quick to write, have a more natural (for non-programmers) language but are limited to how they can interact with 3ds Max. Scripts depend on 3ds Max plugins to expose functionality to them.

In the case of the morpher modifier - a third party morphing plugin is a totally different morpher. They're not building on top of the Max morpher but rather have built a new morpher from scratch using their own code.

pacermike's picture

Yeah, I thought I was getting

Yeah, I thought I was getting pretty good at MAXScript so I got Visual Studio and opened up some of the modifier code from the SDK. Woah, WAY beyond me. The only thing I could understand were the programmer's notes. Haha. Looks like I'll stick with scripting :)

Christopher Grant's picture

Sorry Mike but the 100

Sorry Mike but the 100 channel limit is hard coded into the plugin itself - it's not something that can be affected via MAXScript. Like you mentioned - there are alternative commercial morphing plugins that will do what you want.

In regards to your last question (disconnecting the spinner from the channel) - there's no way to make that work. Once you disconnect a node from the morph channel it removes it's influence. The only thing I can think of would be to have multiple morph modifiers but that just seems like an unpredictable mess to me.

I don't think there is a good, clean way to do this without a 3rd party mopher plugin.

pacermike's picture

Poop! I was afraid of that,

Poop! I was afraid of that, but thanks for the answer.

Multiple morphers IS completely messy. I tried using an object with morphers on it (obj2) as a morph target for a base object with a morpher (obj1). So I plugged obj2 in to obj1's number one morph channel, then tried to drive the morph target values on obj2 with obj1's spinner. Well, as the values are ramping up on both obj1 and obj2 at the same time the result on obj1 does not match the result of obj2 because obj1 will always just be a percentage of obj2's current shape, which is changing thanks to obj1's spinner. Super confusing.

Anyway, I'll just accept the limitation and keep it under 100 channels :)

Out of curiosity, how did the third party guys do it? Scripted plugins or do they write it outside of Max and compile it, like C++ or something?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.