簡體   English   中英

三個 js 平滑底紋顯得平坦

[英]Three js smooth shading appearing flat

我正在加載.stl文件,應用MeshStandardMaterial而不觸及flatShading屬性,因為默認情況下它是false

在此處輸入圖像描述

結果對我來說看起來很平淡。 如果我嘗試設置flatShading: true結果是一樣的。

我已經嘗試了所有我能想到的東西,但沒有任何想法 - 歡迎任何建議,謝謝。

geometry.computeVertexNormals();
geometry.computeBoundingBox();
geometry.computeBoundingSphere();
geometry.normalizeNormals();

結果對我來說看起來很平淡。 如果我嘗試設置 flatShading: true 結果是一樣的。

STLLoader始終返回非索引緩沖區幾何體(未連接的三角形湯)。 這意味着幾何體的面不共享頂點,因此使用BufferGeometry.computeVertexNormals()不能產生平滑着色所需的法線。

此外,重新計算邊界體積和BufferGeometry.normalizeNormals()的使用與此問題無關。

您可以嘗試通過確保資產帶有允許平滑着色的法線來解決此問題。 或者你給BufferGeometryUtils.mergeVertices()一個嘗試,它通過合並頂點來生成索引幾何。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM