ページ 11

3Dゲームに使うモデルに関して

Posted: 2013年4月07日(日) 19:11
by MooP
プログラミングとは少し関係ないかも知れませんが、ゲーム用の3Dモデリングに関して疑問があるので質問させていただきます。

ハイポリの場合、サブディビジョンサーフェスを用いて綺麗な3DCGを作ることが多いらしく、静止画・映像作品向けであり
ゲームなどのリアルタイム処理を行うものには不向きであると聞きました。

また、Direct3Dは三角ポリゴンしかサポートしていないと聞いたのですが、最近のPlayStation3やXbox360の綺麗な
3Dグラフィックのゲームも実際はローポリでつくられたものなのでしょうか?
ゲームで動かすモデルを作るなら、三角形をメインとするローポリで作ると考えた方がいいのでしょうか?

Re: 3Dゲームに使うモデルに関して

Posted: 2013年4月07日(日) 19:43
by h2so5
MooP さんが書きました: また、Direct3Dは三角ポリゴンしかサポートしていないと聞いたのですが、最近のPlayStation3やXbox360の綺麗な
3Dグラフィックのゲームも実際はローポリでつくられたものなのでしょうか?
ゲームで動かすモデルを作るなら、三角形をメインとするローポリで作ると考えた方がいいのでしょうか?
ゲーム用にモデルを作るなら基本的にはローポリということになると思います。

ゲーム用のポリゴンがローポリと呼ばれているのは「静止画・映像作品向け」のモデルより相対的にポリゴン数が少ないというだけです。
10年前のハイポリは今ではローポリでしょう。

DirectXやOpenGLは三角形ポリゴンしかサポートしてないので、三角形以外で作っても結局三角形に分割することになります。
OpenGL2.0では四角形ポリゴンもサポートしていましたが、ハードウェアレベルでは結局三角形に分割していることが多いらしいです。

ゲームなどのリアルタイムレンダリングでもサブディビジョンサーフェスは使われていますよ。
DirectX 11やOpenGL 4.0ではテッセレータがハードウェアで実装されているようですし。

Re: 3Dゲームに使うモデルに関して

Posted: 2013年4月07日(日) 19:46
by あたっしゅ
まず、ハイポリとローポリについて。
ハイポリとは、(ローポリに対して)ポリゴン数が多い、という意味で、
リアルタイム処理が間に合わないものを指すようです。
で、リアルタイム処理が間に合うものをローポリと呼んでいるようです。
無理に、ハイポリのデータを、リアルタイム処理しようとすれば、いわゆる処理落ちすることに
なります。マシンの機能があがれば、かつてはハイポリだったものが、ローポリになることは
あります。

「映像作品向け」ってのは、動画って意味かな。静止画や動画は、その場で計算するのではなく、
前もって計算しておいた結果を表示するものです。

ゲームの映像ですが、これはリアルタイム処理している部分と、動画を再生している部分に
分けられます。入力に反応していれば、リアルタイム処理。見てるだけの部分が動画再生です。

多角形ポリゴンは、複数の三角形に分割できます。
なので、三角形が描ければ、多角形ポリゴンも描けます。

あ、書いている最中に、 h2so5 さんに書き込まれた。

Re: 3Dゲームに使うモデルに関して

Posted: 2013年4月07日(日) 22:42
by softya(ソフト屋)
ポリゴンだけ高精度にしてもシェーダーやら色々使いこなさないとPS3やXbox360の絵にはなりません。
なので、まずはポリゴンだけでPS2程度を目指してみるのが良いかと思います。それを如何にライティングやシェーダー等でPS3的に綺麗にしていくかを考えてはどうでしょうか?
※ そもそもPS2程度まで使いこなせているアマチュア自体が少ないです。
あとUnityとかUDKで表示設定を色々してみて作った絵と同じ様な絵が自前のプログラムで出るまで頑張るのも勉強になると思います。

参考 「幻想テレグノシス」 Unity使用
[youtube][/youtube]

Re: 3Dゲームに使うモデルに関して

Posted: 2013年4月08日(月) 00:32
by ISLe
UVマップテクスチャの作成など、ローポリモデルのレンダリングのクオリティを上げるための情報の抽出にハイポリモデルが必要になると思います。
最初からローポリ目指してローポリしか作らなかったら格段にクオリティが下がるのではないでしょうか。

画像編集ツールで直接マップテクスチャを作ってしまうようなデザイナさんがこの世のどこかには存在するらしいですが。