如果我的錯誤是顯而易見的,請道歉。幾周前開始學習代碼。大量搜索答案。Three.js簡單的自定義動畫不會隨着DAT.GUI而改變.onChange功能
嘗試使用Dat.Gui控制在three.js中動畫的圖形等式的變量。通過將變量賦值爲空,我可以看到gui被鏈接,因爲滑塊上的任何地方都會立即調用所需的圖形方程(爲簡單起見,我用簡單的拋物線代替了更復雜的方程)。按照希望,當再次點擊gui滑塊以清除「重繪」方程式(通過gui滑塊確定的更寬或更瘦的拋物線)時,圖形方程式也會消失,但它會拋出此錯誤:
「 .CommandBufferContext] RENDER警告:渲染計數或初始值爲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);
};
幫助將非常感激。