Jump to content
jim c

Fur and getting guides to work

Recommended Posts

Would help if I put a screenshot of the render!

post-4235-130896919629_thumb.jpg

Share this post


Link to post
Share on other sites

I was setting up a demo file, that covers this, and ran into a snag. When I add in the proto_flowfield SOP, I gety an error:

Invalid attribute specification: "".

I have no idea what this means, I suppose the flow field wants some sort of attribute that's not there? But what is it looking for? If someone knows that would be great then I can fix this and post the file, otherwise I don't know what to do.

My test file with my head geometry doesn't have this problem, so I'm not sure what the deal is. I used a simple ball for the geometry, maybe that's the problem?

Edited by jim c

Share this post


Link to post
Share on other sites

And it gets better! When I tried to load in the hair using this technique in my larger test, that uses the full character model (see above, the same as the hair strips), then I get the same error! So I'm pretty much screwed until this gets figured out.

Share this post


Link to post
Share on other sites

So if anyone want's to take a look at this here's the HIP file. I've created a simple ball, and acalp geometry as well as guides. The fur asset is unlocked for editing, so go in there, and in the guides node you'll see the changes I made. The "proto_flowfield" SOP is where things choke.

hair_test6.hipnc

Share this post


Link to post
Share on other sites

for the flow_field try this

input 1 - your guides

input 2 - carve SOP - optional, just carve the guide a little to remove any hard angles

follow the carve with a point SOP - on the Force tab, Add Edge Force - set to value of 1, then a polyframe SOP - Entity Points turn on Tangen Name and Bitangent Name

the use "edge_dir" for your attribute on the proto_flowfield

so like this:


          GUIDES
             |
             |
            / \
           /   \
           |   carveSOP
           |   pointSOP
           |   polyframe
           |     |
         proto_flowfield

then play with the Kernel Radius and max samples....

HTH

Share this post


Link to post
Share on other sites

the use "edge_dir" for your attribute on the proto_flowfield

"edge_dir" - that was it! All I had to do was fill in the attribute field - I didn't even see that. Doh, I feel like a moron for missing that. In your example what does the polyframe node do? I mean, why use it at all?

Also, you mentioned a script/node/DA that would keep the hair lengths a bit more even - did you ever find that? What would I have to look at to accomplish this?

Cheers and thanks again!!!

Jim

Share this post


Link to post
Share on other sites

Thanks for the great thread, I've learn a lot about using the flow_field.

But my question is, what about if the geometry is moving or deforming, for example if you move or deform the ball on the example that Jim posted the hairs got crazy because flow_filed is distance dependent am I wrong?

Share this post


Link to post
Share on other sites

Hi there, I ran into that too. I'm animating the model using a 3rd part tool, and bringing in the animation into Houdini via MDD. It would seem, if you want to use Houdini DOPs to simulate the hair moving, etc in reaction to the animation, then you need to animate the position/rotation of the guides relative to the model. I made a little test with a sphere, and if I brought the guide geo into Messiah (the animation tool I'm using) and then added that guide geo to the bone deformer, and got Messiah to export out an MDD file for the guides then everything worked. I brought the guides into Houdini, added a MDD SOP to the guides geo, and then let the Wire DOPs run as normal. It seemed to work OK. I haven't tried this yet on the full model.

Share this post


Link to post
Share on other sites

Thanks for the feedback.

That's cool to use a 3rd party tool to do it, but I think that there must be a way to do this inside Houdini, I mean making the manually deformed guides stick on to the geometry would do the trick.

What exactly you do in Messiah that it can't be done in Houdini to animate the guides properly?

Share this post


Link to post
Share on other sites

If you're animating in houdini, then all you should have to do is parent the guides to the scalp/head I think.

Share this post


Link to post
Share on other sites

Yeah, but if I have deforming geometry I need it to also follow the topology.

My main idea is to create guides into rest geometry edit them and then set them to stick to the animated/deforming surface, that would be a great workflow.

Edited by Mzigaib

Share this post


Link to post
Share on other sites

Er, haven't followed this thread but have you looked at using the AttribReorient SOP? See this thread where I have an example of using it:

Share this post


Link to post
Share on other sites

That's really cool, thanks.

But this can work if you use the edit sop, what if I want a set of curves from somewhere else?

Share this post


Link to post
Share on other sites

It's been awhile but I don't think it matters, the Edit SOP was just a convenient means of getting a modified curve for example purposes.

Share this post


Link to post
Share on other sites

I have a problem is extremely similar to jim c's original problem so I felt there wasn't much point in starting up a new thread.

Background info:

So I am working on finishing up a student film along with some of my fellow classmates. So far we have been lighting/rendering in Maya using RenderMan for Maya. This has been a huge headache. The director and I agreed that we should light the remaining sequences in Houdini (version 11) using Mantra. We are really liking the results so far (as well as the comparative ease of use), but we have run into a roadblock. The main charater has hair that was groomed in Maya. We were planning on rendering this separately in Maya and then compositing the hair and the main beauty pass together in post (as we have done in previous films). However, the scenes we need to light in Houdini have reflections in them and thus require that we have something visible. We thought of just having polygon hair that is phantom rendered to catch secondary rays, but this solution ends up causing its own set of problems.

The problem:

So at this point we are trying to get the hair that has been groomed in Maya moved over into Houdini in order to render it along with everything else. Converting it to polygons and exporting it is heavy and impractical at render time. I am able to get the guide curves out of Maya and into Houdini. But once I have them in there I can't seem to get Houdini to use them as guide curves to drive the fur/hair. The Fur SOP and the Fur HDA both give errors of mismatched geometry. I could try to regroom the hair from scratch in Houdini to match the Maya hair, but that seems like more trouble than it is worth, especially when the guide hairs have already been groomed once before in Maya. Besides, it will help keep consistency at this point when we have already batch rendered some of the other shots with hair in Maya.

phrenzy84 mentioned being able to use guide hairs from another program, but never quite explained the details of which attributes need to be created/transfered. Could you go over the general aspects of the process that need to be in place to get it to work? I understand you used blender, but as we are not using that application, I need to principles of using outside guide curve geometry more than the blender specific steps.

Edited by Mister Fidget

Share this post


Link to post
Share on other sites

Here's what worked for me:

Before you begin open up the Houdini Command lines tool. Run "proto_install" at the prompt and follow the directions to install the "SOP_FlowField.inst" (I think it's #11). The restart Houdini.

Create the fur asset as normal. I did this by grouping off a "scalp" section of faces on the head area and then making this it's own Geo object. Make the hair asset attached to this.

Select the hair object and make it editable.

Dive into the hair object and go into the "guides" container. Add a new network like I have attached here. This leaves the existing network with all the VOPs in place to add the correct attributes.

In the fur asset make sure Hairs/Guide "Use Guide" is turned on. I found turning off all the Guard params (set them to 0) helpful as well.

Under Physical, turn on "Use Ramps to COntrol Stiffness". Then adjust accordingly.

Assuming the character is real world dimensions, then a hair thickness of "0.0004" was pretty good for me.

If you look back a few posts I think I posted a complete hip file that showed a network imported guide curves (from an obj file) being applied to fur asset.

post-4235-13136283344_thumb.jpg

Edited by jim c

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

×