問題タブ [threecsg]
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.
three.js - ThreeCSGブール演算による予期しないメッシュ結果
シーンを作成しています & ブール関数を使用して壁に穴を開けました。ただし、照明により、結果として得られる形状の顔が台無しになっていることがわかります。断片化して照明を後方に表示するのではなく、表面を 1 つの固体のように見せたいと考えています。私のジオメトリで何がうまくいかないのか誰か知っていますか?
オブジェクトをブーリアン化するコードは次のとおりです。
シーンには 2 つのライトがあります。
編集: WestLangley の提案を使用して、壁のレンダリングを部分的に修正することができました。そして、material.wireframe=true; を使用して。ブール演算の後、壁の面が結合されていないことがわかります。それらをマージする方法はありますか?
javascript - threecsg.js とサブディビジョン モディファイヤの歪んだジオメトリ
私は最新の threecsg.js ライブラリを持っており、CSG 操作の後にサブディビジョン モディファイアを使用しようとする場合を除いて、それを使用しても問題ありません。これは、github のライブラリに付属する example.html ファイルから変更されたサンプル コードです。
上記のコードは、球体と立方体を結合します。この後、サブディビジョン モディファイアを介して結果のジオメトリを実行します。シーンに追加された最終出力には、オブジェクトから突き出た面がありますが、それ以外は、オブジェクトは滑らかに見えます。この問題の解決、つまり突き出た面の削除を手伝ってくれる人はいますか?
javascript - ThreejsとThreeCSGを使用する場合、減算前にCSGオブジェクトの位置を変更するにはどうすればよいですか
ThreeCSG を使用して、プラットフォームの「穴」を差し引こうとしています。大きなプラットフォームの特定の場所で穴を差し引いてほしい。
私の問題は、穴が Threejs から ThreeCSG に変換されるたびに、位置が考慮されないため、プラットフォームに作成されたすべての穴がランダムな場所ではなく中心になることです。
ThreeCSG オブジェクトに変換された後に「穴」を再配置する方法に関するドキュメントが見つからないようです。
three.js - Three.CSG で減算操作を行った後、メッシュの小さな穴を修正する方法
ボックス メッシュがあり、Three.CSG で別のボックスを差し引いて、窓のある壁を作成します。そうすると、カットの横のメッシュに小さな穴ができます。常に表示されるわけではありませんが、動き回ると表示されます。
これらの穴を閉じる方法は?
これは、メッシュを作成する方法のコードの一部です。
アップデート
jsfiddle を作成しましたが、エラーを再現するのが難しく、そこに表示できませんでした: http://jsfiddle.net/L0rdzbej/23/
ただし、ここで完全なアプリケーションを見ることができます。
@gaitat が提案geometry.mergeVertices()
したように、それが私にとって何かを変えるようには見えません。Chandler PrallprecisionPoints
は、mergeVertices 関数内の変数である がこれを解決できるソースをほのめかしました。シーンの規模によっては、値が低くなるかマイナスになるはずですが、これまでのところ成功していません。
javascript - Three.js - csg.js が機能しないのはなぜですか?
csg.js-functions を使用して球体を箱から切り出そうとしましたが、うまくいきませんか? http://learningthreejs.com/blog/2011/12/10/constructive-solid-geometry-with-csg-js/のチュートリアルを読みましたが、まだ機能していません。
javascript - ThreeBSP.js で作成されたメッシュが、MeshNormalMaterial 以外のマテリアルで正しく機能しないのはなぜですか?
MeshNormalMaterial
最後から 2 番目の行 ( ) で使用する場合にのみ、サイコロはサイコロのように見えますresult = resultBSP.toMesh(materialNormal);
。他のマテリアルでは、subtraction
(ドット) のない立方体のように見えます。ThreeBSP
私が使用している (ThreeCSG アップグレード) ライブラリは、こちらにあります。使用には問題ありませんMeshNormalMaterial
。それを変更するためのオプションはほとんどありません。(他のマテリアルのようにパラメータを取りません)。
サイコロを作成するために使用している関数は次のとおりです。