ビデオゲームで3Dモデルはどのように作成されますか?


15

ゲームの3Dモデルはどのように設計および表示されますか?すべてのコードですか?紙に描かれ、次に3Dグラフィックスソフトウェアに描かれ、それから...何ですか?

もちろん、ゲームプログラマーは、描画するすべての形状(/オブジェクト)のすべての頂点を、コード(Direct3DまたはOpenGL)ですべて定義するわけではありません。したがって、ゲームデザイナーはMayaやプロプライエタリな3Dグラフィックソフトウェアのようなもの。彼らはそのソフトウェアでモデルを「描画」し、どんな形式でもエクスポートし、プログラマーはコードを介してそれを解析し、オブジェクト/モデルのデコード/解析された生の頂点を自動的に入力しますか?

私は多くをグーグルで検索しましたが、プロのビデオゲームのこの側面がどのように機能しているかを説明するためのしっかりしたものを見つけることができませんでした。


2
ここでは技術のプロセスのかなり現実的なドキュメントです:salvationprophecy.com/forum/viewtopic.php?f=4&t=413は
ブルーウィザード

うーん...これは広すぎると答えられないか、建設的でないと考えられます。しかし、同時に、gamedevにアクセスしたことがなく、学習を開始したい人を求めるのは理にかなっているように思われ、良い答えを与えることができます。したがって、これが閉じられるかどうかはわかりません。
ローランクーヴィドゥー

1
通常のモデルをやって人と呼ばれているアーティストではなく、デザイナー:キャラクターアーティスト、環境アーティスト、アニメーター...ゲームのデザイナーが設計についての詳細で実際など、そのルールを、ゲームを
ローランCouvidou

回答:


16

