0

我想读出相机的 z 缓冲区,并将其渲染为图像。

我可以使用以下代码实现它:

--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 实现这一点?

4

1 回答 1

1

你试过pngio.setType #gray16提前打电话吗?

或者,使用zDepth 通道保存到 exr并使用它。

于 2017-09-12T15:57:49.497 回答