【Blender】ハイポリゴンから AlbedoMap NormalMap HightMap AOMap 作るメモ その1

将棋の駒をモデリングするため、Blender で四苦八苦したので過程をメモしておきます。

概要

 ハイポリゴンを作成して、そこから各マップをベイクしテクスチャを作成ししていきます。最終的にUnityで利用できればOkとします。
 プログラマー目線からの Blender 目録のため、Blenderマスターの方はあくびが出る内容かもしれません。ご了承ください。

  • ローポリを用意する
  • ハイポリの文字を作成する
  • 地になるテクスチャと法線マップを作る
  • 地テクスチャーとハイポリをマージする。
  • AlbedoMap,NormalMap,HightMap,AOMapを出力する
  • Unityでローポリに貼り付けて豪華に見せかける
  • ついでにドミノ倒しする。

駒のモデルを用意する。

こちらに詳しく説明されてました。
ローポリのモデル

駒モデルはローポリのモデルで問題ないです。

UV展開しておきます。

編集モードにして、3Dビュー > 選択 > すべてを選択(解除)からメッシュを選択状態にします。

3Dビュー > メッシュ > UV展開… > 展開 を選択しUV座標を設定します。

UV画像エディター窓がこの様になっていれば成功です。

駒モデルは完成です。保存して置きます。

テクスチャー用のハイポリゴンを作成する。

挫折したハイポリゴン文字

最初は Blender の Font 機能を利用し 作成したメッシュを押し出しから細分化でなめらかにしたかったのですが、穴が空いたり、変なシワが出来たりで挫折しました。

シワが寄ったり、意図しない穴ができる失敗モデル

回避方法が見つからなかったので、アプローチを変えることにします。

ディスプレイスを利用しハイポリゴン文字を作成

文字用のテクスチャーを用意する。

1024×1024 程度の文字がセンタリングされている画像を作成します。

こんなの

Blender でハイポリゴンの平面を作成する。

 画像からハイポリゴンのメッシュを作成することにします。
 プリミティブ追加 > 平面 から平面を作成し、編集モードから 3Dビュー > メッシュ > 辺 > 細分化 を選択し 分割数 に 100 を入力します。

100 x 100 のマトリックスが出来ましたがこれでは解像度が足りないので 再度 細分化を選び 4~5 辺りで分割します。仮に606 x 606 のマトリックスにします。

606 x 606 のマトリックス で メモリ使用量 が 約 500 M ほどになります。

ディスプレイスを利用し文字を浮き上がらせる。

プロパティ窓からテクスチャを選択し、新規作成ボタンを押します。

画像から開くを押し、先程作成した文字画像を選択します。

次に プロパティ窓から モデファイアー を選択し

スパナのアイコン

追加から ディスプレイスを選択します。

ディスプレイスはハイトマップからメッシュを作成するものと認識してます。

テクスチャの項目のチェックアイコンを押し 先程読み込んだ 文字画像を選択します。

中間レベルは 0でいいでしょう。0起点で盛り上げます。
強さは 0.1 位がちょうどいいです。

オブジェクトモードだとビューで確認できます。

 この時点ではまだ適用されていません。ビューに変化がない場合は編集モードになっていないか確認してください。オブジェクトモードでないと確認できません。
 問題なければ適用ボタンを押してください。メッシュ化されます。

こうなれば成功

スムージングしなめらかにする

次にスムージングします。
編集モードにし、3Dビュー > メッシュ > 頂点のスムーズ を選択。

頂点スムーズ設定が出るので、
スムージング 1.0
リピート 50
くらいに設定します。
スムージング処理はメッシュをとろけさせるような処理で、リピートは何回繰り返すかになります。この処理は結構時間がかかるのでリピート数を上げすぎるとかなりの時間がかかります。

リピート数を調整しながら見た目を決めてください

下の画像のように滑らかになっていれば成功です。

スムージングすると若干中心に収縮するので、寸法を x 2.0 y 2.0 z 0.1 に設定してサイズを合わせます。

若干ちぢむ

その後 Ctrl + A で メニューを開き 適用 > 拡大縮小 を選択し、メッシュに反映させます。

長くなったので、その2へつづく…

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です