前: テクスチャと材質

次: テクスチャの続き

4. テクスチャと材質



4.1 テクスチャ

テクスチャで 3D オブジェクトの表面プロパティ(色、反射率、透明度、凹凸など)を定義します。Art of Illusion のテクスチャには、Uniform(一様)、Image-mapped(イメージマップ)、Procedural 2D(手続き 2D)、Procedural 3D(手続き 3D)の4タイプのテクスチャがあります。これらの詳細は後述します。シーン → テクスチャ,材質 を選択すると、新規テクスチャの設定や作成済みのテクスチャを編集できます。この操作で、以下のダイアログボックスが表示されます。

左側のリストのフォルダは、現在のシーンのテクスチャと 材質 で、AoI で用いられるテクスチャライブラリと同じです。ウインドウの中央は、選択中のテクスチャと材質兼用のプレビューです。右側はテクスチャと材質を設定する操作パネルです。これらのほとんどは自動注釈付きです。「シーン内操作:」の下の操作部は、現在のシーン内でのテクスチャの作業用です。ここで新規テクスチャや既存のテクスチャのコピーを作成できます。選択中のテクスチャの削除や、選択中のテクスチャの編集もできます。「ライブラリ操作:」の下の操作部では、ライブラリでの作業用です。ライブラリから現在のシーンにテクスチャをコピー(「ライブラリから読み込み」)、現在のシーンからライブラリにコピー(「ライブラリに保存...」)、ライブラリからテクスャを削除、新規ファイルをライブラリに追加、ができます。また、ライブラリと現在のシーンの間で、テクスチャをフォルダ間でドラッグしてコピーすることもできます。
外部ファイルを表示...」は、テクスチャと材質をファイル間でコピーするのに便利です。このコマンドを選択すると、AoI シーンを選ぶウインドウが表示されます。まるでビルトインのライブラリのように、このウインドウ左側にファイルが現れます。

テクスチャの設定が終わると、そのテクスチャを 3D オブジェクトに割り当てることができます。また対象の 3D オブジェクトに合わせて、サイズ・向き・位置を決めてマッピングもできます。複雑な現実世界の物体表面を再現するため、テクスチャはレイヤー化することもできます。


4.1.1 一様なテクスチャ

一様なテクスチャは Art of Illusion で最も単純なテクスチャです。これはさまざまな表面プロパティを、オブジェクト全体に一様に適用します。一様なテクスチャを新規に作るには、シーン → テクスチャ,材質... をクリック、ダイアログ右上の「新規...」メニューで Uniform Texture を選択します。これで以下のようなダイアログが表示されます。


ダイアログの一番上にあるレンダーした球体で、現在のテクスチャが球体に割り当てられた状態が表現されています。このプレビューをダブルクリックすると、右の図のようなポップアップメニューが表示されます。

これで、プレビューに使う視点と 3D オブジェクトを変更できます。

プレビューをズームするには、CTRL 併用の右マウスボタンで上下ドラッグします。パンするには左マウスボタンでドラッグします。
その下は、変更可能なさまざまなプロパティです。ここで4つの色を決定できます。各色のカラーボックスを単にクリックすると、右の図のような色選択ダイアログボックスが表示されます。

各色はこのダイアログを通して、3つの カラーモデル: 色相/彩度/強度(HSV)、赤/緑/青(RGB)、色相/明度/彩度(HLS)で設定します。各色の要素は 値の範囲(0〜1 または 0〜255)に従った数値で設定できます。

最近使った色も、ダイアログボックスの下にあるパレットから選んで使えます。

この4つの色プロパティを以下に示します。

拡散反射色
オブジェクトの基礎となる色です。ほかのプロパティを設定しない場合、オブジェクトはこの色に見えます。

鏡面反射色
鏡面反射はオブジェクトの「光沢」や「反射」です。ここで設定する色で、オブジェクトによってどの色が反射されるかが決まります。しかし、鏡面反射の値がゼロ以上でないと効果がありません(以下をご覧ください)。

透明色
オブジェクトの透明色がゼロより大きい場合、この色はオブジェクトを透過する光の色となります(以下をご覧ください)。

発光色
このプロパティは輝くオブジェクトを再現するのに使われます。これはオブジェクトが発光する色です。例を3つ、下に示しました。この例では、拡散反射色の色相と彩度を、発光色では強度を変えて使いました。発光色の強さは、HSV 色の強度と直接関係があるので、HSV カラーモデルは表面プロパティで恐らく最も有用といえます。



下の例では、色プロバティの値を設定するのに、スライダーバーで4つの数値的な量で決めました。

透明 は、オブジェクトが光を伝える度合いです。値が1では、オブジェクトは完全に透明です。0では完全に不透明です。以下の画像は透明が 0.5 のオブジェクトで、透明色 を変えたときの効果が示されています。通常、透明オブジェクトは拡散反射色に近い色の光を透過しますが、コンピュータグラフィックが作る画像では、物理的現実の制約を受けません。

