作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现我正在用 LineLoop 绘制的圆圈中有一个缺口。这是我的代码:
const discGeometry = new THREE.CircleGeometry(50, 64);
const lineMaterial = new THREE.LineBasicMaterial({
transparent: true,
opacity: 0.5,
color: 0xffffff,
linewidth: 1.5
});
const zenithEquator = new THREE.LineLoop(discGeometry, lineMaterial);
zenithEquator.rotation.z = THREE.Math.degToRad(90);
scene.add(zenithEquator);
这是结果:
这里使用 Line 得到同样的结果而不是 LineLoop:
显然我看到的是这里的圆弧段。如果我增加或减少段数,间隙也会相应变化。
但是无论如何,我如何绘制这个简单的圆圈而不出现恼人的间隙?
最佳答案
使用 EdgesGeometry
生成边缘并使用 LineSegments
进行渲染
const discGeometry = new THREE.EdgesGeometry(new THREE.CircleGeometry(50, 64));
const lineMaterial = new THREE.LineBasicMaterial({
transparent: true,
opacity: 0.5,
color: 0xffffff,
linewidth: 1.5
});
const zenithEquator = new THREE.LineSegments(discGeometry, lineMaterial);
zenithEquator.rotation.z = THREE.Math.degToRad(90);
scene.add(zenithEquator);
关于javascript - Three.js:使用 CircleGeometry 的 LineLoop 中的间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525988/
我正在球体(行星边界)上渲染一些 LineLoop,并希望将它们镶嵌成较短的线,以防止长线剪裁到球体中。例子: 这是我当前的源代码:C++ 绘图调用: void Border::Draw() cons
我发现我正在用 LineLoop 绘制的圆圈中有一个缺口。这是我的代码: const discGeometry = new THREE.CircleGeometry(50, 64); const li
我是一名优秀的程序员,十分优秀!