← All ideas

Improve Image Sequence Node / Import for better 2D Animation Compatibility

As an animator, I often use both 2D and 3D in conjunction in order to not only save time when creating visuals but also getting the perfect result that I need. However, Blender's ability to import and play image sequences (especially as textures mapped to a plane) is very straight-forward with very little control. As a result, it ceases to be sufficiently useful.

Here are some ways Blender's image sequence import / node can be improved.

  1. Auto / Manual — Determines how the sequence is played. If on Auto, it plays as Blender does by default. If on Manual, it perpetually stays on the first frame, unless it's been animated via keyframes on the Frame parameter.

  2. Offset — Mostly useful on Auto, rather than Manual. If offsets by input number of frames, whether positive or negative. If negative number exists, then the animation starts playing early.

  3. Frame — Mostly useful on Manual, rather than Auto. This parameter allows you to cycle between frames of the image sequence. It allows one to control precisely which image should be displayed at which point in which point in time. This can be infinitely useful for things like, say, sprite animation, 2D lip-sync, or re-using pre-rendered / drawn animations in different ways (or, in my case, allowing me to not use or even re-use certain images in the image sequence at whichever place in the timeline).

  4. Speed — The speed of the animation, determined by multiplication. By default it will stay on 1, stating the animation plays on 1 times the speed. If the number is 0.5, the animation plays at half the speed. If it's on 2, the animation plays two times the speed.

These features can definitely make Blender pretty easy to integrate with other 2D software.

83.3%

Development Status: Open

Upvote 5 Downvote 1
tushantin
5 Nov 2017

14 Comments

ChameleonScales

Believe me, adding a control to the Frame input (like a socket and value text field) would make improvements way beyond interaction with 2D. Image sequence nodes have many, many uses in Blender. From materials, vertex weights and geometry to particle influence and voxel data, such a new level of control would be a game changer for crowd sims, particle sims, hair and all sorts of image-based materials and animations. I proposed adding a socket about a year ago : blender.community/p/7pbbbc/frame-number-input-on-image-sequence-node

1
tushantin Author

@Caetano Veyssières: Hmm, it tells me "404 Not Found". How was the progress on it though?

ChameleonScales

@tushantin: odd. Does this one work ? blender.community/c/rightclickselect/7pbbbc/

tushantin Author

@Caetano Veyssières: Yeah, it works now! And yeah, I agree, that socket would be very helpful!

jason

Is this for all image nodes, or just image nodes in the compositor or Cycles materials?

Most of this seems easily doable, with the possible exception of Speed. It would have to be clear that Blender isn't doing an additional interpolation, it's just dropping or duplicating frames to match the desired speed value.

tushantin Author

@Jason van Gumster: I was actually thinking just nodes in compositor, wondering if it saves time in implementation that way, but if it's possible to do it for all image nodes, then that would definitely be awesome!

I wouldn't mind leaving out the Speed feature, since the Frame can always be keyed to attain one's own desired speed as they wish.

jason

The thing is... if you're only intent is for the compositor, then you're basically looking to do NLE kinds of things. Most of what you're looking for can already be done (arguably more intuitively) in the VSE.

Granted, wrangling data between the VSE and the compositor can be a bit of a pain, but perhaps that is the workflow that needs refining, rather than offering an assortment of somewhat kludgy adjustment values in the compositor node.

tushantin Author

@Jason van Gumster: Oh, I don't mind the same features in the VSE either! But the thing is I made this feature request because I'm mostly a 2D animator and I often try to put my 2D animated characters in 3D space. Since Blender gives you access to 3D space, it should theoretically have been easy, but the tools to manipulate image-sequences as textures are desperately lacking in order to do so.

For instance, right now I'm actually creating 3D backgrounds by using NPR method of rendering and trying to put together characters animated in OpenToonz in that very scene, interacting with that background. It's very hard to do that in Blender. xD

jason

I see where you're coming from... and generally I don't disagree at all. Just thinking out loud here... it would be awfully nice to have a time-line based control interface for image sequences.

The workflow would be something like this: add an Image node and load your image sequence. Then you can Tab into that node and make custom edits to that sequence in a timeline interface.

Actually, come to think of it, we kind of already have this capability with Movie Clips. They're not just available as textures in a Cycles material network. I'd recommend seeing if Movie Clips get you closer to what you want. Maybe that's the place we can give ourselves some workflow refinement.

2
tushantin Author

@Jason van Gumster: I never thought it may have been available in something like Movie Clips! Is there any helpful guide for this, especially if it happens to be in Blender Internal renderer?

jason

Most of the tutorials and documentation you'll find for the Movie Clip editor are focused on motion tracking and VFX work... but for 2D animation, we only need a subset of those features in the Movie Clip editor. The official documentation is a bit sparse, but probably the most straight-forward starting place.

tushantin Author

@Jason van Gumster: Hmm, I couldn't find anything useful in the link provided... but I found this !

So such a system DOES exist in Blender! But it's so unintuitive. :/ Either way, I'll see how well it works for me.

jason

Yup, drivers are an option, but I'd refrained from mentioning them as the workflow can be a bit daunting for some folks. It's also a different way of working compared to what I'd been describing.

This probably merits a full-on workflow proposal, the more I think about it.

tushantin Author

@Jason van Gumster: Yeah, I see what you mean. I actually tried to use that method right now, but it just didn't seem to work for me. :/ I can't get it to work as I want it.