ホログラム表現仕様

ホログラムツイッターでは、
登場する人物に対し、ホログラム感が感じられるよう
青味がかったシェーディングに切り替えて表示しています。

人物モデル本体を青味がかったようにするには、
プログラム上でシェーディングパラメーターを切り替えていますが、
透明感とノイズ感を出すために特殊なシェーダーを施した、
板モデルを一緒に表示しています。

描画の順番としては、「板モデル -> 人物モデル」になります。
この板モデルの役目は、フレームバッファのαに、
人物モデルを消すためのαカラーをレンダリングすることです。
後から描かれる人物モデルは、自身のマテリアルのαではなく、
フレームバッファに書き込まれたαを使用して半透明になるようになっています。

そして板モデルには、透明感とノイズ感を出すための
専用シェーダー「キャラノイズマスク」が使用されています。
このシェーダーは、まずノイズテクスチャと呼ばれる、
ノイズ感を書き込んだテクスチャを指定します。
このテクスチャは白黒のグレースケール画像である必要があります。
kujiraでは横線の縞模様でノイズを表現しました。
この白黒がαになるのですが、さらに頂点カラーαも掛け合わせられるようにしています。
また、白のラインと黒のラインのどちらをどれくらいの強さのαでレンダリングするか
調整するパラメーターが「白明度」「黒明度」です。
「白明度」「黒明度」の値を最少にした場合、画像は真っ黒になります。つまり完全な透明です。
「白明度」の値を大きくすると、テクスチャの白のラインが浮かび上がります。
「白明度」の値を大きくすると、テクスチャの黒のラインが浮かび上がります。
「白明度」「黒明度」の値を最大にした場合、画像は真っ白になります。つまり完全な不透明です。
そしてこの明度アトリビュートにはアニメーションキーを打つことができます。
kujiraではノイズテクスチャのＵＶスクロールと合わせて、
ノイズアニメーションを作成しています。

またこのシェーダーを割り当てた際、
フレームバッファのαにしかレンダリングを行いませんので、
Mayaの画面上には、一切なにも表示されません。
この板のα具合を確認するには、
マテリアルの「特殊設定/ブレンドタイプ」を「不透明」に切り替えます。
こうするとレンダリングされるα値を目視で確認することができます。
