2018年12月25日火曜日

モデリング不要な立体視マテリアルのお話(後編)

前回は奥行きをつけるシェーダーの基本的な考え方を解説しました
今回はノードを再利用して活用する手法を紹介したいと思います
因みに数学的な正しさよりも手軽に使える手法をとっているのを最初にお断りしておきます

Boothにサンプルファイルを置いておきますのでそちらを落としてください
ファイルを開いた状態はこうなります
ビューを回転させると テクスチャが普通と違った動きをするのが分かるでしょうか

Blenderはノードの組み合わせをグループとして登録して他で再利用できる仕組みがありますParallaxShiftという名前のノードがそれです。
ノードを選択してTabキーを押すと中身が見れます
今回はこのノードの中身は触らずに利用します

さて、元の表示に戻って説明します。
ParallaxShiftノードでの強さ深度はそれぞれ移動の大きさを指定するためのもので
出力のUVソケットは移動させたUVの値になります
(ベクトルのソケットは移動の大きさを出力していますが今回は使いません)
移動量の大きさの調整は強さの値を変更してください


別の使用例を挙げたいとおもいます
サンプルのマテリアル一覧からWall1を選択してください
青色の格子の奥に角度によって動くカラーグリッドのようになるかと思います
これは新しく追加したミックスのノードで付けた効果になります

ミックスのノードは 効果>ミックスRGBで追加できるノードで、
画像をつなげるとPhotoshop等のレイヤーで合成したように重ねることができます
今回使用した画像ではアルファでの透過を使用していますが
これは係数にアルファをつなげることでアルファの濃さによって合成させています

さて、このサンプルを動かしてみるとよく分かりますが、
実はこの立体視手法は簡易的な計算な カメラからの角度がつきすぎると動いて見えません
そこでその対策となるノードの一例を入れてみました
出力のつながってないミックスノードを次のミックスにつなぎかえると角度が大きくなった時に薄い色で目立たなくなります

さらにもう一つの使用例を
ParallaxShiftノードに用意した深度入力を使ってみます
こちらに画像を入力することで 画像の凹凸で歪み方を変化させます
一番シンプルな状態のノードにテクスチャを接続しても凹凸効果が出ますが
サンプルでは奥行きをつけたものに さらに凹みをつけるものを作ってみました

奥付きで移動した位置にテクスチャを移動させて さらにそのテクスチャ情報を元に凹凸を足しています


最後に今回のノードを作業中のシーンにノード等を読み込む方法を紹介しておきます

ファイルを開いてコピペでも他のファイルにノードを読み込めますが
他のファイルの中のデータを今のシーンに読み込むアペンドという方法があります

ファイルメニューのアペンドを選択するとファイル選択画面が出るので
読み込みたいデータがある.blendファイルを選択します。
するとさらにフォルダ一覧のようなものがでてきたかと思います
これがBlenderのファイルの中の種類毎のデータ一覧と思ってください
今回はノードの情報なのでNodeTreeの中にあるParallaxShiftを開いてください
画面の見た目では変化しませんが ノードエディッタの追加メニューのグループに"ParallaxShift"が増えています
さて、2回に分けてノードを使って立体的に見えるマテリアルの設定を取り上げました
何かの一助になればと思います

0 件のコメント:

コメントを投稿