反射率 は、オブジェクトの反射の度合いです。値1でオブジェクトは完全に反射する性質を持つので、拡散反射色は不可視になります。値0では、反射は完全に0になります。

右側の図では、すべて反射率が 0.3 のオブジェクトについて、反射率 を変えた効果を示しています。

金属オブジェクトの場合はその拡散反射色を薄くした色を反射する傾向なのに対し、プラスチックのようなオブジェクトは通常、実質的に白い光を反射します。
この例では、拡散反射色の色相と彩度を鏡面反射色にして強度を変え、「プラスチック的な」白い鏡面反射と比較しました。

反射率のほか、光沢 もあります。これは鏡面反射のハイライトの強度を制御します。現実世界の「テカる」表面は鏡面反射のみによりますが、この光沢パラメータは、明らかな反射があまりない状況でプラスチックの表面をテカらす効果を偽装をするときなどに便利です。ほとんどの場合、同時に 反射率光沢 を使うことになるでしょう。以下に、異なる光沢の値を、反射率の有無で示します。


ざらつき このパラメータで、反射のシャープさを減らす表面のざらつきについて、現実世界の効果を模倣できます。下の図のように、ざらつきの値を大きく取るほど反射はぼやけていき、より広い鏡面反射のハイライトが得られます。注意: この効果を可視化するには、レンダーはレイトレースエンジンにして、「光沢と透明」オプションを ON にしてください(レンダー をご覧ください)。


曇り で、透明オブジェクトの透明度を制御します。以下の図のように、値を大きくするにつれて、透過した光がぼやけていきます。ざらつきパラメータと同じく、レンダー時はこの効果を可視化するため、「光沢と透明」オプションを ON にしてください。




4.1.2 イメージマップテクスチャ

このタイプのテクスチャでは、2D 画像をもとにした表面プロパティを設定できます。使う画像は普通、別に用意した 2D ペイントプログラムで作ります。新規イメージマップテクスチャを作成するには、シーン → テクスチャ,材質... をクリック、ダイアログ右上の「新規...」メニューで Image Mapped Texture を選択します。これで以下のようなダイアログが表示されます。

表面プロパティは 一様なテクスチャ で扱ったものと似ています。しかし今回は、色と値は 2D 画像の選択を通して決定します。つまりオブジェクト表面にわたり一様ではなく、さまざまなパラメータの値が変わるということです。

ダイアログボックスの左側は、拡散反射色、鏡面反射色、透明色、発光色です。文字表記のすぐ右の四角いボックスをクリックすると、"Images" というタイトルの別なダイアログボックスが開きます。「開く...」をクリックすると、新規画像を読み込みます。使える画像フォーマットは .jpg、.png、.gif、.svg、.hdr です。
使いたい画像を見つけて「開く」をクリックすると、画像を取得します。その画像のサムネイルが "Images" ダイアログボックスに表示され、自動的に選択されます(黒い正方形に囲まれて表示されます)。ほかの画像が読み込まれたことがある場合、その中からクリックで選べます。使いたい画像を選択したら "OK" をクリックします(画像選択をしないなら「選択しない」をクリックします)。

注目: 画像ボックスの隣に、一様な色のボックスもあります。ここで指定した色は、イメージマップを一様に変化させます。

一様なテクスチャ (Uniform Texture) ダイアログ と同じように、プレビューをダブルクリックするとメニューが表示され、プレビューオブジェクトの形状と視点の向きを変えられます。プレビューはズーム(CTRL キー併用で右マウスボタンを押して上下にドラッグ)とパン(左マウスドラッグ)ができます。

下の画像の右側は、さまざまなプロパティ色にイメージマップを適用した効果を示しています。イメージマップ自体は左側の画像です。



イメージマップダイアログの右側は、数値プロパティです。透明反射率光沢ざらつき曇り という、一様なテクスチャでのプロパティがここでも出ていますが、凹凸置換 の2つのプロパティもあります。これらは表面の「デコボコ」を制御します。凹凸マッピングは、表面法線を変えて要素のデコボコを再現します。これに対し、置換マッピングは実際に表面要素を変えます。

