2017-09-12 5 views
0

私はカメラのzバッファを読み込み、それを画像としてレンダリングします。Maxscriptで16ビットのビットマップを保存する方法は?

Iは、次のコードでそれを達成できる:

--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 

しかし、これは3つのチャネル(8ビット各チャンネル)と、24ビットPNG等の画像を保存します。私はそれをグレースケール画像として保存したいと思います。ここでは、ピクセル表現に16ビットを使用します。 max-scriptでそれをどのように達成できますか?

答えて

1

前もってpngio.setType #gray16に電話してみましたか?

また、zDepth channelでexrに保存し、それを使用してください。

+0

洞察をいただきありがとうございます。私はそれを撮影しますが、getchannelasmaskは常に8ビットのビットマップを返します(http://help.autodesk.com/view/3DSMAX/2017/ENU/? guid = __files_GUID_9F6ABEE1_0728_4B39_8903_D909634C1304_htm) - このコマンドでgetchannelasmaskの動作が変更されるかどうかわかりません。 – Kev1n91

+0

複数のチャネルをサポートしている異なるフォーマットをいつでも使用し、それに応じて回答を編集できます。 – Swordslayer

関連する問題