0

資本と時間が不足しているため、ゲームを 2D で作成する必要がありますが、私 (開発者) は 3D で作成した方がよいと考えています。ユーザーがゲームに参加して、グラフィックが悪いと思って離れてしまうのは嫌です。とはいえ、頑張るしかないと思います。

とはいえ、いずれ3Dへの移植がスムーズに行えるように開発していきたいと思っています。すべてをゼロから書き直さなければならなかったゲームを知っています。そんなことはしたくないので、3D に移行するときに 1 ~ 5 個のグラフィックス レンダリング クラス (または閉じる)、3D グラフィックスが実行されます。

PS これはマルチプレイヤー ロールプレイング ゲームです ( MMORPG ではなく、今のところはるかに小さい範囲です)

4

4 に答える 4

5

これを実現する最も簡単な方法は、ゲームを3Dで記述し、3Dから2Dへの投影を使用して、たとえば平面図や立面図でビューをレンダリングすることです。ゲームの内部メカニズムが2Dであり、真の3Dフレームに移動しようとする場合は、おそらく書き直したほうがよいでしょう。また、3Dの意味や、効果的なマッピングオプションがあるかどうかにもある程度依存します。たとえば、MicrosoftのAge of Empiresは3Dでレンダリングされますが、2Dプランとしては完全に機能します。一方、HalfLifeやQuakeなどの一人称シューティングゲームはそうではありません。

于 2009-01-01T15:24:28.013 に答える
3

資本と時間が不足しているため、私(開発者)が3Dでゲームを行うことを望んでいたとしても、2Dでゲームを行う必要があります。私はユーザーがゲームに参加するのを嫌い、グラフィックが見栄えが悪いと思って去るだけです。私たちはただ最善を尽くす必要があると思いますが。

見栄えを良くするためにすべてが3Dである必要はないと思います。よくできた2Dは、標準の3Dグラフィックスよりも何倍も見栄えがします。優れた3Dグラフィックスを作成するには、真剣な努力を払う必要があります。あなたの予算がこれを許さないのなら、私はむしろゲームプレイ開発に多くの努力を払うように努めたいと思います。

3Dではありませんが、見栄えの良いグラフィックを備えた(やや時代遅れの)DiabloIIについて考えてみてください。

グラフィック表現の変更を容易にするアーキテクチャを構築することは確かに可能ですが、あなたが説明したほど単純になることはほとんどないと思います。もちろん、3Dのために3Dが必要な場合は、それを行うことができます(ビットマップの代わりに、3Dモデルをレンダリングするようになりました)が、これはやや無意味です。3Dを使用する場合、プレーヤーは3Dを使用できる必要があります(たとえば、カメラを動かす、自由度を上げるなど)が、これはゲームの設計全体で考慮する必要があり、したがって真剣に検討する必要があります。ゲームプレイに影響します。

于 2009-01-01T15:26:49.770 に答える
2

GLオルソビューを使用できます。これにより、2D座標のみを使用して画面に描画できるようになります。後で3Dが必要な場合は、オルソビューからパースペクティブビューに切り替えて3Dを使用できますが、2Dオルソビューなので、コードの再利用には役立たないと思います。通常はテクスチャを使用して行われ、テクスチャを3Dメッシュに変換することはできません。

おそらく、より良いアプローチは、すべてを3Dで実行し、カメラを上から見るように設定することです。後でそれを行う場合は、カメラを移動してより良いモデルとテクスチャを作成するだけで3Dに切り替えることができます。このオプションの方が良いように聞こえますが、コードを変更することなく、2Dから3Dへの移植性のトレードオフでより多くの作業を行うことができます。

于 2009-01-01T15:27:01.830 に答える
1

MVCパターンが役立つはずです。

もうお気づきだと思いますが、Java3Dを見たことがありますか? おそらく、それに基づいたプラグ交換可能な 3D レンダリング ビュー (ただし、必ずしも洗練されており、プロダクションの準備ができているわけではありません) を使用すると、2D に縛られて恐ろしい方法で巻き上げられないように、正直に保つことができます。いくつかの Z 位置を追加して 2D のものをレンダリングするのと同じくらい簡単かもしれません。

于 2009-01-01T15:24:13.067 に答える