プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
川モデル合成01
川モデル合成画面
地表モデルに川モデルを重ねて川を追加した画面。
グレースケールマップとカラーマップから自動生成している。



◎地形種別毎にモデルを作成する理由

サンプル地形(HeightmapCollisionの機能流用版)は、グレースケールマップから地形の高さを取得して、3Dモデルを自動生成したものです。
地形の形はこれで満足できるのですが、このままだと地表のテクスチャを1種類で埋め尽くすことしかできません。

そこで、グレースケールマップの他に、カラーマップも用意して、地形種別毎のテクスチャを反映させる、というのが目標です。

バンプテクスチャマップ256   カラーマップ256
グレースケールマップ(左)と地形種別カラーマップ(右)

しかし1つのモデルに複数のテクスチャを張り付けることを(ツールを利用せずに)プログラムだけで実装するのは、今の私の技術力では少し敷居が高いので、最初は地形種別毎に複数の地形モデルを作成し、それらを合成する(重ね合わせる)方法で実装します。

この方法は、見た目が良くなる(後述)反面、地形種別が増える度に地形モデルが増えていくので、PCに余分な負荷がかかります。ベストな方法ではありませんが、まずは手軽な方法で画面に表示し、どんな感じになるか確認するのが狙いです。



◎カラーマップの縮小

最初は自作地表モデル(地表が芝テクスチャの自作地形)と地形種別モデルを重ねるつもりでしたが、「どうせ重ねるなら、今はサンプル地形の方がいいんじゃない?」ってことで、サンプル地形モデルと川モデルを重ねることにしました。


以前書いたように、私のPCではグレースケールマップの解像度を256×256より大きくすると、エラーになります。
多分、グラボの性能が低くて、バッファを充分に確保できないことが原因だと思います。

この問題は、少ないバッファでも動くようにプログラムを改造すれば解決できるかもしれませんが、そのテーマは後回しにして、地形種別モデルの作成を優先します。

というわけで、グレースケールマップの解像度に合わせて、カラーマップの解像度も256×256に縮小しました。



◎川モデルの作成

地形種別モデルの考え方は簡単です。
地形を作成する際に、カラーマップの色を確認し、特定の色であれば少しだけ地形を高くして、それ以外の色であれば低くします。

川モデル

これが川の地形種別モデルです。見た目には判りませんが、カラーマップの水色に相当する部分だけ、少し高くしています。



◎場所も形も想定外?

しかし実際に重ね合わせようとすると、川モデルは想定箇所に浮かび上がらず、想定外の場所に想定外な形が浮かび上がりました。
「色の取得に失敗したのか?どこか判定がおかしいのか?座標がずれているのか?…」
心当たりを1つ1つ潰していったのですが、値はどれも想定通りでした。にもかかわらず、想定通りに表示されないのは何故でしょう?

…かなり悩まされましたが、意外な事実が判明しました。今回プログラムした部分に問題は無く、画面表示も正しかったのです。

・地形モデルが半分しか生成されていなかった
・カラーマップ縮小時に、色が想像以上に変更されていた

この2点に気付いていなかったため、場所も形も想定外のものが表示されて、おかしいように見えただけでした。

地形モデルが半分だけだったのは、以前インデックスバッファを修正した際に、頂点バッファサイズを修正し忘れていたのが原因でした。

それにしても、地形が半分という事実に今まで気付かないなんて…お恥ずかしい限りです。



◎地形モデルの合成

合成…と言っても、特別なことは何もしません。単に2つのモデルを普通に表示するだけです(笑)
では、新しい地形と、昔の地形を比較してみましょう。
(フォグ設定は外しています。また、ユニットの座標系も適当ですので、その辺は気にしないでください。)

川モデル合成02   南陽郡地域図川湖付加04
新しい地形(左)と古い地形(右)

いかがでしょう?
人によって意見が違うかもしれませんが、私は新地形の方が良いと思います。川の流れが切れ切れなのが、航空写真っぽくてリアルに感じます。


さらにアップにしていくと、こんな感じです。

川モデル合成03

アップにしていくと徐々に苦しくなってきますが、これぐらいならまだ耐えられるレベルじゃないでしょうか?

傾斜面を見て頂くとわかると思いますが、今回の「重ね合わせ手法」だと、傾斜面の川は必ずしも四角形にならないのが特徴です。
(「1つのモデルにテクスチャを複数貼る手法」だと、水際のラインがもっとカクカクするかも?)

ちなみに、平面に流れる川がカクカクするのは、どちらの手法も同じです。もっと細かく表現したい場合は、バッファ問題を解決して、マップの解像度を上げる必要があります。



◎次回予告

実は今回は大した話ではなくて、前回までの基礎的な勉強が大切です。…と、頭ではわかっていても、見た目が変わらないと進展してないように見えるので、少し焦っていましたが、今回ようやく見た目が変わったので、少しホッとしました(^^)

今後は、こんな感じで考えています。簡単なものはサクっと終わらせたいですね~。
(大体思い通りにならないんですけどね(^^;)
・座標系を合わせる
・道モデルを追加する
・城モデルの位置を修正する
・バッファ問題を解決してマップ解像度を上げる
・複数テクスチャを実現する

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。