イメージマップテクスチャでは、透明度や鏡面反射などの大きさを、文字表示の隣にある四角のボックスをクリックして選択したイメージマップで設定します。画像が選ばれていない場合、スライダーで一様な値を設定できます。画像が選ばれていれば、その画像に従ってプロパティが表面全体にわたって異なります。ダイアログの右側の 要素: から、さまざまなパラメータを制御する のどれかを選んで値を設定できます。
アルファチャンネルの情報や透明な領域のある画像(.png、.svg、.gif タイプの、透明化をサポートしているもの)では マスク という要素が、要素リストの選択で使用できます。これは、表面の特定の部分のみに効果を適用するとき使えます(画像のアルファ選択部分のみ光沢を持たせる、など)。マスク出力は、画像の透明度で変化する表面プロパティも適用できます。分かりやすい例として、透明プロパティでの使用が挙げられます。これで画像の透明部分はテクスチャ内の透明領域として機能します(下の例をご覧ください)。マスクはほかのどの効果のプロパティでも適用できます。



次に、スライダーバーを動かして効果の「倍率/強度」を調整します。この場合、表面の透明度や光沢などの一部を設定できるのみです。例をいくつか下に示します。



イメージマップダイアログで、画像を並べることもできます(デフォルト設定)。これで、画像がオブジェクトの表面より小さくても全体を包めます。また、それぞれの軸に対して鏡面対称にもできます。

テクスチャに適用するマッピング用画像は、シーン → マッピング用画像... で直接管理できます。ここで、画像を読み込み、保存、削除できます。


4.1.3 手続き(procedural)テクスチャ

手続き(procedural)テクスチャとは、上述のさまざまなプロパティを数学的アルゴリズムで定義したものです。Art of Illusion には、Procedural 2D と Procedural 3D の2種類の手続きテクスチャが用意されています。Procedural 2D テクスチャとは、要はテクスチャの薄いシートで、マッピング(4.1.4 で詳述)で定義されたオブジェクトを包んだものです。もう一方の Procedural 3D テクスチャは「中実の」テクスチャで、これを適用したオブジェクトはあたかも「彫刻」のように見えます。

手続きテクスチャの両方のタイプで、設定のために視覚的なインターフェイスが用意してあります。これらはまったく同じなので、このセクションでは両方を説明します。

新規の手続きテクスチャを設定するには、シーン → テクスチャ,材質... をクリック、ダイアログ右上の「新規...」メニューで Procedural 2D TextureProcedural 3D Texture を選択します。これで以下のダイアログが表示されます。

プレビューウインドウも表示され、現在のテクスチャが球体に適用された様子が見られます。

プレビューウインドウは、テクスチャが出来上がると自動でアップデートします。プレビューのサイズを変えるには、プレビューウインドウ枠をドラッグします(訳注: Mac 版ではウインドウ右下のハンドルをドラッグ)。プレビューはズーム(CTRL キー併用で右マウスボタンを押して上下にドラッグ)とパン(左マウスドラッグ)ができます。一様なテクスチャ(Uniform Texture)ダイアログと同じように、プレビューをダブルクリックするとメニューが表示され、視点の向きとプレビューオブジェクトの形状を変えられます。

プレビューは、設定しておいた時刻でのテクスチャを見るのにも使え、テクスチャを時間変化させるときに便利です(例は 後述)。

プレビューにはデフォルトで、一様な白いテクスチャが表示されています。注意: 2D テクスチャは 投影マッピング で表示されます。一方 3D テクスチャでは、線形マッピングで表示されます。このため同じ手続きテクスチャでも、2D と 3D ではプレビューの見映えが変わることがあります。このセクションでの以下の例はすべて、3D 手続きテクスチャで作成しました。練習として、2D 手続きテクスチャとの見映えの違いを確かめ、なぜなのか考えてみましょう。

手続きテクスチャ編集画面の右側のボックスは表面テクスチャプロパティで、ほかのテクスチャのタイプで上述したものと同じです。手続きテクスチャ編集機能の考え方は、関連するプロパティボックスに値(色や数字)を通すことです。これは、値や関数、変換を挿入し、それらをプロパティボックスにつないで行います。この操作で表面上の各点で計算された値のセットを作り、テクスチャを作成します。


ウインドウの左側は、手続きに追加できる「モジュール」のメニューです。これらは「値」「演算」「関数」などのカテゴリにまとめられています。カテゴリ名をクリックして開くと、カテゴリ内にあるモジュールが表示されます。

一様な拡散反射色の簡単な例を見てみましょう。 カテゴリを開いて、 をクリックします。または でマウスボタンを押しっぱなしにして、何もないテクスチャ「カンバス」にドラッグします。これで と同じ、小さな四角形が現れます。この色を適用するには「拡散反射」ボックスに接続します。それには、「色」ボックスの端にある青い矢印マークをクリックして、マウスボタンを押したまま拡散反射ボックスの青い矢印までドラッグ、そしてマウスボタンを放します。2つのボックスの間に1本の線が現れたはずです 。「色」ボックスの色がデフォルトの白色なので、プレビューウインドウに変化はありません。「色」ボックスをダブルクリックすると、色選択ダイアログが表示されます。ここで色を選択して OK をクリックすると、プレビューウインドウでは新規の一様な拡散反射色テクスチャを表示しています。

