如果我的错误很明显,请道歉。几周前开始学习代码。已经大量搜索答案。
尝试使用 Dat.Gui 控制在 three.js 中动画的图形方程的变量。通过将变量分配为空,我可以看到 gui 是链接的,因为在滑块上的任何位置都立即调用了预期的图形方程(为简单起见,我用简单的抛物线替换了更复杂的方程)。当再次单击 gui 滑块时,图形方程也会消失,如希望的那样,为“重绘”方程(由 gui 滑块确定的更宽或更窄的抛物线)扫清道路,但它会引发此错误:
“[.CommandBufferContext]RENDER WARNING:渲染计数或 primcount 为 0。”
我已经能够重新排列代码,所以它不会抛出这个错误,但它仍然没有调用方程的下一个可见迭代......下面是成功绘制抛物线的代码,在下一个.onChange,但随后抛出上述错误......
init function + scene, camera setup, etc....
gui = new DAT.GUI();
gui_a = gui.add(this, 'a').min(0.01).max(5).step(0.01).name('Width');
gui_a.onChange(function(value){createGraph();});
}
function createGraph(){
if(graphLine) scene.remove(graphLine);
var graphGeometry = new THREE.Geometry();
while (x<20){
var y = a*(Math.pow(x,2));
next_x = x+0.05;
next_y = a*(Math.pow(next_x,2));
x=x+0.05;
graphGeometry.vertices.push(
new THREE.Vector3(x, next_y),
new THREE.Vector3(next_x, next_y)
);};
graphLine = new THREE.Line(graphGeometry, material);
scene.add(graphLine);
};
帮助将不胜感激。