Make resume button (for MHX, def rig, and Rigi fy related with version change)

Issue #1121 closed
engetudouiti created an issue

I understand, full support for all version should be difficult.

but we may hope, if we can correct or version up old scene, which had failed soomething, when we change daz importer, or MHX rts version, it can resume it. if you offer it (ane make it stable), more user can test beta easy, but if not, we may avoid to test them with complex case.

why I test new thing (new version) with old saved scene, it already import most of necessary morphs, so I can test new improvement, with real working case.. but recently you add/correct/change many things. even though each change is small one, actually they need to be corrected, or enhanced.

At same time, we have already complex morph system. (It is not bad, because it actually work already) then I may recommend, add new function. which resume. I may hope to add at least 2 function which can resume these things.

  1. Serch drv bone, and check what transform value are currently driven, then check pair deform bone constrain, and clean up + re-generate it if need correctly

  2. For MHX, check propertys and driver, (which you recently change property as Armature object for library things, ) constrain, bone relation, then correctly resume all MHX propertys (aka MHX options) for old MHX rig.

========================

about both case, I do not think, it is so difficult.

because, the most complex thing about Morph sysmte is how set driver and propertys. you already done, and you keep up-date it, that means, so when import moprhs most of morph can set prop and driver correctly. you failed only about constrain. You tried to make it work with already offered button = aka Make all bone posable.

So it not work to resume … lets make resume function… at least check current drv and correct deform bone constrain. = we no need to use finalize mesh… “Resume constrain” resume and finalize, but when ever user can use it. if there seems constrain issue after import morph.

About MHX I clear see, now you already offer “up-date MHX” (then user can use it as they need),

so you may just need to up-date it work for all option. at current I think it still miss up-date for a few options.

So it is request, but after all these up-date function may need often.. when you add/change/expand functions.