メニューで選んだそれぞれの値や関数、モジュールなどには、色か数字の出力(外向きの矢印)が少なくとも1つあります。青い矢印は色を、黒い矢印は数字です。正確に言うと、出力は表面上の各点での色や数字を表す値のセットです。その多くは少なくとも1つの入力値があり、内向きの矢印で表されます。

もう少しだけ複雑な例をやってみましょう。表面をわたるグラデーションです。「色」ボックスをクリックして、delete キーでこれを削除します。今回は 色彩関数 カテゴリをクリックして開き、グラデーション モジュールをカンバスにドラッグします。このモジュールはカラーマップ を作ります。この出力を拡散反射プロパティボックスに接続すると、プレビューの球体は黒くなります。カラーマップで選択された色はこのボックスの入力の黒い矢印に依存するので、こうなります。この黒い矢印の上でマウスボタンを押しっぱなしにすると、「Index (0)」と表示されます。これは「このカラーマップ関数はインデックスを要求している」という意味です。デフォルトでは0で、カラーマップでは黒に対応します。
グラデーションを作るには、位置によって変化する色をこのマップから選択しなければなりません。X 方向のグラデーションなら、カラーマップボックスに X を入力する必要があります。 カテゴリを開いて、X モジュールを挿入します。このボックスからの出力は、表面上の特定の各点の X の値です。この出力をカラーマップの入力に接続すると、プレビューウインドウでは下の図のようなグラデーションになっています。



X ボックスの代わりに Y ボックスを接続すると、Y 方向のグラデーションが作られます。それでは対角線に平行なグラデーションを作るには? この場合、カラーマップの入力に (X+Y) を与えなければなりません。 メニューから X と Y の両方を選びます。加算をするには、演算 カテゴリから 加算 モジュールを挿入します。そして右の図のように、X と Y のボックスの出力を 加算 ボックスの入力矢印に接続して、加算 ボックスの出力をカラーマップの入力に接続します。

やり方はもうひとつあります。関数 カテゴリ内には という強力な関数があります。これを選択してダブルクリックします。この関数には、x、y、z、時間、ボックス入力のどんな数式でも入力できます。この入力欄に "x+y" を入力して OK をクリック、出力をグラデーションに接続すると、同じ効果が得られます。これも右の図で示しました。

使用できる値や関数、変換について、もっと詳しく見てみましょう。



メニューを以下に示します。

ここでのほとんどのモジュールは自動注釈付きです。

数値 1個の定数のボックスを挿入します。値を変えるにはダブルクリックします。

決まった1色の色ボックスを挿入します。ダブルクリックで色選択ダイアログが表示され、そこで色を設定します。

X, Y, Z 表面上の各点での X, Y, Z 値のボックスを作ります。手続き 2D テクスチャでは Z はゼロです。

時間 時間値を出力とするボックスを挿入します。アニメーションでは、この値でテクスチャ自体を アニメーション化 して変化させます。


視角 このモジュールはオブジェクトの表面プロパティを、カメラと表面上の点との角度によって変えるのに使えます。フレネル効果(視角が入射の法線に近いときは鏡面反射が少なく、視角と入射法線との成す角が増えると鏡面反射が増える)の再現の便利です。視角 モジュールは入射角のコサインを出力します。下の図の例では、フレネル効果の生成での使い方を示しています。この例では、左側の図の手続きテクスチャで視角方向の反射を強化して、左の花瓶をより「プラスチック的」にしました。右の金属的な花瓶では、より高い鏡面反射を一様に適用しています。


このモジュールの用途はほかにも多くあります。以下の、単純な「漫画」テクスチャはその一例です。



パラメータ テクスチャはユーザが定義したパラメータに従います。このパラメータは、オブジェクトから独立してテクスチャをマッピングするときや、オブジェクトの特定部分で設定できます。詳しくは パラメータ をご覧ください。

コメント このモジュールは手続き画面に置く純粋なテキストボックスです。例えば下の図のように、手続きの一部を記述したりします。

演算

演算 メニューを下に示します。
標準の数学的演算です。

加算、減算、乗算、除算 これらのボックスには入力が2つあります。その2つで、選択された演算によって加算、減算(上の入力−下の入力)、乗算、除算(上の入力÷下の入力)を行います。

べき乗 この出力は、左の入力を、上の入力を指数としてべき乗にしたものです。

余り の入力は「割られる数」と「係数(割る数)」の2つのデータセットで、このデータセット入力で除算した余りを返します。例えば、入力が5で係数が4の場合、出力は5÷4の余りの1になります。

比較 は、上の入力が下の入力より大きければ1を、そうでなければ0を返します。

最小値、最大値 両方とも入力は2つです。2つの入力を比較して、それぞれ出力として最小値と最大値を返します。
関数

