Summary

Title:Scene corrupted when saving with a Maya without a plugin installed
Category:Crash/Critical
Status:Open
Posted By:OuOTIME ( Pere Clos Muntsant )
Date Created:22 July 2020

Problem

Description:

Hello!

We've recently purchased Ornatrix for Maya and we are running into a problem.

I’m having an issue getting when a Ornatrix scenes is opened and saved from a Maya with the plugin not installed and reopened it again in a Maya with the plugin a. Seems as some conections were lost.

As you can see in the attached images . In the left side we have the hair generated in Maya with Ornatrix and in the right side we have this scene saved from a diferent Maya with not plugin installed and reopened again in Maya with the plugin installed.

We are using Autodesk Maya 2019.3 with Ornatrix 3.0.724548

 

Steps to Reproduce:
 

Attached Files:
Image 1

Hi,

I would expect that the Ornatrix nodes will not load if you open the scene without the plugin installed. I will investigate the consequences of this but I think a corrupted hair object is expected. I will get back to you soon. 

 

EDIT: You are rigth, the node connections should be preserved but is not in this case. We are investigating. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Hi Jeornanis,

Thanks for your answer.

So my question is.

If my final character rigged which has hair applied has to be send to an animator to make a shot, would the animator have to buy the license just to be able to animate without corrupting Ornatrix?
It seems a little strange to me. I understand that the person without the plugin couldn't see or manipulate the hair, but the Ornatrix nodes and their values should remain on the scene without being corrupted or deleted.
In fact in my screenshot you can see has hair appears different, changed, but it's there. That means that Maya does save the Ornatrix nodes but it saves them badly .

Thanks

Hello,

We determined that this type of functionality should be handled by Maya itself. If the plugin is not installed there is no way for Ornatrix to keep the connections, since it is not present in Maya. 

Your animators and riggers can work with a demo or unlicensed version of Ornatrix. Changes made to the hair system will not be saved but the rest of the scene will be saved. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Jeordanis I have had lost data recently also. This with the demo installed. Can i ask should ornatrix scenes being used on animator boxes with the demo installed be saved as ASCI instead of Binary ?

Hi,

The demo will not allow you to save the changes made to the hair. Or are you saying that the hair gets corrupted when you save with the demo installed? 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

That's Jeordanis,  Simply opening the scene and saving it again without any changes corrupts the ornatrix data.

I can reproduce the issue, though maybe not exactly the same. If I save the scene with Ornatrix in demo mode and reload the scene, the hair strands will be straight, the Edit Guides combing will be reset. Is this what is happening on your side? Anyway, we will investigate this and fix it as soon as possible. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

That is exactly one of the problems we have.

Thank you!

Hello,

We determined that this is working as intended. To avoid this, it is better to work on the groom using Maya's reference system. In your rig or animation file you can reference the scene that contains the groom. This way saving the rig or animation scenes will not affect the reference. 

This is a matter of architecture. The demo version and the commercial version are the different installers. So even if the demo is installed it doesn't load the necesary code that allows Edit Guides to store its changes. In this case you can say that Ornatrix is not loaded, and if the plugin is not loaded there is no away to store the data. The same applies to Max. For now the reference workflow should work fine. 

Jeordanis Figuereo (Product Designer. EPHERE Inc.)

Hello,

In fact we works with references, but when some artist of other department like modeling, rig, textures has to modify the original file, what is then the solution? Do buy Ornatrix licences for every department no ralated with groom?

In the majority of plugins the information is stored in the scene even without having a plugin installed or licenced. For example you can open a scene maked with Arnold, Redshift, Yeti, etc in machines with no plugin installed, save it and the nodes remain inside scene until it is opened again with a machine with the plugin installed. The information is never deleted or modified.

 

We don't want modify Groom with not licenced machines but at least we would like to be able to open it and save it without losing the work already done.

Best.

This scenario, saving a scene with a missing plugin, is generally pretty obscure in all software that supports 3rd party "plugins".

I have never seen any documentation mention anything about it, much less announce it as an official feature.

Still, it seems to be silently supported by Maya and 3ds Max (don't know about others). But "silent" and "unofficial" often means that it's not guaranteed to work.

In general, support for this feature isn't in the hands of the plugin author, because, well, when the scene is saved the plugin code is completely missing. It is up to the host system to preserve all plugin data that was loaded in absence of the plugin.

The only control the plugin author has in this situation is simply to follow the guidelines of the host SDK about saving data into the scene.

That's what Ornatrix does on all hosts, 3ds Max, Maya and C4D. In 3ds Max this scenario works at 100% (can't speak about C4D, I think we haven't tested it explicitly, but we also haven't had any complaints about it so far).

In the case of Maya, we keep all Ornatrix data using the official ways, in attributes of built-in types and of our MPxData-derived types that support serialization to both ASCII and binary scenes.

And saving without Ornatrix seems to work, however, we had a report recently that ramps were not preserved. More investigation showed that any "compound" attributes get broken when saved with a missing plugin, for some reason Maya saves just the first child attribute of the compound. Maya's own Ramp attribute is implemented as an array of compound attributes, so all of our ramp attributes get broken when saved without the plugin. We also keep a couple other attributes as compounds, partings in HairFromGuides and slopeRampOverrideData in SurfaceComb. So these two will also break on "save without Ox".

I can see two ways to approach this problem in Maya. First, complain to Autodesk about it. You say that the "majority" of other plugins support this feature, have you noticed any that don't, besides Ornatrix? I expect that any plugin using compound attributes will be one of them. So if you want, you may report the problem to Autodesk yourself. We may do it too on our side.

The other way is to work around the problem, which means to change all compound attributes in Ornatrix to something else. But this would be a lot of work and trouble (complicating the code to load the obsolete compound attribtutes and converting them to their new types) that we would very much prefer to avoid.

You also mention that you've experienced broken connections when loading such scenes. I haven't noticed this in my tests, so if you have a 100% reproducible example scene, please send it to us. But again, if there is a problem with connections too, I don't see what we could do about it, given that Ornatrix can't be responsible in any way for maintaining the connections when not being loaded at all.

 

Ivan Kolev (Software Developer, EPHERE Inc.)

E-mail: ivan.kolev at ephere dot com

Discord: ikolev