はじめまして。質問させていただきます。
C++とDirectXでSTGを制作しています。
よく3DのSTGにあるように、3D空間をぐるぐる回ったり、プレイヤーが奥から飛んできて
カメラ手前まで来て、そこからゲーム開始といったような3Dならではの演出を見受けられますが、
こういった処理はカメラの座標を移動していて、マップやプレイヤーなどのオブジェクト自体の座標はそのままなのでしょうか?
それとも、カメラは定点でプレイヤーなどを移動させて演出しているのでしょうか?
また、3Dの背景は一部のモデルデータを繰り返し生成しているのか、それとも広いマップを読み込んでいて、その中でプレイヤーを
移動させているのかどういう場合が一般的でしょうか?
私は後のやり方で3D背景のモデルデータを表示したいと考えているのですが、広いマップをステージの数だけ読み込むと処理が重くならないでしょうか?
3Dモデリングの知識が浅いのでわからないのですが、作り方によっては軽いマップも作れるのでしょうか?
質問が多くなって申し訳ないですが、どんな些細なことでもいいので、情報のご提供よろしくお願いします。
STGの3D背景の原理について
Re: STGの3D背景の原理について
どのような演出をしたいかとか、どれくらいの性能のハードウェアを想定しているかによって答えは変わってきます。
どの方法が最適なのか分からないのであれば試しに作って比較してみるのが一番です。
作った上で上手くいかなくて解決策を求めるのはいいですが、作っていないのに最適解を求めるのは無理です。
どの方法が最適なのか分からないのであれば試しに作って比較してみるのが一番です。
作った上で上手くいかなくて解決策を求めるのはいいですが、作っていないのに最適解を求めるのは無理です。
- 普通はカメラを移動させたほうがコードは簡潔になりますが、演出によってはプレイヤーも移動させたりするでしょう。
ちょっと特殊かもしれないですがバーテックスシェーダーを利用することも考えられます。 - マップが広い場合はメモリを消費しますが、見える部分だけを描画していればそれほど重くはならないと思います。
モデルデータを繰り返し生成するのはメモリ消費を抑えるのには有効ですが継ぎ目を意識しないといけないですし、コーディングの難易度も高いです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: STGの3D背景の原理について
>こういった処理はカメラの座標を移動していて、マップやプレイヤーなどのオブジェクト自体の座標はそのままなのでしょうか?
>それとも、カメラは定点でプレイヤーなどを移動させて演出しているのでしょうか?
私はプレーヤーを動かしたほうがシンプルだと思います。
理由は背景とカメラの位置関係を動かさなくて良いからです。
まぁ、演出しだいなんですけどね。
>また、3Dの背景は一部のモデルデータを繰り返し生成しているのか、それとも広いマップを読み込んでいて、その中でプレイヤーを
>移動させているのかどういう場合が一般的でしょうか?
どちらもあり得ると思いますが、後者のほうが簡単です。
>私は後のやり方で3D背景のモデルデータを表示したいと考えているのですが、広いマップをステージの数だけ読み込むと処理が重くならないでしょうか?
>3Dモデリングの知識が浅いのでわからないのですが、作り方によっては軽いマップも作れるのでしょうか?
ステージ数だけ読むというのは、全部のステージを一度に読むということでしょうか?
とりあえず、今いるステージだけを読み込んでステージのつなぎで読み込むようにすれば、無茶なデータを作らなければ問題は少ないと思います。
ただ、ステージのデータ次第ですのでなんとも言えないです。
※ 3Dデータはポリゴン数と使うテクスチャの量ですべてが決まります。
私もh2so5さんと同様の意見ですが始める前から心配しすぎです。
絶対初めはうまくいかないので、失敗と試行錯誤のすえに分かってくるものだと思って下さい。
経験がないうちに作る前からベターもベストも求めてはいけません。
>それとも、カメラは定点でプレイヤーなどを移動させて演出しているのでしょうか?
私はプレーヤーを動かしたほうがシンプルだと思います。
理由は背景とカメラの位置関係を動かさなくて良いからです。
まぁ、演出しだいなんですけどね。
>また、3Dの背景は一部のモデルデータを繰り返し生成しているのか、それとも広いマップを読み込んでいて、その中でプレイヤーを
>移動させているのかどういう場合が一般的でしょうか?
どちらもあり得ると思いますが、後者のほうが簡単です。
>私は後のやり方で3D背景のモデルデータを表示したいと考えているのですが、広いマップをステージの数だけ読み込むと処理が重くならないでしょうか?
>3Dモデリングの知識が浅いのでわからないのですが、作り方によっては軽いマップも作れるのでしょうか?
ステージ数だけ読むというのは、全部のステージを一度に読むということでしょうか?
とりあえず、今いるステージだけを読み込んでステージのつなぎで読み込むようにすれば、無茶なデータを作らなければ問題は少ないと思います。
ただ、ステージのデータ次第ですのでなんとも言えないです。
※ 3Dデータはポリゴン数と使うテクスチャの量ですべてが決まります。
私もh2so5さんと同様の意見ですが始める前から心配しすぎです。
絶対初めはうまくいかないので、失敗と試行錯誤のすえに分かってくるものだと思って下さい。
経験がないうちに作る前からベターもベストも求めてはいけません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。