R12テクスチャは、オブジェクトに着せる服。1テクスチャタグこの章では、テクスチャの貼り方について詳しく説明します。オブジェクトにテクスチャを貼ってみましょう。簡単なテクスチャの貼り方はドラッグアンドドロップです。図31-1左下の赤枠内が「マテリアル」、右上が「テクスチャタグ」。4Dのエディタに表示されたオブジェクトにドラッグアンドドロップすると、自動的にそのビットマップ画像を含んだマテリアルとテクスチャタグが作成されます。この操作は、ドラッグアンドドロップを使わなくてもできます。その場合の手順は次のようになります。図31-2ムービーで示したように、まず新規マテリアルを作成し、各チャンネルの「画像を読み込む」メニューを使ってビットマップ画像を読み込みます。次に、このマテリアルをオブジェクトに適用すると、テクスチャタグが生成されます。マテリアルをオブジェクトに適用するには、次の4通りの方法があります。状況によって都合のいい方法を選んで下さい。エディターのオブジェクトにドラッグアンドドロップする。この方法だと、テクスチャタグが新規に作られます。オブジェクトマネージャのオブジェクトにドラッグアンドドロップする。この方法だと、テクスチャタグが新規に作られます。先に「テクスチャタグ」を作り、そこにドラッグアンドドロップする。この方法だと、既存のテクスチャタグのリンクを置き換えられます。先に「テクスチャタグ」を作り、属性マネージャの「マテリアル」フィールドにドラッグアンドドロップする。この方法だと、選択された複数のテクスチャタグのリンクを一度に置き換えられます。ここで図031-2をよく見ると、「平面」と「立方体」に適用されたテクスチャが図031-1と違って見えます。これは、テクスチャタグを作る手順が変ったために、「投影法」が違ってしまったからです。マップ」に変更して下さい。これで正しくテクスチャが貼れたはずです。マップと他の投影法には根本的な違いがあります。それはオブジェクトを変形させてみればすぐに判ります。マップ」で貼ったテクスチャはオブジェクトの変形に付いてくるので、「オブジェクトの表面に貼り付いている」様に見えます。それに対して、「立方体投影」で貼ったテクスチャは変形に付いてこないので、「映写機で画像を投影した」様に見えます。それで「投影法」という名前が付けられているわけです。UVWマップは、「投影法」というメニューの中に入っていますが、正確に言うと投影法ではありません。マップの方が優れているように見えますが、実はそうでもありません。次のムービーを見て下さい。図031-5サンプル031bこのムービーでは、ある大きさのタイルを貼った円筒状の壁を作っています。このまま壁の大きさを変えようとすると、タイルのテクスチャが伸びて大きさが変わってしまいます。このような場合は、投影法を「平行」投影に切り替えます。すればオブジェクトの大きさが変わってもタイルの大きさは変りません。ところが、このまま壁を曲げようとすると、タイルのテクスチャが壁の変形に付いてきません。マップに切り替えます。テクスチャ固定タグ」を追加します。マップに切り替えて処理してくれます。円筒状の壁に正しくテクスチャを貼れました。マップにはそれぞれ利点と欠点があり、適切に切り替えて使う必要があるのです。次のステップでは、まず投影法のパラメータについて詳しく説明します。4Dには全部で9種類の投影法がありますが、ここではよく使う4種類について説明します。マップで貼ったオブジェクト、後列が投影法で貼ったオブジェクト。使ってテクスチャをオブジェクトに投影しています。マップでテクスチャを貼付けた前列と後列を比べてみると、よく似ていることが判ります。いったプリミティブに含まれているUV座標(注)は、その形状に適した各投影法を変換して作ったものなのです。マップに必要となります。球投影には「1枚のテクスチャでオブジェクト全体を表現できる」という利点がありますが、同時に「南極と北極に向かってテクスチャが収束する」という欠点があります。したがって、球投影を前提にしたテクスチャを用意する必要があります。次に、円柱投影には「1枚のテクスチャでオブジェクト全体を表現できる」、また「テクスチャが歪まない」という利点がありますが、「上面と下面を表現できない」という欠点があります。したがって、上面と下面には別のテクスチャを別の投影法で貼る必要があります。次に、平行投影はZ軸方向に沿って単純にテクスチャを投影します。「テクスチャが歪まない」という利点がありますが、「オブジェクトの側面を表現できない」という欠点があります。したがって、オブジェクトの側面が問題にならない薄い板には平行投影を使い、立方体や直方体形状のオブジェクトには次に説明する立方体投影を使うといいでしょう。立方体投影は平行投影に似ていますが、オブジェクトの法線の向きによってXYZ各軸方向の投影を自動的に切り替えます。したがって立方体投影には、「つなぎ目ができる」という欠点がありますが、「オブジェクト全体に歪みのないテクスチャを貼れる」という利点があります。結局どの投影法にも欠点があるので、オブジェクトの形状や見え方に合わせて投影法を選択し、必要に応じて複数の投影法を組み合わせる必要があります。4テクスチャ軸モードテクスチャは、「テクスチャ軸」を基準としてオブジェクトに投影されます。テクスチャ軸はテクスチャタグが適用されているオブジェクトの中に入っています(つまり、そのオブジェクトの子オブジェクトになっています)。この軸を使って、球投影は球座標にしたがって、円柱投影は円柱座標にしたがって、平行投影と立方体投影は、平行座標にしたがって投影されるわけです。それでは、「テクスチャ軸」モードに切り替えて、テクスチャ軸を「移動」、「スケール」、「回転」させてみましょう。図031-7左の赤枠内が「テクスチャ軸」モード、中央下が「座標マネージャ」、右下が「属性マネージャ」。テクスチャ軸モードに切り替えると、選択したテクスチャタグのテクスチャ軸を自由に動かすことができます。各投影法で貼付けたテクスチャはテクスチャ軸にしたがって変化します。複雑な形状のオブジェクトにテクスチャを貼る場合、直感的に使えて非常に便利なツールです。テクスチャ軸の「位置」、「スケール」、「角度」の値は、「座標マネージャ」や「属性マネージャの座標タブ」に表示されます。テクスチャ軸を数値で指定したい場合は、これらのマネージャを使います。テクスチャ軸を動かすための便利な機能があります。図031-8まず、テクスチャタグを選択して、オブジェクトマネージャの「タグ」メニューから「オブジェクトに軸を合わせる」を選択すると、テクスチャ軸の「角度」がオブジェクトの軸に一致します。次に、「ワールドに軸を合わせる」を選択すると、テクスチャ軸の「角度」がワールドの軸に一致します。次に、「ビューに軸を合わせる」を選択すると、テクスチャ軸の「角度」がエディタービューの軸(つまりカメラの軸)に一致します。「オブジェクトに合わせる」を選択すると、テクスチャ軸の「位置とスケール」がオブジェクトの軸に一致します。この機能と「オブジェクトに軸を合わせる」を併用すると、テクスチャ軸の「位置」、「スケール」、「角度」を全てオブジェクトの軸に合わせられます。最後に、「選択範囲に合わせる」を選択すると、まず投影法が「平行」に切り替わり、テクスチャ軸の「位置」、「スケール」、「角度」、及びテクスチャの「サイズ」が全て自動的に調整されます。大きなオブジェクトの一部に小さなマークを貼付けたい場合にとても便利な機能です。図031-9さて、テクスチャ軸モードに切り替えると、テクスチャ軸を自由に動かすことができます。各投影法で貼付けたテクスチャはテクスチャ軸にしたがって変化します。マップしたテクスチャは全く動きません。マップした場合でもテクスチャ軸は動いています。マップはテクスチャ軸を使わずにテクスチャを貼り付けます。テクスチャ軸が動いてもテクスチャが変化しないのです。マップは「何を頼りに」テクスチャを貼っているのでしょうか。それが、前のステップで出てきた「UV座標」なのです。1にある部分は右上に対応、、、」といった感じになります。これに対して、「UV座標」の中身を日本語で書くと、「オブジェクトに含まれるポイント1はテクスチャの左下に対応、ポイント2は右下に対応、ポイント3は右上に対応、、、」といった感じになります。どこにもテクスチャ軸が出てこないので、テクスチャ軸に影響されないわけです。マップは、テクスチャ軸に影響されず、またオブジェクトの変形にも影響されません。それは利点でもありますが、同時に「テクスチャを移動、スケール、回転できない」という欠点にもなっています。マップに戻す、という手順が必要になります。この手順については、次の章で詳しく説明します。4Dには、テクスチャを編集するためのもう一つのモードがあります。それは「テクスチャ」モードです。テクスチャモードを使うと、読み込んだビットマップ画像の「オフセット」と「サイズ」を自由に変更できます。マップの場合でも同じように働きます。図031-10左の赤枠内が「テクスチャ」モード、中央下が「座標マネージャ」、右下が「属性マネージャ」。テクスチャの一部を拡大して使いたい場合や、テクスチャを縮小してタイリング(くり返し)したい場合、テクスチャ軸や投影法をいじってもどうにもなりません。それは「テクスチャ内部の話」だからです。このような場合は、テクスチャモードに切り替え、「オフセット」と「サイズ」の値を適切に指定して下さい。テクスチャの「オフセット」と「サイズ」の値は、「座標マネージャ」や「属性マネージャのタグタブ」に表示されます。テクスチャを数値で指定したい場合は、これらのマネージャを使います。次に、テクスチャを拡大、縮小する場合、「shiftキー」を押しながらZ軸をドラッグすると、均等にスケールできます。テクスチャをタイリングせず一枚だけにしたい場合は、「タイリング」オプションのチェックを外して下さい。