分享

[转载]C4D LWF(线性工作流程)

 Aspire_7 2017-05-09
神马是LWF

Linear Workflow是C4D中新加入的一个特性。在R12之前想要实现这个功能需要通过第三方插件来实现,譬如DeGamma。
这篇文章的目的是解释“”Linear Workflow“背后的概念。以及正确的方法,使用什么文件格式才能使你在工作中更好的利用它。
以下的内容来自一篇十分有用的文章,作者是Philip Losch。Philip是一位才华横溢的C4D专家。
在这里我要感谢Philip让我使用他的材料。
为什么要使用”LWF“?

现在的显示器,并不能完全还原颜色本来的”面貌“。我们来看一个例子。
[转载]C4D <wbr>LWF(线性工作流程)


下面的这两种颜色 那一种更接近于上面?
答案肯定出乎你的意料:不是右边的那个。左边那个更加接近—-当然,取决于你的显示器。为什么出乎你的意料呢,我们把图像放大一下。
[转载]C4D <wbr>LWF(线性工作流程)



图片放大600%后
上面是黑白像素组成的图案,左下方是75%的灰色,右下方是50%的灰。
那么,难道0%黑和100%的白  混合在一起不应该更接近50%的灰吗(右下方),难道(0%+100%)/2=50%错了吗?
不幸的是 显示器并不是这样工作的。它们并不是”线性“的显示颜色。在显示器上,0%和100%的中间值不是50%。显示器会使用Gamma曲线来处理输入信号(实际原理更加复杂,我们暂且先这么理解)。
[转载]C4D <wbr>LWF(线性工作流程)



从左到右是图像输入的颜色。从上到下是实际显示的颜色。所以,如果图像的颜色是50%的灰,实际显示的却是18%左右的灰。想要显示50%的灰,你需要图片是75%的灰(红线)。
刚才提到过,实际情况更加复杂。显示器有一个叫做”‘color profiles“的东西。color profile的作用就是”定义这条曲线“—–当然这条曲线不只是”灰度曲线“这么简单,而是R,G,B曲线综合的影响。color profile无所不能,譬如,它可以把红色替换为50%的绿,它可以把红色和绿色添加到蓝色里面去。因此,同一张图片在不同的设备上会看起来相差巨大,为了解决这个问题,很多图片格式都会内置一个color profiles。
现如今,绝大多数图像都会内置一个叫做sRGB的color profile。sRGB看起来大致就像上面的图像中的曲线,独立地影响RGB三部分。
那么,为什么不让显示器”线性的“显示颜色,这样我们不就能看到图像本来的样子吗?用什么color profiles不是犯傻吗?答案可以是yes,也可以是no。不幸的是,我们人眼对于光强的感受也不是”线性的“。对某一区域的强度,我们的更加敏感。
如果颜色的分辨率可以无限的大,那么这个问题也不会存在(浮点 或者HDR方式显示),但是显示器很多技术只能以8bit没通道来显示(或者有时候医学显示使用10bit)
我们无法超越现有的技术,我们必须找到更好的解决方法。实际上,也的确有办法使用软件来修正这个问题—–这就是Linear Workflow的作用。
不使用Linear Workflow渲染会出现如下问题:灯光衰减不自然,颜色混合不自然。当然,艺术家可以通过添加灯光,衰减,颜色等等来进行补偿,但这不是万全之策。

LWF是怎么工作的

c4D对此十分”傻瓜化“—-一键解决。新版本中,当你新建一个场景时,Linear Workflow是默认打开的。如果你好奇这个”按钮“在哪里。打开工程预设(ctrl+d或者通过编辑菜单).
[转载]C4D <wbr>LWF(线性工作流程)



下面这张图帮助你理解内在的工作原理,尤其是你需要把渲染出的图像导入其他软件中,明白原理更加重要。我们集中注意力看一下下图上面的路径。
[转载]C4D <wbr>LWF(线性工作流程)



