2

人間のフレーム (さまざまなパラメーターで構成できます) を描画するソフトウェアを少し書きたいと考えています。計画では、ダミーの上にある種の衣服を配置することです。

私は Blender や OpenGL ライブラリ、その他のレンダリング エンジンや物理エンジンを見てきました。これを行う方法を教えてほしいと思っているわけではありませんが、主に、このようなことを行うためにどのようなライブラリがあるのか​​疑問に思っています。もの?

つまり、2D で衣服のパターンが存在し、システムは (少なくとも理論的には) それをたとえばシャツの 3D 表現に変換できるのでしょうか? そして、それを人間のフレームに置きます。これには多くの作業が必要であることはわかっていますが、衣服をフレームにレンダリングし、衝突を考慮してフレームの周りにどのようにドロップするかなどについては、グーグルで検索していくつか見つけましたビット、しかしそれを行うC++ライブラリがそこにあるかどうか疑問に思っていました.

Visual C++ 2010 を使用して開発しており、ターゲット環境は Windows ボックスです。

それか、物理のレッスンを受ける必要があります。

4

5 に答える 5

7

残念ながら、あなたが話しているようなシステムを開発することはめちゃくちゃ難しいでしょう。プラス面としては、目標を達成するのに役立つ使いやすいテクノロジーがたくさんあります。

一般に、このタイプの動作は次のとおりです。Blender、3ds max、Maya、Softimageなどのモデリングプログラムで3Dアセットを作成し、それをプログラム/ゲームで使用します。これらのプログラムは、OpenGLまたはDirectXを使用してプログラムがメモリにロードし、レンダリングできる3D座標の束を吐き出すだけであると考えることができます。

もちろん、アセットのモデリングとロードは、ポイントを生成するためのアルゴリズムを開発する代わりになります。これはあなたが達成しようとしているように見えることです。

悪いニュースは、服は本当に本当に複雑だということです。これの大部分は、そのほとんどが布のダイナミクスをシミュレートする必要があるという事実によるものです。問題のもう1つの部分は、2Dパターンを使用している場合でも、衣服が人間のモデルにどのように付着するかということです。肌がきついですか?ゆるい?それをどのようにパラメータ化しますか?3Dモデリングの経験がある人なら誰でもわかるように、実際の衣服を体に配置すること自体が面倒です。

それにもかかわらず、業界で最も優秀な専門家の中には、布をシミュレートするためのより良い方法と、アセットの作成を自動化するためのより良い方法の両方を探しています。

要約すると、簡単な答えは、あなたがやろうとしていることは、それがどんなに面白くて高貴であっても、非常に困難になり、あなたが探している結果をもたらさないかもしれないということです。

あなたがより多くの答えのために行くことができるところに関して:

モデルへの衣服の取り付けを自動化する方法を見つけることにまだ興味がある場合は、まず学術的なWebサイトを調べます。コンピュータグラフィックス研究プログラムを持っているコンピュータサイエンス部門を探してください。そこにはたくさんの興味深いものがあります。

よりアカデミックなタイプのリソースについては、ゲームプログラミングジェム、GPUプログラミングジェム、およびグラフィックプログラミングジェムの本シリーズを参照してください。それらは、これらのような難しいグラフィックスの問題に取り組む多くの良い記事を特徴としています。

あなたがするかもしれないもう一つのことはもう少しblenderをチェックすることです。MakeHumanという面白いプロジェクトがあります

http://makehuman.blogspot.com/

これにより、blenderで人間のモデルを開発するプロセスが自動化されます。

モデルに衣服を着せるためのチュートリアルがいくつかあります。これを見てください: http ://www.davidjarvis.ca/blender/tutorial-05.shtml

Blenderでの衣服と布のシミュレーションに関するその他のチュートリアルについては、いつでもチェックアウトできます。

www.blendercookie.com cg.tutsplus.com

これのいくつかがお役に立てば幸いです。

于 2011-03-09T14:44:22.797 に答える
2

私が覚えていることから、布はばねのメッシュとしてシミュレートされ、ばね/布の物理の理解とともに、シミュレーション用の物理ライブラリが提案されます。クロス シミュレーション用に調整された物理ライブラリについては聞いたことがありませんが、このサイトの誰かが知っていることは間違いありません。

于 2011-03-09T14:31:42.367 に答える
2

クロスシミュレーション自体についての回答です。(たぶん、あなたが介入しているわけではありません)

一部のベンダーのミドルウェアでクロス シミュレーションをモデル化したい場合は、

  1. Havok(コマーシャルです)。三角形メッシュで表される衝突オブジェクトをサポートしているように思えます。
  2. PhysX (無料) ですが、使用しようとすると多くの制約があります)。

手で布の物理をモデル化したい場合は、次の手順をお勧めします。

  1. 物理学に関する基本的な知識を更新します (インテリア、エネルギー、ニュートンの法則)。
  2. クロスシミュレーションと物理シミュレーションの良い出発点は、その本 http://www.amazon.com/Game-Physics-Pearls-Gino-Bergen/dp/1568814747です
  3. 衣服に関する Siggraph の記事を読んでください。
  4. どの衝突オブジェクトが必要かを考える
  5. どのような力が必要かを考えてください。
  6. この課題を Broad Phase / Integration / Collision Detection / Collision Response / Constrain Solverに分けてください

C++、OpenCL で布の物理シミュレーションを開発しました。開発に約4か月、デバッグステージ5に約2か月かかります。しかし、それは私の人生で非常に暑い時期でした。仕事は膨大な時間を費やしました。

于 2014-01-07T14:43:24.650 に答える
0

アプリケーションの実行中にダミーを変更したい部分を除いて、必要なものは多かれ少なかれ Esenthel Engineのようなゲーム エンジンの例です。全体的なアイデアは、体のメッシュをロードしてから、その上に「布」を配置することです (布は、ほとんどのゲーム エンジンで既に物理タイプとして定義されています)。しかし、人間のフレームの実行時の変更に関しては、有機的な形状では容易ではないパラメータにどのように影響するかを知る必要があるため、もう少し注意が必要です。

于 2011-03-09T14:38:49.160 に答える
0

最近使用する無料のゲーム エンジンは Unity 3d です。すべてが詳細に依存し、Maya と 3ds Max は最高のモデリング プログラムです。

于 2012-08-16T13:15:49.087 に答える