整列された各タイルにランダムにテクスチャをマッピングするには
https://www.youtube.com/watch?v=OW0dqxn2cm4
今回は整列されている各タイルに対してランダムにテクスチャをマッピングする方法について解説します。
こういった場合、リプリケータなどを使うケースも考えられますが、今回は一つのメッシュの中で構成されているタイルに対して、テクスチャで対応する方法をご紹介します。
まずはタイルを作っていきます。板ポリゴンを一枚作ったら、コンポーネントモードで分割していきます。シーンにはあらかじめ5枚のテクスチャが読み込まれていますが、このテクスチャをタイルのポリゴンにランダムに貼り付けます。
まず最初に、このタイル一枚一枚に対してテクスチャを張り付けるという設定を行いましょう。板ポリゴンにマテリアルを設定し、画像を一枚マッピングしてみます。板ポリゴンの全面にテクスチャがマッピングされました。
テクスチャを選択し、テクスチャロケータを見てみると、テクスチャリプリケータというカテゴリがあります。テクスチャにはポイントソースに従って、テクスチャを複製してくれる機能が備わっていますので、今回はその機能を利用します。ポイントソースとなるパーティクルソースにとりあえずこの板ポリゴンのメッシュを指定してみます。
そうすると、この板ポリゴンの頂点を中心として、テクスチャが配置されるようになりました。フォールオフバイアスの値を0%にすると、境界までくっきりとテクスチャがマッピングされます。パーティクルサイズでちょうどテクスチャがぴったりマッピングされるまで調整します。
良いように見えますが、頂点を中心にして配置されていますので、これをタイルとなる各ポリゴンの中心に配置するようにします。ここでポリゴンの中心部分に位置するポイントソースを別メッシュで用意します。アイテムリストから板ポリゴンを複製します。
複製したらまず、モデリングツールバー > エッジサブタブ > 分離のコマンドを実行して、各ポリゴンをばらばらの状態にします。ポリゴンが繋がっていないばらばらの状態にしたら、ポリゴンサブタブから折り畳みコマンドを実行します。そうすると各ポリゴンが折りたたまれて中心の1点に収束するようになります。この折りたたまれて新たに作られる頂点は、ちょうどスパイキーツールを使って長さ0でポリゴンの中心に頂点を作るのと同じものになります。
では先ほど設定したテクスチャロケータのパーティクルソースを、この新たに複製して作成したメッシュに選択しなおします。そうすることで、テクスチャがポリゴンの中心から配置されるようになりました。
あとは、これを複数のテクスチャでランダムに配置してみます。現在、テクスチャの画像を指定するのにテクスチャレイヤーの画像を指定していますが、ここからは1枚の画像しか選択できません。ここでランダムに配置したい複数のテクスチャをまとめてグループにしておきます。
画像を複数選択し、グループタグから新規グループでグループを作ります。グループを作ったら、先ほどのテクスチャの画像をクリックし、クリップブラウザを開いてみると、作成したグループがリストされているのがわかります。このグループを指定すると、グループ内に含まれている複数のテクスチャがランダムに貼り付けられるようになります。
一度、この設定を行っておけば、後からジオメトリを複製しても、いくらでもテクスチャをランダムに割り当てることができます。
今回はタイルの大きさが正方形であり、また画像の解像度も縦横のサイズが同じでしたので、何も設定せずにぴったりと合わせることができましたが、タイルの大きさの比率と画像の解像度の比率は合わせるようにしておいてください。