Stop-motion-OBJ icon indicating copy to clipboard operation
Stop-motion-OBJ copied to clipboard

Keyframing an OBJ sequence

Open matteckholm opened this issue 3 years ago • 20 comments

I came across Stop Motion OBJ through a few BA threads looking for solutions for replacement animation, literally trying to emulate a stop motion technique in Blender.

I wonder if it would be possible to add a choice when importing an animated sequence into a scene to only show one frame at a time and allowing the user to keyframe which frame appears and for how long. This would make this effect easy to accomplish without mask modifiers.

matteckholm avatar Dec 19 '20 06:12 matteckholm

I had this idea sometime last year. I actually tried it out, too. But I couldn't quite figure out how to make it play nicely with the existing playback modes and no one had asked for it (yet), so I abandoned it.

Maybe it's time to dust it off and try again.

neverhood311 avatar Dec 21 '20 16:12 neverhood311

@VacantLuxuries I'm about to give this feature another go. Would you be willing to be my guinea pig once I get something working?

neverhood311 avatar Jan 08 '21 04:01 neverhood311

@neverhood311 I'd be happy to!

matteckholm avatar Jan 08 '21 04:01 matteckholm

I've created an alpha release (2.2.0.alpha.2) with my first attempt at this feature. Any feedback would be great, even if you hate it :) . There's a screenshot and some basic instructions in that link. Let me know how it goes.

neverhood311 avatar Jan 08 '21 20:01 neverhood311

@neverhood311 It's been a busy week so I apologize it's taken me a bit to circle back to this. I did a keyframe test with some primitives and it seems to have worked out fine. One thing I did notice is that the active mesh only updates when you actually set a keyframe, though that's certainly something that can be worked around.

Now that I've gotten my feet wet, I'm going to model some phonetics this weekend and do something that demonstrates the value of this function a little better. But so far I'm loving it!

matteckholm avatar Jan 15 '21 00:01 matteckholm

Good catch! I had forgotten about that quirk. At first I didn't think there was anything that could be done since Blender doesn't give a lot of control over detecting changes to the scene. But they do have a catch-all method that just happens to detect when you're messing with the keyframes. I haven't done thorough testing, but it seems to work on my end. Go download 2.2.0.alpha.3 and see if that's better.

neverhood311 avatar Jan 15 '21 04:01 neverhood311

@neverhood311 Well the good news is the keyframe updating seems to be working better. The bad news is I kept encountering crashes when I attempted to update the keyframe while in render mode. Works fine in solid or preview, but rendered it does not like.

matteckholm avatar Jan 17 '21 02:01 matteckholm

Dang, that's a bummer.

A few questions since I'm not able to get my Blender to crash:

When you say "render mode", I'm assuming you mean that the Viewport Shading" is set to "Rendered", not that you're actively doing the final render of your sequence. Is that correct?

Which version of Blender are you using?

Which render engine are you using? Cycles? Eevee? Workbench?

Is there any sort of error message you're seeing? Or is it just closing Blender without warning?

neverhood311 avatar Jan 19 '21 05:01 neverhood311

Certainly:

  • Yes, after it happened the first time, I did a bit of testing. When the Viewport Shading is set to solid, I had no issues with setting keyframes. When I set Viewport Shading to Rendered it would crash immediately when I attempted to set a keyframe.

  • I'm using Blender 2.91.0

  • I'm using Cycles engine. In this particular test, I was using a material that simulated clay on a model of a human figure. I was using Stop Motion OBJ to create a sequence for the face. I could try to see if the issue was compounded by the amount of geometry or shaders involved.

  • No error message, Blender just quits.

Despite this, I'm getting some pretty fun results out of the plugin so far!

matteckholm avatar Jan 20 '21 05:01 matteckholm

Ok, I'll do some digging. I have been using Blender 2.83.9 LTS, but I definitely need the addon to work with the latest version also.

Despite this, I'm getting some pretty fun results out of the plugin so far!

