Ogre3Dでモデルを作成しました。このモデルは任意の回転と位置の三角形で構成されています。多くのモデリングプログラムのようにモデルを「アンラップ」して、すべての三角形が2d(x、y)にマッピングされるようにしたいが、三角形のサイズは維持されている。これはデカールを適用するためのものです。テクスチャが適用されたときに伸びがないように、三角形サイズを維持する必要がある理由。これはそのように三角形のすべての変換されたバージョンが存在します戻るとテクスチャ座標の3Dから2D空間(三角形を使用)からポリゴンを外す
//Verticies will have a converted bool;
func(triangle x):
for each of x's vertices:
map to x,y coordinates if not converted;
check other triangles for common vertex if so call func(common_tri);
:
これは私が行くが、私は悩み、それを可視化し、正しいアルゴリズムを実現したのです考えていた方向でしたそれらはすべてアンラップされ、テクスチャ上に置くことができます。そこでは、x、y空間へのマッピングが問題になります。 3次元空間の三角形を2次元空間にどのようにして三角形を取得するかわからないので、すべての属性を保持しています(角度のあるビューからペリフェラルのビューに移動するなど)。
誰もあなたに答えることができない場合は、ブレンダーのソースをチェックして、uvのアンラッピングが*どこかに*あるはずです。 https://svn.blender.org/svnroot/bf-blender/trunk/blender/ –
さて、私はXSIでこれらの種類のアクションを見ていましたが、それらのどれも私がしようとしていたことを達成しませんでした。材料の上に平らになってほしいと思っています。しかし、提案をありがとう。 –
与えられた頂点がxyの一意の点に写像されていると仮定しているかどうかはわかりません。トポロジカルなモデルが与えられている場合は、そのような方法で平面にマッピングすることは不可能です(単純な立方体を考えてみてください)。さらに、伸びを避けたい場合は、キューブの3つの面を単一の頂点平面上で共通の頂点を持つようにすべてをマップすることはできません。ですから、私はあなたが別々に三角形を扱わなければならないか、伸ばしをしなければならないと思います。後者の場合、少なくともいくつかの頂点は複数のマッピングを必要とします。 – Keith