Cyclesでノードエディタ使ってやる
0. 目次
・1. ごたく
・2. 無駄話
・3. 作ったもの
・3.1 エンジンのエフェクト
・ 放射ノード
・ カラーランプ
・ BSDFシェーダーノード
・ 係数をもらってシェーダーミックス
・ ノイズテクスチャ
・ マッピングとベクトル
・ 4. おわりに
1. ごたく
Blenderの記事ってめちゃくちゃあるんですがCyclesの記事,
特にノードエディターの情報って少ないので
作ったものの顕示欲も兼ねて製作例を残しておこうと思いました.
よろしくお願いいたします.
2.ドラえもんはええぞ
映画ドラえもんってめちゃくちゃSFしてますよね.
個人的には「のび太の宇宙漂流記」とか「のび太のロボット王国」とか
「南極カチコチ」とかおすすめです.アマプラで見れるのでぜひ.
今回はドラえもんに登場するタイムパトロールが時間ワープをするために
お馴染みのタイムマシンのトンネルに入っていく瞬間のエフェクトです.
元ネタの場面としては映画「ドラえもん新・のび太の日本誕生」の
ラスト5分あたりで(ネタバレ自重)と別れるところになります.
3.作ったもの
早速説明していきます.
事前準備はレンダーをCyclesにして"ノードを使用"をオンにするくらい.
Blenderで作った奴はマテリアルを選択してノードエディタを開く.
(ノードエディタ何って段階の人までは攫えないからちょっとかじって戻ってきて)
ここ↓のサンプリングの最大サンプル数,
デフォルトで4096とか草wな数字になってるけど16くらいで十分と思う.
但し「デノイズ」をオンにしないとノイズが結構乗る.まあこれも味かと.
ビューポートは作業中のレンダリング,レンダーは本番用の設定.
3.1 エンジン
エンジンのモデル構造を簡単に書いてみました.
まず①がめっちゃ光ります.
②は①の光を歪ませたりするための膜みたいなものです.
③は反射というかガラスっぽくしてます.

放射ノード
これが①のノード.
まず左から二番目の「放射」,これめっちゃ使う.
左から色の情報を受け取って, その色の光を放つ ノード.
これがマテリアルのサーフェス(表面)に出力されている.
発光しているかどうかの情報はちゃんと区別されていて,
後で「光っている面だけブラーをかける」みたいなことをできる.
一番右のマテリアル出力ノードにつなげるのを忘れずに.
ここが処理結果の出口であるので.
「光の減衰」はなんで付けたか覚えてないが,,
このノードからは現在どれだけ光が減衰しているかの数値が出力される.
とおもう.実のところようわからん.
カラーランプ
それを「カラーランプ」の係数が受け取っている.
貰った数値が0なら黒,0.5くらいでオレンジ,黄色,1で赤,,
のように, 貰った数値に応じて色 を出力する.
決してグラデーションを出力するものではない.
そもそも,黄色の点を持つカラー系ノードは
一つ一つのピクセルに対する処理 を決めてるので,
グラデーションのような複数の領域に跨った処理をするには
そのピクセルのUV上での位置を取得するベクトル系ノード(紫色の点)
が必要となる.自分はここの理解にかなりかかってしまった.
BSDFシェーダーノード

これが③のノード.これに関してはたいしていうことはない.
グラスBSDFに関しては結構情報が多くて,「Cycles グラス」見たいに検索すれば
使い方が出てくると思う.やろうとしてることは,プリズム分光みたいなの?たぶん
光沢BSDFも,正直そのまんまの意味なので.シェーダーノード一覧の中にあるよ.
係数をもらってシェーダーミックス
しいて言えば,シェーダー加算とシェーダーミックス.
ここでは加算の方を使っているけど,これは両方の処理結果を採用して重ねたいから.
一方ミックスはミックス具合を係数でコントロールできる.
例えば半透明を作ろうと思ったらディフュージョンBSDFと透明BSDFを0.5,半々でミックスできる.
そして何より強いのは,ピクセルごとに処理されるので,
場所によって係数を変化させられるということ.
一定基準以上赤い透明を1にする,みたいな芸当ができる.

こんな感じで.分かりにくいが,口の赤いところが透明になった.
テクスチャからRGB数値を得てRの数値をそのままミックス具合の係数にしてる.
ノイズテクスチャ

順番が前後してしまったが,最後に②.
ここではさっき言ったピクセルごとの処理ではなく,
領域に跨るノイズを生成しているのでベクトル系のノードがある.
テクスチャ座標ノードの出力のどれかからいい感じに持ってくる.
この辺よくわかってないけど生成とノーマル(法線のこと),UV,オブジェクトの
どれかを使えば大抵うまくいく.
マッピングとベクトル
そしてマッピング.これもめちゃつよい.
なぜかというと,生成したノイズのテクスチャ座標を 動かせる から.
座標が動かなければノイズ貼っても静画でしかないが,
マッピングの座標は アニメーションさせられる. モーションを付けれるのだ.
つまり,エンジンのそれっぽいノイズを動かして噴射のように見せれる.
そしてノイズテクスチャ,ボロノイテクスチャはテクスチャノード一覧にあるが,
この中にはいろいろ使えそうなテクスチャ生成ノードがあるのでとにかく試してほしい.
大抵の場合左二つのノードにつなげれば動く.
そして屈折.これは熱噴射で生じる揺らぎの表現とかプリズム分光っぽいのに使える.
屈折を使った熱噴射は次回やるかもしれない.
4おわりに
うーん長くなりすぎた,終わらなかった,,
肝心のワープの部分は次回に回させて頂きます.