みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

3Dゲームのステージの作られ方

カテゴリが合ってるかどうかわかりませんが…
趣味程度にCGに興味がある者です。

みんなのGOLF5をプレイしているときにふと思ったのですが、
あぁいった3Dのステージはどのように作られているんでしょうか?

私は、GLUT等を少しかじっていて、なんとなくポリゴンを表示するなどのあたりのことはわかっています。
その知識レベルからすると、単純で無意味な曲面っぽいものを描画することはできても
ゲームのような複雑なものは一体どうなってんだ!とそれ以来疑問に思っています。

あぁいうものになると、やはりいわゆる3DCGソフトで作られているんでしょうか?
3Dの動画なんかも同じでしょうか?


質問の回答以外でも、そういった仕事に携わっている方がいらっしゃいましたら
是非何でも語っていただきたいと存じます。

投稿日時 - 2008-12-25 18:17:13

QNo.4582607

暇なときに回答ください

質問者が選んだベストアンサー

詳しいことはすでに回答がついているようなので。
マップやキャラクターといった3Dデータは専用のソフトで作ります
これは分業しているので、グラフィック担当者がより綺麗に見えるように作るよということですね
PS時代のカクカクしたものとの違いで一番大きいのはポリゴン数です
平面でも○を書くとして、直線を組み合わせて書く場合、直線が多い方がより○に近くなるのと同じです

とりあえず趣味でやってみようというレベルなら、フリーかシェアウェアの組み合わせで十分でしょう

3DのモデリングはMetasequoiaで十分事足ります
扱えるファイル形式などで扱えないと困るものがあればシェアウェア版(5000円)にすればいいでしょう

キャラクターの動きもつけたいのであれば、モーションをつけるツールもいろいろあるので、例えば「Metasequoia モーション」とかで検索するといろいろでてきますので、自分にあったものを探してみると良いかとおもいます

後は描画については自前でやるか任せるかですが、任せる場合はXファイルにしてDirectXにやってもらうか、ネットで公開されているライブラリなどを使うかです

OpenGLならポリゴン描画できるのであれば、3Dデータのファイルを読み込み、そのデータを元に描画すれば良いでしょう

箱庭とキャラクターが描画できるようになったら、キーボードなどの入力デバイスから入力を取得し、それに合わせてキャラクターの向きや座標を変化させるようにすれば移動できるようになります

その際にキャラクターのモーションを変更するようにすれば止まっているとき、歩いているときなどでそれようのモーションで描画できます

移動と順番はどちらでもいいですが、あたり判定を作ります
地面とキャラクター、キャラクターとキャラクターで当たり判定をして、当たっていたら当たらない位置まで戻すようにすれば、例えば重力を持たせて当たり判定すると、キャラを動かしたときに地面に沿って動くようになります
あたり判定は簡素化してもいいし、本気でやってもいいし

簡単なポリゴンの描画ができるのであれば、単にたくさんポリゴンを書くだけなので、表示は難しくないのではないかと
モーションはちょっと面倒かもしれませんが、それはそれで調べるといろいろ情報はでてくるんじゃないかなと

このあたりの情報は2chのゲーム制作技術板などで有志が集まっていて、いろいろ教えてくれますよ

投稿日時 - 2009-01-09 21:00:15

お礼

ありがとうございます。
知りたいことがだいぶわかってきました!

投稿日時 - 2009-01-10 10:53:33

ANo.5

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

環境はPCとソフトが必要です。

■PC
CPUは最近のは速いものが多いので極端に安いものでなければどれでも大丈夫でしょう。グラフィックボードは必要です。GeForce9600GSとかのミドルレンジでも3Dソフトは十分に動きます。Core2DuoとGeForce、電源が貧弱でないものを選んでください。
メモリは安いので4GB積んでいいでしょう。DellなどのPCでオフィス向けのPCはダメですよ。ミドルタワーくらいのものでいいです。
モニタは22inchか24inchのワイドを使うといいです。このクラスでも安い液晶も多いです。
OSは業界ではまだまだXPが主流なのでXPのほうがいいと思います。いちおうVISTAでも3DCGソフトは対応していますが少し重くなります。

