我想读出相机的 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 实现这一点?