I pored over the docs again looking for things that might help and experimented some more for a while. Eventually I found that having both the weapon and biped rig be refmodels allows the constraint binding to occur correctly on scene reload. Something about the constraint target being a local model seems to mess it up, from what I can tell. The manual doesn't point out any issues with refmodels constained to local models, which seems like a reasonable thing to do, but it does say "The easiest way is to export the two models before you apply any constraints, envelopes, or other deformations between them. Import both referenced models into a scene and then apply the operators. In this way, the connections are stored in the delta and are reconnected properly whenever you load the scene.". I tried that, and it worked.
From: Eric Cosky [mailto:e...@cosky.com] Sent: Thursday, September 19, 2013 9:58 PM To: 'softimage@listproc.autodesk.com' Subject: RE: 2014 Hi Raffaele, I appreciate your response and since you are saying they work I will take that at face value and I apologize for jumping the gun by saying they are broken. That being said, there are clearly usability issues that make them hard to use effectively and this has left a lot of people thinking they are broken (it wasn't that long ago they were implicated in crashes on a regular basis, too). I'm not about to advocate dumbing down the ref model system; I'd much rather learn the tricks and make it work for me. Unfortunately the docs don't explain much about how to work through problems when ref models don't work as expected. We really don't have many clues to work with when things don't work as we think it should - things just stop working as previously configured without any indication beyond the visual results which can easy to overlook. If I could make one suggestion, some error messages when a scene is loaded and deltas can't be applied for some reason would be really helpful. Here's a practical example of what I'm trying to do, it seems pretty simple and maybe there is a simple explanation of what I did wrong and how to correct it that would make the process more clear. I have a scene two top level models: a local model of a weapon (a rifle), and a referenced model of a biped rig. The biped rig has one nested model inside of it which contains the mesh of the game character and the null hierarchy it is enveloped to. In the biped rig scene that creates the biped rig EMDL, the mesh model deformers are constrained to the biped rig. Back to the weapon scene: the weapon model was created first, and then the biped rig (and in turn it's nested mesh model for the character) was imported as a referenced model. I then constrained the hands of the biped rig to the weapon so that moving the weapon around would cause the biped rig to track it. Looks good so far, saved it, loaded it and tried moving the weapon around. The constraints were no longer active. They are visible in the delta, but not doing anything. Any idea what might make those hand constraints work in this scenario? This seems pretty straightforward, but it's not working and I have no idea why. It seems like the order of model creation is correct, assuming that's relevant here for dependencies which I'm not sure is the case here. One thing I want to point out is I expect that the use of nested models here is a non-issue; I don't actually manipulate the mesh model at all here, I'm only adding constraints and position deltas to the biped rig at the topmost level. The mesh is basically a passive preview of the game character, not being directly manipulated at all although it does have a StoredPositions delta due to the hands of the biped rig moving onto the weapon. Despite having used Softimage for several years now (mostly on the technical/api/custom exporter side of things) I always feel like I have a lot to learn and I appreciate any suggestions you might have. I wouldn't be surprised if I completely overlooked something dumb, but I reproduced the same exact steps except one which was to convert the biped rig to a local model and that scene loaded with the constraints intact and active. Thanks for any insights, Eric From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Raffaele Fragapane Sent: Thursday, September 19, 2013 8:45 PM To: softimage@listproc.autodesk.com Subject: Re: 2014 They aren't broken, referencing references is a million miles away from a trivial problem. The key to it is order of execution, which is neigh impossible to guarantee without responsabilizing users well beyond what your average seat warmer can deal with from a technical stand point. The way Soft deals with name spaces and hierarchies and referencing within models when you have nested models you assume an order of operations that is simply not guaranteed. So it's perfectly possible, in example, that a model depending on its father receives a namespace and before the parent does. When you factor in deltas and cross dependencies the problem becomes even worse. It's simply an incredibly hard problem to solve generically in the context of a pipeline (end user's) which the provider client (Soft) can't have any notion of. We and others spend untold amount of hours to develop tools and procedures to allow cross model connections, and they are a brittle, nasty thing to deal with, and it only works because we're extremely well serviced on the asset dynamicism and management side of the pipe, and everything users do that establishes those cross namespace connections is managed by wrappers that also take care of establishing order of stashes and stacking within the stash. Offering the same thing arbitrarily in a DCC client would be exceedingly hard, or would greatly restrict what you could do with those namespaces and referencing. This isn't to say ref models are perfect, but refs of refs is one of those things people take for granted is just buggy when it's actually an exceedingly hard problem to work out generically if you want the app to remain friendly to all levels of technical competence. On Fri, Sep 20, 2013 at 1:03 PM, Eric Cosky <e...@cosky.com> wrote: Matt, it looks like you are right, as usual. The delta positions and constraints are silently failing to be applied on scene load. The deltas are there, just not being applied. Using the "Models to reconnect to" has no apparent effect. Re-adding the constraints just adds another entry in the delta which is ignored just like the first one when the scene is loaded. At least it doesn't crash which is what I think it used to do.. looks like I'm back to embedding models though, at least on the animation authoring scenes. So that's a slight improvement. I am really surprised something as potentially useful as referenced models remain so broken after so many years. Is there some trick to making it work? External deltas perhaps? I'm going to give up again on these unless I hear of something that might work. Out of curiosity, does max or maya have truly functioning refmodels? Or any app?
-------------------------- To unsubscribe: mail softimage-requ...@listproc.autodesk.com with subject "unsubscribe" and reply to the confirmation email.