pb_BendSet

Plugins linking to this thread: (hide)

pb_BendSetAuthor: Pedro Alpiarça dos Santos
A very versatile bend compound that can do bend, a lathe, taper, shear, twist, etc.

Demonstrated here. You can also find a lot of information in the si-community thread linked below.

Make sure to look at Pedro's TD reel Nodal Setups and Utilities Reel 2015.

local backup: pb_BendSet.xsicompoundp bend_DemoScene_2014_web.scn

Post Reply
User avatar
probiner
Posts: 126
Joined: 17 Apr 2013, 11:52

pb_BendSet

Post by probiner » 02 Sep 2015, 23:31

A chimpmunk released an ICE Bend defomer :>



Probably too many options for the common needs, but it is nice to have them there when more is requested. It can basically work as a bend, a lathe, taper, shear, twist, etc.

Files at: http://probiner.xyz/2015/09/02/pb_bendset/
Enjoy

PS: This made me happy, ehehe :D http://prntscr.com/att29w
Last edited by probiner on 18 Apr 2016, 18:19, edited 1 time in total.

User avatar
FXDude
Posts: 882
Joined: 19 Jun 2012, 21:59

Re: pb_BendSet

Post by FXDude » 03 Sep 2015, 03:28

Like a unified rig directable BendTwisTaper (as a basic use and description or just used as an 'operator')
with various information that can come both in, and things made readily accessible coming out of the compound for more advanced use.

Could have been called
pb_BendTwistTaperPro Advanced :)

User avatar
Draise
Posts: 736
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Re: pb_BendSet

Post by Draise » 03 Sep 2015, 05:41

Excellent! I can see some amazing cartoony characters out of this. =)

User avatar
Hirazi Blue
Administrator
Posts: 4914
Joined: 04 Jun 2009, 12:15

Re: pb_BendSet

Post by Hirazi Blue » 03 Sep 2015, 08:52

Brilliant!
Thanks for sharing... :ymhug:
...

User avatar
probiner
Posts: 126
Joined: 17 Apr 2013, 11:52

Re: pb_BendSet

Post by probiner » 04 Sep 2015, 18:44

Thanks guys

I did just one little update (same file link), something I restrained myself of doing for the code version, but here it doesn't matter :) BBox options and ports. It either uses the set BBox + the ports or just the ports. This allows to have an animated set not messing with the BBox values.

Image

If someone is interested in a collaboration to a apply the python into some other application let me know as I'm just dealing with the vector transformation operation, not the SDK details, to build UI, associate animation curves and get and set data.
FXDude wrote:Like a unified rig directable BendTwisTaper (as a basic use and description or just used as an 'operator')
with various information that can come both in, and things made readily accessible coming out of the compound for more advanced use.

Could have been called
pb_BendTwistTaperPro Advanced :)
Ahaha. Yeah actually a lot of attention goes into the defining where bend starts and finishes, and share that range with the other deformations, Twist, Taper, Shear, etc. So maybe it should be called pb_BBoxDefomers :D

Cheers

User avatar
FXDude
Posts: 882
Joined: 19 Jun 2012, 21:59

Re: pb_BendSet

Post by FXDude » 06 Sep 2015, 04:19

Cool!

BTW, can the optionally definable BBox be driven by an actual box in view geo (like other manipulators shown) ?

Otherwise for the name perhaps pb_BBoxBendShearTwistTaperPlus ? :p

Kidding aside, I do find it could use a more representative name which currently sounds like to just set a basic bend (which is anything but basic) even just appending "Advanced" or something would serve it justice I think.

Cheers, and impressive work!

User avatar
probiner
Posts: 126
Joined: 17 Apr 2013, 11:52

Re: pb_BendSet

Post by probiner » 06 Sep 2015, 21:57

Thanks FXDude I did try to set a nice standard of Bend. Indeed I could put _Advanced on it, but I was modest, and probably not wise to do it now, since it's already out. The "Advanced" is understood in the description of the tool. Mind you though that it circles around bending and while you can use the others on their own, they are just passengers for the ride. Maybe in a future I can build something that centralizes the BBox and just distributes it to any deformer that wants to use it. In this case that BBox parameter is the output "BottomTop Gradient"
FXDude wrote:Cool!
BTW, can the optionally definable BBox be driven by an actual box in view geo (like other manipulators shown) ?
I'm not sure I follow your question. You mean having nulls defining the BBox?

Here's a gfycat showing two nulls driving BBox and how it also affects Curl.
http://gfycat.com/CraftyDeliciousIcelandichorse

Cheers

User avatar
FXDude
Posts: 882
Joined: 19 Jun 2012, 21:59

Re: pb_BendSet

Post by FXDude » 06 Sep 2015, 23:46

probiner wrote: Mind you though that it circles around bending and while you can use the others on their own, they are just passengers for the ride.
Indeed it runs circles around a regular bend (or bends around a regular bend :p)
FXDude wrote: FXDude wrote:
Cool!
BTW, can the optionally definable BBox be driven by an actual box in view geo (like other manipulators shown) ?

I'm not sure I follow your question. You mean having nulls defining the BBox?

Here's a gfycat showing two nulls driving BBox and how it also affects Curl.
Oh. Right!