Dude, that's awesome! It's actually got my mental gears turnings... How did you make the individual mouth shapes? Did you know beforehand which shapes you'd need, create them, then import them with Stop Motion OBJ? What if you could create the shapes on the fly and build up a mesh sequence rather than importing a pre-existing sequence? Could you see that as a useful workflow?

neverhood311 avatar Jan 21 '21 15:01 neverhood311

Thanks! I grabbed a mouth phoneme chart that had the common shapes and brought it into Blender. Used curves to create the Aardman-style lips, some primitives to make the teeth, tongue, and back of the mouth, and arranged them in place to create my mesh sequence.

That worked for the most part, but since I was doing the animations on twos and the lyrics of the song were more rapid than 12fps could account for, there were sections where I did wish I could make a new mouth on the fly. And there were one or two on the chart that I didn't use as at all.

Doing it on the fly would be a lot closer to claymation than the current workflow and I'd love to have that option. Even if I didn't make the entire sequence from scratch on the fly, it would allow for greater range of expression if I could create the common phonemes and adjust them to be happier, sadder, more intense/louder, etc as needed.

matteckholm avatar Jan 21 '21 20:01 matteckholm

Ok, I've put that feature on my backlog. Can't promise when I'll get around to it, but I'll keep you in the loop once I have something working.

neverhood311 avatar Jan 21 '21 22:01 neverhood311

I've just pushed a minor update to the keyframe feature (2.2.0.alpha.4). It seems to be more stable in Rendered viewport mode, but I'm not holding my breath. This specific crash is not uncommon for Blender, even in other addons, and they don't seem keen on fixing it any time soon.

neverhood311 avatar Jan 22 '21 03:01 neverhood311

Did you guys see this Keymesh addon. I think this is what the OP is asking for. I believe principle of this addon is same as this addon but more towards sculptors and animators

https://vimeo.com/channels/1522686

https://twitter.com/pepeland/status/1356281834041180162?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1356300058161983489%7Ctwgr%5E%7Ctwcon%5Es3_&ref_url=https%3A%2F%2Fwww.blendernation.com%2F2021%2F02%2F02%2Fkeymesh-digital-stop-motion-add-on-released%2F

schroef avatar Feb 06 '21 00:02 schroef

@schroef Yeah, I saw their announcement way back when it first came out. I was just kind of tired of waiting for them to release something, so I started working on this feature myself.

neverhood311 avatar Feb 07 '21 19:02 neverhood311

I'm keeping an eye on Keymesh but I'm not a sculptor so having the ability to achieve the same effect with mesh modelling is something I value.

For example, one thing I can do with this is rig a figure's face traditionally, create all the phenomes and expressions I need for a project, and place them into one mesh sequence that I can control. The Keymesh workflow would require me to make every expression on the spot.

Is that great news for people who love claymation? Absolutely! For me, trying to get more of a Laika style out of my animations, that's not particularly helpful.

matteckholm avatar Feb 08 '21 15:02 matteckholm

@matteckholm That's a very valuable insight for me.

neverhood311 avatar Feb 08 '21 15:02 neverhood311

Ps if you want to emulate stopmotion, why not add a stepframe count. Like render settings has. The step frame is the amount of frames which will be "stepped over". This feature is handy when you do quick renders of an animation and preview blockouts. its basically this "sceneFrame * n = currentFrame" > N = stepframe amount.

Current blender docs dont seem to have info about it. But this link does more info

after reading the request again, i guess this would need to have complete manual input. Thats is quite something different than what i linked above. The above simply skips frames and jumps to frames in the animation automatically according to scene frame and the given N-value. The OP prefers to have the option to manually select each frame, this makes it much more complicated.

schroef avatar Feb 22 '21 16:02 schroef

@matteckholm Hey Matt, I'm getting ready to release the next version. I was wondering if I could add one of your facial "clay" animations to the Gallery in the README as well as in the Wiki. I wanted to show something that features the new Keyframing feature.

neverhood311 avatar Oct 15 '21 15:10 neverhood311

@neverhood311 Absolutely! I'll email you some links to the full resolution versions

matteckholm avatar Oct 15 '21 15:10 matteckholm