1

マップが 3D タイル化される戦略ゲームを書きたいと思います。gamedev に関するいくつかの記事を読みましたが、それらのほとんどは 2D 空間に 3D を実装しようとしています。最近では、3D カードを使用してどのように実装されているのだろうか。Irrlich を使用するのはやり過ぎになるのではないでしょうか (素晴らしいハイトマップ シーン ノードがあります)。

前もってありがとう、ternyk

4

2 に答える 2

2

ほとんどはすでにKylotanによって回答されており、私は同意します。

それに追加:

Irrlichtのようなエンジンを使用することはやり過ぎではありません。direct3d/openglの使用に関する退屈でエラーが発生しやすい標準的なタスクから解放されるため、実際に作業が簡単になります。

一般に、ゲームの内部世界の表現とその視覚化を区別することが重要です。ゲームが3Dモデルと3D地形を使用しているからといって、ゲーム世界の内部表現に同じデータを使用しているわけではありません。ほとんどの場合、簡略化されたモデルがその下にあります。Kylotanは一方向に並んでいますが、ハイトマップベースの地形を下に単純なモデルで配置することもできます。各要素がゲーム固有のプロパティを持つシーンのタイルを表す2D配列(どのタイプのユニットがこのタイルに入ることができるか、移動コスト、建物を建てることができるかなど)。視覚的な地形は、このデータから完全に切り離すことができます。

地形機能に関して、OGREは、柔軟性、パフォーマンス、および視覚的品質の点で、Irrlichtよりもはるかに優れた地形実装を提供します。それがあなたのゲームに関連しているかどうかはわかりません。http://www.ogre3d.org/forums/viewtopic.php?f=11&t=50674を参照してください

于 2009-06-23T23:46:03.087 に答える
1

3D カードは、世界表現とはほとんど関係ありません。「2D 空間の 3D」という観察は正しいです。なぜなら、それはこれらのゲームのほとんどが本質的に行っていることだからです。タイルは、これまでと同じ方法で保存できます (つまり、ある種の 2D 配列で、おそらくより管理しやすいチャンクに分割されます)。変更する必要があるのは、各タイルのグラフィカルな表現だけです。ビットマップの代わりに、3D モデル、または地形の場合は 1 つ以上のマテリアルを参照する場合があります。レンダリングはこれまでとほとんど同じです。画面上のすべてのタイルについて、そのタイルの表現 (それが何であれ) を指定された位置に描画します。3D レンダリングはタイルを 2 次元ではなく 3 次元でレンダリングし、モデル空間からワールド空間、カメラ空間への変換全体を必要としますが、それはタイル化されているかどうかにかかわらず、すべてのゲームに当てはまります。

Irrlicht は、特にタイルの上に 3D モデルをレンダリングできるようにしたい場合は特に、そのようなゲームではやり過ぎではありません。独自の単純な 3D エンジンを作成することはそれほど難しくありませんが、無料で入手できるものよりもほとんどまたはまったくメリットがないため、多くの労力が必要です。詳細に触れていないため、要件に正確に一致するかどうかを判断するのは困難ですが、一般的に言えば、C++ を使用する場合は、Irrlicht や OGRE などの無料のライブラリを使用してゲームを作成することをお勧めします。

于 2009-06-23T13:31:07.020 に答える