LWF分三步工作:
第一步:在渲染”assets“之前(assets其实就是任何颜色,位图 以及附加信息)将他们自身的colorspace(colorspace)(如果自身没有
colorspace,就默认按sRGB进行转换)转换为线性colorspace。
第二步:渲染引擎会在线性colorspace中进行所有计算。
第三步:渲染的图像从线性colorspace转换为用户选择的colorspace。如果图像格式允许 ,就会把colorspace内置到图像里。
当然也有例外:如果你的贴图或者颜色是一个bump channel,alpha channel,normal channel或者displacement channel等,我们需要保持图像的“原汁原味”。原因如下:一些其他软件,譬如ZB,用图像来存储高度信息(譬如,黑色代表0m高度,白色代表100m高,50%的灰代表50m)
你也可以这样理解:那些不直接影响材质颜色的通道(bump and normal channels只影响灯光,alpha通道切除图像的部分区域,displacement通道改变高度)不需要经过第一步。
下面用具体的例子来说明:
第一步:一个球体的材质是一张8bit的图像,没有内置color profile
因为这张图片没有color profile ,所以C4D默认使用sRGB(最常见的color profile)
我们假设这个球体的材质是75%的蓝。
C4D现在把sRGBcolorspace转换为线性colorspace。所以75%就变为50%。
第二步:C4D线性的计算所有灯光(这就是为什么所有图像都如此卓越,因为没有了颜色的“扭曲”)
我们假设一个像素是50%的亮度。所以50%*50%=25%我们得到25%的蓝。
第三步:完成计算的图像转换为输出的color space,在这个例子中应该还是sRGB。在经过曲线的转换后,原来25%的蓝色变为大约56%的蓝色。
所以,这个像素最终的结果是56%,但是传统的渲染方式却是75P%=37%
学会了使用Linear Workflow,你就可以快乐的活在这个世界上了?

先别着急!如果你认为我们只要搞定硬件就OK了,那就错了。不幸的是我们还要对付软件。想要大多数软件都能轻松的对付colour profiles,
Linear Workflow等,还要很长时间呢。
幸运的是,C4D,AE,PS(以及几款流行的合成软件,譬如Nuke)可以很好的结合在一起——只要你选择了正确的设定。
我们一步一步的看看如何操作。
1)windows和Mac

操作系统对于colour profiles有一些支持。OS X可以很好的识别图像的colour profiles,windows7可以识别某些格式的colour profiles,旧版本的windows不能识别colour profiles。最好使用C4D自带的图像查看器来看图—–因为它完全支持colour profiles。如果你看一下View菜单,会看到有一个选项让你选择是否识别图像的colour profiles。选择Information 标签,可以看到图像内置的colour profiles被识别了。
[转载]C4D <wbr>LWF(线性工作流程)



2)图像格式

很多图像格式不支持内置colour profiles。当你使用sRGB colourspace(大多数软件默认的colourspace)渲染图像时,没什么问题。
但是同时使用LWF和多通道渲染时,图像的colour profiles必须是linear,问题就来了。
在C4D中,你可以选择需要的Colour Profile,在“渲染设置”—“保存”选项下。
[转载]C4D <wbr>LWF(线性工作流程)



选择一种支持colourspace信息的图像格式,除非:
你渲染一张普通的图片到sRGB colorspace
你多通道渲染,但是没有激活Linear Workflow
你多通道渲染,不过你知道怎么在后期软件中进行调节
下面的图像格式不支持colourspace信息:
BMP
DPX (8- and 16-bit)
OpenEXR (8- and 16-bit)
IFF
RLA
RPF
TGA
Quicktime xxx (xxx = any format)
AVI Movies
Quicktime Movies
3)32-bit 图像

使用32bit的图像还有一个特别的好处:32bit的图像总是以linear colourspace保存。C4D会自动进行识别。如果你选择输出32bit的图像,colour space选项会变成不可选。因为32bit默认使用linear colourspace。
4)PS CS4 以及更高版本

PS读取/输出普通的图像没有任何问题。Single-File Multipass images也可以正确的处理,只有一个例外:如果你渲染32bit的图像没有Linear Workflow,PS就不能正确的合成???这是因为上面的提到的32bit图像的一个局限性:不包含colour profiles
5)AE CS4 以及更高版本

最重要的设定是在project settings中的Linearize Working space。
[转载]C4D <wbr>LWF(线性工作流程)



如果你使用LWF从C4D中渲染,这个选项应该勾选。反之关闭。
原因是:多通道需要在后期软件中进行合成,所以只有渲染引擎和合成软件的计算方法一致时,才能正确的工作,换句话说就是,两者的colourspace必须是一样的。
当你打开AE中的Colour Management后,选择素材,会在工程窗口上面显示Colour Profile。你可以从这里确定Colour Profile是否读取正确。
[转载]C4D <wbr>LWF(线性工作流程)



为了避免问题,尽量使用16-bit或者更高的色彩通道信息。因为multipasses会涉及多层图像,然后把结果转换到监视器,所以8bit一般不够用。
对以一些特殊通道,譬如UVW,法线等等。激活Preserve RGB(保护)选项,在Interpret Footage对话框中,确保他们不受color profile的影响。
[转载]C4D <wbr>LWF(线性工作流程)



这样你就有了LWF,在C4D和AE之间。希望这篇文章对你理解LWF有帮助。再次感谢Philip Losch的资料,感谢他允许我把这些资料发布在这里。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多