読者です 読者をやめる 読者になる 読者になる

3Dモデルメッシュを heightmap にベイクする方法

 WIKI BOOKS で見つけました。正投影にして、カメラを上から真下に向け、ライティングを切ったうえで、Z距離を黒-白のカラーバンドにバインドしてピクセルにベイクするという手順です。

 ご自宅でゲーム作ってる皆様、

「heigtmapのエディット機能は低いが、エンジンのブラシは使わなければならない」
PS2ゲームみたいなポリポリした地形じゃないと不安」(←わしコレ)

 みたいなシチュエーションで使えるのではないかと思います。

マテリアル設定
  • シェーディングタブ(F5)で新しいマテリアルを追加
  • テクスチャタブ(F6)で新しいテクスチャを追加。このマテリアルはこれ以外のテクスチャを持たないように。
  • テクスチャタイプのドロップメニューから Blend を選択。
  • 同じウィンドウ上のカラータブで、カラーバンドを選択して、ブレンドパターンを定義できるようにする。
  • カラーバンドの左端をクリックして黒色を選択。
  • アルファ(A)のスライダーを調整して、 1.0 まで増やす。
  • (デフォルトの)シアンを選択して、これを白色に変更し、黒 - 白のカラーバンドの作成を終える。


  • マテリアルタブ(赤いボールのアイコンのやつ)に戻る
  • マテリアルペインで、 Shadelessを選択して、マテリアル上のライティングを無効化
  • Map Input ペインの下のほうにある XYZ のグリッドボタンを全部 Z にする。
  • 左のプレビューウィンドウで、スフィアやキューブを選択し、底のほうが完全に黒で、上のほうが白になっていることを確認する。


  • 最後に、エディットタブ(F9)に行って、 Set Smooth ボタンを選択してグーロシェーディングを有効にする。
カメラの設定
  • シーンにライトやカメラがあるなら全部削除する
  • トップビューに切り替えて(7キー)、原点付近で左クリックして3Dカーソルを原点へ持っていく。 SHIFT + S キーでカーソルがグリッドする。
  • 新しいカメラを追加する。これは下向きの新しいカメラをシーンへ追加する。
  • サイドビューに切り替えて(1キーか3キー)、カメラをZ軸に沿って上げる。距離は重要ではないが、 Terrain はカメラの正面にある必要がある。


  • カメラが選択されている状態で Editing タブ(F9)へ行く。そして Orthographic ボタンを選択して正投影する。
  • Orthographic ボタンのそばにレンズスケールがあるので、値を弄ってカメラから見た Terrain のサイズを合わせる。
  • シーンタブ(F10)へ行き、フォーマットのところで作りたい heightmap に合わせてサイズを調整する。実際に heightmap を使用する環境に適したサイズにすること(2の乗数とか)
  • カメラビュー(0キー)に切り替えて、カメラのフレームに平坦な正方形が収まっていることを確認する。


  • シーンをレンダリング(F12)して、イメージを保存(F3)する。
  • heightmap を持っていく先が、グレースケールの画像を要求しているのであれば、レンダリング前にフォーマットペインで BW ボタンを押す。 BW を選択しておくと、グレースケールでレンダリングされるようになる。