関数 メニューを以下に示します。

これらのモジュールには数値を適用します。これでさまざまな使い方ができます。

x, y, z, t(時間) のあらゆる数式と、3つの入力を挿入できます。入力は input1, input2, input3 で表されます。

式では、以下の数学演算が使えます。+, - , /(除算), *(乗算), ^(べき乗), %(余り)。以下の関数も格納されています。sin(a): a のサイン, cos(a): a のコサイン, sqrt(a): a の平方根, abs(a): a の絶対値, log(a): a の自然対数, exp(a): e の a 乗 (e^a と同じ), min(a, b): a と b での最小値, max(a, b): a と b での最大値, pow(a, b): a の b 乗 (a^b と同じ), angle(a, b): 直角三角形の辺 a と b との成す角, bias(a, b): b の a バイアスでのバイアス関数, gain(a, b): b の a ゲインでのゲイン関数。
定数 pi (π)e も使えます。

グラフ 出力と入力を関連付けるグラフ曲線を描画します。グラフを <Ctrl> クリックして、新規の点を追加できます。既存の点はクリック&ドラッグで移動できます。グラフ曲線を滑らかにするには、チェックボックス「曲線を滑らかに」をチェックします。この関数は周期的関数にもできます。これは 0-1 の範囲を越えると、自身の関数を無限に繰り返します。周期的関数にしない場合、入力値を0以下にすると入力0と同じ出力になり、1より大きな入力では入力1と同じ出力になります。

一次変換 では、入力を定数で乗算し、オフセット値(切片)を加算します。この2つの数値を変えるには、ボックスをダブルクリックします。

絶対値 入力値の絶対値を返します。入力値が0より大きければそのまま、マイナスならプラスにした数値にします(例: -5は5になります)。

にじみ にじみ効果を生成します。入力は2つです。ひとつは操作を適用したい数値のセット、もうひとつはにじみの量を設定する数値です。正確に言うと、2番目の数値は平滑化を行う範囲です。

区間制限 この関数は、入力をある範囲で制限します。区間の指定をするにはボックスをダブルクリックします。入力値が制限範囲内なら変化はなく、最小値を下回れば最小値と等しく、最大値を上回れば最大値と等しくなります。

中間値 3つの入力をもとにした数値を出力します。数値1(上)と数値2(下)で最大値と最小値を設定、分数の入力で最小値と最大値の間の数値を決定します。例えば、分数値が0.5なら、出力は両方の極値のちょうど中間となります。0.25なら、出力は極値の間で4分の1のところの数値となります。

サイン、コサイン、平方根、指数、対数 これらは直接、数式を表します。入力と出力は1つずつです。サインとコサインの入力はラジアンです。対数モジュールは自然対数(底は e)です。

バイアス このモジュールは、Ken Perlin のバイアス関数を計算します。0と1の間の入力値を与えられると、計算された出力値も0と1の間になります。出力値の計算式は y(x) = x^(log(B)/log(0.5)) で、x は入力値、B は2つの入力ポートに対応するバイアスです。B が0.5のときは y(x)=x となります。B の値が0.5以下なら出力はより小さい方向に、B が0.5以上なら出力はより大きい方向に押しやります。

ゲイン このモジュールは Ken Perlin のゲイン関数を計算します。0と1の間の入力値を与えられると、計算された出力値も0と1の間になります。出力値の計算式は、x<-1.5のとき y(x) = Bias(2*x, 1-G)/2、x>-1.5のとき 1-Bias(2-2*x, 1-G)/2 で、x は入力値、G は2つの入力ポートに対応するゲイン、Bias(x, B) は上述のバイアス関数です。G=0.5なら、y(x)=x となります。G の値が0.5以下なら、出力を0.5に押しやって平滑化します。G が0.5以上なら、出力を0か1に押しやって強調します。

乱数 1次元ランダムノイズパターンです。入力は2つで、そのうち1つはランダムノイズが適用される次元で、もう1つはノイズの量です。デフォルトの入力次元は 時間 です。これは、アニメーション作成で位置や回転を散らすのに、この関数が最もよく使われるからです。ほかにも、空間にランダムな模様を作ったり、テクスチャの模様をランダムに作るのにさえ使えます。また、後述する パターン のいくつかと同じく、乱数モジュールをダブルクリックすると、振幅とオクターブ(Octaves)の数を設定できます。このパラメータについて詳しくは、後述の
ノイズ パターンの説明をご覧ください。

色彩関数

色彩関数 メニューを以下に示します。

これらの関数は、さまざまな方法で色の値を作る/変更するのに使います。

