View Full Version : DPKit Shifter Question

10-22-2015, 10:51 PM
Hey, everyone. I am trying to use DP Kit's Shifter node to create a 'Growing Lines' effect. In other words, I would like a series of lines to radiate outward from a central location. I am using one of the many useful Bryan Phillips' tutorials (specifically, 'Motion Graphic DPkit part1') as a reference.

In it, a 1-point poly is Rail Extruded, and this object is cloned several times. These parts are then placed in a circular order, based on points from another layer. Below is a screen shot of my test scene (at the moment, I am only using 6 lines formed in a circular arrangement).


I am trying to extrude these lines outward via Shifter. The tutorial has the lines extruding at different times. However, I would like to get them to extrude in unison. I notice when the Shift Input goes from 0-100%, this extrudes each line sequentially. In the tutorial, when the 'Randomize By' setting in the Random node is set to 'Instance', the lines all move in unison. However, when I use this setting, it still extrudes the lines sequentially. Below is my node structure.


I am using LW 2015 as well as the most up to day version of DP Kit. Since this tutorial is over 2 years old, I am not sure if there have been changes to Shifter since then (or if the new version of LW is causing problems with the plugin).

Is there something I'm missing? Is there a better way to create this? I am still pretty new to DP Kit (although I'm trying to get a better handle on it since it looks to be pretty powerful).

As a side note, the tutorial also changes the 'Base Point Number' to 32 (since it had 32 lines), and other posts suggest changing this number based off of how many lines you have and/ or how many points on the base geometry. I find when I increase this number from 1, the displacement gets really funky. Below is screen shot of what happens when I do this.


This result is similar to what happens when I use the Shifter Mode 'From Base'. As such, I use 'From Top' (though, I'm not sure what the difference is between the two or why they create the results they do).

Sorry for the long post. Just hoping for a little guidance. Thanks in advance for any help.

10-23-2015, 01:19 AM
In this setup,
lines are first shifted with Shifter then animated by Part Move,
so you may test Shifter node setup only and ignore other connection
for figuring what happens,
Random node is also useless if you want lines shifting together.

Basically, lines are in one single object, Shifter working with point
(no matter the mesh is made, polys or lines)
so for Shifter they should be evaluated like 'segment-edges'
of one unique shape extruded in Modeler,
so for each extrusion step, points of the shape
are added to previous,
if you have one line previously extruded,
then cloned/copied, points doesn't respect
this statement, the lines should be extruded
simulaneously, or build the line with the edges
of one mesh extruded shape.


10-23-2015, 03:03 PM
Thanks for the clarification, Denis!

That makes sense about the distinction/ differentiation order between Shifter and Part Move. One of the reasons I liked the idea of using cloned/ copied lines with Part Move was that I was able to organize them in a particular arrangement. However, it looks like I can't use that in conjunction with Shifter to get them to extrude in unison.

I guess it's back to the drawing board. Any suggestions on how to get a series of lines to radiate out from a point? Perhaps DP Instance (I have not looked at this plugin at all)?

10-23-2015, 04:18 PM
...Any suggestions on how to get a series of lines to radiate out from a point?..

Theorically (not tried it) lines could be regenerated
with a correct point order, may be a limited solution
for many lines,
you could convert these cloned lines in curves with a lscript,
then use them as multi rails in a background layer for extruding
first points of the lines placed in a foreground layer..


10-24-2015, 07:05 AM
First thing that came to mind, may or may not work for you. ;)


10-24-2015, 01:38 PM
Thanks for the suggestion! I will give it a shot when I get back in town tomorrow.

Quickly looking at your node network, this looks like it could be of use. What node is '360/no.ofparts'? Off the top of my head, I don't remember that one - is it a plugin or part of the standard built-in options?

10-24-2015, 02:09 PM
Just a multiply node, the name is just a reminder as to what number to put in. :)

10-25-2015, 12:22 PM
Ahh - that makes sense. Thanks for the clarification! Something tells me I would have wasted a lot of time before figuring that out...

10-26-2015, 03:55 PM
There are always morph targets, just sayin.

10-26-2015, 04:16 PM
Just a multiply node, the name is just a reminder as to what number to put in. :)
I've been agitating for a FEATURE REQUEST that would temporarily revert Renamed nodes to their default names, like maybe while the user holds down the ALT key. That way one could Rename nodes like a mad person and always be able to see their real function again.

This would be akin to AE's "Layer Names" , which can alternate between a copy of the footage item name and a user-applied name, specifically for use when you are duplicating a layer to be used in different functions in the comp. (IOW, there are multiple layers with the same footage item name, but different functions within the comp.)

It wouldn't hurt if everybody who thinks this is a good idea to hop on the bandwagon and make the same request to LW3dG through their account page-- use the Bug Report/Feature Request function.

10-26-2015, 06:35 PM
Until that gains traction, you could begin naming them with an identifier that indicates what the original function is. The node panel expands to accommodate it. While that does take additional real estate, it's better than getting confused in complex trees.

10-26-2015, 09:19 PM
True, altho at the cost as you say of real estate. 3 characters should do in 90% of cases.

Still, it would be quite helpful and be slick. Y'know, we gotta show up the Maya users. ;)

10-30-2015, 11:15 AM
Just a follow up to my original post. I found Pinkmouse's solution pretty interesting. There are some aspects of this technique I see myself using moving forward. However, there are limitations (at least as far as I can tell). Specifically, since the object is being extruded along an axis via the Scale input, it can only be used for straight lines.

I wanted to get a cluster of curved lines/ shapes to radiate outward. As such, I did some more testing, and I believe I was able to come up with a solution that fit this original intent. Below is a screenshot of Layout to illustrate my goal.


For my example, I created a 1-point poly and Rail Extruded it along a curve. I then cloned this string 9 times, to give a total of 10 for the Scene. It's also worth noting that each string is 376 points long (I didn't set this, the Rail Extrude did, but it will be used later on). On a separate layer, I also created a flat, 10-point disk. These points will be used to set the position of each string (via Part Move > 'Move' Input). I tossed this into Layout, and created the following node structure.


The key to getting all of the strings to radiate outward in unison via Shifter was with the Point Offset Input. I took the Part Info Node and connected the Index output (which loops from 0-9) to a Multiply node. The Multiply node multiplies the Index by 376 (the length of each string). The output for this node connects to the Point Offset in Shifter. The Offset allows for all 10 strings to act in unison when the Shift input is animated. I'm not sure exactly why this worked, but it did the trick.

One last comment is that the Shift input animation keyframes has to be treated differently. As far as I can tell, setting the Point Offset to the length of each string, allows for each string to act like the first. If I left the Offset to its default amount, animating Shift from 0-100% would extrude each string sequentially. Since there are ten, a string would get fully extruded every 10%. By adjusting the Point Offset like I did, the Shift keyframes only need to be animated from 0-10% in order to get them to fully extrude out. When the Shift percentage goes from 10-100%, there isn't any change - the strings are already extruded out.

Hope this explanation/ solution makes sense. Attached are the files in case anybody is interested I attached the files.


10-30-2015, 11:50 AM
Thanks for attaching the file! :thumbsup: I was trying to follow along in the text, but got lost pretty fast. :eek: