作者chordee (音乐盒vs垃圾桶)
看板Digital_Art
标题Re: [ 3D ] MAYA的nHair问题
时间Fri Dec 20 16:51:18 2013
※ 引述《posen2012 (posen)》之铭言:
: 使用软体:Autodesk MAYA2013 64x
: 版本:2013
: 附加使用软体:N
: 问题描述:
: 我使用nHair去制作头发
: 我将模型长毛的区域独立出来成为一个面片
: 在面片模型上对面Create hair
: 这种方式很顺利
: 会在模型上产生毛囊节点(follicle shape)和曲线,然後这些节点会同时跟产生出来的
: hairsystem shape做连结最後连到
: pfxHair Shape变成我们所看到的毛发
: 而这些毛囊跟我们的面片模型是有连结关系的,当你移动模型或者对模型上的点做位移时
: ,毛囊自然也会跟着移动,
: 如此一来做表情是OK的,因为只要针对面片去做变形就可以让毛发也改变位置。
: 不过有时候我们直接对模型使用Create hair,所产生出来的曲线有时候调整非常费时,
: 所以常常会使用CV或EP curve 自己去画出曲线的路径然後对这些曲线赋予一个
: hairsystem shape去产生毛发,
: 可是这样一来我就遇到了一个问题,
: 自己用曲线产生出来的毛发,他的毛囊节点并不会跟模型做连结对应而且毛囊的位置也不
: 在模型上,
: 也就是说即便你移动这些面片模型,这些你用曲线产生出来的毛发,他们也不会受到影响
: ....
: 我有尝试将这些曲线所产生出来的毛囊节点一个一个跟模型做连结
: 模型节点的worldMatrix[0] --> 毛囊节点的inputworldMatrix
: 模型节点的ouputMesh --> 毛囊节点的inputMesh
: 可是连完之後发现,这些曲线的毛囊仍然不会跟着模型走....
: 抱歉我表达能力可能不是很好
: 我只是想要问:
: 「自己画的curve产生毛发後,如何让这些毛发会因为模型的位移或变形也跟着位移、变
: 形? 」
: 已尝试过方式:
: 将新曲线所产生的毛囊节点与模型节点相连,但失败。
我之前的做法比较硬干
我并没有先做haisystem而是先搞定那些curve线
curve的方向如果正确的话 curve.ep[0] 应该是线上最接近模型的一点
利用这一点的座标和closestPointOnMesh可以得到follicle应该获得的UV位置
follicle是可以自己用mel建立的:createNode follicle
mel做的事大概就是
建立follicle并且连结模型
找到curve.ep[0]的位置 (pointPosition)
利用closestPointOnMesh把follicle放对位置
再把curve线parent到follicle底下
写得好一次就可以把全部curve搞定
然後再对curve线做hairsystem
这样做的缺点是会有两组follicle
容易搞混
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.96.203
1F:推 odanaga:不明觉厉 12/20 22:51
2F:推 posen2012:感谢大大提供经验! 12/21 02:12