第20回 深度の読み取りと交差表現
今回は画面の色とは別に記録された深度を読みます。Sceneの表面と現在描く面を同じ基準で比べ、その差を接触部分のMaskへ変えます。
配布プロジェクト
この回に対応する配布プロジェクトは準備中です。本文の数値例と確認問題で原理を学べます。Unityでの実習を始める際は、配布ファイルで対応する環境の公開状況を確認してください。
この回のゴール
保存された深度と比較用の距離を区別し、深度差からMaskを求められる。
今回のポイント
Screen UVは画面上の位置を0〜1の二成分で示します。Depth Bufferは、画面の各位置で手前の面を判断するための深度の記録です。物体同士の三次元の最短距離とは異なります。
各ステップでは、入力値と計算結果を記録してから条件を変えます。最後のステップで一連の処理をまとめ、用途や比較条件に応じた判断を行います。
授業の進め方
1 / 4画面位置と深度の参照色のTextureと深度のTextureが持つ情報の違いを理解します。2 / 4比較する深度の基準Eye Depthと直線距離を混ぜずに比較します。3 / 4深度差から接触Maskへの変換比較可能な距離を0〜1の効果の強さへ対応させます。4 / 4深度の制約とMaskの用途深度差による見た目を、物理的な接触判定と区別します。
終了時に残す記録
記録する面・深度変換・符号・Mask・出力用途を順にまとめます。
途中で判断できなくなった場合は、ステップ一覧から該当する入力・計算へ戻り、基準の例と一つずつ比較します。