PDA

View Full Version : DPKit Spline Deformer: 2 questions about assumptions the plugin makes



jeric_synergy
09-14-2012, 06:10 PM
I've been trying to use DPKit: Spline Deform Node, and not having much luck.

Questions:

does the deforming object HAVE to have it's major axis terminated at 0/0/0?
Do you HAVE to keyframe the deforming object at the head of the spline, or should you leave it at 0/0/0?
Does the spline have to overlap the object to get predictable results?


So far, I've only had good success when DPKit makes its own spline, which I then have to wrestle into shape, at which it works GREAT, but I'd like to be able to use arbitrary splines like in the attached sample file. I haven't managed to find that combination of object placement, spline placement, and plugin settings which would allow use of arbitrary signs.

I also have some thoughts about the UI, but some other time... :dance:

jeric_synergy
09-15-2012, 03:11 PM
Here's some more sample objects to play around w/in DPKit: Spline Deform Node. These 2 objects are:


a 1-meter arrow with its point at 0/0/0
a helical spline with it's #1 point at 0/0/0


A couple things here raise attention:

the spline that is generated by SplineDeformNode from this object, using the LOAD SPLINE feature, is not smooth. Some adjustments need to be made there.

The nodes generated have a Z-scale of varying sizes, mostly 0.512, although the end nodes have varying values. What are the significance of these values, in non-programmer terms? Are they like TCB values in the GE (ie, bezier related)?

Sometimes the deformed object 'piles up on itself'. What causes this phenomena? How can it be avoided?

FReq: Sometimes it seems like SplineDeformerNode is retaining a bunch of old data, like spline-point order and such. A "full reset button" which would force a complete re-evaluation of the spline and the geometry would at least be reassuring to the user that they had done as much tweeking as feasible.

I think "Rest Item Postion" needs it's own dedicated "Recorded" sign.

"Record Spline Rest Postion" needs a red "Not Recorded" sign, not just a blank area.



A bug:
when you add a new spline object to an existing spline object list, it is added to the bottom of the list. If the list has enough members, this new object is off the bottom edge of the list, i.e. not visible. It would be better if the list were scrolled such that the new object were visible.

dpont
09-16-2012, 02:31 AM
One important thing is to have a reference of the rest position
of the Spline in your scene, commonly at frame -1 for not perturbing
your animation, so I don't know what was your knot positions.

In modeler, I made a box over your arrow wit 27 segments (= 28 points)
as a guide for makind a spline covering your object uniformly,
107861

In Layout, put the cursor at frame -1,
in Spline Deformer, load the above Spline Pose,
record Rest Position,
107862


Denis.

jeric_synergy
09-16-2012, 09:29 AM
One important thing is to have a reference of the rest position
of the Spline in your scene, commonly at frame -1 for not perturbing
your animation, so I don't know what was your knot positions.
thanks for that tip, Denis: in this case, the spline was not animated at all.


In modeler, I made a box over your arrow wit 27 segments (= 28 points)
as a guide for makind a spline covering your object uniformly,
107861

In Layout, put the cursor at frame -1,
in Spline Deformer, load the above Spline Pose,
record Rest Position,
107862

Denis.
I'll give that a shot! Thanks for looking at this example. :thumbsup:

EDIT: I see the 64bit version is ~month behind 32bit-- is that significant at all?

jeric_synergy
09-16-2012, 02:50 PM
107861

In Layout, put the cursor at frame -1,
in Spline Deformer, load the above Spline Pose,
record Rest Position,
107862
Denis.
Denis, one thing that's not clear to me is the difference between "Load Spline" and "Load Pose from Spline". :stumped:

What are their correct usages?

:thumbsup:

+++
I guess I'm not getting the workflow correct: I feel there's some alignment details that have escaped me.

In the sample you sent (thanks!), there was no actual object, so I Replaced the placeholder w/the ArrowAt_0-0-0.lwo, but still didn't get good results.

In that sample it seemed that

first you made a spline that pretty much perfectly conforms to the deformed object,
then instanteously moved the splines to their 'path' positions.



Is this the correct workflow? That seems to remove any advantage to modeling the spline in Modeler.

dpont
09-16-2012, 03:18 PM
I don't think there's one unique workflow for a Spline Deformer setup,
the most simple:
the first modeler spline is for resting position,
using Load Spline, knots are added to their default position.
Mine was just to repair your spline rest position
(for your first posted scene/object) with positions
which match your object geometry,
even not zeroed in modeler or Z+ aligned.

