ゲーム「Do n't Starve」のように、2.5Dパースペクティブで地形をレンダリングするにはどうすればよいですか?


10

Terrariaなどの2Dサイドスクローラーゲームを作成した経験がありますが、自分自身に挑戦して、2.5Dの視点を持つゲームを作成したいと考えています。私が模倣しようとしているゲームは、Do n't Starveです。現在、私の焦点は、地面をレンダリングする方法を理解することです。彼らがどのように地面を生成し、それをレンダリングしたかを理解するのに苦労しています。彼らが地面をレンダリングしたと思う方法は、最初にいくつかのペイントプログラムで地面をペイントし、次にその平面イメージを何らかの方法で操作して、奥行きがあるように見せることです。

実際にそのタイプの地形をどのようにレンダリングするかについて、私は完全に混乱しています。地形に次の機能を持たせたい:

  • Do n't Starveの地形のように見える、これはDo n't Starve の地形を示すビデオです
  • 地形は平坦になり、カメラの角度と視点は固定されます

ヒントやヒントをいただければ幸いです。よろしくお願いします。

(私は軽量Javaゲームライブラリ(LWJGL)を使用してJavaで作業しています。)

回答:


34

私は実際にはDo n't Starve開発者(フォーラムのKevin)の1人です。私は通常はレンダリングを処理しませんが、ゲームは3Dであると言えます。地面は、コーナーをより見やすくするための特別なトランジションピースを備えた通常の2Dタイルマップです。過去にそうしたことについて話しましたが、特別なデススパンクスタイルの丸めは行われていません。

ゲームエンティティには、直立と地面の2種類があります。直立した実体は、カメラに半分掲示されていますが、完全ではありませんが、カメラの角度によって、横になっているかのように見えました。地面のものは地面に描かれたプレーンです。

これが与える外観は、やや狭い範囲のカメラ角度で機能します。高すぎると、直立したものはすべて奇妙に短縮されます。本当に低くすることは少しうまくいきますが、キャラクターの後ろや何かの「南」を見ることができないため、ゲームをプレイするのは難しすぎます。これら2つの極端な方法の適切なトレードオフを見つけるには、多くの実験が必要でした。

とにかく、ゲームの背後にある技術について他に質問がある場合、私たちはとてもフレンドリーで、そのようなことについてkleiフォーラムでお話しします:)


youtube.com/watch?v=vtYvNEmmHXE youtube.com/watch?v=-Q6ISVaM5Wwこれらのコンセプトが気に入った
SHiRKiT

3

その1つのゲームがどのように実行したかははっきりとは言えませんが、ビデオから見ると、ゲームオブジェクトにビルボードスプライトを使用する通常の3Dゲームの世界のように見えます。同様のゲームには、ペーパーマリオゲームやデススパンクシリーズなどがあります。

パースペクティブカメラで地形を3Dとしてレンダリングします。たぶん、単純な頂点シェーダーを適用して、少し「丸み」を追加します(Death Spankがこれに大きな効果をもたらしました。Don'tStarveが同じ効果の非常に控えめなバージョンを持っているようで、わかりにくいです)。

ゲームオブジェクトのスプライトを作成し、常にカメラに面するようにレンダリングします(「ビルボード」と呼ばれます)。オンラインでビルボードを実現する方法に関する多くのチュートリアルがあります。例:http : //www.lighthouse3d.com/opengl/billboarding/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.