問題タブ [buffer-geometry]

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.

0 投票する
1 に答える
3303 参照

javascript - three.jsプレーンバッファジオメトリUV

buffergeometry プレーンを作成しようとしていますが、UV 座標に問題があります。正しい UV マッピング Three.jsに従おうとしましたが、正しい結果が得られません。

uvコードは以下です。また、buffergeometry コード全体をhttp://jsfiddle.net/94xaL/に保存しました。

ここで私が間違っていることについてのヒントをいただければ幸いです。

ありがとう!

0 投票する
1 に答える
1367 参照

javascript - Three.js BufferGeometry と粒子のジオメトリ

一部の粒子の例では を使用THREE.BufferGeometryし、他の例では単に を使用していますTHREE.Geometry。すべての方法の長所と短所に関するいくつかの行はありますか?

0 投票する
1 に答える
1395 参照

javascript - three.js: BufferGeometry とテクスチャ

にテクスチャを読み込もうとしていますTHREE.BufferGeometryが、テクスチャが表示されません。通常のジオメトリを使用すると、テクスチャが表示されます。テクスチャは BufferGeometry でサポートされていませんか、それとも間違っていますか?

これは機能します:

これはしません:

0 投票する
1 に答える
2416 参照

javascript - BufferGeometry の割り当てを解除しますか?

シーン オブジェクトの基礎として、単一のルート Object3D があります。私のデータは、このルートから Object3Ds のツリー構造としてロードされます。メッシュは、BufferGeometry/MeshPhongMaterial を使用してリーフ Object3D に追加されます。ルート Object3D をこのメソッドに渡すことで、既存のツリーをクリアします。

次の単純なツリーを考えてみましょう。

  • シーン (シーン)
    • ルート (Object3D)
      • ブランチ (Object3D)
        • リーフ(メッシュ)

この構造がシーンに入ったら、(Chrome の開発ツールを使用して) ヒープを観察します。3 つの Object3Ds オブジェクトと 2 つの Mesh オブジェクトが表示されます (エクストラはプロトタイプです)。

clearScene(Root) を呼び出すと、オブジェクト 3D が削除され、メッシュがクリーンアップされて、ツリーがステップ実行されます。しかし、ヒープを観察すると、Object3D は削除されていますが、2 つの Mesh オブジェクト (および関連する BufferGoemetry オブジェクトと Material オブジェクト) は残っていることがわかります。クリア後​​にもう一度データをロードすると、3 つの Object3D (問題なし) と 4 つのメッシュ (問題あり) が表示されます。

これは、参照が正しくクリアされていないことを意味すると思いますが、これを行うヒープ内のリテーナーは見当たりませんでした。

これらのオブジェクトをぶらぶらさせている他の何かが欠けているに違いありません。

r69dev (私は r68 でも同じことを見ていました)、Chrome 36.0.1985.125 でテストしています

0 投票する
1 に答える
715 参照

javascript - BufferGeometry MeshFaceMaterial 実装 r68

最近 r68 に切り替え、すべてのジオメトリを に移動していますTHREE.BufferGeometry

THREE.MeshFaceMaterial多くの場所で使用していましたが、 BufferGeometry の面のマテリアル THREE.BufferGeometryによると、それはサポートされていません。解決策は、複数のメッシュを作成することのようです。これを試しましたが、うまくいかないようで、エラーは発生しません。

私のアプローチは次のとおりです。

これはエラーなしで正常に機能しますが、レンダリングすると、すべてのライトマップなどが機能しないように見えます。ジオメトリは問題なく見えますが、色は 1 つしかありません。

これを適切に実装する方法に関するヒントはありますか?

編集:

UV の問題: https://github.com/mrdoob/three.js/issues/5118

編集2:

WebGLRenderer のソース コードを掘り下げた後、これを実装するのは、今すぐやる価値があるよりもはるかに多くの作業であると思います。今のところ古いジオメトリに固執しますが、私はまだ提案を受け付けています ;)

編集 3: これを自分で行う基本的な方法は、https ://github.com/mrdoob/three.js/issues/5268 にあります。

three.js エクスポーターを改善するために、 https://github.com/mrdoob/three.js/issues/5417で作業が行われています。たとえば、複数のマテリアルを使用して buffergeometries をエクスポートします。