グラデーション 先に見たように、入力の数値で色を選択してカラーマップを作成するのに使います。デフォルトのカラーマップは一方の端が黒で、もう一方が白です。カラーバーボックスをダブルクリックすると、右の図のように編集できます。色を変えるには、バーの下にある小さな矢印をクリックします。選択された矢印は赤色に変わります。そこからカラースクエアをクリックします。これは色選択ダイアログに、選択した新規の色を表示します。カラーマップに色を追加するには、追加 をクリックします。これでバーに新規の矢印が追加され、好きな色に変えられます。
バー上での色の位置も変えられます。これをするには、矢印をドラッグするか、強度 欄の数値を0〜1の間で入力します。カラーマップは 周期的関数 をチェックすると、表面のすべての点で、カラーマップ自身を無限に繰り返します。これを選択しない場合は、マップの外にある表面の一部は一様に、カラーバーの端と同じ色になります。

ブレンド は範囲から色を設定する別の方法で、2つの入力色を、数値入力に従ってブレンドします。グラデーションとの重要な違いは、ブレンドではほかの関数で作られた色が与えられる、ということです。
簡単な例を示します。入力した色の1つは固定の赤で、もう1つの色はグラデーションのカラーマップで選択されたものです。マップで色を選択する関数は単純に Y で、Y 方向のグラデーションになります。選択されてブレンド関数に与えられたこの色は、Y の場所によって白から黒に変化します。そして X の場所によって、ブレンド色関数に与えられた赤色と混ざります。グラデーションよりもっと複雑な関数を設定できることがよく分かるでしょう。

加算、減算、乗算 は単純な関数です。2つの入力色について、RGB 要素でそれぞれの数学演算を行います。

明るく、暗く 両方とも入力色が2つで、より明るいほう、またはより暗いほうを出力します。CIE XYZ カラーシステムの輝度要素でこれを決定します。

倍率 は、入力色を入力数値に従って倍率変換します。入力色の各要素は入力数値で乗算されます。色の 倍率 モジュールの隠し機能の1つは、鏡面反射、光沢、透明などを、通常の最大値1を越えて設定できることです。これをするには、その設定をしたい色(鏡面反射色光沢透明色など)を、1より大きい数字で拡大します。結果のプロパティ値は、拡大される色の値とプロパティへの入力 との生成物となります。
例を下に示します。左側の画像では鏡面反射色は白で(色相0、彩度0、強度1)、光沢は1です。つまりこの場合の全体の光沢は、1×1=1 です。右側の画像では 倍率 モジュールを使い、鏡面反射色の値を20にしました。1×20=20 なので、結果の鏡面反射ハイライトはとても(不自然に)明るくなりました。これは例えば、漫画的な光沢のテクスチャに使えます。



発光テクスチャにも利用できます。倍率 は、Global Illumination でのレンダー時に発光オブジェクトが作る光量を増やすとき、同じような方法で使えます。下の画像は、倍率 モジュールを 発光色 に適用した効果を示しています。それぞれ 倍率 モジュールの入力数値を 1, 2, 5, 10 にしたものです。この画像は Global Illumination の フォトンマッピング でレンダーしました。



RGB このモジュールで、赤・緑・青の要素を数値入力して設定できます。単純な関数に思えますが、色要素を入力することから、ほかの関数と組み合わせて計算させられるので、実際は強力です。右の図の例では、赤要素を ノイズ モジュールで設定、緑要素を 木目 パターンで作成、青要素は 視角3乗 で設定しました。


HSV RGB モジュールと同じく、この関数の入力は数値3つで、それぞれ色要素に対応しています。HSV の場合、色相・彩度・輝度を数値入力で制御します。右に示した簡単な例では、X の位置で色相を決定しています。


HLS 上述の2つと同じく、この関数の入力は数値3つで、それぞれ色要素に対応しています。HLS の場合、色相・明度・彩度を数値入力で制御します。右に示した例では、明度は正弦曲線で、彩度は 細胞パターン で決定しています。


変換

このメニューのモジュールは座標変換を行います。変換 メニューを以下に示します。



線形
このモジュールで、X, Y, Z の拡大縮小・回転・移動ができます。このボックスをダブルクリックするとダイアログが表示され、関連する変換パラメータを入力できます。

右に例を示します。これは上述の HSV で例示した、基本的なテクスチャと同じです。線形変換の X 出力が HSV 色彩関数の色相要素に与えられています。デフォルトの変換設定では前と同じ結果になります。しかし X の倍率を5に、45°の回転を Z 軸まわり適用したので、テクスチャはこのように変換されました。


極座標
極座標モジュールは、X, Y の線形座標系を r(半径)・θ(角度)の極座標系に変換します。左の図で例を示しました。

上のほうの例は、中心からの距離が同じ点に同じ色を与えるよう、HSV 関数の色相に r 座標を与えた結果です。そのため色の同心円になりました。