Comments (7)

  1. Thomas Larsson repo owner

    It is going to be difficult to check every version of mhx (let alone rigify, which isn’t my code to start with). I have an old mhx character from almost a year ago that I have done the tests on, but I don’t know exactly which version she is. Hm. I of course still have the 1.6.0 and 1.6.1 versions around, so I could generate mhx and rigify characters with them and see what happens when I update. But if you have some other version, or if your rig has been half-way updated already, there will be no guarantees.

    In my own workflow I save the character with the daz rig as a separate blender file, and then convert to mhx in a new file. In that way I can go back to the daz rig later and regenerate mhx or rigify. New morphs can also be loaded. The only problem is that I sometimes forget to change the file name and thus overwrite the daz rig file with the mhx rig. Watch out for that.

  2. Alessandro Padovani

    @Enge I believe in general we can’t pretend mhx to be fully back compatible in all cases. It’s better to save the mhx version with the project, or to save a daz version as Thomas does.

  3. engetudouiti reporter

    Can I talk only with Thomas about this issue? About this issue, I means, I do not say, we need to keep all compatiblity about all version, but at least, recent stable version >> to next stable version .

    then user need to up-date scene which saved with recent stable version.

    so to work the function stable, It is not so difficult I think.

    I do not know why Thomas can not up-date all props again about MHX.

    which you changed as Object RNA props. (though I do not know official blender words , but I think it is RNA props. then before they are not object)

    and you make new stretch work . but if you re-build constrain, what I said,

    at least you can make all constrain again for currently MHX offered and you modified. Once remove current constrain >> next re-generate constrain.

    So there is no versoin problem, from Recent stable version >>> each beta >> future stable version.

    One MHX up-date prop funcion can resume them.

    I say same things about custom morph problem which I reported, as I said,

    ther are already driver. you do not touch it. (only new thing is, now you correct, when user import general scale ERC which not describe for each scale component, but I do not say you need to up-date them)

    But I requested, use current driver, and once clean up- constrain for deform bone. which will be driven by pair drv bone >> next re-generate them.

    I do not say, if user self modified, it can work. but if check drv (which should have been added) for drv-bone, you can generate constrain as pair for deform bone.

    At same time if you check current constrain, which refer to drv bone, you can remove first >>>>> so there seems no version problem.

    If you just try to generte constrain, it may duplicate, or sometimes show un-expected effect, so up-date function may need to clean up first then re-generate them. it is my opinion about this issue.

    But as I always said, if Thomas think it is difficult, or it is un-stable, I think it is reasonable, (but I do not know why you can not remove and re-generate, about deform constrain, and MHX props constrain, I could do it)

  4. engetudouiti reporter
    1. About import moprh not add constrain for each drv transform I do like this.

    A I check all drv bone if it have transform drv. then when there is translation,

    find pair deform bone.. = because one drv bone should have one deform bone. which will be driven. so it is 1 to 1. (most of case)

    about exceptional bone, you can remove it.

    B. now you get deform bone. then check the deform bone constrain. then only when it have constrain which set target for drv bone, and it have transform type constrain, you remove all first. because it is what you may re-generate from current driver type.

    C. so now you have clean pair deform bone (which you remove old constrains only about related with these up-date which you modifed for my report) then use pair drv bone driver type. just add scale, rotation, translation driver only about drv bone driver currently used.

    Actualy it is what you changed from old stable version to recent version I think. So I adviced, current way (anyway add all driver, but it only work, one time) is not good function as up-date function. ^^:

    (if it is best , I do not deny it, but at least I think you can make it work better,without add new Finalize armature funciton (it actually not useful, because, untill finalize, your up-date function can not work it, sometimes correctly. (or there seems limitation..)

    2, about MHX new prop conversoin up-date function.

    about this up-date, I think you only need to correct it for this issue at current, I check most of props alrady, they seems work.

    https://bitbucket.org/Diffeomorphic/import_daz/issues/1119/mhx-long-fingers-visibility-driver-broken

    I think. because current up-date function already work . but only faile about the controll finger bone I think. then if new thing will be reported, you can make it work (only support, when MHX generated with old recent stable version)

    or do you really say, when user up-date next stable version, old generate scene may not work correctly? if so I think you may better not add up-datefunciton actually ^^; if you offer it, (and I hope so), you may better make it work best. even though after all there will be case which you can not correct with up-date function.

    Though I said for my self purpose.. but keep compatiblity for recent stable version is not special things. then if it can up-date beta versions which often changed, as possible, it is welcom.

    I do not say, you need to make update function, it work for all case., but I may say, you may make iup-date function more better, when there is solution. (so at least it can easy up-date problem) I think I only say about issue which have solution I think.

  5. engetudouiti reporter

    Then both case is actually (though you make it work carefully)

    there is solution.. because basically you just need to make up-date function, which check constrain, or rig hieralchy.

    At same time you already have function which generate those..

    (so you remove bug. or make it work better)

    What you need was,, do same thing, as up-date function. (of course you need not do all process, only about worng process which old version did,

    or your modfied pocess eg, how use bone connected, or parant, and constrain things…

    My mistake was,, I request you. to generate all constrain ,, but it is process to make up-date function…. I do not expect, you add new finalize function.

    and do not expect, the new up-date function only work when user import new morph, not work for already improted morph, even thogh all drv bone driver already have them. >> but so you can use those drv to remove old constraints, and generate new one correctly.

    if it need to edit drv ,, I give up already, but your function could generate most of them correctly. so I hope to use already improted breast bone morphs, or face morphs, which happend to not have constrain, for (rot or scale etc),, ^^;

    As I said I already add those 2 funcitons for my add on only. but it is usually only work for G3, (I do not need to use G8, for my purpose.. )

    but there seems no big difference about this issue. (though I do not remember, or test, if G8 had same issue about imported morph and constrain or not.. but about MHX it seems almost same.. if there was problem about G3, G8 show same problem.. when user up-date Daz importer >>> it need to use up-date function, for already saved scene.

    if user only need to care MHX version, it is not so big problem, user may keep old MHX. but to it work we need to keep daz importer too.

    (even though new version remove problems ^^;) it is pity.

    So I may request, and hope up-date funciton, which can up-date for most of case.. of course, after all I know I need to make new scene from scratch, when you will offer next stable version to use all new things.

  6. engetudouiti reporter

    (about morph up-date issue, I do not request it any more because there seems not other user who notcie those issue, so usually they still not see issue I suppose.

    but about MHX up-date funciton, I hope you do it best at least it can easy correct.. (there was already report about finger ctrl bone, so I close this one)

  7. Log in to comment