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キー)に切り替えて、カメラのフレームに平坦な正方形が収まっていることを確認する。