Then you have option for deforming the Spline,
manually moving the knots or loading a Spline Pose,
then you can set the options for animating the mesh,
here I added the fixed length.

Denis.

jeric_synergy
09-16-2012, 03:36 PM
Thanks for taking so much time with this, Denis; hopefully other users are also gaining knowledge from our exchange.

Before reading your above post (#6) I had utilized your spline by simply pre-pending it to my helical spline, Smoothing and Merging the two splines.

Rather than trying to deal with any offset, I moved the geometry to overlap with the spline itself, to minimize the number of variables I was dealing with. The resultant LWS (attached) worked perfectly, as you can see from the scene.

So, the workflow in this case, where the assumptions are:

A) the geometry coincides with the path spline, and;
B) the deformation starts at 0/0/0,
was:

build the path spline using a significant # of points at the mesh objects rest position,
then add a scalar to SHIFT OFFSET.

I know to you I may be totally belaboring the obvious, but I'm documenting things that confused me in the application of Spline Deform Node- perhaps they confused others as well. I'm also probably being redundant with things like placing stuff at 0/0/0, but I want to define an absolutely rock-solid, bullet-proof workflow.

jeric_synergy
09-16-2012, 04:01 PM
DPKit: Spline Deformer Node feature request:

See attached jpg: when the DPKit:SDN makes its nodes, it numbers them in the usual manner. Unfortunately, this results in an awkward display inside LightWave's "New" Scene Editor. (They're fine in the Classic Scene Editor.)
107867

I suggest that nodes generated by SDN be given an appropriate number of prefixed zeros to allow the NSE to properly sort and display them in numerical order.

jeric_synergy
09-16-2012, 11:45 PM
I don't think there's one unique workflow for a Spline Deformer setup,
the most simple:
the first modeler spline is for resting position,
using Load Spline, knots are added to their default position.
Ahhh, so THAT'S what "Load Spline" does!
So, you can load a second spline that has the same number of spline nodes as the existing spline* as defined in Spline Deformer Node's list, and LOAD SPLINE reshapes the existing spline, and creates keys for those nodes at the current time/frame.

I had no idea: while the words are all there in the dox, the implications were not clear at all to me.

I have not yet accomplished a nice clean Shift-Offset animation, with no geometry overlap or artifacts using this technique (I'm still finding it more predictable to just extend the spline to cover the deformed mesh and then apply Shift-Offset), but that's some very useful information, especially in regards to quickly+easily setting keyframes for the spline.

:thumbsup:

*for readers: if the number of nodes aren't the same, a non-fatal error warning is generated.

jeric_synergy
10-02-2012, 08:52 PM
Denis;

Still having a lot of difficulties w/Spline Deform. It seems very easy to make a misstep resulting in a nonfunctional deformation. I also found a bug:

Using the attached file:

Load the arrow
Add Spline Deformer, attach to Displacement node
Move to frame -10 (minus ten)
In the SplineDeformer UI, use LOAD SPLINE with the supplied "DPKit-SplineDeformAlignedArrowRESTSPLINE.lwo"
Using the Scene Editor, multi-select a bunch of spline nodes
switch to Rotation mode
scrub the timeline

You should observe the spline nodes rotating around the Heading channel. Also, note how the geometry has wound up far away from the spline, when it is actually modeled right on top of it.

W7, 64bit
108241

dpont
10-03-2012, 02:19 AM
...You should observe the spline nodes rotating around the Heading channel. Also, note how the geometry has wound up far away from the spline, when it is actually modeled right on top of it...

Yes rest position is indeed inefficient for 'Loaded Spline'
this can be manually corrected with the "Rest Position" button
and I do agree that knots should only get a keyframe for selected/current frame,
fixed in the next version.

Denis.

jeric_synergy
10-04-2012, 10:58 AM
Yes rest position is indeed inefficient for 'Loaded Spline'
this can be manually corrected with the "Rest Position" button
Sorry I'm so thick, Denis, but what do you mean "inefficient"??

and I do agree that knots should only get a keyframe for selected/current frame,
fixed in the next version.
C'est formidable! Merci!

Here's a recent test I did with Spline Deformer node. I also used DPKit Point Info node to ease working/tweeking the setup, as detailed here:

Tip: http://forums.newtek.com/showthread.php?130981-Tip-UI-tracking-of-displaced-object-via-DPKit-vuports-tracking-centering

Video: http://www.youtube.com/watch?v=q-9bIHclLcM&feature=youtu.be


Thanks, Denis!