takeyohのおぼえがき

気になったこと、試したことの記録です。

タイヤのテクスチャ設定(UVマッピング)

3dモデルによっては、タイヤの溝までしっかり作りこまれているものもあって素晴らしいのですが、この溝部分に結構なポリゴン数が使われているため、アセットコルサの車データとして使用する場合、kn5サイズが大きくなってしまう要因の一つになります。
データの軽量化対策の一つとして、ツルツルな(パターンがない)タイヤにテクスチャを貼って溝を再現するという方法がよく使われていますよね。
今回はこの方法を覚書します。
すでに作りこまれているタイヤの場合は、ポリゴン数を減らす方法での対応の方がよいかもしれません。今回の方法はツルツルのタイヤモデルであるところからスタートします。

最初にタイヤのテクスチャはこちらを使うことを想定します。

この絵を見ると、タイヤ側面の絵柄と、溝の部分の絵柄に分かれています。
なので、タイヤモデルもこれに合わせて分割していきます。
といっても、オブジェクトをバラバラにするのではなくて、UVマッピングするときの切れ目を設定します。
blenderではこれをシームと呼んでいます。

設定方法です。
1)タイヤを選択し編集モードにしたら、切れ目を入れたい部分の辺を選択します。
  選択された辺は黄色になっています。

2)選択したら、「UV」から「シームをマーク」を選択します。
  すると、選択されていた辺が赤色に変わります。

3)タイヤの側面部分になるところ(タイヤの左右一周ずつ)と、溝になる部分をいくつかに分割します。
 この例では、溝になる部分は8つに分割しています。

4)シームの設定が終わったら、タイヤのマテリアルとして先ほどのテクスチャを設定します。
  タイヤを選択し編集モードにしたら全選択後「UV」から「展開」を選択します。
  すると、このようにマッピングされます。
  上の四角いパーツ8つが溝部分。下の円形のパーツ2つが側面部分になります。

5)あとは、それぞれのパーツを移動させ、テクスチャの位置に合わせます。
  この時、溝部分のパーツは真ん中の溝の絵柄に合わせるわけですが、
  向きを間違えないように注意するのと、なるべくギリギリまで外枠を合わせると、
  つなぎ目が自然な感じになります。
  向きについては、パーツを移動させると3dモデル側にリアルタイムに反映されるので、
  モデル側でどう見えているかを確認しながらやると良いと思います。

  並べ替えた後はこんな感じになります。

UVマッピングの作業は以上で終了です。
あとは、ksEditor側での作業になります。
ksEditorでエクスポートしたfbxを読み込んだら、タイヤのマテリアルを表示します。

もし、凹凸のテクスチャ(txNormal)しかない場合は、ksPerpixelMultiMapかksPerPixelNMあたりを選んで設定します。
txDirty、txBlur、txNormalBlurのテクスチャもある場合は、ksTyresを選んでそれぞれ設定します。
ksTyresの場合はこんな感じになります。

タイヤのテクスチャ設定は以上になります。

/* -----codeの行番号----- */