■ソフト
3DCGソフトはMaya、XSI、3ds maxが主流なのでこれのどれかをお勧めします。前2者は年間保守料というものがあり、無料バージョンアップを受けるには1年間に数十万の保守料がかかります。結局出だし50万~となりますが、どれも体験版がありますので一度触ってみることをお勧めします。触ってみると言ってもCGソフトはソフトウエアの中でも突出して難易度が高いので本やネットでいろいろ見ながらじっくり期間をかけて勉強してみるといいです。1年程度でゲームや映画のようなものはできませんので、焦らず勉強してください。
あと、テクスチャを描くソフトとしてPhotoshopが必要です。これは12万ほどですが、安いElementでもまあとりあえずは大丈夫です。もしくは無料のGIMPという手もあります。とにかく画像が描けて保存できれば問題ありません。

■勉強方法
独学か学校に行くかです。最近は3DCGの専門書も増えてきたのでそれらを購入して独学するのもいいでしょう。私がCGを始めた10数年前にはCG和書がほとんどなく、Webで海外のサイトを見て勉強しました。今でも海外のサイトのほうが充実しています。CGに関しては日本は15年遅れていますので、最新のCGを勉強したければ海外に行くほうがいいです。
あと「学校に行く金があれば環境を揃えて独学したほうがいい」という意見も多いのですが、学校と環境は別途で考えた方がいいです。とくに業界に入りたい場合は学校のほうが業界情報が圧倒的に多く、業界人と接点ができたり、いろいろなイベントやトップクリエータの講演に参加できたりします。今の時代は情報がたくさんありますのでどんな勉強法でも学習できると思いますよ。頑張ってください。

投稿日時 - 2008-12-29 14:00:45

補足

丁寧な回答ありがとうございます。いろいろ参考になります。
言葉足らずでしたので補足させていただきます、本当に申し訳ありません。

まず、先の補足に書きましたようなことは、あくまで趣味程度のプログラミングという範疇です。
そのためお金をかけることはなかなかできないのです。

次に、私がどの程度の知識があるかを申します。

・C++によるプログラミングに関しては一通りの知識・経験があります
・グラフィック関連で言えば、GLUTによる簡単なポリゴンの描画(スタンフォードバニーなど)やCgによるごく初歩的(本当に初歩です)なシェーディングの知識はあります。

ですが、3Dのゲーム(箱庭でキャラクター動かして遊べる程度のもの)を完成させるにあたり、何をどう組み合わせていくんだろう、という疑問がありましたので、先ほどのような質問をさせていただきました。
いろいろな本やサイトを参考にはさせてもらっているのですが、入門の次というのがなかなかないような気がしています。

本当はCGのことなど勉強して、そういう仕事に就いたりもしてみたかったのですが、もうそんなには若くないんですよね……。残念です。

投稿日時 - 2008-12-29 14:22:27

ANo.3

背景を制作するには3DCGソフトを使いますが、実際のポリゴンデータには基本的に頂点位置情報・UV情報(テクスチャを配置する情報)・頂点カラー情報の3つがあります。このほかに芝生などの模様を表現するシェーダ(光の拡散と反射を擬似的に表現する技術)とテクスチャ(2Dの絵)が必要となります。
実際にはさらに多くの情報を持っていたりします。たとえば遠くのポリゴンと近くのポリゴンの分割が同じだと遠くの計算が無駄に重くなるので段階的にポリゴン数を減らすLOD情報があったりします。
ゲームの背景といってもゲームによってシェーダの計算スタイルやLODの計算方法は様々で、各社それぞれ独自の手法を使ったり、そういうソースを販売している会社から買ったりして背景を組みたてています。

