なんだろ、おとついあたりからサーバにつながらない状態が続いてます。サーバ自体は動いてるんですが、プロバイダにつながってないみたいな。モデムがやばいのかなぁ。

さて、Blenderのレンダーパスで出力されるZ-Depthの扱いのお話です。さんざん、カメラのプロパティをいじってみるも、真っ白の画像しか出力されなくて途方にくれてましたが、やっと解決。

screenshot-blender-zbuffer-t.jpg

「Map Value」ノードをはさんでスケーリングしてやらないとグレースケールとして表れてこないんですね。

カメラのDOF値を変えてもZ-Depthに影響しないのでどんな値で保存されてるかは謎です。普通決めるじゃない?NearClipからFarClipの間を32bitでとか、、、それが無いんですよねぇ。僕の見落としかも知れませんけど。

Blender:Z-Depthの取扱い” への2件のフィードバック

  1. 通りすがり

    2008-05-18 — 01:22

    Z値は、3D空間における、カメラから対象への距離(浮動小数点)ですよ。
    浮動小数点をイメージに変換する場合、0.0〜1.0 を 0〜256 に対応させる為、
    距離が1.0以上離れている場合、256となり、真っ白になってしまうのです。
    ちなみに数値を確認したい場合、NodeEditorでZとViewerを接続して、ImageEditorでViewerNodeを選択後、イメージの任意の場所をクリック。

  2. コメントありがとうございます。後ほど調べて理解したのですが追記もせずにほったらかしでした。

    正確には、
    Z値は0.0f〜から表せる限りの浮動小数点値だけど
    RGBは(blender内部では)0.0f~1.0fまでに収まった値だから距離が1.0fを越えると白く表示されてしまう、ってことですよね。
    実際にカメラからの距離が1.0f以内ならMapValueを通さずともViewerノードに直結でもグレイスケールで表示できることを確認しました。

    どうもありがとうございます。

    本記事の補則をしておくと。NearClipとFarClipの間を〜って書いてるのはそうしないと浮動小数点の性質上距離が大きくなるにしたがって精度が荒くなるんじゃないって事でした。相当遠くないと顕著にはあらわれないんで心配することはないですが。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です