Plugin for Animating Visibility

The question of animating visibilty e.g. to make a piece of clothing disappear at a certain frame seems to come up a lot.  A number of workaraounds have been suggested but these did not suit me.  

I actually wrote a plugin to add (via an item on the Edit menu) an animated property AnimateVisibility to a selected node and to trigger at each frame change: it sets the (non-animated) value of Visible based on the (animated) value of AnimateVisibility for the now-current frame.  It works fine and I was thinking about releasing it somehow but lamenting a shortcoming (I have to move to the next or prior frame and back to see the effect whenever I change the value) and suspected there might be an easier way.  I found that a very simple script can make a node's Visible property animate... but the change does not persist to the saved file (probably this was a re-learning of something I found years ago...).  Anyway, I finally went ahead and connected the value changed signal so the effect is immediate.

I use it mostly to make items disappear (as in the simple example images) at the given frame so that render a sequence of frames works as intended, unattended and without a break for manual intervention.  I suppose it could also be used to make things blink, to change colors by hiding one instance of a prop and revealing one with the new color, ....

If there is enough interest I could make this plugin available probably by publishing it on Github with an "install" amounting to downloading the dll (I'm only building it for Windows 64-bit) and copying it to your plugins directory.

I'll look for interest posted as replies here...

 

 

 

aniVis01.png
474 x 572 - 59K
aniVis02.png
950 x 269 - 59K
aniVis03.png
860 x 1065 - 263K
aniVis04.png
886 x 1088 - 250K
aniVis05.png
921 x 598 - 97K

Comments

  • FirePro9FirePro9 Posts: 456

    Yes, very interested.  I think this would be useful for many cool effects.  When a figure throws an object/prop it can be used to hide the prop that is parented to the figure's hand and unhide the thrown object.  Thanks for asking! 

  • TooncesToonces Posts: 919

    Interested!

  • spacecat56spacecat56 Posts: 54

    OK, I've made the AniVis plugin available on Github at https://github.com/spacecat56/AniVis

    The source code is there for the cautious, adventurous, or non-Win64 user.

    To get the zip with the executable (dll) start with the "release" link a couple inches down the page around the center.

    Of course, this is "Provided in the hope it may be useful but with NO WARRANTY OF ANY KIND".

    PS.  Nice idea, throwing an object... to "up the ante" I'd suggest a character could throw (a copy of) her own head... 

  • RuphussRuphuss Posts: 2,631

    interest

     

  • hphoenixhphoenix Posts: 1,335

    I believe the 'black hole' SDK sample plugin includes information on how to get the element to persist into the saved .duf data.  You might want to look through it.

     

  • artd3Dartd3D Posts: 165

    Very interesting but I did not find the dll file in the download.

  • spacecat56spacecat56 Posts: 54
    artd3D said:

    Very interesting but I did not find the dll file in the download.

    Well, I just checked and it is there.  Github can be a bit confusing if you are not familiar with it; or is it that I did not spell out the file name?  Perhaps these images will help.

    aniVisD01.png
    1596 x 751 - 90K
    aniVisD02.png
    1660 x 1084 - 98K
    aniVisD03.png
    654 x 261 - 12K
  • spacecat56spacecat56 Posts: 54

     

    hphoenix said:

    I believe the 'black hole' SDK sample plugin includes information on how to get the element to persist into the saved .duf data.  You might want to look through it.

     

     

    No need, the AniVis plugin does not have that problem.  The property added by the AniVis plugin persists into the project file along with the keys on the property.

    Sorry if my rambling intro was unclear.  What did not work was a simple scripted change to tell the existing Visible property to animate. That change, along with any animation keys you create using that approach, does not persist.  And the fact that it does not is the reason I am using a plugin a not a script. 

     

     

  • artd3Dartd3D Posts: 165

    Got it thank you, did not go to the one release folder.

     

  • FirePro9FirePro9 Posts: 456

    Got it too, thanks for sharing this spacecat56!

    BTW, this could also be very useful for rendering each figure and/or object in a scene separately so that you can composite them as layers and have much greater flexibility and control over the final image without having to rerender.  Just render out a series of image files, hiding what you want in each frame.....NICE! 

  • RuphussRuphuss Posts: 2,631

    i pasted it to the plugins folder

    where do i find it in daz studio ?

  • FirePro9FirePro9 Posts: 456
    Ruphuss said:

    i pasted it to the plugins folder

    where do i find it in daz studio ?

    After you verified that it is in the HELP | About Installed Plugins, then you go to EDIT Menu | Add AniVis Property, then a new setting is added to the figure/object you applied it to called AnimateVisibility listed in your Parameters Tab, click it on and off along your time line and you get MAGIC (i.e. you can make things disappear)!

  • spacecat56spacecat56 Posts: 54
    FirePro9 said:
    Ruphuss said:

    i pasted it to the plugins folder

    where do i find it in daz studio ?

    After you verified that it is in the HELP | About Installed Plugins, then you go to EDIT Menu | Add AniVis Property, then a new setting is added to the figure/object you applied it to called AnimateVisibility listed in your Parameters Tab, click it on and off along your time line and you get MAGIC (i.e. you can make things disappear)!

    FirePro9, that's right and thanks for pitching in!

    Also, I would point out that the updated readme, which displays on the body of the github page reached by the link above, has a section on usage.

Sign In or Register to comment.