θ座標でも同様に、同じ角度の点に同じ色を与え、下の画像のようになりました。


球座標
線形座標系を球座標系に変換します。

右側の図は網目パターン(後述)を使った例です。上の画像を与えるグラデーション色彩関数から、色を選択するのに使いました。

網目パターンの前に球座標変換を座標系に適用すると、下の図のようになります。


ゆらぎ
この変換では線形座標系を保ちますが、ランダムなゆらぎ効果を適用します。このボックスをダブルクリックすると、ゆらぎの振幅と実行範囲を設定するダイアログが表示されます。

左の図の例では、上述の「極座標」の例でのテクスチャを使いました。そのままでは、異なる色の輪が作られます。今回は、振幅0.5のゆらぎを X, Y 座標に適用しました。上の画像では倍率は1です。下の画像は倍率を減らした場合です。


パターン

Art of Illusion には、設定済みのテクスチャパターンがいくつもあります。左の図に示した パターン メニューから使えます。各パターンには X, Y, Z 座標の3つの入力があります。
以下で、それぞれの色パターンやバリエーションを見ていきましょう。どの場合も、パターンボックスからの出力をデフォルトのグラデーション色彩関数に与え、そののち拡散反射プロパティボックスに入力しています。

ノイズ

このモジュールは、Ken Perlin のシンプレックスノイズ関数の Stefan Gustavson の方法を用いて、フラクタルノイズパターンを作成します。技術的詳細については、コチラ をご覧ください。それぞれのオクターブは、その前のオクターブの周期の2倍となります。使用するオクターブの数値と最初のオクターブの倍率は設定可能で、ノイズボックスをダブルクリックして設定します。
高いほうのオクターブの振幅は、その前のオクターブの振幅をノイズ入力ポートの値(典型的には0〜1の間ですが、必ずそうしなければならないものではありません)で乗算して与えています。これはパラメータというより入力ポートなので、定数である必要はありません。オブジェクトの表面にわたって特徴が異なるノイズパターンの作成に、とても便利です。

ノイズ関数は拡大縮小できるので、出力値は典型的には0〜1になります。しかしパラメータとノイズ入力の値によっては、出力値はこの範囲からはみ出すこともあります。

以下に例をいくつか挙げます。




乱流

ノイズモジュールと似ていますが、足し合わせる前のノイズの、各オクターブの絶対値を取ります。これで不連続な変化を誘導し、出力に「折り目」を生成します。結果は流体の乱流を思わせるものになります。乱流関数は拡大縮小されるので、出力値は典型的には0〜1になります。しかしパラメータと乱流入力の値によっては、出力値は1より大きくなることもあります。

以下に例をいくつか挙げます。




網目

このモジュールは、一様な網目模様をもとにしたパターンを作成するのに便利です。これで、一様な「特徴点」の3次元グリッドを設定します。それぞれの点での値は、その点から最も近い特徴点までの距離と同じです。特徴点同士の間隔を調整するには、モジュールをダブルクリックします。以下に例を示します。




細胞

このテクスチャパターンは網目関数と似ていますが、網目では特徴点が均等に配置されるのに対し、細胞パターンではランダムに配置されます。細胞モジュールボックスには出力が3つあります。Cell ポートは0〜1の数値を出力します。これは最も近い特徴点を識別します。この数値は、特徴点で設定される「細胞」内のそれそれの点と同じです。このモジュールは、1つずつ色の異なる不規則な細胞のような形を作成するのに便利です。Distance 1Distance 2 ポートからはそれぞれ、最も近い特徴点と2番目に近い特徴点への距離を出力します。細胞パターンの Distance 1 は網目パターンと似ています。

それぞれの点と特徴点との間の距離は、3つの異なるパターンタイプの結果となる、3つの数式 " Euclidean (ユークリッド公理)", "City Block (市街地のブロック区切り)", "Chess Board (チェス盤)", で計算できます。タイプの選択はモジュールボックスをダブルクリックして行います。

デフォルトのグラデーション色彩関数で3つの出力タイプそれぞれと3つの距離タイプを試した結果を、以下に示します。



Distance2 - Distance1 はとても便利な関数です。

右の例はデフォルトのグラデーション色彩モジュールにつないだもので、そこから拡散反射色と発光色に入力しています。


マーブル

大理石(マーブル)を模した数学的パターンです。X, Y, Z 入力に加え、ノイズ入力もあります。モジュールボックスをダブルクリックすると、ノイズの振幅(Noise Amplitude)やオクターブ(Octaves)と同じく、大理石模様の帯の間隔(Band Spacing)を変更できます。例をいくつか下に示します。



木目

当然ながら、このパターンは木目調のテクスチャを作成するのに便利です。与えられた点への出力は Y 軸からの距離に比例します。また乱流関数が加算されます。木目モジュールをダブルクリックすると、「ノイズの最大幅」「輪の間隙」「ノイズの幅」を調整できます。例をいくつか下に示します。



