据我所知,LUT意在应用于颜色通道(RGB),因为我们正在进行颜色空间转换。但Nuke的查看器LUT设置也会影响alpha通道。我知道查看器LUT不会改变原始像素值,只会根据LUT设置设置显示它们,但是我们不应该在alpha通道上工作时关闭查看器LUT吗?比如拉一把钥匙或做roto?
我们不应该在线性色彩空间中查看alpha吗?我在这里错过了什么吗?
答案 0 :(得分:2)
你是对的,NUKE Viewer的LookUp Table根本不会改变alpha,但会影响它。您需要使用查看器的f/8
(乘数)滑块和y
(伽马)滑块来更改您键入时的Alpha外观。 NUKE的工作色彩空间为 LINEAR ,但默认 monitor
,8-bit
和16-bit
文件的LUT设置是 superRGB 更正:
阅读有关NUKE色彩空间和色彩转换的文章:HERE。
为了补偿sRGB gamma以获得线性工作色彩空间,NUKE使用镜像gamma:
您可以随时更改任何默认LUT设置或关闭Alpha通道(或rgb或您想要的任何频道)。
执行此代码,然后使用 ctrl - i 快捷方式创建新的Viewer节点( cmd - i on一台Mac):
import nuke
# to change Viewers' properties globally
nuke.knobDefault('Viewer.channels', 'rgb')
nuke.knobDefault('Viewer.viewerProcess', 'rec709') # use rec709, for instance
你会得到这个:
或者只是执行Viewer1的代码,将viewerProcess
更改为None
(线性颜色空间):
nuke.toNode('Viewer1').knob('channels').setValue('alpha')
nuke.toNode('Viewer1').knob('viewerProcess').setValue('None')
# then add these 3 lines to menu.py file (they'll work after restart)
nuke.knobDefault("Root.monitorLut", "linear") # monitor LUT
nuke.knobDefault("Root.int8Lut", "linear") # 8-bit files LUT
nuke.knobDefault("Root.int16Lut", "linear") # 16-bit files LUT
此外,要对您当前的LUT进行物理转换,您可以使用OpenColorIO LUT
工具栏菜单中的3D LUT
和Color
个节点。
关于Pixel Analyzer面板的几句话:
Pixel Analyzer面板中的 Current
,Min
,Max
,Average
和Median
操作将应用于下拉菜单中的任意频道。如果您只需要alpha值或仅rgb
值,只需从菜单中选择它即可。
但是。如果您将使用rgba模式,那没有错。核实。将Keyer节点应用于图像,您将看到RGB值是否与alpha相同(但仅当rgba未预乘时)。
而且很难过,但Pixel Analyzer面板仍无法通过Python访问API 。