我想读出相机的Z-buffer,并将其作为图像渲染。
我可以通过以下代码来实现它:
--Place the z camera
z_cam = freecamera name: "depth" position:[0.0,0.0,50.0] rotation: (eulertoquat (eulerAngles 0 0 0))
z_name = "mybitmap.png"
--get z buffer
rbmp = render outputsize:[512,424] channels:#(#zdepth) vfb:off camera: z_cam
z_d = getchannelasmask rbmp #zdepth outputfile:z_name
z_d.fileName = z_name
save z_d
close z_d
但是,这将使图像作为24位PNG保存,带有3个通道(每个通道8位)。我希望将其保存为灰度图像,在该图像中,我将16位用于像素表示。如何使用Max-Script实现这一目标?
您是否尝试过事先调用pngio.setType #gray16
?
另外,用zdepth通道保存到EXR并使用。