3次元の空間の作成方法について
Posted: 2008年10月25日(土) 07:14
再度お世話になります、山崎と申します。
この度は、皆様の意見をお伺いに参りました。
現在、3次元の空間を用いたアクションゲームを作っております。
しかしまだDirectXやポリゴンといった技術が私に無いので、
DXライブラリを用いて「3次元に見える」空間を表現しようと思ってます。
例を挙げるとすれば、ちょっと古いですが
スーパーマリオRPGのフィールドのような空間を表現したいと思ってます。
横幅、縦幅、高さがあって、主人公の前に壁があればもちろん主人公はその後ろに隠れて見えません。
ただ、あのくらいのグラフィックの見栄えは真似できませんが・・・。
そこで皆様の意見をお伺いしたいのが、
どうやってこの3次元の空間を表現するか、ということなのです。
どのようなデータ構造を用いるか、と言った方がいいかもしれません。
「こういう構造にするのが定石だ」「一般的にはこうだ」
「飽くまで自分ならこうする」「こういう方法はどうか」
といった案があれば、どうか教えて頂きたいと思います。
私はchar型の3次元配列を用いて、空間を小さな立方体の集まりとして表現しようと考えました。
たとえば、3次元空間の情報としてchar field[100][110][120]と宣言し、
'b'がブロックの意味であるとし、field[3][4][5]='b'だとしたら、
この空間は横幅が100マス、縦幅が110マス、高さが120マス分あり、
X=3,Y=4,Z=5に位置する場所にはブロックがある、という感じです。
この方法は有効なのでしょうか?
また、3次元の空間に限らず、皆様はアクションゲームでもRPGでも、
キャラが動き回るマップをどのようにして作っているのでしょうか。
マップデータが記入されたファイルを前もって作り、それを読み込む、といった手法でしょうか。
広いマップになると手打ちでマップを記入するのも大変だと思うのですが、
皆様はどうしているのでしょうか。
3つも質問があって誠に申し訳ないのですが、
皆様の意見が聞ければ幸いです。
この度は、皆様の意見をお伺いに参りました。
現在、3次元の空間を用いたアクションゲームを作っております。
しかしまだDirectXやポリゴンといった技術が私に無いので、
DXライブラリを用いて「3次元に見える」空間を表現しようと思ってます。
例を挙げるとすれば、ちょっと古いですが
スーパーマリオRPGのフィールドのような空間を表現したいと思ってます。
横幅、縦幅、高さがあって、主人公の前に壁があればもちろん主人公はその後ろに隠れて見えません。
ただ、あのくらいのグラフィックの見栄えは真似できませんが・・・。
そこで皆様の意見をお伺いしたいのが、
どうやってこの3次元の空間を表現するか、ということなのです。
どのようなデータ構造を用いるか、と言った方がいいかもしれません。
「こういう構造にするのが定石だ」「一般的にはこうだ」
「飽くまで自分ならこうする」「こういう方法はどうか」
といった案があれば、どうか教えて頂きたいと思います。
私はchar型の3次元配列を用いて、空間を小さな立方体の集まりとして表現しようと考えました。
たとえば、3次元空間の情報としてchar field[100][110][120]と宣言し、
'b'がブロックの意味であるとし、field[3][4][5]='b'だとしたら、
この空間は横幅が100マス、縦幅が110マス、高さが120マス分あり、
X=3,Y=4,Z=5に位置する場所にはブロックがある、という感じです。
この方法は有効なのでしょうか?
また、3次元の空間に限らず、皆様はアクションゲームでもRPGでも、
キャラが動き回るマップをどのようにして作っているのでしょうか。
マップデータが記入されたファイルを前もって作り、それを読み込む、といった手法でしょうか。
広いマップになると手打ちでマップを記入するのも大変だと思うのですが、
皆様はどうしているのでしょうか。
3つも質問があって誠に申し訳ないのですが、
皆様の意見が聞ければ幸いです。