Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

samvac

CURVE WIDTH TAPER

Hi 

Hope all is well,

I have matra rendering curves using attribute create width, but i was wondering is there a way to have the lines taper towards the ends ?

any help would be amazing.  Thanks for your time

Sam  

FIND_POINTS_CURVE.hipnc

Share this post


Link to post
Share on other sites

There are several ways of doing it

This one in particular uses the point number to control the width

nmqhH1N.png

 

The polywire is the default one, just put "$WIDTH" in the "wire radius" option. The function "npoints" just returns the amount of points in some geometry, in this case, the first input (designated by the 0 there). The "(float)" part is just because Houdini wasn't being nice with the division without it 

 

 

 

Share this post


Link to post
Share on other sites

This is how I usually do it:

UVtexture in row/column mode to create a uv value (on points for this usecase) along the curve and then a pointwrangle to create a Base_Width value and a Width_Ramp for the tapering. I also put in a colour gradient using the same technique:

TaperCurve.jpg

Cheers,

Tom

FIND_POINTS_CURVE_Tom.hiplc

Share this post


Link to post
Share on other sites
9 hours ago, vtrvtr said:

There are several ways of doing it

This one in particular uses the point number to control the width

nmqhH1N.png

 

The polywire is the default one, just put "$WIDTH" in the "wire radius" option. The function "npoints" just returns the amount of points in some geometry, in this case, the first input (designated by the 0 there). The "(float)" part is just because Houdini wasn't being nice with the division without it 

 

 

 

Thanks for help, really appreciate it :) this is a great option.  nice 1  

Share this post


Link to post
Share on other sites
9 hours ago, Thomas Helzle said:

This is how I usually do it:

UVtexture in row/column mode to create a uv value (on points for this usecase) along the curve and then a pointwrangle to create a Base_Width value and a Width_Ramp for the tapering. I also put in a colour gradient using the same technique:

TaperCurve.jpg

Cheers,

Tom

FIND_POINTS_CURVE_Tom.hiplc

Thanks Tom 

This is exactly what i was looking for !  Amazing :)  

Share this post


Link to post
Share on other sites
1 hour ago, samvac said:

Thanks Tom 

This is exactly what i was looking for !  Amazing :)  

 

1 hour ago, samvac said:

Thanks for help, really appreciate it :) this is a great option.  nice 1  

 

11 hours ago, Thomas Helzle said:

This is how I usually do it:

UVtexture in row/column mode to create a uv value (on points for this usecase) along the curve and then a pointwrangle to create a Base_Width value and a Width_Ramp for the tapering. I also put in a colour gradient using the same technique:

TaperCurve.jpg

Cheers,

Tom

FIND_POINTS_CURVE_Tom.hiplc

Can i ask you, how you started out learning vex / code  ? I'm really keen to learn but seems quite daunting !

Share this post


Link to post
Share on other sites

I only started last September with Houdini but I do 3D for 20+ years, so YMMV.

I found the Entagma videos very helpful to get into VEX, they are clear and to the point and explain what they are doing and why. Start with the old ones though, newer ones assume more.
With learning coding as such I can't help much, since I started so long ago, that my meandering path through Amiga shell scripts, Visual Basic, C.O.F.F.E.E., C, Actionscript, C++, Javascript, Processing etc. isn't really something that would help you. Basically I would say, learn one language halfways well to get into the basic thinking of programming but don't get stuck. From there, learning a new one is more about syntax and structure, the basic thinking is the same.
VEX is okay to start with. It's rather close to the overall syntax standard of many languages with only some smaller things being unusual. So if nothing else tickles your interest, go with it, play around, make a lot of errors, hunt bugs for days on end, get annoyed like hell, then solve it anyway. ;-)

Nodes are awesome, but I really love how Houdini allows to interweave Nodes and Code, since some things are done so much more to the point with some lines of code. You can see that especially well in VOPs, where even the most trivial stuff becomes a huge pile of nodes fast...

And: Don't see it as daunting. Just start somewhere and if you love what you are doing, it will come with time.

Cheers!

Tom

Edited by Thomas Helzle

Share this post


Link to post
Share on other sites
10 hours ago, Thomas Helzle said:

I only started last September with Houdini but I do 3D for 20+ years, so YMMV.

I found the Entagma videos very helpful to get into VEX, they are clear and to the point and explain what they are doing and why. Start with the old ones though, newer ones assume more.
With learning coding as such I can't help much, since I started so long ago, that my meandering path through Amiga shell scripts, Visual Basic, C.O.F.F.E.E., C, Actionscript, C++, Javascript, Processing etc. isn't really something that would help you. Basically I would say, learn one language halfways well to get into the basic thinking of programming but don't get stuck. From there, learning a new one is more about syntax and structure, the basic thinking is the same.
VEX is okay to start with. It's rather close to the overall syntax standard of many languages with only some smaller things being unusual. So if nothing else tickles your interest, go with it, play around, make a lot of errors, hunt bugs for days on end, get annoyed like hell, then solve it anyway. ;-)

Nodes are awesome, but I really love how Houdini allows to interweave Nodes and Code, since some things are done so much more to the point with some lines of code. You can see that especially well in VOPs, where even the most trivial stuff becomes a huge pile of nodes fast...

And: Don't see it as daunting. Just start somewhere and if you love what you are doing, it will come with time.

Cheers!

Tom

Thanks for the info Tom, Im looking forward to digging deeper in vex.  

take is easy 

sam

Share this post


Link to post
Share on other sites

Hey Tom, 

Saw your render on twitter, looks great :)  did you use the setup we have been discussing, its so addictive !  Im producing some nice images I'll up load for you to have a look at 

Nice 1 

sam

Share this post


Link to post
Share on other sites

Thanks Sam :-)

Yeah, it's a similar setup, but the shader is derived from this thread:

Where MENOZ showed a way to render curves very very fast. I extended his shader in the meantime a bit to also cater to points and I always use it when I want a more "graphic" look without actual 3D shading. It's a great basis for experimentation with very reduced shading.

I work with shortest walk (Grasshopper) and shortest path (Houdini) for quite a while now and really love what it allows me to do. This tutorial by Animatrix recently opened my eyes on how to be able to do even more "directable" paths by simply painting them in: 

 

Although I usually use a convert node instead of resampling, since I prefer using NURBS curves and love their smoother look (and you can render them directly as well in Mantra).

Cheers,

Tom

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now