Results 1 to 14 of 14

Thread: New RIG file features not here yet.

  1. #1
    Registered User MarkAH's Avatar
    Join Date
    Feb 2008
    Location
    Green Valley, AZ
    Posts
    41

    New RIG file features not here yet.

    According to the docs, saving a RIG with it's motion modifiers is coming soon.
    Wonder when. Wish it was in 2019.
    I've tried using replace item with... in order to save all the tasks already completed in designing a rig when a model has been modified.
    But then the references in motion options are all lost. Even if the model has the same name.
    So it's neccesary to do the mods on the same model that's being rigged.
    Just save a backup in case the model gets messed up.
    Rigging is so tedious it would really be great to be able to save every aspect of it.
    At least 2019 supports all the legacy rigging tools.
    Wouldn't want to loose all my current toys for any kind of new features imaginable.
    Been working on this model in 2015. Getting the front suspension to work right took many hours.
    Fun, but I wouldn't want to have to do it again.

    Click image for larger version. 

Name:	E_Rail_Cameo1.jpg 
Views:	64 
Size:	118.8 KB 
ID:	144408

    Click image for larger version. 

Name:	E_Rail_SuspF1.jpg 
Views:	52 
Size:	74.4 KB 
ID:	144409

  2. #2
    Super Member Kryslin's Avatar
    Join Date
    Feb 2009
    Location
    Prescott, IA
    Posts
    1,436
    While you can get at target/pole, Same as Item Translation/Rotation/Scale, IK settings, and (i believe) expressions via scripting, some of the other motion modifiers (follower, Simple Constraints, Effectors, etc.) are actual plugins whose interfaces may not be accessible via scripting or the SDK. It's why RHiggit2 has to load things in from a file that has certain things already connected, like the simple position and orient constraints, which have no programmatic interface.

    A suggestion would be to replace the model with a null called "Replace with mesh", and save the rig as a scene. With a new model, load your old rig from that scene, and edit it as needed on the new model. At the very least, you connections are preserved.
    --------
    My Scripts for Lightwave
    Intel Core i7 960 @3.20 Ghz, 24 GB ram, EVGA 6GB GTX980Ti "Classified" driving 2 x HP LA2405.

  3. #3
    Goes bump in the night RebelHill's Avatar
    Join Date
    Nov 2003
    Location
    jersey
    Posts
    5,668
    Quote Originally Posted by MarkAH View Post
    But then the references in motion options are all lost. Even if the model has the same name.
    Shouldn't be, unless you mean in motion plugins and the like.

    Either way... I'm guessing that what you've done is to have separate modelled bits, which you are rigging directly. That's a mistake... use bones and weight (or parent) the mesh parts to them.
    LSR Surface and Rendering Tuts.
    RHiggit Rigging and Animation Tools
    RHA Animation Tutorials
    RHR Rigging Tutorials
    RHN Nodal Tutorials
    YT Vids Tuts for all

  4. #4
    Registered User MarkAH's Avatar
    Join Date
    Feb 2008
    Location
    Green Valley, AZ
    Posts
    41

    Rigging for action

    I haven't been using scripting to create or preserve the motions.
    Just putting expressions in the expression editor from the motion options panel.
    In there I'm using 'bracket' expressions to refer to the bones.
    Like sin(rad([E_Rail.LR_SwingArm.Rotation.P]) * 0.5125) for example to get the Z Scale
    value for the suspension spring.
    This works great. But, of course, if I make a mod on the E_Rail and use replace item
    the expressions are still there, but don't work.
    That's the mistake. If I just let the scene load the object that it has already referenced its all OK.

    Don't remember exactly why I tried that. I was trying avoid loosing the model prior to changes.

    It's all weight mapped, and anything I need to add to the control of some bone, I just add to that bone's weight map.
    No problem. There are just a lot of expressions with calculations needed to synchronise the upper and lower suspension arms,
    and the drive sections as well as the angles on the shock absorbers and length of the springs.

    The front wheels are steered by the steering wheel as well so it needs to be done with expressions.
    You can only have one bone referenced for Same as Item, and the front drive sections need to reference two.

    None of that can be saved with a RIG file so the current function of those files is insufficient.
    Susposed to be upgraded but hasn't been in 2019 so far. Disappointing.

    So what I do is just save my expressions on a notepad page and plug them back in when re-using the RIG.

    Next I will add steering linkage parts. It's going to have electric power steering.
    Bones will be added, weight maps will be added along with the geometry.
    Been through this all before.

    This Nuclear/Steam powered motorcycle was developed that way.
    You don't see them in these sample renders, but it has guns.
    A turret gun on the back, and barbette guns in the tank section.
    All rigged. Everything works.


    Click image for larger version. 

Name:	CH_NewSurfaces02.jpg 
Views:	25 
Size:	221.5 KB 
ID:	144410

  5. #5
    Goes bump in the night RebelHill's Avatar
    Join Date
    Nov 2003
    Location
    jersey
    Posts
    5,668
    In which case just add a null that all bones belong to, and use "use bones from" on the mesh... that way the parent object of the bones never needs to change.
    LSR Surface and Rendering Tuts.
    RHiggit Rigging and Animation Tools
    RHA Animation Tutorials
    RHR Rigging Tutorials
    RHN Nodal Tutorials
    YT Vids Tuts for all

  6. #6
    Registered User MarkAH's Avatar
    Join Date
    Feb 2008
    Location
    Green Valley, AZ
    Posts
    41
    Well, that sounded good so I gave it a try.
    Add the null, reparent the root of the bone heirarchy (Frame) to the null and clear the model.
    Change the name of the model in the expressions to the name of the null.
    Like [E-Rail.LFSuspUpper.Rotation.P] to [RailSubNull.LFSuspUpper.Rotation.P]
    Test the expression. Tests Good
    Load an alternative model and set 'use bones from' to RailSubNull.
    Alternative model has all the same weight maps.
    Everything is still there, unlike importing a RIG (which doesn't even save position and scale limits).
    But just like before (using Replace with) the expressions don't work.
    Test OK, just don't work. Weird...

    But all that is a senseless exercise.
    I should just do the right thing and use a Scene as a rigged model.
    Need the model other scenes, load from scene 'E-Rail_Rigged.lws'
    Never found another way that will fully work.

    The only major option I would want for this model is big fat beach tires.
    It has trail tires on it now. But that can be an endomorph.
    Only need to make the wheels wider and shuffle around the tread some so it's paddle like.
    Can do that with all the same points.

  7. #7
    Goes bump in the night RebelHill's Avatar
    Join Date
    Nov 2003
    Location
    jersey
    Posts
    5,668
    You're still replacing the actual bone parent though... dont. Just have the bones under a null that you never change, and you can replace the mesh(es) linked to the bones anywhich way you want.
    LSR Surface and Rendering Tuts.
    RHiggit Rigging and Animation Tools
    RHA Animation Tutorials
    RHR Rigging Tutorials
    RHN Nodal Tutorials
    YT Vids Tuts for all

  8. #8
    Registered User MarkAH's Avatar
    Join Date
    Feb 2008
    Location
    Green Valley, AZ
    Posts
    41
    That's just what I did. And just what I said.
    Leave the root of the rig parented to the model, clear the model from the scene, bye bye bones!
    Of course the rig has to be parented to the null. How else can it be 'under'. Place the null Y:1 m above the rig? Change the parent of 'Frame' to none?
    Then say 'Use bones from 'NONE' ?? That would work??
    LMAO
    So the null 'ERailSubNull' is a holder for the rig, and that works just fine, EXCEPT THAT the expressions some how fail. Anyway I've tried it.

  9. #9
    Goes bump in the night RebelHill's Avatar
    Join Date
    Nov 2003
    Location
    jersey
    Posts
    5,668
    Well then I have no idea what you're not getting, but if you dont replace the item referenced in the expression... it wont mess with the expression.
    LSR Surface and Rendering Tuts.
    RHiggit Rigging and Animation Tools
    RHA Animation Tutorials
    RHR Rigging Tutorials
    RHN Nodal Tutorials
    YT Vids Tuts for all

  10. #10
    Registered User MarkAH's Avatar
    Join Date
    Feb 2008
    Location
    Green Valley, AZ
    Posts
    41
    Well there you go. That's why the rig shouldn't be used with any other item.
    Be it a model or a null, when there are plug-ins used as motion modifiers.

    Haven't you noticed the warning Layout gives when you change the parent of the root node of the rig?

    If it were the very basic kind of character rig you are used to, exporting and importing a RIG file would do the trick.

    Anyway, it actually IS possible to save a rig with script.
    Everything needed is available in the SDK so it's surprising that someone hasn't made a plug-in.
    I think I might write a script if this comes up again.
    Probably build an XML file with all the rig info.
    Only I think the motion modifiers will have to be added manually.
    Don't see a command for adding those, but that's what is supposed to be coming soon.

  11. #11
    Goes bump in the night RebelHill's Avatar
    Join Date
    Nov 2003
    Location
    jersey
    Posts
    5,668
    Quote Originally Posted by MarkAH View Post
    it actually IS possible to save a rig with script... it's surprising that someone hasn't made a plug-in.
    Because there's no point... if you want a whole ready made rig with all expressions, motion modifiers and everything else... that's basically just a scene file.
    LSR Surface and Rendering Tuts.
    RHiggit Rigging and Animation Tools
    RHA Animation Tutorials
    RHR Rigging Tutorials
    RHN Nodal Tutorials
    YT Vids Tuts for all

  12. #12
    Electron wrangler jwiede's Avatar
    Join Date
    Aug 2007
    Location
    San Jose, CA
    Posts
    6,406
    Quote Originally Posted by RebelHill View Post
    Because there's no point... if you want a whole ready made rig with all expressions, motion modifiers and everything else... that's basically just a scene file.
    What if you need to bring in more than one?
    John W.
    LW2015.3UB/2018.0.7 on MacPro(12C/24T/10.13.6),32GB RAM, NV 980ti

  13. #13
    Goes bump in the night RebelHill's Avatar
    Join Date
    Nov 2003
    Location
    jersey
    Posts
    5,668
    Rename things.
    LSR Surface and Rendering Tuts.
    RHiggit Rigging and Animation Tools
    RHA Animation Tutorials
    RHR Rigging Tutorials
    RHN Nodal Tutorials
    YT Vids Tuts for all

  14. #14
    Registered User MarkAH's Avatar
    Join Date
    Feb 2008
    Location
    Green Valley, AZ
    Posts
    41
    Well, I've been playing with this more and think I have an idea what's happening.
    Could be the expressions get interpreted and saved that way.
    So they then have the ID's of the objects saved (instead of the names) and don't want to give that up, even if the expression is changed.
    This would be good for performance because the expression would not have to be reinterpreted every time the object moves, or every frame, or whatever.

    'Cause if I just remove the expressions, save the scene, then open it again and put in new expressions, at last they work.


    And kudos to the electron wrangler.
    Why? Here's an example:
    Take the Hydra motorcycle. Suppose I make another design with a different engine and no guns.
    Then all the geometry and weight maps for the guns is gone and those bones might not exist.
    Anyway if that's where I started, they wouldn't exist.
    Then I would have this nice XML file that only describes a rig without the weaponry.
    (BTW XML is ideal because it has a heirarchal structure just like rigs do. Plus there are lots of XML parsing functions available.)

    So, then I have other models with maybe different engines and now some guns so there are additional weight maps, geometry and more bones needed.
    I can then make more XML files that describe more bones and those can be added to these more complex models.

    No problem. It's OK to add bones to a rig any time you need them.

    And yet, once fully rigged and tested, a Scene file is the LW way of saving a rigged object.
    And that's what I do.

    What I wonder about is when you add many rigged objects by using 'Load from Scene' which, of course is what you have to do.
    Then because those objects were the only thing in each of the Scenes, they would have ID's unique to each Scene.
    So when they all appear in the same Scene, couldn't there be a conflict of ID's, and how does Layout resolve this?
    Are the expressions, once again, going to be broken?
    There's another thing I've got to test.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •