Jump to content
Behrendt

Sidewalks - PathDeform?

Recommended Posts

Hi all,

I'm new to Houdini, so please forgive me if this has been asked 1000 times before (search function didn't return anything useful - although I might not know what terms I have to search for).

I have to generate sidewalks for a city. I've been fiddling around for 2 days now and have aquired a somewhat semiusable result with the Pathdeform node. I'm basically sweeping a prefab curb along the curves of my sidewalk outlines. Now my problem is obvious - blending tangents/using point attributes creates a smooth result, but unrealistic. Without blending I have overlapping polys. Sadly my sidewalks don't conform to a grid, have terraing heights etc, and have all sorts of different shapes, so detecting corner pieces for a modular approach probably also won't be an option.

I also tried voxel meshing the overlapped result and ran Instamesh on it, in order to try to attribute transfer the UV coordinates - which worked somewhat, but sadly in the overlapping regions there expectedly are problems.

Although my problem is most likely in my general approach and nothing a checkbox or slider will be able to fix, hopefully someone can give me a few pointers :)

Thanks in advance!

 

using_pa.png

without_pa.png

Share this post


Link to post
Share on other sites

Hi,

if you want to use a path deformer, you can bevel each curve point circular. Unfortunetly there is no inbuild solution yet (afaik). Make sure, that the object width corresponds to the curve radius, the radius should be slighty bigger than the half width of the obejct. Here is an example using a path deformer and a round tool (VEX).

path_deform_along_circular_beveled_path.hipnc

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks @Aizatulin for your input! Your solution is very elegant and provides clean results. I think the only problem for me would be, that the curves I use as input are based on real world data and often can't be smoothed that much without diverging too much from the original data.

Also I I'm not dead set on using the PathDeformer at all. My previous experience in modelling is in Cinema4D and I basically just tried to recreate the solution we used previously for this - but of course it has the same underlying problems in Houdini. 

After sleeping on it for a night I now tried a completely different approach which delivers quite good results so far. 

I basically take the outline of the curb, sweep it inwards for a small increment (50cm e.g.), then check for intersecting geometry with raycasts, fuse the intersecting points, then taking the new inside edges of the geo, convert it to a new curve, and repeat the process. It yields good results, there are just some stretched UVs here and there, but I think I can live with that! And I think with a bit more tweaking I could even get rid of those somehow.

This was a great learning experience, as it's the first time I feel I've used Houdini "properly".

 

2021-02-22_131910.jpg

  • Like 1

Share this post


Link to post
Share on other sites

You can also try polyexpand2d (if not already done), but it is only working on planar curves (which is not a problem, since you can project your curves onto a plane and project them back after it, if the curves aren't too distorted). It is also working with intersections (Intersection Stitch can be used before ~ depending on cases). Once you have this you can use the input curves to calculate uv-coordinates. 

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

×