Procedural Modeling: Trouble with Ray SOP & Creep SOP and

   1216   3   1
User Avatar
Member
11 posts
Joined: June 2017
Offline
Hi all,

Somewhat of a noob here trying to make vines creeping up a tree trunk (image A [www.dropbox.com]). I've put together a series of screengrabs along with my .hip file. Project geo peripheral might be a bit too large for attachment so here's a dropbox link: Your text to link here... [www.dropbox.com]

I followed Scott Pagano's tutorial on Lynda, where he sets up the 2d point travel as a CHOP and feeds that into an (old school) ForEach net which holds the Creep node and iterates on a series of points.

In Scott's setup, the geo surface the vines travel along is created by conforming a simple Tube SOP around an abstract base geo using the Ray SOP. Using this as my guide, I tried to do the same by using Ray SOP to wrap Tube around my tree trunk model. Because the trunk leans in a certain direction and has some irregularities in its form, the Ray SOP was having trouble finding what it needs to find to get a good, full wrap all the way up the trunk (image B [www.dropbox.com]).

So, I tried a workaround, where I took the spine line of the tree, Resampled the points, used Copy SOP to clone series of Circles, and then created a surface with PolyLoft SOP. I figured this would line up the normals a little bit better between wrapping geo and tree geo and give the Ray SOP a better chance of finding the surface. Lo and behold this works quite a bit better (image C [www.dropbox.com]) however, now the Creep SOP yields an error saying that the geo surface I'm inputting is "not a surface". What's particularly frustrating is that I had it working for a moment yesterday (was able to generate "creeping" points up the tree surface) but can't recall how my setup was any different from now.

What's happening now is that the Creep SOP is placing its points on only a single primitive in my mesh (prim# = 0). (image E [www.dropbox.com])

I ran a quick test with other primitive geometry objects: a Box, Sphere with top and bottom truncated using a Delete SOP. This was also yielding the "Input is Not A Surface" error in the Creep SOP, and the points were once again bound to the perimeter of primitive 0. It seems the only geo object allowing Creep SOP to let points travel is geo derived from a Tube SOP (image D [www.dropbox.com]). I was wondering if the points' travel ability had anything to do with normal angle, so I cranked down the number of sides to its minimum (3) but the points could still creep and travel around those sharp corners, so I'm wondering if it has to do with how the points are ordered on the surface geometry. Or is it something else entirely - ultimately wondering what separates a recognized 'surface' from a 'non-surface'.

I'd also ask if anyone knows of a better way than Ray SOP to conform a Tube to my tree trunk surface. Ideally, the Y value of each point would stay in place, so the mesh would be made up of evenly spaced horizontal loops, though of course X an Z would move to conform to the target surface.

Preemptive thanks to any responders!

NpF

Image Not Found
Edited by pfistar - March 15, 2021 19:12:56

Attachments:
houdini creep and ray.zip (4.0 MB)

User Avatar
Member
60 posts
Joined: Jan. 2015
Offline
Hello,

I'm not really familiar to this "creep" operator (seems kinda old), but according to the doc, the surface need to be a Nurbs geo.

The geometry of the Source op is crept along the path of the Path op. The path type can be any primitive, but should define a surface (e.g. NURBS surface, primitive tube, etc.)

So instead of the polyloft, you might want to copy nurbs circle, and use the skin operator to build a nurbs surface.
From a quick test, it seems to work here about the vines projection .
Edited by PaQ WaK - March 16, 2021 03:22:50
Gameloft
User Avatar
Member
60 posts
Joined: Jan. 2015
Offline
Beside, as your tree already comes with usable uv's (after a bit of geo cleaning), you might as well use a simple xyz dist to warp a "2d" curves network around your trunk.

Attachments:
xyz.JPG (177.0 KB)
xyz_dist.hipnc (636.3 KB)

Gameloft
johbueg
Member
1 posts
Joined: July 2021
Offline
OP has likely solved this or moved on, but for future users...

I just ran into this problem in the very same tutorial from Scott Pagano.

I solved it quick and easy with a Convert SOP after the Ray SOP:
From: Polygon
Convert To: NURBS Surface

Boom!
  • Quick Links