加载中…
个人资料
Wingedtiger
Wingedtiger
  • 博客等级:
  • 博客积分:0
  • 博客访问:47,599
  • 关注人气:306
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

LayerShader的一些研究

(2016-07-27 10:42:48)
标签:

arnold

shader

layershader

层材质

分类: arnold
由于近来工作需求,了解了下关于LayerShader的一些工作原理和使用技巧,大部分从业者使用LayerShader应该是出于材质混合的使用,在混合模式上通常只使用Photoshop里面的Normal合成方式,然后用一张黑白图去控制混合区域,俗称Mask。
这种使用方法无可厚非,非常灵活并且省时省力,为什么这么说喃,因为这种合成方式只是将输入端的shader的RGB值进行了合成,而且这种合成方式本身就忽略掉了很多shader内部计算(光照计算方式等等),这种简单粗暴的合成方式,看起来很正确,其实是经不起推敲的,因为一旦我们使用bump或者displacement时,还能认为这种方式是正确的吗?为了阐述这个问题,笔者制作了一个简单的场景,并且使用Arnold渲染器和默认的材质球来进行说明。
场景很简单,如下图所示:
LayerShader的一些研究

      使用两套shader分别指认,左侧使用正常的layershader方式,如下图所示:
LayerShader的一些研究
 
右侧指认如下:
LayerShader的一些研究

两套shader,只是在layershder的输入输出控制上有一些变化,其余材质的参数都保持一致性。
目的,使用一个checker1控制材质的混合区域,案例中颜色方面只是混合了红和蓝,当checker1只有黑白值时:

LayerShader的一些研究


渲染结果如下图:
LayerShader的一些研究
Beauty

LayerShader的一些研究
Diffuse

LayerShader的一些研究
Speculiar

LayerShader的一些研究
N
 
你会惊奇的发现,好像没有什么嘛!!!结果一样啊!!!(忽略掉diffuse层颜色问题,主要看specular),好了,问题来了,这种情况只是因为我们并没有使用到灰色值去控制混合,因为上面的计算连插值都没用上,只是一个mask好吧。
下面,我们修改下checker1的color1为0.5:

LayerShader的一些研究

 
渲染结果如下:
LayerShader的一些研究
Beauty

LayerShader的一些研究
Diffuse

LayerShader的一些研究
Specular

LayerShader的一些研究
N

结果很明显了吧,这里还想想说明一点的是,并非右侧的结果就是正确的,因为Bump的混合方式也未必是正确的,这个问题,会在另外一篇文章里进行讨论




0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有