Unwanted Frames with Cycle or Sequence Nodes

   2825   11   1
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Hi,

I was wondering if someone could chime in on whether this is a bug or just a necessary part of the design for these nodes.

When I am creating my own waveform patterns and use the cycle or sequence nodes they add a single frame between the connections.

If my wave form spans 20 frames and I cycle ( repeat ) it once it doesn't start where the last one ends.

An extra frame is added between both of them such that the total frames are 41 rather than 40.

In some cases, depending on the source of waveform to be used the added timeframe will either just add one frame of “no movement” - horizontal on the graph; Or it will adopt the slope of the last frame of the source waveform and extend it one frame for the connection.

This latter behaviour actually helps “hide” this extra frame minimizing the extra length incurred, but still it would be nice to be able to have an exact “butting” of waveform to waveform ie. have the start of the next coincide with the end of the last.

If I have say 20 differenent waveforms each with a “length” of 10 frames each, because of this added frame between “connections” I will end up with a sequence of 219 frames rather than the hoped for and expected 200 frame sequence length.

Anyone have some thoughts on this as to whether this is something inherently part of the design that can't be changed or is it possibly a bug?

Feedback is appreicated - Thank You


For the first image below it is showing how the added frame 21 - 22 adopts the slope of frame 20 -21.

The Second image is the “horizontal” addition frame 30 - 31

Attachments:
Unwanted-Frame-between-with.jpg (107.5 KB)
Unwanted-Frame-between-cycl.jpg (102.4 KB)

User Avatar
Member
8538 posts
Joined: July 2007
Offline
there is no extra frame added, Sequence or Cycle are put literally back to back
so if you have source 1-10
then
1-10 is the first clip
11-20 second
21-30 third, etc

if you however have clip that has the first and last frame equal, you will see repeated frame as they are put back to back (the same way as if you'd play image sequence with the same first and last frame back to back, you'd see a pop where those 2 frames are next to each other)
so in that case you can use Trim CHOP to get rid of one of those frames before cycling

as well the confusion about the length of the clip may come from your clips staring at 0
so if your wave is 0-20, it's actually 21 frames long
therefore by cycling that you'll get 0-41, which is 42 frames long (exactly 21+21, no extra frame)
etc.
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Yes an extra frame is added because as you have said:

“ 1-10 is the first clip

11-20 is the second clip ”

If it truly was back to back it should be:

1-10 is the first clip

and 10-19 is the second clip.

Look at the second image that I posted.

See frame 30 to 31? there is no movement occuring during the transition from frame 30 to 31. ( because in this case it is horizontal for one frame )

The desired graph should be pointed such that going from frame 30 to 31 movement is the same as going from 31-32. In other words there should be no pause of 1 frame as in the graph. I want the action to begin at frame 30 not 31 with the same waveform as the previous one. But cycle and sequence nodes do not allow you to do this as a frame is inserted to connect the two.
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Hope this doesn't come up mutliple time on the forum.

My editing of post doesn't seem to be updating..so I'll just put it here.

***************** EDIT TO LAST

Ok..sorry I didn't read your whole post.

I just wanted to address your first point.

Yes I was carefull to note about whether my first frame was 0 or 1.

But try it for yourself.

Create a waveform of say 10 frames in length then cycle it 10 times. With a true back to back joining our total frame length would be 100 frames. But with cycle and sequence nodes this is not the case as we would get a 109 frames. ( with 10 cycles you get 9 intervals hence 100 plus 9 )

And I guess I didn't looke carefully enough in the available CHOP node menu. I will have to try the trim node. I did try using seperate waveform sources that contained essentially the same waveform and tried applying a shift node..but to no avail, the cycle and sequence just won't let you do it.
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Yeah..so I tried using the trim node ( post cycle node apllied ) and the cycle node and sequence ignore the trim.

Seems like just something I will have to “live” with and keep in mind when co-ordintating multiple movement nodes that may have differing amounts of cycles.

This is not really much of deal with low number of cycles and the discrenpwcy will not really be noticed. However, with high numbers of cycles it will start to become noticable and my expressions will have to take that into account.

Just like things to be “precise” when I can.
User Avatar
Member
8538 posts
Joined: July 2007
Offline
I can prepare an example for you when I'm back home

just can assure you that Trim, Sequence and Cycle CHOPs work as expected

and you cant expect to get 2 sequences stitched 1-10 and 10-19 since then frame 10 would be overwriten, which is not desred, but if it is then trim the last frame of the clip1 to get that
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Ok thanks for that.

So it's not possible for the end of one cycle to share the same “point” as the beginning of the next cycle.

I can accept that, and I am guessing the reason it has more to do with the underlying way things are coded and beyond the scope of my query.

But I was assuming it would be possible since I can, with the pulse node in linear mode, create a series of “shared” points.

The problem with that is the pulse node can only create up to 32 pulses and to go any further I would have to begin using a cycle or sequence node.

And in such a case still have to work with these “extra” frames between cycles.
User Avatar
Member
8538 posts
Joined: July 2007
Offline
if you have the same frame at the beginning ant the end of the clip, literally just trim one frame (from beginning or from the end), and you will get what you want after sequence
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
8538 posts
Joined: July 2007
Offline
ok, here is promised file

Attachments:
seqence_cycle_trim_chop_example.hip (35.4 KB)

Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Hi tamte,

