Plug-in structure.

 
 
 
Posted by:Pewi
Data created:29 November 2009

Hi!

I'm very curious on how the plug-in will be implemented. If I will get an error warning when opening a 3dsmax file on a machine with no Zookeeper installed. A 3dsmax file that initially was created on a machine with Zookeeper installed.

I asked this question to the NodeJoe-team and here's how they answered me.
http://www.nodejoe.net/forum/viewtopic.php?t=292

Thanks and looking forward to release date.

/Jonas

 

 

Jonas
www.cinemantica.com

 

 

Hi Jonas,

I'm very curious on how the plug-in will be implemented.

ZK uses a special hidden scene object called "ZKAnchor" that is created once you open up the UI to store all of its data. I see that NodeJoe uses a global trackview node. ZK is doing a similar thing but it uses a separate scene node instead of a global track.

If I will get an error warning when opening a 3dsmax file on a machine with no Zookeeper installed.

You will get one warning noting that ZK is used in the scene but not installed. It is harmless though and can be ignored. It is also very easy to remove it by deleting the "ZKAnchor" node either through selection dialog or maxscript listener (delete $ZKAnchor).

If you have ZK installed there's a 'Reset' option under main Zookeeper menu that clears all Zookeeper data from the scene as well.

Hope this is helpful.

Cheers,

Marsel

Marsel Khadiyev (Software Developer, EPHERE Inc.)

Hi again.

How about network rendering then?
If I have a scene (created with the help of ZK) that I want to render on a renderfarm that hasn't ZK installed. Will the warning interfer with the progress of the network render? Will the network nodes fail to start rendering?

This is a big issue for me since I'm a freelancer and I often use external network rendering power on tight deadlines.

Thank you,

Jonas

 

 

Jonas
www.cinemantica.com

 

 

Hi Jonas,

How about network rendering then?
If I have a scene (created with the help of ZK) that I want to render on a renderfarm that hasn't ZK installed. Will the warning interfer with the progress of the network render? Will the network nodes fail to start rendering?

Unfortunately the way Zookeeper works requires for it to keep references of scene objects and it needs to use proprietary code to do that. However, if its not too much trouble you can simply reset the ZK in scenes which you're sending off for network renders. That will prevent any warnings during startup and will not change the scene in any way other than remove ZK UI.

Also, there will be a demo version which can be installed for free and will load scenes with ZK just fine. If that is installed on render slaves resetting isn't needed.

I know this is a bit inconvenient but I haven't been able to find a way of suppressing the plugin dialogs. Perhaps I can ask ADSK for help there.

Marsel

Marsel Khadiyev (Software Developer, EPHERE Inc.)

That could easily be managed by a script that first saves the max-file incrementally and then removes the ZK-UI, saves the max-file with "_noZK.max" in the end of the file name. Then reloads the previously saved file that was saved before the removal of the ZK-UI. What do you think about that?

I'm curious about the solution NodeJoe has (without warnings of any kind). Is that a solution that could be implemented in future updates? Not that this issue will prevent me from being a ZooKeeper-user.

/Jonas

 

 

Jonas
www.cinemantica.com

 

 

That could easily be managed by a script that first saves the max-file incrementally and then removes the ZK-UI, saves the max-file with "_noZK.max" in the end of the file name. Then reloads the previously saved file that was saved before the removal of the ZK-UI. What do you think about that?

Sounds like an interesting solution. I'll consider adding that as an action.

I'm curious about the solution NodeJoe has (without warnings of any kind). Is that a solution that could be implemented in future updates? Not that this issue will prevent me from being a ZooKeeper-user.

The central reason for having a special ZKAnchor object is the ability to manage references. Objects in 3dsmax are automatically deleted once they aren't used by anything else in 3dsmax. That means, for example, that as soon as you remove a material for material editor and if its not assigned to any object in the scene 3dsmax will delete the memory used by that material.

ZKAnchor acts like, well, an anchor- it references these objects so that they won't be deleted by max if they're still in one of ZK's views. This allows, for example, for you to have a stray controller not assigned to anything be saved and reloaded next time. Furthermore, this also allows real-time preview of object updates and schematic object structure updates.

I don't know how NodeJoe guys implemented their solution (never had a chance to use it) but it has to deal with objects differently. The old SME that I did way before NodeJoe (which was supposed to end up being what NodeJoe is today) also used anchoring system similar to ZK (albeit much more primitive).

Hope this explains it a bit.

 

Marsel

P.S. There will be a new preview video out today or tomorrow demonstrating ZK's ability to manipulate stuff like custom attributes and manipulators.

Marsel Khadiyev (Software Developer, EPHERE Inc.)

Thanks for you prompt answer.
That sounds great. Looking forward to the new intruction video then.

/Jonas

 

 

Jonas
www.cinemantica.com