私が取り組んだすべてのゲームで、アセット作成パイプラインは次のようになります。

  1. コンセプトアーティスト(レベル/背景/レベルモデル用)またはキャラクターアーティスト(モデル用)は、キャラクター/レベル/などのスケッチを生成します。通常、クリエイティブディレクター/リードアートには複数のオプションが与えられ、どちらが良いかを決定します。
  2. 承認されたコンセプト/キャラクターアートは、参照として使用するモデラーに与えられます。キャラクターアーティストは、モデリングプロセスのフレームまたはリファレンスをよりきれいにするために、アートの追加のプロファイル/フロントを作成することがあります。私は、3d max / maya / etc内にコンセプトアートが直接参照として立ち往生している多くのモデラーを見てきました。
  3. モデラーは通常、通常はランタイム用の正しいシェーダーマテリアルを使用して、モデルのベーステクスチャも生成します。シェーダーは、ゲーム内でモデルをレンダリングするために使用され、モデラーまたは割り当てられたテクスチャアーティストによって提供される必要がある特定のテクスチャ/ UV /などの要件がある場合があります。
  4. アセットをつなぎ合わせてレベルを「構築」するのは、レベルデザイナの仕事です。

    レベル全体が単一のジオメトリとして構築されるのは珍しいことです。ほとんどのレベルは、ピースまたはセクションで構成されています。(例:悪名高い六角形の「タイル」セットhttp://www.gamasutra.com/php-bin/news_index.php?story=118581を使用し、skyrim(および他の多く)はレゴスタイルのアプローチを使用してレベルhttpをつなぎ合わせます://www.gamasutra.com/blogs/JoelBurgess/20130501/191514/

    多くのゲームは以前に作成されたアセットをインスタンス化するための「レベルエディタ」として3Dモデラーを使用していましたが、通常、このプロセスに関連する説明のレベルエディタがあります。

  5. これがすべて完了すると、アセットは通常、ツールチェーンによって処理され、3D Modelerフレンドリファイルは、ランタイムに直接ロードできるゲーム対応データに変換されます。

    ツールチェーン(生のアセットを取得してゲーム対応のデータに変換するビット)は、多くの場合、ゲーム開発における最も複雑なエンジニアリングの一部です。多くの異なるアプリケーションと対話し、多くの異なるファイル形式を理解し、データをより効率的ですぐに使用できる形式に変換する方法を理解する必要があります。ツールチェーンは通常、照明の事前パス、頂点溶接、LOD生成なども実行します。多くの場合、大規模なAAAゲームのデータセット全体の構築には非常に長い時間がかかり、完全な再構築には多くの場合8時間以上かかります。そのため、通常、ツールチェーンには、スタジオ全体のすべてのPCに負荷を分散する分散処理も含まれています。

    ランタイムは、ゲーム自体です。PCまたはコンソールで実行される実行可能ファイル。ランタイム内には、リソースマネージャーと呼ばれるシステムがあります。ゲーム内の他のシステムから要求されたアセットをロードするのは、リソースマネージャーの仕事です。

    例:ゲームのロードをレベルに伝えると、レベルのメタデータは、リソースマネージャーに、レベルを表示するためにロードする必要があるアセットのリストを提供します。同様に、各アセットには、ロードが必要なテクスチャ、マテリアル、またはサブアセットのリストが含まれます。

  6. すべてが実際にメモリにロードされると。ゲームはレンダラーに表示されるものを送信し、レンダラーは実際に画面に描画するために使用されるAPIと対話します。

プログラマーは、手作業で頂点情報を生成できます(そして実行します)。これは通常「イミディエイトモードレンダリング」と呼ばれます。あまり効率的ではなく、事前に生成された、またはシェーダーで操作された頂点データを使用できない状況でのみ使用されます。例:UIレンダリング、フルスクリーンクワッド。

通常、画面上のオブジェクトの99%は事前に生成された頂点情報であり、シェーダーが必要な操作を実行して「保持」モードでレンダリングされます。例:スキンアニメーション


7

簡単な答えは次のとおりです。Mayaや3DS Maxなどの3Dグラフィックアプリケーションですべてを実行します。最初に、彼らはいくつかのコンセプトアートを(紙の上で)行い、モデルやテクスチャ(Photoshopなどで)を作成します。単純なアニメーションもソフトウェア全体で実行され、より複雑なアニメーションはモーションキャプチャを介して実行され、モデルにマッピングされます。アニメーションには、通常スケルトンアニメーションを使用します。

これらのデータはすべてファイルに保存されます。

ゲームが開始されると、これらすべてのファイルを解析し、モデル、テクスチャ、アニメーションをロードします。そして、必要なときにそれらを表示します。


1
あるアニメーションを滑らかに次のアニメーションにモーフィングするために必要なプログラミングがあると思うので、ジャンプの途中でショットを撮っても変に見えません。
トーマス

3
@Thomas、ブレンドツリー。おもう。しかし、これらはゲームエンジンの拡張機能として構築される「トゥイーン」システムのようなものです。必ずしも3Dモデル内で作成されるわけではありません。基本的に、アニメーションデータをハイジャックし、魔法の力でデータ間を補間します。
シダー

うん。承知しました。モデルをロード、解析、および何らかの形で表現する必要があります。また、何らかの形で画面上に描画します。間違いなく、アニメーションをブレンドする必要があります。通常、逆運動学も使用しますが、それはより具体的な問題です。
-zacharmarz

2
ブレンドツリーとアニメーションモーフィングが「トゥイーン」と同じくらい簡単だった場合。この特定のドメインの問題に対処するためだけに、複数のハイエンドで高価なミドルウェアソリューションがあります。
ショーンミドルディッチ

4

プログラマは、必要に応じて各頂点を実際に個別に定義できます。もちろん、何らかの基本的なキューブデモを作成していない限り、これは当てはまりません。通常、モデルファイルに保存されるのは、プログラマがモデル描画コードに簡単に簡単にプラグインできる頂点のリストの行に沿ったものです。それには明らかにそれ以上のものがありますが、基本的にモデル形式は特定のモデルを描く方法について間接的な「指示」を与えています。

多くの場合、および多くのモデルファイル形式については、コーディング側が自動的に行われています。図面コードを伴うテキストベースのモデル形式もあり、これにより、成熟したコーダーがモデルをコードに変換する方法を非常に簡単に追跡できます。

しかし、私は実際にこのコードを書いた人ではないので、私の説明のいくつかの詳細がオフになっている可能性があります。


2

私はゲームを一緒にしようと自分で取り組んできました。私が使用しているプログラムの簡単なリストを提供できます。

モデリング:3Dコート、modo

リギング:modo

テクスチャ:GIMP、Inkscape

ゲームエンジン:Unity

明らかにこれはアプリケーションの小さなリストですが、私にとっては機能し、趣味やインディーの開発者にとっては手頃な価格です。


2
-1使用するアプリケーションのリストを提供しても、プロセスは説明されません。この質問は特定のソフトウェアに関するものではなく、それらがどのように作られているかだけではなく、どのように作られているかということです。
マイケルハウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.