【译】毛皮渲染前沿研究:更加真实地表现毛皮毛绒绒的质感

发表于2015-12-30
评论4 2.9k浏览

毛皮渲染前沿研究:更加真实地表现毛皮毛绒绒的质感

 翻译源网址:http://www.4gamer.net/games/032/G003263/20151105072/ 侵权删

 2015年11月2日到5日在日本兵库县的神户展馆召开计算机图形学学会-siggraph asia 2015,其中一篇演讲介绍了毛皮渲染相关研究。由伯克利大学的Ling-Qi Yan演讲的演讲题目“Physically-Accurate Fur Reflectance: Modeling, Measurement and Rendering”。

 最近在游戏中登场的角色的毛发已经发展的相当真实。在其中使用的Kajiya-Kay算法模型处理方式可以说已经是必不可少的吧。还有加入毛发内部的反射和折射的Marschner算法模型在最近的游戏demo中有所使用。但是如果要说这些算法模型能否在动物的毛皮上也能使用的话,讨论的结果是不行的。


 人类的头发表现效果已经飞速进步到如此了

 为什么说Marschner算法模型还不全面的,原因是各种毛发的构造是不相同的。 

 毛发是由表面的角质层、皮层,发芯部分的发髓构成,而人类的头发的情况有些不同,发十分细小(有些情况下也可能没有发髓),Marshner算法模型进行模拟的时候并没有将发髓层加入考虑。

                                     毛发构造

 那么动物的情况是咋样呢? 结论是动物的发髓层是相当粗大的,角质层也是很厚的。这样的话发髓的透射光产生的影响就不能够忽视。

 在这次的研究中,将毛发定义为2个嵌套的圆柱,希望能够更加真实地反映发髓产生的影响。

 根据毛发的构造,改变计算内容。Marschner算法模型的情况:

 表面的反射光 R

 透射到内部的光 TT

 透射到内部然后在内部表面产生的反射光 TRT 

 将上述的光照计算表现毛发的状态。看不懂图片上的标记的人,将反射记为R,透射记为T试试。

   Marschner算法模型和这次的算法模型的不同对比 

 与marschner相比,由于这次的算法模型加入了两层的毛发构造,除了R,TT,TRT光照,还加入了TttT,TrT,TtrT,TttRttT等光照状态。顺便提下小写字母表示发髓的反射.透射。

  除此之外,TtrtRT等各种状态可以容易想象到。

 下面这张幻灯片图片展示了对各种动物的毛发分析的结果。在测量的时候将毛发竖着摆放接受光照,然后在水平方向测量分散的光照。水平方向上从0-180度,竖着的方向10-50度的范围测量。观察分散的光照的状态,可以发现随着角度的变化光照有一定规律。


从上到下:(猞猁)山猫,猫,鹿,狗,老鼠。左边是实际测量结果,中间是模拟结果,右面是实际渲染结果


    从上到下:兔,浣熊,赤狐,跳铃(和鹿相似的牛科动物),人类 

 前面两张图表现了随着动物的种类不同毛发特性也相应变化。将这些特征参数化表示在下表:


 若能够将这些参数进行模拟,就能将各个不同特征的毛皮进行渲染。但是老实说可以想象得到需要进行相当复杂的计算。所以我们事先将散射的成分做成参数表格,实际制作时进行参照。

 期待已久的结果如下:


 狼的渲染例子:160万根毛发(7个关节)。渲染一帧花费1个多小时


 本次提出的算法渲染的条纹松鼠


 Marschner模型渲染的结果


猫的皮毛,将发髓的大小改变产生的对比例子


同样的猫咪,改变散乱系数的对比例子 

可能是由于发髓的反射,散射成分变多了,发现整体的毛糙感有所增加。结果表现出了更加艳丽的毛绒绒的效果。

实时渲染化和例外部分的处理,确定更加有效率的散乱表现将作为今后的课题。现在由于处理太复杂可能难以用于实时处理,但我们期待不久后再实时渲染中得到应用。

确定了这样的处理方式,动物的表现将更加真实,不仅在游戏中,虚拟宠物、动物园也可以实现各种牛逼的玩意儿吧,今后的研究真是值得期待。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引