javascript - THREE.LineDashedMaterial - 破折号不起作用

标签 javascript 3d three.js

我无法让 THREE.LineDashedMaterial 在三个 js 中正常工作(我使用的是 r73,但也刚刚尝试过 r74)。改变颜色很好,但破折号似乎不起作用。这是我的例子:

var segmentCount = 200;
var radius = 100;
var geometry = new THREE.Geometry();
var material = new THREE.LineDashedMaterial( { color: 0xff0000, linewidth: 5, dashSize: 1.0, gapSize: 0.5 } ); //new THREE.LineBasicMaterial({ color: 0xFFFFFF, linewidth: 10 });

for (var i = 0; i <= segmentCount; i++) {
var theta = (i / segmentCount) * Math.PI * 2;
geometry.vertices.push(
    new THREE.Vector3(
        Math.cos(theta) * radius,
        Math.sin(theta) * radius,
        0));            
}


scene.add(new THREE.Line(geometry, material));

我在示例中做错了什么,还是这个错误 ( https://github.com/mrdoob/three.js/issues/6699) 仍然是一个问题?

最佳答案

如果您使用THREE.GeometryTHREE.LineDashedMaterial 创建一条线,您需要调用

line.computeLineDistances(); // or lineSegments.computeLineDistances()

让虚线正确呈现。

three.js r.91

关于javascript - THREE.LineDashedMaterial - 破折号不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35781346/

相关文章:

three.js - 如何在三个js坐标系中正确定位html元素?

javascript - 在 Python 或 JavaScript 中实现 C 预处理器?

Javascript(使用 Phaser)错误显示游戏颜色 - 括号

actionscript-3 - ActionScript 3 : translating coordinates from object's 3D space to another's?

Java 3D数组初始化

javascript - 无法将 3D 对象导入 ThreeJS

javascript - THREE.js 中的多站渐变线

javascript - 如何更改 CSS 中元素旋转的速度

javascript - 嵌套动态地 react 相同的组件

opengl - glMapBuffer复制数据吗?