一般的にコンピューターの3Dグラフィックスについて、パート1

画像


私たちは皆、3Dグラフィックス(以降、単に3D、表示方法と混同しないでください-ホログラム、3Dモニターなど)について聞いたことがあります。 しかし、それにもかかわらず、この短い略語の下にあるものを漠然と想像する人がいます。 この記事は、コンピュータグラフィックスについてまったく知らない人を対象としています。 また、コンピュータグラフィックスの歴史についても若干の余談があります(予定されている次の部分)。

なぜ3Dなのか? ご想像のとおり、3次元、または3次元について話しています。 また、ディスプレイを3Dにする必要はありません。 それは絵を作る方法についてです。



パート1.実際には、モデリング

伝統的に、それらは2Dで(X軸とY軸に沿って)-紙、キャンバス、木などに描かれます。 同時に、被写体の側面の1つが表示されます。 写真自体は平らです。 しかし、主題のすべての側面を把握したい場合は、いくつかの図面を描く必要があります。 これは、従来の手描きアニメーションで行われます。 しかし、同時に、(ところで、ソビエト連邦ではかなりよく開発されていた)いわゆる 人形アニメーション。 作られた人形が必要なポーズと縮みで取り除かれると、一連の「フラットな写真」を受け取ります。 3D(深度ZのXおよびY座標が追加されます)視覚化は、同じ「人形」であり、デジタル形式でのみ存在します。 言い換えれば、特別なプログラム(Blender、3ds Max、Maya、Cinema 4Dなど)で、たとえば車のような3次元画像が作成されます。



この方法の利点は、たとえば、アニメーターに3次元モデルがあり、フレームに適切に配置し、必要に応じてアニメート(動きの軌跡を設定またはシミュレーターを使用して計算)するだけで、最終画像の自動車の表示が特別なものになることですビジュアライザーと呼ばれるプログラム。 もう1つの利点は、モデルを一度描画してから、他のプロジェクトで(コピーすることで)使用し、修正、変形などするだけで十分なことです。 その裁量で。 通常の2D描画では、一般的な場合、これは不可能です。 3番目の利点は、たとえば時計の歯車など、ほぼ無限に詳細なモデルを作成できることです。 一般的に、このネジは見分けがつかない場合がありますが、カメラを近づけるとすぐに、ビジュアライザープログラムはフレームに見えるものと見えないものを計算します。



いくつかのモデリング方法がありますが、ポリゴンモデリングが最も一般的です。 3DまたはSF映画についてのビデオで、このオブジェクトまたはそのオブジェクトがいわゆる形式でどのように表されるかをよく見ることができます。 グリッド。 (上の図を参照)これはポリゴンモデリングの例です。 その本質は、表面が単純な幾何学的2次元プリミティブの形で表されることです。 コンピューターゲームでは、これらは三角形であり、他の目的では、通常、多数の角度を持つ四角形と図形を使用します。 モデルを構成するこれらのプリミティブは、 ポリゴンと呼ばれます 。 しかし、3Dオブジェクトを作成するときは、原則として四角形で通り抜けようとします。 必要に応じて、ゲームエンジンにエクスポートすると問題のない四角形(ポリゴン)が三角形に変わり、必要に応じて、四角形のモデルの平滑化またはテッセレーションが、通常、アーティファクトなしで取得されます。

テセレーションとは何ですか? オブジェクトがポリゴン(特に人間などの有機オブジェクト)の形で表されている場合、ポリゴンのサイズが小さいほど、モデルが元のモデルに近くなることが明らかです。 テッセレーション方法はこれに基づいています。まず、少数のポリゴンから粗いブランクを作成し、次にテッセレーション操作を適用して、各ポリゴンを4つの部分に分割します。 そのため、多角形が四角形(またはさらに良い場合は正方形に近い)の場合、テッセレーションアルゴリズムはより良い予測可能な結果を​​もたらします。 また、スムージング操作、およびこれは同じテッセレーションで、角度をより鈍角に変更するだけで、多角形は正方形に近いため、良好な結果を得ることができます。







上記のように、ポリゴンが多ければ多いほど、モデルはより多くなる可能性があります(おそらく、モデルは元のモデルに類似している必要があり、これはポリゴンではなくモデラーのスキルの問題です)。 ただし、多数のポリゴンには欠点があります。パフォーマンスが低下します。 ポリゴンが多いほど、構築されるポイントが多くなり、プロセッサが処理するデータが増えます。 したがって、3Dグラフィックスは常にモデルの改良とパフォーマンスの間の妥協点です。 これに関連して、hight polyとlow poly、それぞれhigh-polyモデルとlow-polyモデルという用語が登場しました。 ゲームでは、リアルタイムでレンダリングされるため、低ポリゴンモデルが使用されます。 ところで、ゲームのモデルは三角形で表され、生産性を向上させます。GPUは、ハードウェアレベルで1秒間に数億の三角形をすばやく処理できます。