"Only Output Fraction"(分数のみ出力)オプションを選択すると出力は Mod 1 となり、出力がそれぞれの輪の幅にわたって0から1に増えるにつれて、模様は同心円の輪になっていきます。このモジュールのもっとも一般的な使い方は、出力をグラデーション色彩関数に送り、色の帯を適切に並べることです。この方法の場合、大抵は "Only Output Fraction" を選択せず、色彩関数を周期的にしたほうがいいでしょう。さもなければ、木目関数のアンチエイリアスで人工的な見映えになってしまうかもしれません。

格子

3D コンピュータグラフィックス画像でよく見かけるチェッカーボードのパターンを作成します。このパターンにはオブションはありませんが、X, Y, Z 座標の入力で格子の間隔を拡大縮小できます。


レンガ

レンガ積みのパターンを作成します。出力値1では「レンガ」、出力値0で「モルタル」になります。モジュールをダブルクリックすると、下の例のように "Brick Height"(レンガの高さ)、"Gap Wdith"(隙間の幅)、"Row Offset"(横列のオフセット)を調整できます。



画像

テクスチャに画像を使えます。イメージマップテクスチャと同じく、使用できる画像のフォーマットは .gif、.png、.jpg、.svg、.hdr のみです。画像モジュールの出力は、画像のカラーマップ、4つの数値出力(赤・緑・青の要素、マスク)の数値出力4つで計5つあります。マスク出力は、アルファ選択/マスクや透明画像領域(コチラ で詳述)をもとに表面プロパティを変化させるのに使います。

ダブルクリックで、右の図のようなダイアログボックスが表示されます。

外枠付きの正方形をクリックするとダイアログが現れ、画像の選択や読み込みができます。

X SizeY Size で、その画像の相対的なサイズを決めます。

Tile オプションで、画像を X 方向か Y 方向にタイル並び(際限なく、単純に繰り返して並べます)させます。Mirror オプションではそれが鏡写しになります。後者の場合、隣り合ったタイル同士の画像が鏡写しとなり、表面全体で継ぎ目なくブレンドされます。

モジュールからの Outputs (出力) は (i) 赤・緑・青(RGB)、(ii) 色相・彩度・輝度(HSV)、(iii) 色相・明度・彩度(HLS)で設定できます。

以下は画像モジュールの例です。出力が RGB に設定されているので、このモジュールからの出力は色と4つの数値です。数値出力の順番は「赤・緑・青・マスク」です。ここでは画像モジュールの青の出力が、色彩関数カテゴリの倍率モジュールに適用されています。倍率モジュールは青のカラーモジュール入力を拡大して、発光色プロパティボックスに入力しています。これで画像の青い星印が輝きます。赤(オレンジ色の星印で最も優勢な色要素)の出力は反射率の制御に使いました。色の出力はそのまま拡散反射プロパティに入力しています。



編集 メニュー

その他、手続きテクスチャ編集機能で使えるメニューは、編集メニューに含まれています。

取り消し/やり直し 最後の操作を取り消したり、やり直したりできます。

切り取り(カット) 選択中のモジュールをクリップボードにコビーし、手続きからは削除します。

コピー 選択中のモジュールをクリップボードにコビーし、削除はしません。

貼り付け(ペースト) 切り取り(カット)ツールやコピーツールでクリップボードに入れたモジュールの、新規のコピーを作成します。

削除 選択中のモジュールを削除します。

設定... テクスチャのアンチエイリアスの設定を変更できます。普通、デフォルト値の1.0で充分です。値をより大きくするにつれ、テクスチャは滑らかになっていきます。


プレビュー時間の使い方

右の図は、プレビュー時間の変化の使い方を示しています。

この例では、数式 input1*t*0.5 で「草」の高さ(置換)を制御しています。この数式の出力は、時間 (t) = 0 での0で始まり、t=1 秒で0.5、t=2 秒で1になります。


手続きテクスチャの例

手続きテクスチャツールは、表面テクスチャの作成の大変強力な方法です。このセクションではさまざまなモジュールの詳細を説明しましたが、この方法がテクスチャに行えることの柔軟さは、ほんの少ししかお見せできませんでした。モジュールのほとんどの例は、拡散反射プロパティにつないだ単純なグラデーションカラーマップで示しました。しかしこれらのモジュールはどんな色や数値のプロパティをも変化させるのに使え、多くの興味深いテクスチャを造り出せるのです。

以下の3つの例は、使用可能なモジュールをいくつか選び、もう少しだけ洗練された方法で作ったテクスチャです。画像をクリックすると、作成方法のページに飛びます。










前: テクスチャと材質

次: テクスチャの続き

もくじ に戻る