4

アーティストの友人から、3DS Max 2009 によってエクスポートされた .obj ファイルが送られてきました。このファイルには、vtコマンドのパラメーターとして 3 つのテクスチャ座標が含まれています。そして、それは .obj 仕様によると正しいです。ただし、通常の 2D .jpg テクスチャに提供されている UVW 座標をマッピングする方法がわかりません。

3DS Max で遊んで UV 座標だけを強制的にエクスポートする方法を見つけようとしていたので、これは私にとって比較的重要ですが、簡単な方法はないようです。この場合、これは単なるスカイボックスですが、それ以外の場合は、もっと複雑で手動で修正できない可能性があります。

ありがとう!

4

2 に答える 2

8

「UVW マッピングとは」という記事にセクションがあります。それは説明します:

2D 平面に W のような深度座標が必要な理由を疑問に思うかもしれません。理由の 1 つは、ジオメトリに対してマップの向きを反転できると便利な場合があるためです。これを行うには、3 番目の座標が必要です。W 座標は、3 次元のプロシージャル マテリアルにも意味があります。

あなたの場合、単に W 座標を無視して、 で始まる行の最初の 2 つの float のみを読み取ることができますvt。これは、.obj は最初は非常に非効率的なファイル形式であるため、W 座標によって消費される余分なスペースについてあまり心配していないことを前提としています。

個人的には、頂点ごとではなく面ごとに頂点法線を提供するため、OpenGL で .obj を使用するのは好きではありません。オブジェクトを適切に照らすには、頂点を複製するか、面の周囲の頂点法線を平均して法線を計算する必要があります。より効率的な代替手段を検討したい場合は、完全に文書化された .md2 形式などのバイナリ形式を調べてください。まだ利用していない場合は、glDrawElements の使用も検討してください。

于 2009-06-01T19:43:31.253 に答える
3

あなたの質問を誤解していたらごめんなさい。しかし、3 番目のパラメーター w を単純に無視することはできませんか? 私が理解しているように、w は u と v によって記述される平面に垂直な平面内の単なる座標であるため、単純な 2D テクスチャ マッピングにはほとんど必要ありません。

お役に立てれば。

于 2009-05-31T12:29:23.760 に答える