Ok thanks for the file.

I can see that the cycle and trim work as “expected”, but to me that means it's working as was originally “designed/intended”.

It still doesn't work for what I wish to do in the manner I envision.

At this point, the discussion is purely academic and I also don't want to come across as complaining.

You've already pointed out that the end point of one segment cannot be joined or “shared” with the start point of the next.

So that point is now clear and accepted. You've answered my original question and this discussion has cleared up my query.

Thanks.

At some point I am going to make a file that shows why I would like to have the behavior I seek and why using the Trim doesn't help in the matter.

Before I do that I have to point out and emphasize how the cycle/sequence
works and what you say in your file in the sticky notes is not correct:

“perfectly cycled using Sequence ot Cycle chops
3 cycles result in 1-30 range which is exactly 30f 3*10”


Perhaps at this point it's where we depart in how I want it to work and you showing me how it does work.

Your saying it perfectly cycles with the result being in the 1-30 range.

Well it perfectly cycles in the sense that the resulting waveform keeps its “integrity”, meaning it's basic waveform function.

But the context I was originally speaking in is not to preserve a waveform but to create new waveforms by “stitching” together different waveforms together sequencially ( and sometimes repetatively ).

In your sticky note “3 * 10” is not true. Before you apply the cycle ( if you turn on its' bypass ) you will see the cycle starts at frame 1 and ends at 10. That is a frame range of 9, not 10. So really it would be 3 x 9 which would end up being 27 and not 30. The only reason we end up at 30 is because at the junction of each cycle the cycle node adds 1 frame to “keep” the integrity of the waveform. So in this case we made the cycle node add 2 cycles which gives us 29 frames ( 2 + 27 ). And the reason we end up at 30 is because we started at frame 1 not 0 ( 1 + 29 = 30).

So the point of my last paragraph was to highlight, as I've said in an earlier post here, that the cycle and sequence nodes adds one frame between the waveforms as they are added together. This is an important point and will be more clear when I post an example file that shows more clearly of the behaviour I wish to have to facilitate my goals in creating specific waveforms.

In the examples I'm sending here, I've taken your file and added the same wave node with cycle node as well and reduced the cycle to 1 just to make the illustration simpler to see.

In the image which shows the result I would get if the behaviour of the cycle/sequence nodes was as I hoped for, I have added a shift and math node to illustrate the point. But, although you would know this, just to be clear for others, the resulting waveform ( as seen with merge node turned visible ) is only in appearance and not actual continuation from start to finish.

Also, in your example you show the use of the Trim node. But by applying the trim you also shorten or rather shift the beginning of the first cycle. And in my case that is not desirable. That will become more clear when I post another example to show why I don't want this behaviour and is undesirable.

And finally, just to re-emphasize. In your examples you refer to making the waveforms loopable of which is not my goal ( again an example I will provide in the future shows this ).

So I just want to say I understand the context from which you are coming and actually agree with everything. But in another context it doesn't work, or rather is more cumbersome to my goals.

Thanks for putting your time into this post.

Attachments:
Un_Desired-Behaviour-from-t.jpg (692.9 KB)
Desired-Behaviour-from-tate.jpg (604.1 KB)
tamte example modified.hipnc (39.4 KB)

User Avatar
Member
8538 posts
Joined: July 2007
Offline
I understand what you are after, however to my knowledge in CHOPs you can have only one value per sample so I don't think discontinuous samples are possible
(in other words samples where incoming segment to sample ends at different value as outgoing segment's starting value)

the point is to think in terms of samples and not segments
and in that sense 1-10 is indeed 10 samples so if you stitch with other 10 samples you'll get 20 and houdini automatically interpolates the values between samples to get “segments”

you can of course oversample CHOPs to contain more samples per frame to create this illusion , which may work for you if you can live with one tiny interpolated segment between stitched clips
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Yes, thank you for pointing that out to me.

I've noticed this effect of sample rates from my first step in creating the single “segments” of setting up a pulse node.

So your feedback has helped me understand and leave no stone unturned in understanding what I can and cannot do.

I'm working on a digital asset that will help me setup waveforms as I wish them to be “designed”.

I've come to the end at the moment in exploring the nodes available in the
CHOP net and using the Motion FX View.

I've just started now looking into using the Animation Editor and that nifty feature of Motion Fx “Create Clip” ability.

And being able to use the resulting clip with other chop nodes like envelope, math, filter etc.

That's a really great help in my moving towards doing what I wish to do.

I suspect at some point in time both the Motion Fx View and the Animation Editor will become integrated together in one window? and their corresponding toolsets.

Perhaps its too early to suggest such a direction as I have yet to finish exploring with both elements.

Likely to be an extensive code overhaul as well.

I was recently reviewing an Ari Danish tutorial on using the Animation Editor and I believe that turorial may only be a couple years old or so. Point being he made the comment basically saying that he heard many in the industry that the animation editor is considered a very “powerfull” tool.

I've only used Houdini and my experience is limited, but I can say for myself that by being able to see the motion in graphic form creates the desire to have “precise” control over that waveform.

If there was no graph form I would just have been “going by eye” observation of actual scene movement and this post would never have been started.

So in my case, this is like giving em an inch and they wanting a foot.



Thanks again tamte.
  • Quick Links