I think I was thrown-off by the numeric bounding-box parameters in the property page, but yes null contollers defining the limits are awesome!

One last thought if it would relatively easily be or remotely feasable, would be possible to 'grade' the effect using a profile curve to allow for gradual (vs. linear) falloffs along the affected areas?

Cheers,

User avatar
probiner
Posts: 126
Joined: 17 Apr 2013, 11:52

Re: pb_BendSet

Post by probiner » 07 Sep 2015, 00:19

Here it shows this was a code blueprint and not build for compound. I could not rely on an UI curve. So, I just came with a way to smooth out the offsets, with the parameter "Offset Smoothing". So I could add a Fcurve profile for the effect. I'm actually internally using a falloff control node that allows to have several falloff types including control curve. http://prntscr.com/8der7e
I'm a bit weary about curve profiles though because they are not animatable. Hence I have done this: https://www.youtube.com/v/Fd-ZeiNAmUY?start=196&end=206
But that's overkill for this bend :D If there was a curve node with 4 2D inputs for p0,p1,p2,p3 I would implement it since as you animate those points you can define the bezier curve.
I thought about doing it right in ICE like I did in code. But search algorithms are not great in ICE due to poor looping capabilities.

Cheers

User avatar
FXDude
Posts: 882
Joined: 19 Jun 2012, 21:59

Re: pb_BendSet

Post by FXDude » 07 Sep 2015, 21:25

Indeed the falloff parameter seems to quite effectively address any sharp bend start/end points.

But I think I meant more "artistically" speaking, or to have the ability to more or less slowly or gradually go into the deform before the bending becomes (exponentially) more prominent, or to have very gradual 'ease-in' and 'ease-out' of the effect.

I understand and agree with curve profiles not being animatable, and concerning that :
how about using a gradient node (color gradient defaulting to linear from 0 to 1) which you can insert divots which have both animatable values AND position on the ramp, and using that to modulate the effect? (or have otherwise arbitrary profiles)

Like this,
Image

which would more or less be the equivalent of this:
Image



Concerning search algorithms,
probiner wrote:I thought about doing it right in ICE like I did in code. But search algorithms are not great in ICE due to poor looping capabilities.
It reminded me of this (by Pooby) if it would potentially be implementable?
(from Resource dump thread, and also on RRay)

Post subject: Get Closest Filtered points
A compound that gets ONLY the closest points in the current pointcloud/geometry that have a »true« boolean. It's much much faster than rifling through arrays. Hopefully someone will find this useful. It works by temporarily moving the filtered points up and away on the Y axis, then the remaining points look in the area where the filtered ones got moved to. Then filtered ones are moved back to their original location. The temporary moving of them is nothing to be concerned about because you wont see it and it doesnt affect simulation.

In any event, even without any of that, I think the falloff parameter (or as shown in one of your shots, delving in the compound to set different profiles) would be more than sufficient for the large majority of cases.


BTW, everything in that video is nothing short of awesome! You have great talent my friend!



Cheers,

User avatar
probiner
Posts: 126
Joined: 17 Apr 2013, 11:52

Re: pb_BendSet

Post by probiner » 01 Oct 2015, 03:37

Hi FX Dude.

For the gradient. No unfortunately a gradient is not the best way to "draw" a shape, but cause you have 0 control over the interpolation. So if you have two keys only you get sort of a plateu spline interpolation, but if you have 4 like in your image this is what looks like:
Image

While you can have a curve that does the same you can't have a gradient doing the same as a curve, especially if you don't have handle controls per key or parameters like TCB.

Well indeed i could use a technique I found out with the help of pooby, of generating 2 big sample arrays, on the input array, the other the solution array, so basically a lookup table where you find the closest value in the input array and return the value with the same index in the solution array. But that requires you to compromise precision, plus this was for code, so I wasn't interested in have 2 huge lists in python to do that, plus the list values are fixed. So, bahhh :D
Image

Anyways I do wish for a more "drawing" ability to control the falloff. IF this was only a modeling tool I would have slapped the profile curve without a problem.


Thanks for the kind remarks man :) Always welcome, especially when one is looking for a job :P

Thanks for the discussion and sorry for the very late reply.

User avatar
probiner
Posts: 126
Joined: 17 Apr 2013, 11:52

Re: pb_BendSet

Post by probiner » 11 Oct 2015, 10:19

Today was working a bit of code that touched thisa and thought it would be nice share.

Image

So the fallofs compound are like curve filters. I put in x and I get out y. The issue with Bezier Interpolation is thar you are not putting in x but t and getting x and y in return. So you have to do a search for the x you would normally use and after the search is done return the matching y. Otherwise with a straight use of blerp, you're not just changing just a specific coordinate or plane but all coordinates as (t) has no ties to x and y, as you actually get both coordinates outputing curves if (t) is a linear array:

Image

The search part can be avoided if you do a 3D surface and raycast on the Y axis. But it's not as clean as a self contained compound.

Cheers

User avatar
FXDude
Posts: 882
Joined: 19 Jun 2012, 21:59

Re: pb_BendSet

Post by FXDude » 12 Oct 2015, 17:22

Hi sorry I missed your post, indeed pretty neat for arbitrary and animatable curve profiles, congratz! :ymcowboy:

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest