1

3D プログラムでオブジェクトの 3D モデルを表示できるようにしたいとしますが、このメッシュの形状はいくつかのパラメーター (a、b、c..) によって管理されているため、インスタンスは数千のいずれかを持つことができます。可能な組み合わせ。

たとえば、ボルトのライブラリを想像してみてください。ボルトの基本的な形状は、ボルトの1 つの特定のインスタンス (特定の長さ、直径、頭の直径) に対して標準の CAD プログラムで簡単に描画できますが、何千ものインスタンスを作成する必要はありません。メッシュを「動的」または「パラメトリック」として作成したいすべての順列に対してほぼ等しいモデル ファイル。モデル全体またはモデルの一部の単純な縮尺では不十分であることに注意してください。個々の頂点は、基本的に動的な位置を持つ必要があります(x,y,z) = f(a, b, c)

この問題を解決するには、ファイル形式 (動的テンプレート モデルをファイルにエンコードするため) と、パラメーターを適用して最終的なモデルを取得するためのコードの両方が必要になる可能性があります。AutoCad に「動的ブロック」と呼ばれるものがあることは知っていますが、それらを解析してスタンドアロン アプリケーションで使用できるかどうかはわかりません。

私がこれまでに思いついた唯一の解決策は、モデルのさまざまな平面が既知の座標と一致するように、整数座標を持つ正規化された座標系で、標準の CAD 形式でモデルを描画することです。次に、マッピングをコーディングします。たとえば、任意の座標 (x,y,3) が(x,y,a)たとえばマップされます。これは、平面セクションのマッピングのみを許可するという点でかなり制限されており、モデル自体は、ファイルそのファイルの外部ハードコーディングされたマッピングのセットの両方で構成されます。

モデルは明示的に取得する必要があります。つまり、最終的な変換されたメッシュを保存できるようにする必要があるため、視覚化ステップでのみスケルトンと頂点シェーダーを使用するなどの「暗黙的な」変換を使用することはできません。

視覚化は Direct3D9 を使用して行われ、コードは C#/.NET 4.0 です。

4

1 に答える 1

0

これが、最新のパラメトリック CAD ソフトウェアの仕組みです。最も注目すべきアプリケーションは、Solidworks、Creo (Pro|engineer)、Catia、NX です。おそらくInventorも。この意味で、Auto-CAD は非常に初歩的であり、現在の最先端技術から 30 年しか遅れていません。関連するすべての計算とシミュレーションを使用して石油掘削装置の 90% の最終設計全体を構築する Pro|engineer モデルを見てきました。したがって、これらはすべて、あなたが求めることをネイティブに実行します。ボルトの例は、私が毎日複雑に行っていることに関しては非常に単純です。実際、私の生徒の誰でも、最初の演習の後、問題なくこれを行うことができたはずです.

現在、関連する形式は SETP ap 214 と呼ばれています。ただし、実際にこの形式を完全にサポートしているものはほとんどありません (この形式の標準は約 5000 ページの長さです)。解決するには非常に強力な 3D エンジンが必要なため、基本的には上記のソフトウェアの 1 つです。

編集:

ただし、モデルがゲーム用のポリゴン モデルである場合、実際にはやりたいことを行うのはかなり簡単で、ユーザー フレンドリーではありません。パラメータ化をジョイント データとしてエクスポートし、ほとんどの DCC フォーマットにこの機能があるジョイントを移動/スケーリングするだけです。ただし、ゲームのグラフィックは CAD とは何の関係もないことに注意してください。またはCAD形式。これには、3dsMax や Maya など、さまざまなソフトウェアがあります。このカテゴリのほとんどのフォーマットはジョイントをサポートしています。collada などの形式の場合、パラメーター化のための関節の動きのルールにいくつかの拡張機能を追加できます。ただし、これをどのようにパラメータ化するかによって異なります。これは自分でテストする必要がありますが、Maya で動作するため、特定の形式で動作しない理由がわかりません。

問題は、帽子ゲームが正確に 1 つのプラットフォームではないことです。

于 2013-03-17T16:45:48.180 に答える