2016年3月5日土曜日

GLSLのマテリアルで詰まったところ

現在、GLレンダリングでのアニメーション制作を目指しているが、
GLレンダリング特有の問題がしばしば発生する。

/////////////////////////////////////////////////

○GLSLではテクスチャノードは無理かも。
テクスチャノードを使ったマテリアルがビューポートに反映されない。
これはこういう仕様らしい。
マテリアルノードのほうはビューポートにしっかり反映されるのでこちらでテクスチャを設定すればいい。

/////////////////////////////////////////////////

○透過処理がうまくいかない。
半透明のオブジェクトの向こう側の物体が表示されなかったりする場合。
オブジェクトのプロパティ、DisplayパネルにあるTransparencyにチェックを入れる。
※それでもうまくいかない場合がある。
オブジェクトをグループ化してインスタンス化した場合このオプションが表示されなくなってしまう。
外部ファイルからリンクする場合、オブジェクトとしてリンクすればこのオプションは使用可能。

///////////////////////////////////////////////////

○金属の表現はどうしたらええねん。
適当な環境マップの画像、またはマテリアルキャプチャ用の画像をテクスチャに設定し、
MappingパネルでコーディネートをNormalに設定する。

InfluenceパネルでDiffuse:colorかSpecular:colorに設定
合成モードを加算、乗算、明度などから選ぶ
このへんは好みとか演出の意図次第だと思う。

リアルタイムの環境マップをゲームエンジンで実現している人がいるけど
カメラとスクリプトを使っていてすごく大変そう。

※追記
Equirectanguler(エクイレクタングラー)の環境マップをReflectionでマッピングするほうがいい。

0 件のコメント:

コメントを投稿