pyrochlore Posted November 4, 2012 Share Posted November 4, 2012 Hello~ Recently I try to use Fur node with guide curves from other application and do some dynamic simulation. I found I cannot use these guide curves to guide the growth of fur node. Please see the attached file. while using internal created test curves (set obj/test/switch2 to 0), the fur node works ok. Using curves from other app (set obj/test/switch2 to 1), the fur node tells me "two sources have unmatched geometry". I have checked the number of points on each curve is the same. I also try to add guideorigin to my curves.(in /obj/test/foreach1/attribcreate__guideorigin) With the guideorigin attrib added, no warning ocuurs in Fur node but furs are not guided. I also found in the case of internal test curves, we do not have to set quideorigin and the fur node works. I really don't understand what the "unmatched geometry" means and how the guideorigin attrib works in Fur node. Please give me some suggestion to figure this out. Thanks. curves.zip problem.hip Quote Link to comment Share on other sites More sharing options...
Annon Posted November 4, 2012 Share Posted November 4, 2012 I was working on this a while ago, can't remember exactly how far I got, but I'll hunt out my scene tomorrow for you. I could generate more curves I think from the guides and get them to animate, but I think there was some issues still remaining. C Quote Link to comment Share on other sites More sharing options...
fayal Posted November 4, 2012 Share Posted November 4, 2012 hi Hsuan Hao Chang, in this file you dont have the same number of points and primitives also in your curve from other software and internal test curve. that is the problem. if you try one simple test and you make wire blend enter this twoo nodes also they dont work . Quote Link to comment Share on other sites More sharing options...
pyrochlore Posted November 4, 2012 Author Share Posted November 4, 2012 (edited) hi Hsuan Hao Chang, in this file you dont have the same number of points and primitives also in your curve from other software and internal test curve. that is the problem. if you try one simple test and you make wire blend enter this twoo nodes also they dont work . Hi fayal, Thanks for your replying. Actually I did the resampling in "/obj/foreach1/resample1" before they enter the input of fur node. All curves here should have the same number of points. So here the number of points in each curve shouldn't be the problem. Edited November 4, 2012 by pyrochlore Quote Link to comment Share on other sites More sharing options...
pyrochlore Posted November 4, 2012 Author Share Posted November 4, 2012 I was working on this a while ago, can't remember exactly how far I got, but I'll hunt out my scene tomorrow for you. I could generate more curves I think from the guides and get them to animate, but I think there was some issues still remaining. C Thanks ChristianW. Also hope the remaining issue can be figured out this time. Quote Link to comment Share on other sites More sharing options...
Annon Posted November 4, 2012 Share Posted November 4, 2012 Yeah it's not just a case of point numbers, think there's some attributes you need to apply to the points to get them in. I'll hunt it out tomorrow and see where I was up too. C Quote Link to comment Share on other sites More sharing options...
johnm Posted November 5, 2012 Share Posted November 5, 2012 hi Hsuan, It's not clear exactly what you're attempting to do but here are a couple of suggestions that might help.... Guide curves need only a guideorigin (primitive) attribute to be used in the Fur Sop. The guideorigin attribute is the point origin of the root of the hair in its static rest position. An easy way to assign this is to use the RestSop to assign a rest position to all the points in your guides (from static non-deforming guides onto your animated guides), and then use an AttribPrmote Sop to promote the "rest" attribute, a point attribute, to a primitive attribute using "First Match". Rename "rest" to "guideorigin" while you're at it. The guideorigin is used in measuring the distance to each hair root to determine if it should be influenced by that guide curve. The GuideRadius parameter on the Fur Sop works in conjunction with this attribute. In your test scene, the guideorigin attribute was not being defined. The AttribCreate sop in your foreach was bypassed. If you enable it, your error goes away. Secondly, your guide curves were some distance from your fur skin geometry. This forces you to have a huge guide radius before you start seeing any effect from the guide curves on the fur. (Values greater than 13 started showing some effect). Once again, not sure what you were attempting to do here. I thought maybe you were trying to grow fur on the sphere geometry, but you didn't mention that in your first post. Incidentally, that wouldn't work either since your sphere was a Primitive type. You'll need to make it polygonal for the fur to work. hope that helps -j Quote Link to comment Share on other sites More sharing options...
pyrochlore Posted November 5, 2012 Author Share Posted November 5, 2012 hi Hsuan, It's not clear exactly what you're attempting to do but here are a couple of suggestions that might help.... Guide curves need only a guideorigin (primitive) attribute to be used in the Fur Sop. The guideorigin attribute is the point origin of the root of the hair in its static rest position. An easy way to assign this is to use the RestSop to assign a rest position to all the points in your guides (from static non-deforming guides onto your animated guides), and then use an AttribPrmote Sop to promote the "rest" attribute, a point attribute, to a primitive attribute using "First Match". Rename "rest" to "guideorigin" while you're at it. The guideorigin is used in measuring the distance to each hair root to determine if it should be influenced by that guide curve. The GuideRadius parameter on the Fur Sop works in conjunction with this attribute. In your test scene, the guideorigin attribute was not being defined. The AttribCreate sop in your foreach was bypassed. If you enable it, your error goes away. Secondly, your guide curves were some distance from your fur skin geometry. This forces you to have a huge guide radius before you start seeing any effect from the guide curves on the fur. (Values greater than 13 started showing some effect). Once again, not sure what you were attempting to do here. I thought maybe you were trying to grow fur on the sphere geometry, but you didn't mention that in your first post. Incidentally, that wouldn't work either since your sphere was a Primitive type. You'll need to make it polygonal for the fur to work. hope that helps -j Thanks!!! johnm. You are right. Though I have set the guideorigin for each curve primitive, those curves are far from the surface where fur grown. After I move the curves close to the surface, I got all fur guided by my curves. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.