Extracting a single animation frame from a timeline to its own scene?

I have a tiny bit of a gigantic complicated problem. Let's see if I can explain it...

I have a timeline with 10 frames of animation, but it's not a linear animation; each frame has its own camera with local dimensions turned on and the figures in the scene have extremely different poses in each frame. It's more of a comic page jammed into a single timeline.

Turns out I have to save each of those frames into its own separate scene, however slight errors and oversights with tweening early on are now causing very unpredictable results with trying to simply delete all other frames but the one I'm trying to separate, and saving each figure and scene element separately isn't working either because the whole timeline of pose changes gets saved along with each item. Using Select All and then deleting the keyframes looked like it would work, but somehow changes between poses and morphs are still being retained without any visible keyframes in the figure's hierarchy. Saving a figure's Properties from frame 2 and reapplying it on the same frame caused the figure to take on the expression of a pose from frame 10 and I haven't a clue why when there isn't a keyframe in sight after frame 2.

If anyone has any suggestions for what else I can try, it would be appreciated. Thanks for your time.

Comments

  • SnowSultanSnowSultan Posts: 3,596

    Guess I found a workaround: set Puppeteer dots for each item or figure, then select all and clear the timeline, move back to frame 1 and apply the dots again, then save as a scene item. Dots don't save the whole timeline like poses do.

  • Couldn't you go frame by frame and save each one as it's own scene subset? 

  • SnowSultanSnowSultan Posts: 3,596

    No, because all of the keyframes get saved as well, causing issues if I need to simulate dForce or if I somehow start editing poses on the wrong frame. Clearing the timeline and restoring the poses using Puppeteer dots seems to be the only reliable way so far.

  • marblemarble Posts: 7,500

    No, because all of the keyframes get saved as well, causing issues if I need to simulate dForce or if I somehow start editing poses on the wrong frame. Clearing the timeline and restoring the poses using Puppeteer dots seems to be the only reliable way so far.

    I don't think I have followed your workflow so have not experienced your issues but I have posted about the conflict between animation and dForce simulation in the same scene. I have not yet found a solution. I don't know much about Puppeteer so am not sure how you clear and restore the poses but I would be interested to know.

  • SnowSultanSnowSultan Posts: 3,596

    Yeah this is a very odd workflow that I will probably not try again. I've been using Puppeteer since the day it was added as a replacement for Poser's "dots" though, so I can explain how they are useful.

    When you have a figure or prop selected and add a dot to the Puppeteer window, it saves all the parameters (pose, shape, scale, etc) in that dot. Basically it's like a History snapshot in Photoshop, you can always revert the figure back to that state by clicking the dot again. Even if you only use it in that way, it's good for experimenting with poses or expressions without having to save them as you work; just place a dot every time you make something you like, and then when you're done, you can go back and look at them all again. You CANNOT undo the act of clicking on a dot though, so be sure to save any current pose or expression before doing so.

    Anyway, the way I'm using it here is to save dots, then completely clear the animation and all keyframes, move the timeline back to frame 1, and then click the dots to reapply the poses. Dots don't save timeline pose changes, they only save the current frame's settings, so after doing this, I once again have a figure in the pose I want with no other changes along the timeline.

    Puppeteer's actual function is to animate expressions in real-time, but it's almost impossible to make it look realistic because of how easy it is to overshoot the dots and how difficult it is to get the timing for motion right in real time. Definitely more useful as pose save states.  :)

  • TotteTotte Posts: 13,979

    I can take a look to see if it's doable from a scitpt or you need deeper access and need to go through a plugin.

  • SnowSultanSnowSultan Posts: 3,596

    Thanks, but it's not worth all that trouble. I need to do it for 10 frames and I've already done it for 3. If I had to do 30, maybe.  ;)

  • marblemarble Posts: 7,500
    edited February 2020

    Yeah this is a very odd workflow that I will probably not try again. I've been using Puppeteer since the day it was added as a replacement for Poser's "dots" though, so I can explain how they are useful.

    When you have a figure or prop selected and add a dot to the Puppeteer window, it saves all the parameters (pose, shape, scale, etc) in that dot. Basically it's like a History snapshot in Photoshop, you can always revert the figure back to that state by clicking the dot again. Even if you only use it in that way, it's good for experimenting with poses or expressions without having to save them as you work; just place a dot every time you make something you like, and then when you're done, you can go back and look at them all again. You CANNOT undo the act of clicking on a dot though, so be sure to save any current pose or expression before doing so.

    Anyway, the way I'm using it here is to save dots, then completely clear the animation and all keyframes, move the timeline back to frame 1, and then click the dots to reapply the poses. Dots don't save timeline pose changes, they only save the current frame's settings, so after doing this, I once again have a figure in the pose I want with no other changes along the timeline.

    Puppeteer's actual function is to animate expressions in real-time, but it's almost impossible to make it look realistic because of how easy it is to overshoot the dots and how difficult it is to get the timing for motion right in real time. Definitely more useful as pose save states.  :)

    Wow, that is useful information - and thanks for the warning about being unable to undo clicking a dot ... I guarantee I would have done just that. I think the reason I gave up on puppeteer was similar to what you mention - trouble moving between dots accurately enough to look realistic. But you have pointed out another use which will no doubt come in handy.

    Post edited by marble on
  • L'AdairL'Adair Posts: 9,479
    Totte said:

    I can take a look to see if it's doable from a scitpt or you need deeper access and need to go through a plugin.

    When I saw what SnowSultan wanted to do, I thought of all the times I would have loved to have a simple solution. I don't do animations, but I do use the Timeline for dForce simulations.

    I frequently set up figure and pose in a separate file to work on the simulation. Once I've got what I want, I create a morph so I can't lose it. Later, I'll merge all the files together for the final scene. The thing is, some simulations work fine with 30-60 frames, but occasionally I run into something more stubborn, and end up with a lot more frames. If I could run a script, or use a plugin, and turn my selected frame into a scene at Frame 0 for each of those files, it would make merging them easier.

    Maybe I'm the only one who wants such a product. Maybe not. If you're reading this thread and have wished for this ability in Daz Studio, please leave a comment, if only to add a "+1" to the list… Thanks.

  • marblemarble Posts: 7,500
    L'Adair said:
     

    Maybe I'm the only one who wants such a product. Maybe not. If you're reading this thread and have wished for this ability in Daz Studio, please leave a comment, if only to add a "+1" to the list… Thanks.

    No, you're not the only one. I could probably find some thread where I asked for the same thing, at least once (probably more - I often forget what I've posted in the past and repeat myself). So here's mine:

    +1

  • +100

  • marblemarble Posts: 7,500

    marble said:

    Yeah this is a very odd workflow that I will probably not try again. I've been using Puppeteer since the day it was added as a replacement for Poser's "dots" though, so I can explain how they are useful.

    When you have a figure or prop selected and add a dot to the Puppeteer window, it saves all the parameters (pose, shape, scale, etc) in that dot. Basically it's like a History snapshot in Photoshop, you can always revert the figure back to that state by clicking the dot again. Even if you only use it in that way, it's good for experimenting with poses or expressions without having to save them as you work; just place a dot every time you make something you like, and then when you're done, you can go back and look at them all again. You CANNOT undo the act of clicking on a dot though, so be sure to save any current pose or expression before doing so.

    Anyway, the way I'm using it here is to save dots, then completely clear the animation and all keyframes, move the timeline back to frame 1, and then click the dots to reapply the poses. Dots don't save timeline pose changes, they only save the current frame's settings, so after doing this, I once again have a figure in the pose I want with no other changes along the timeline.

    Puppeteer's actual function is to animate expressions in real-time, but it's almost impossible to make it look realistic because of how easy it is to overshoot the dots and how difficult it is to get the timing for motion right in real time. Definitely more useful as pose save states.  :)

    Wow, that is useful information - and thanks for the warning about being unable to undo clicking a dot ... I guarantee I would have done just that. I think the reason I gave up on puppeteer was similar to what you mention - trouble moving between dots accurately enough to look realistic. But you have pointed out another use which will no doubt come in handy.

     

    Just resurecting this thread to say what I should have said back then - thanks @SnowSultan for the tip about using Puppeteer dots - it is presently the best way I know of when trying to do what this thread is all about.

  • SnowSultanSnowSultan Posts: 3,596

    Sorry I missed what you said Marble, I forgot I was even the one that started this thread.  :)   Thank you, I hope that crazy technique was helpful and that we might have a better way to do it soon.

  • marblemarble Posts: 7,500

    SnowSultan said:

    Sorry I missed what you said Marble, I forgot I was even the one that started this thread.  :)   Thank you, I hope that crazy technique was helpful and that we might have a better way to do it soon.

    Yes, very helpful, thanks but I second your hope for a better way. I really can't believe that it would be such a difficult feature to add to the timeline yet it would be so useful.

  • rto3drto3d Posts: 24
    edited September 2023

    Like to draw your attention to the following solution by Shibashake:  How to Save a Single Frame in Daz Studio

    https://thinkdrawart.com/how-to-save-a-single-frame-in-daz-studio

    This works perfectly .. at least for my requirements

    Take care to save as a new file !

    Post edited by rto3d on
  • wsterdanwsterdan Posts: 2,349

     

    I'm not sure if this will work with dForce simulations, but I frequently use this mcasual script to save a new file with only one selected frame of an animation:
    https://sites.google.com/site/mcasualsdazscripts9/mcjunanimatewholescene

    -- Walt Sterdan

  • crosswindcrosswind Posts: 6,999
    edited September 2023

    Oh, as per OP's requirements (each frame + dForce simulation results), it could be pretty simple but only 'repetitively'.  Well, Puppeteer's 'dots' just memorize Keyframes, so only manipulating keyframe(s) on the timeline will be good enough.

    1 - Ensure each firgure / object has a keyframe ( seems already done for 10 frames in OP's scene). If not, create for them by Selection + Create Keys
    2 - Simulate your dForce item(s)  first. Go to each frame, export dForce item to obj files (Base Resolution ! ), frame by frame. Number obj file names from xxx-0 to xxx-9 *
    3 - Save the scene file. Then Save As the scene file to 10 duf files, by numering the file names from frame-0 to frame-9
    4 - Now, open each 'frame-x' duf file. As per the number 'x', marquee-select the objects on 'that' frame, drag them to frame 0, then marquee-select and delete all other frames *
    5 - Use Morph Loader Pro to import the corresponding obj file (same suffix number) to dForce item (reverse def. + delta) and dial the morph *
    6 - Save the scene file.

    * Actually step 2 and 5 are not really necessary, you may just run simulation for frame 0 in each Scene file. 2 + 5 just give you 100% the same simulation result on each frame as per the original scene file.
    * If you don't wanna 'drag' frame(s) to frame 0,  you could use Memorize / Restore Selected Items, but the side-effects -: a bit cumbersome... and bring you lots of Default Values on properties... It's up to you but not really recommended.

    Post edited by crosswind on
  • marblemarble Posts: 7,500

    My goodness what a tedious exercise to do something which should be included as a simple "Save Frame as Scene/SubScene" button.

  • crosswindcrosswind Posts: 6,999

    marble said:

    My goodness what a tedious exercise to do something which should be included as a simple "Save Frame as Scene/SubScene" button.

    Technically, that button definitely could be done... but nobody cared in there... 

Sign In or Register to comment.