原則として、ポリゴンモデリングは中空のモデリングを指し、オブジェクトにはボリュームのみがありますが、内部は空です。 これは、キューブをシミュレートしてから壁の1つを削除すると、内部にボイドが表示されることを意味します。 同じキューブがモノリシックオブジェクトとして表されるソリッドモデリング用のプログラムもあります。 このようなプログラム(Autodesk Inventorなど)では、ポリゴンモデリングの数学モデルとは異なる数学モデルが使用されます。 ソリッドステートモデリングアルゴリズムは、テクノロジー開発のモデリングメカニズムにより適しています。 Autodesk Inventorなどのプログラムには、面取り、穴あけ、寸法の固定、公差など、プロセスの詳細を考慮したモデリングツールがあります。 結果のモデルは、適切な機械にすぐに送信して、金属またはその他の材料で製品を受け取ることができます。

また、いわゆる3Dモデリングプログラム(ZBrush、Autodesk Mudbox)もあります。このプログラムでは、モデリングは(大まかに言って)凹部またはバルジの作成に限定されます。 このテクニックは、彫刻家が粘土から彫刻する方法に似ています-不要なものを削除し、必要なものを追加します。 このようなプログラムを使用すると、皮膚のしわや組織のしわなど、現実的な表面のレリーフを実現できます。 現在、ハイポリゴン(およびモデルのモデリングには、多数のポリゴンが必要です)人と動物界の現実的なモデルは、ほとんどの場合、モデリングプログラムを使用して実行されます。 ポリゴンモデリングを使用してモデルブランクを作成し、小さなパーツをテッセレーションしてモデリングプログラムに追加することは一般的な方法です。



しかし、ここには、たとえば戦車の既製モデルがあります。 しかし、実際には戦車はあまり似ていません。 ここで問題は何ですか? この段階では、幾何学的形状に関するデータのみを含む数学的モデルのみがあります。 しかし、形に加えて、実際のオブジェクトには色、密度、反射能力、そしておそらく匂いもあります。 後者はまだ3Dグラフィックスに適用されていませんが、他のすべてはモデル化できます。 モデルに適切な色と輝きを与えることは、テクスチャという言葉からテクスチャリングと呼ばれます。



一般に、テクスチャは3Dモデルに重ねられる2次元の描画です。 テクスチャは、アルゴリズムを使用して生成されるか、グラフィックエディタで描画される手続き型、または実際のオブジェクトの写真のいずれかです。 テクスチャを使用して、モデルのパターンと色が設定されますが、実際のサーフェスには他のパラメーターがあります:反射率、屈折、レリーフ、不透明度など。 これらのパラメーターはすべて、材料特性で設定されます。 つまり 3Dグラフィックスの観点からのマテリアルは、表面パラメーターを記述する特定の数学モデルです。 たとえば、水については、透明度と屈折能力、反射能力を示す必要があります。

マテリアルを3Dモデルに「適用」する前に、スキャンを作成する必要があります。 平面への投影の形ですべての(複数の、1つの)表面を表します。 これは、2次元テクスチャがモデルに正しく「載る」ために必要です。

したがって、一般的な場合の3Dモデルの製造は、次の段階で構成されます。

1.参照(つまり、参照元のモデル化)または参照自体の画像を取得します。 または遠足を描きます。

2.参照に基づくモデリングジオメトリ。

3.スイープを作成します。

4.テクスチャを描画するか、ファイルの形で別の方法で取得します。

5.マテリアルパラメータ(テクスチャ、屈折、反射、透明度)の調整。

これで、3Dモデルを視覚化する準備ができました-写真を取得します。

モデルが単純な場合、1番目と4番目のポイントは省略できますが、原則として、5つのステップすべてがなければ良い結果は得られません。

まとめると。

通常の紙の上の描画と3D画像の構築との間には、プロセスに大きな違いがあります。 原則として、2次元の図面は、スケッチと着色の2つの段階で作成されます。 3Dグラフィックスでは、モデルを作成した後、他のオブジェクト(またはいわゆるスタジオ)を含むシーンに配置し、照明、カメラを追加する必要があります。そうして初めて、最終的な画像を取得できます。 3Dグラフィックスの画像は、物理モデルに基づいて計算されます。原則として、これは反射、屈折、散乱などを考慮した光線の伝播のモデルです。 ペイントで描くのは私たち自身が影やまぶしさなどを描き、3次元グラフィックでは照明、マテリアル、ジオメトリ、カメラプロパティを考慮してシーンを準備し、プログラムは最終的な画像自体を計算します。



今のところすべてです。 コメント、特に本案に関する質問やコメントは歓迎します。



PS以下の部分(Habschoobschestvoが興味深い場合)では、ゲームの3次元モデリング、視覚化、水などの動的メディアのモデリング、オブジェクトの破壊に触れ、3Dオブジェクト間の動的な相互作用、3Dグラフィックの歴史について詳しく説明します。






All Articles