問題タブ [uv-mapping]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
3d - UV座標はどのように測定されますか?
UVマッピングされた3Dモデルをエクスポートする3Dモデリングプログラムがあります。
しかし、UV座標が無効であるか、私が理解していないシステムを使用しているようです。UV座標がビットマップのピクセル(X、Y)にどのようにマッピングされるかを理解するのに助けが必要です
150x100から200x600の範囲のテクスチャがいくつかあります。ここにいくつかの抜粋があります:
上記のデータに基づいて、測定可能な最大ピクセルが600であることを考慮すると、700以上のUV座標は画像の先頭に戻っていますか?また、<0のUV座標は、画像の端から後方に測定されていますか?
3d - これらのUVマッピング座標が0-1とピクセルで表されるのはなぜですか?彼らは0-1システムだけを使うべきではありませんか?
ええと、私は明らかに0-1の範囲の3Dモデルの多くのUV座標と、100-300の範囲の見かけ上ピクセル値の多くの座標を持っています。
座標を解釈するものをどのように知ることができますか?このための標準またはシステムはありますか?
エクスポートされたファイルの各3Dメッシュはどちらのシステムも使用できることに気付きました。これは通常の手順ですか?もしそうなら、UVテクスチャマッピング座標を解釈して3Dエンジンで正しく表示するにはどうすればよいですか?
0-1システムの座標の例:
ピクセルで測定する座標の例:
c++ - OpenGL テクスチャ マッピング
ゲームプログラミングとグラフィックプログラミングは初めてです。しかし、熱心に学びたいので、OpenGL を使用したゲーム エンジンの作成を開始しました。すべての基本的なグラフィック機能を実装したので、三角形メッシュのテクスチャ サポートを追加したいと考えています。
テクスチャ マッピングに関する唯一のチュートリアルは、単一のポリゴンに関するものです。メッシュ全体をラップするテクスチャを定義するにはどうすればよいですか?
lib3ds ( http://code.google.com/p/lib3ds/ ) を使用して .3ds ファイルからメッシュをロードしています。.3ds ファイルにはテクスチャ座標データなどがありますか?
java - Android テクスチャ マッピング - PNG ファイルでのマッピングが正しくない
私はオープングルに関しては専門家ではありませんが、多くのアプリケーションで使用してきました。Opengles でリフレッシュするために新しいアプリを作成し、四角形を描きました。テクスチャ マッピングを適用すると、正しくマッピングされませんでした。UV 座標を何度も何度も徹底的に調べたところ、正しいように思えました。何時間も混乱した後、最終的に.pngをWebからダウンロードしたランダムなものに変更することにしました。出来上がり!正しくマッピングされていました。古い .png に戻すと、再び間違ってマッピングされました。なぜこれが起こっているのか誰か教えてもらえますか?
c++ - テクスチャ座標のポリゴンを3Dから2D空間に(三角形を使用して)アンラップします
そこで、Ogre3Dでモデルを作成しました。このモデルは、任意の回転と位置の多数の三角形で構成されています。多くのモデリングプログラムのようにモデルを「アンラップ」して、すべての三角形が2d(x、y)にマップされるようにしますが、三角形のサイズは維持されます。デカール塗布用です。テクスチャが適用されたときにストレッチが発生しないように、三角形のサイズを維持する必要がある理由。
これは私が進むことを考えていた方向でしたが、それを視覚化して正しいアルゴリズムを達成するのに問題があります:
これが返されると、すべての三角形の変換バージョンが作成され、すべての三角形がラップ解除されてテクスチャ上に配置できるようになります。問題があるのは、x、yスペースへのマッピングです。3D空間から2D空間に三角形を作成して、そのすべての属性を維持する方法がわかりません(角度のあるビューからサーフェスの垂直ビューに移行するなど)。助けていただければ幸いです。
iphone - Cinema4DモデルとテクスチャをiPhoneアプリに配置します
私はiPhone開発者であり、Cinema4Dで作成した3Dモデルを作成中のアプリに取り込もうとしています。モデルを(.daeまたはobjとしてエクスポートし、Pythonスクリプトを使用して)取り込む方法を実際に見つけました。これは非常にうまく機能しますが、テクスチャを取得することはできません。私のスクリプトは実際には1つのテクスチャしか処理できません。
基本的に、c4dでUVマップを作成してエクスポートする必要があります(ただし、これを行う方法がわかりません)。または、スクリプトまたはPowerVRを使用してOpenGl-ESアプリに複数のテクスチャを読み込む方法を見つけます。(これはおそらくより良いです)
初心者の質問で申し訳ありませんが、3Dの世界では非常に新しいです。
乾杯
python - ブレンダーの元の座標の抽出(ORCO)
Blender(2.5+)からカスタムフォーマットへのエクスポーター(Python)を作成しました。私が気になるのは、ダウンロードするほとんどのモデルにUVレイヤーが含まれておらず、代わりに自動生成されたテクスチャ座標を使用していることです。
問題は、PythonからBlenderで生成された座標(ORCO)にアクセスするにはどうすればよいですか?
編集-2:サンプルファイル: http ://dl.dropbox.com/u/16317117/orco.blend
デフォルトのシーンに立方体をロードし、そのテクスチャユニットタイプを「Wood」に変更することで作成されます。デフォルトのマッピングはすでにGenerated:Flatです。シーンをレンダリングすると、立方体に適切なUVアンラップがあるかのように、木のテクスチャが正しく適用されていることがわかります。
編集-3:答え。
Yafarayブレンダーエクスポーターのソースで答えを見つけました。君たちありがとう!このスレッドが表示された場合は、返信してください。賞金を授与できます。
生成された座標(ORCO)は、頂点の「正規化された」ローカル座標です。基本的に、オブジェクトのローカルバウンディングボックスが与えられた場合:Orco(v) = 2*(v-center)/size
。
opengl-es - openGLES における単純な 2D UV マッピングの問題
私は低レベルのopenGLコーディングにかなり慣れていないので、おそらく疲れすぎて解決策を見つけることができないという問題があります。答えは簡単で、私はまったくばかげたことをしていると確信していますが、ここに行きます...
1024 x 512 のテクスチャがあり、そのテクスチャの一部を使用する 2D クワッドをレンダリングしています。クワッドは、レンダリングしようとしているテクスチャ部分と同じサイズです。たとえば、100 x 100 のテクスチャ部分をレンダリングするには、頂点間が 100 x 100 です。テクスチャ ピクセルは 0(s) および 104(t) からのものであり、ゼロ ベースのピクセル座標を想定しているため、UV(st) は 0 / 1024 および 104 / 512 として計算され、100 / 1024 および 204 / 512 の範囲になります。
ただし、クワッドをレンダリングすると、103(t) のピクセル座標から線が得られます。これは、画像の別のセクションの一部であるため、非常に目立ちます。UV を 0 / 1024 および 105 / 512 に設定することで問題を回避できますが、これは非常に間違っているように思えます。
私はしばらく探していましたが、私が間違っていることを見つけることができません。glparams で GL_LINEAR、GL_NEAREST、クランプなどを試しましたが、役に立ちませんでした。誰かが私のエラーに私を導くことができますか?
algorithm - 2D 形状を長方形に効率的に配置します。どのようにアプローチするのですか?
私は 7 つのインターネットで広範囲に検索してきましたが、役に立ちませんでした。私が必要としているものに最も近いのは、 2D のみの The Cutting Stock Problem のようです(ウィキペディアではその解決方法に関する指示が提供されていないため、これは残念です)。もう 1 つの類似の問題は、UV アンラッピングです。そこには解決策がありますが、さまざまな 3D ソフトウェアのアドオンから得られるものだけです。
長い話を短くする - 私が欲しいのはこれです:既知の幅と高さの長方形が与えられた場合、既知のサイズ (自由に回転できる) の形状 (ポリゴン) がその長方形の中にいくつ収まるかを調べなければなりません。
たとえば、T 字型のピースを選択し、同じ長方形に両方を効率的に詰め込むことができ、長方形ごとに 4 つの形状が得られます。
バウンディングボックスに基づいてそれらをタイル張りするだけでなく、3つしか収まらない場合
もちろん、これは単なる例です...そして、この特定のケースを解決するのにあまり役に立たないと思います. 私が今考えられる唯一のアプローチは、複雑さをバックトラックするか、この問題の特定のケースのみを解決することです。それで...何かアイデアはありますか?
opengl-es - OpenGL: 大きなテクスチャ 'マップ' と複数の特異なテクスチャのパフォーマンス
シーン全体の複数のテクスチャのマップを複数の 1024x1024 テクスチャ アトラスに作成するかどうかを決定しています。全体的な三角形の数は同じですが、GL レンダー呼び出しを少なくできるように、より少ない、より大きなテクスチャを使用することは、まったくメリットがありますか? これはよくあることでしょうか?
私の場合、16 のテクスチャを持つ約 5,000 の三角形のシーンを持つ iPad をターゲットにしています。分布を考えると、結合しない場合、glDrawArrays への呼び出しが約 5 倍になると考えています。