あとNURBSはPS2でもPS3でも使えますが、使っているソフトはほとんどありません。NURBSは頂点が少なくても曲面を表現しやすいですが、データが少ない代わりに処理が重くなりますので、リアルタイムで動くゲームではほとんど使われません。また、UV配置も自由ではないので制作も非常にめんどうです。NURBSは自動車やプロダクトデザインなどの制作に使われることが多いです(CADなど)。

最近は海外などでよくつかわれるのですが、樹木の生成にSpeedTreeというミドルウエアを使うこともあります。PS3など高性能機になってからは樹木をいちいち手で作るのが大変になってきましたので、こういう専門のミドルウエアを使うことも多くなってきました。
草の表現などは各ソフトによって独自に作っている場合が多いです。ここはけっこう個性を出しやすい部分なのでみんな独自にやろうとしたりしています。

投稿日時 - 2008-12-28 22:19:35

補足

なるほどなるほど、みなさまありがとうございます。

最後の質問とさせていだだきます。話をきいているうちに、こんなことをしてみたくなりました。
箱庭のようなものを用意して、その中でキャラクターを動かすようなプログラムをつくりたい場合に、
どういった環境、勉強が必要となるでしょうか。

例えば、
・キャラクターをモデリングするソフトが必要
・箱庭(マップ)を作成するツールが必要

といったようなことだと思います。
参考までに教えていただけませんか??

投稿日時 - 2008-12-29 11:54:01

ANo.2

ポリゴンとは多角形(ポリ(多くの)+ゴン(角))のことで、ポリゴンによる3Dレンダリングは曲面を主に三角形に分割することで再現するものです。
PSとPS3の違いは一定時間内に描写できるポリゴンの数で、最大でPS2では毎秒6600万ポリゴン、PS3は23億ポリゴンの描写が可能。PSは36万ポリゴンであることを考えると曲面の再現性には圧倒的な差があることがわかります。

PS等で使われているSGIの画像用オープン言語ソースであるOpenGLではポリゴン等で描かれた3D体をラスタライズして平面に変換するわけです。この際
点の座標調整(テクスチャ等含む。バーテックスシェーダ)→いくつかの線、点、ポリゴンの集合を一つの物体としてまとめる(ジオメトリシェーダ)→エフェクト適用(ピクセルシェーダ)
といった段階を得て画面に表示されるのですが、いくらポリゴンを多く扱えてもその他の演算が追いつかなければ画面表示に遅延が発生します。そういったものも考慮したポリゴン数上限はPS3で2億、PS2で500万といわれます。
PSの場合はバーテックスシェーダのみの演算ですから、描写可能ポリゴン数≒実際のポリゴン数となります。それでも圧倒的な差はありますが。

投稿日時 - 2008-12-25 23:53:03

補足

ご回答ありがとうございます。そんなに差があるんですね!全然知りませんでした。

では、例えばみんGOLのようなステージはすごく細かいポリゴンで描画されているんでしょうか?
データとしては、単純に言ってしまえば3次元空間上の点群と考えていいんでしょうか。

他にも曲面の表現としてはNURBSなんかがあったりすると思いますが…(あまり詳しくはありません)

投稿日時 - 2008-12-26 10:12:24

ANo.1

3DCGソフトで作られています。

おもに商業用として売られているものは3ds Max、Maya、Softimage XSIのどれかで作られています。

映画で使われている3DCGもほとんどこれらのソフトで作られています。

どれも最低で50万程度します。

投稿日時 - 2008-12-25 18:26:42

補足

なるほど、ありがとうございました。
続けて質問させてください。

最近のゲームはきっとそうなんだろうな、と思ってはいました。
では、二昔まえくらいの、PSやSSが出始めたぐらいのカクカクした
ような3Dなんてのはどうなってるんでしょう?
ポリゴン云々という話はそのころによく聞いたんで、
単純にポリゴンなのかな、とも思うんですが…。

その場合データはどういうふうに持っていて
どうやって描画して…などといろいろ気になってしまいます。

投稿日時 - 2008-12-25 18:34:36

あなたにオススメの質問