前: 概要 次: 値モジュール

2. テクスチャ事始め

早速始めましょう。「シーン」メニューから「テクスチャ,材質」を選択してください。そしてテクスチャウインドウで「新規...」ボタンをクリックします。表示されたテクスチャのタイプのリストで "Procedural 3D texture" を選び、"OK" をクリックしてください。すると、新規のウインドウが2枚表示されます。おめでとうございます! これで最初の手続きテクスチャができました!

大きい方のウインドウには手続きが表示され、小さい方にはその結果が球にマッピングされたプレビューが表示されます。この球は今のところは一様な白色です(あまり面白い見映えのテクスチャではないかもしれませんが、すぐに面白くなってきますよ)。

手続きウインドウを以下に示します。

右端に並んでいるグレーのボックスは、テクスチャを定義する標準のプロパティです。既にイメージマップテクスチャを作成したことがあるなら、プロパティはすべておなじみでしょう。それぞれのプロパティ名の横の小さな三角形は 入力ポート です。手続きの定義は、出力ポートと入力ポートをつないで行います。出力ポートの例を少しだけ見てみましょう。

また入力ポートのいくつかは青色か白色で、ほかは黒くなっています。青い入力ポートは を、黒いものは 数値 を表します。入力ポート・出力ポートとも、数値と色という2つの異なったものを受け入れます。数値入力ポートは数値出力ポートとの、色入力ポートは色出力ポートとのみつながります。

「拡散反射」入力ポート上でマウスボタンを押したままにすると(左側の三角形をクリック)、すぐ隣に「拡散反射(白)」と書かれたボックスが表示されます。これは、「このポートはテクスチャの拡散反射色に対応していて(ご存知のとおり)、デフォルトの色は白です」という意味です。どの入力ポートにも、何もつながれていないときのデフォルト値があります。この場合デフォルト値は白で、テクスチャが一様な白色になっている理由です。同じように、「反射率」の横にある黒い入力ポートをクリックしてみましょう。デフォルト値は0になっています。これで、テクスチャが鏡面反射していないことが理解できます。

ここまでで入力ポートがたくさんあることを知りましたが、まだ何もつないでいません。ここを変えてみましょう。ウインドウ左側に並んでいる中から「値」プロパティを選択して「色」をクリックすると、ウインドウ内に「色」モジュールが現れます。これは最も単純なモジュールの1つで、単一固定の色を1つ出力します。モジュールをダブルクリックすると、色抽出ウインドウが表示されます。ここで色を赤に変えてみましょう。OK をクリックすると、モジュールの色が赤くなります。

色モジュールは、色を出力する パラメータ を1つ持っています。多くのモジュール(すべてではなく)には、調整できるパラメータがあります。モジュールをダブルクリックするとウインドウが表示され、パラメータを調整できます。

色モジュールの出力ポートをクリックすると、そこに "Color" という文字のボックスが現れます。これは単に、この出力ポートが対応しているものを示しています。この場合は明らかですが、モジュールによっては複数の出力(や入力)があるので、このメッセージ表示はとても便利です。

(テキストボックスが表示され続けるよう)マウスボタンをそのまま押したままにして、スクリーン上でマウスをドラッグしてください。出力ポートから マウスの跡をなぞって黒い線が伸びてきます。これはポート間をつなぐ リンク です。マウスをそのまま「拡散反射」入力ポートまで動かしましょう。マウスが完全にそこに着くと、入力ポートの脇に2番目のテキストボックスが表示されます。最後にマウスボタンを放します。入力ポートと出力ポートをつなぐ線が残ります。これでプレビューウインドウの球が赤くなるはずです。手続きはこの段階で、以下の図のようになっています。

今度は手続きウインドウ左側の「値」カテゴリで「数値」をクリックして、「数値」モジュールを作ってみましょう。色モジュールに似ていますが、この出力は色ではなく数値です。数値モジュールをダブルクリックして値を0.2に設定後、OK をクリックしてください。入力した数値がモジュール上に表示されていることにご注目ください。

数値モジュール自体をクリックして(出力ポート ではなく)スクリーン上でドラッグすると、モジュールを好きな場所に移動できます。これを「反射率」入力ポートの近くに置き、数値モジュールと反射率ポートの間にドラッグでリンクを作ります。これでプレビューウインドウの球は鏡面反射するようになります。手続きを更新すると、プレビューウインドウは即座にアップデートします。

ここまでをよく理解できたでしょうか。しかしこれは手続きテクスチャのほんの少しだけです。事実、これは「一様テクスチャ(Uniform texture)」でも簡単に作れます。もっと凝ったことを以下で解説しましょう。

まず色モジュールをクリックします。このモジュールが選択されたことを示す赤い縁取りが出るはずです。delete キーか backspace キーを押して、このモジュールを削除します。数値モジュールも同じやり方で削除します。これでプレビューは一様な白色になります。

新規のモジュールを2つ作ります。カテゴリから「色彩関数 → ブレンド」をクリック、「パターン → マーブル」をクリックします。そして以下の図のようにつなぎます。

プレビューは以下のようになります。

少し凝ったものができました。モジュールはたった2つしか使っていないのに!

このモジュールの入力・出力ポートをいろいろクリックしてみましょう。マーブルモジュールが空間上の点の X, Y, Z 座標に対応した入力を持っていることと、出力が単一の数値なのが分かると思います。このモジュールは大理石の筋や渦の模様を真似た関数を定義します。この数値関数を色に変換するには、ブレンドモジュールを使います。このモジュールの入力は、色2つと数値1つで合計3つあります。数値は2つの色の補間に使います。色の入力にはそれぞれ白と黒のデフォルト値があり、このためテクスチャは白黒になっていますが、簡単に変えられます。単に色モジュールを作り、色を設定し、ブレンドモジュールのどちらかの色の入力につなげるだけです。これらの入力に色モジュールをつなぐのに、もちろん何の制限もありません。 モジュール同士を並べて作った複雑なパターンであろうと、どんな色の出力でも 接続できます。

1つの入力ポートには1つの出力ポートからしかつなげません。それ以外にはあり得ないからです。その一方、1つの 出力 ポートには 入力 ポートをいくつでもつなげます。例えば、マーブルの白いストライプの部分を鏡面反射させ、黒い部分は反射させないとします。これをするには、単にマーブルモジュールの出力と「鏡面反射」入力とをドラッグでつなぐだけです。すぐにできますよ!

モジュールをクリックで選択できるのと同じく、リンクもクリックできます。作ったばかりの(選択されていない)リンクを選択して、delete キーか backspace キーを押してみましょう。これでリンクが削除され、テクスチャの見映えはもとに戻ります。

手続きを作成する上での重要なコンセプトは、すべてお分かりになったと思います。残りは難しい部分です。実際に使用できるモジュールの解説は後述します。モジュールは50個以上あり、これらは手続きテクスチャ/手続き材質でほとんど無限の取り合わせを作り出す、充分なパワーと自在性を提供します。以下の章で説明しますが、情報量の多さに圧倒されたなら、肩の力を抜いて、モジュールで遊ぶ気持ちでやってみましょう。いろいろあるモジュールを学ぶのに、これが一番の方法です。このやり方で、興味深いテクスチャを発見していきましょう!

前: 概要 次: 値モジュール