本文へジャンプ
Water
このシーンに海(湖)を追加してみます。(クリックで画像拡大)
 
 
いますぐ始めるTerragen 2
「Water」→「Add Water Object」→「 Lake」を選びます。レンダリングすると右図のようになります。
Roughness
波の荒さです。数値をあげると海面の凹凸が激しくなります。
波としては不自然になってしまいます。(雨が降っている感じをだすにはいいかも)これはWave scale(Smallest scale)が小さすぎるためです。
波をいじるのは後にして、まず質感を調べていきます。あくまでも個人的な主観ですが、反射が強すぎるような気がするので、「Reflections」タブで、Master Reflectivityの値を0.5に下げてみます。(Lake 01の「Surface Shaders」タブ→「Water shader 01」)
Wave scale
波のスケール(大小2つの波が合成されている、そのうちの大きい波のスケール)
Smallest scale
小さい波のスケール
・「Waves」
これはこれでいいかなという気もするのですが、反射率が光の入射角によって変化するという(いわゆるフレネル反射)現象をシミュレートする方法を考えてみました。
ここで画面右下の「Node Network」の左端にある「Water」をクリックします。
「Node Network」の空いているスペースで右クリックし、「Create Shader」→「Surface Shader」→「Water shader」を選びます。(遠くの海面用)
新しく作ったWater shaderはこのように設定します。(赤枠をダブルクリックで下記の画面が表示されます。)
Distance shaderは以下のように設定します。Far distanceには大きめの数値、Near distanceには小さめの数値を入れます。Camerasにはレンダリングするカメラを指定します。
レンダリングするとこのようになります。手前側は反射が弱く、遠くへいくほど、反射が強まっている様子が分かると思います。(微妙な違いですが)
・Reflections(反射)
さらに、「Create Shader」→「Other Shader」→「Merge shader」 (2つのshaderを結合)
さらに、「Create Shader」→「Color Shader」→「Distance shader」を選びます。(遠近の設定用)これで合計3つのshaderが追加されました。
Merge shaderに関してはそのままの設定で構いません。以上の3つのshaderを以下の図のように矢印でつなぎます。赤枠の下にある三角(Output)をクリックしてから、目的の枠の上にある三角までドラッグして線をつないでいきます。
スケールはデフォルトのまま、Roughnessを0.1に上げてみます。
Wave scaleを500、Smallest scaleを200にしてみます。(左の画像)
波らしくなりましたが、細かな波がありません。Wave scaleを500のままで、Smallest scaleを10にすると右の画像が得られます。小さい波が目立ちすぎてしまいます。そこで、Water shaderを2つ用意し、Merge shaderで合成する方法を採ってみます。
1 Water shader (Wave scaleを500、Smallest scaleを200、Roughnessは0.08くらい)
2 Water shader (Wave scaleを100、Smallest scaleを30、Roughnessは0.08くらい)
Merge shader 02をダブルクリックし、「Merge mode」を見ると、colorとdisplacementにおいて、merge modeを選択する箇所があります。ここでは「Add」を選択します。デフォルトではmix(Normal)、他にもSubtract、Multiplyなどありますのでいろいろ試してみましょう。(自分はまだよく分かりません。)
レンダリングするとこのようになります。
さらに細かい波を合成するには、Water shaderをもうひとつ追加して、Merge shader 02とWater shaderをMerge shaderで合成するとよいでしょう。
2008年4月29日にupdateされたTerragen2 Technology Previewでは透明な水が作れるようになりました。詳細はこちらをどうぞ。