問題タブ [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.
javascript - three.js r74 BufferGeometry 四角ではなく球
次のコードがあります。
これにより、立方体がすばやく適切にレンダリングされますが、球体が必要です。それがリビジョン 74 でどのように機能するかを誰かに説明してもらえますか? 私はこの質問を見つけましたが、もう機能していません。
ありがとう!
javascript - Three.js BufferGeometry頂点位置配列要素の順序の意味は何ですか?
これは、この three.js ドキュメントから取得した頂点位置の配列です。
この配列の要素 (頂点) の順序を変更すると、結果の形状が変化します。プログラムでシェイプを作成したいので、この要素が特定の順序になっている理由を知りたいです。これを行うには、頂点の順序が重要な理由を知る必要があります。私はこれを自分で理解しようとしましたが、成功しませんでした。
javascript - BufferGeometryを使用してThreeJsで頂点配列を変更する
そう-計算されたポリゴンで画面を埋めている状況があります。ポリゴンの形状は常に変化しています。つまり、頂点の数はフレームごとに変化しています。フレームごとに新しいジオメトリを作成すると、突然マシンが効果的に停止し、大量のメモリを消費しているように見えます。ジオメトリ内のバッファを変更する必要があるようです。
だから私はbufferGeometryを使ってみましたが、基本的には:
私のレンダーループで-しかし、まったく機能していないようです。通常のジオメトリのみを使用すると、needsUpdate を設定すると動的に変更されますが、元のベクトルの値を変更した場合に限ります。配列自体を変更すると、表示されないようです。
ここにすべての例があります: http://jsbin.com/fanebah/edit?js,console,output - 「キューブ」を作成する行を交換すると、機能するものから機能しないものになります。
私は bufferGeometry を使用したいと思います - データを生成する方法により速く、近いです - 私は何が間違っていますか? それとも、threejs は動的な buffergeometry をサポートしていないのでしょうか?
javascript - How to add faces to THREE.BufferGeometry?
I have created programmatically a simple mesh:
Problem is that this mesh has only vertices. I have tried to add to it faces like in this question using THREE.Shape.Utils.triangulateShape but BufferGeometry is different than normal geometry and it does not work. Is it possible to add faces to BufferGeometry?
EDIT: Working fiddle
javascript - bufferGeometry から位置属性を取得できません
「シーンを歩き回る」(ある種の 3D ヘビ) ランダムな行があり、次に達成したいことは、その頭の周りにボックスを設定することです。ラインbufferGeometry
はによって設定されます
その周りに立方体 (boxGeometry
オブジェクト) を設定することを選択し、次のコード行を使用してそれを達成しようとしました。
positioning
デバッグすると、配列が未定義であることがわかります。だから私はそこに何か問題があったと思います。
ありがとう。
javascript - bufferGeometry での CSG 操作
現在、形状を作成し、その形状に対して複数の CSG 操作を実行するために three.js ジオメトリ クラスを使用しています。したがって、継続的に形状を再描画します。
複数の csg 操作を実行するこのプロセスは低速です。レイキャスティングを使用してクリック時に形状を取得し、選択した形状と事前定義された形状 (任意の形状またはジオメトリ) の CSG を実行しているためです。
だから私の質問は:
THREE.BufferGeometry
バッファ ジオメトリを使用すると CSG が高速化されますが、インスタンスで CSG 操作を実行するライブラリはありますか?他の方法を使用してプロセスを高速化する方法はありますか?
これは私のコードフローです:
このライブラリを CSG 操作に使用しています。全体的なフローは、three.js の例のこの例と似ています。
javascript - ラインとメッシュの両方に THREE.BufferGeometry インスタンスを再利用します
バッファ ジオメトリを最大限に活用する方法を学んでいます。それらがどのように機能しているのか、そしてさまざまな可能性が何であるかをゆっくりと理解し始めています.
しかし今、私は輪郭のあるメッシュが欲しいです:
メッシュを取得するには、2 つの面( 0, 1, 2 )
とを定義する必要があります( 0, 2, 3 )
。したがって、このメッシュを描画するには、インデックス配列は次のようになります。
しかし、アウトラインを描画するには、ポイントを順番に接続する必要がある(0, 1, 2, 3, 0)
ため、ライン インデックス配列は次のようになります。
THREE.BufferGeometry
しかし、インデックス配列をインスタンスに定義できるのは 1 回だけです。したがって、両方を描画するには、ジオメトリを複製し、一度 に接続し、Mesh
一度 として追加する必要がありLine
ます。これは、すべての位置が 2 回保存されることを意味します。
同じバッファ ジオメトリを使用して線とメッシュの両方を描画することはできませんか? どういうわけか、2 つのインデックス配列を渡すか、たとえば、それらを 1 つに結合して、この質問でここで述べたようにオフセットを使用します。
私のフィドルを見ることができるので、これはうまくいきます
three.js - THREE.BufferGeometry - 頂点法線と面法線
のドキュメントにTHREE.BufferGeometry
は次のように書かれています。
normal (itemSize: 3)
このジオメトリの各頂点の面または頂点法線ベクトルの x、y、および z コンポーネントを格納します。.fromGeometry() によって設定されます。
この変数はいつ頂点法線を保持し、いつ面法線を保持しますか?
THREE.MeshMaterial
aを使用すると法線が面法線として解釈され、aTHREE.LineMaterial
を使用すると法線が頂点法線として使用されるのと同じくらい単純ですか? それともそれよりも複雑ですか?
また、フラット シェーディングでメッシュをレンダリングするために使用できることも理解しTHREE.FlatShading
ました (面の法線はまっすぐ外側を向いています)。
法線はもう必要ないと思います。このような場合に、バッファ ジオメトリがTHREE.BoxGeometry
通常のアトリビュートを保持しているなどから作られているのはなぜですか? この情報はまだレンダリングに使用されていますか、それともバッファ ジオメトリからそれらを削除することで最適化できるのでしょうか?
javascript - Three.js の BufferGeometry の頂点のジオメトリ
静かでシンプルなものが欲しいと思っていたのですが、思ったよりも複雑でした..
私が欲しいのは、THREE.BufferGeometry
(球)のすべての頂点のメッシュだけです!
コードペン: codepen.io/cheesyeyes/pen/YwBZGz
これは私のバッファジオメトリです:
頂点の位置を取得しようとしています:
では、bufferGeometry のすべての頂点 (ここでは 5 つ) の位置を取得するために、それらを正しく読み取るにはどうすればよいでしょうか?
こんな感じでやってみました。それは実際には機能しますが、非常に醜いと思います:
この配列がどのように配置されているかわかりません..助けてください! ありがとう!