1
私はthree.jsの例からコピーしたthree.jsプロジェクトのライト用のフォルダを追加しようとしています。しかし、私はそれを働かせることはできません。私は私がf1 = add.folder( 'light1')を使用し、何とかf1.add( '強度')等でf1にパラメータを追加する必要があると思います...しかし、コードがこのように構造化されているとき、これを行う方法? node = f1.add()は動作しません!dat.guiにフォルダを追加するには?
function buildGui() {
clearGui();
/****************************** Light1 **************************/
var f1 = gui.addFolder('Light1');
addGui('lightcolor', spotLight.color.getHex(), function(val) {
spotLight.color.setHex(val);
render();
}, true);
addGui('intensity', spotLight.intensity, function(val) {
spotLight.intensity = val;
render();
}, false, 0, 2);
/************************** Light2 **************************/
var f2 = gui.addFolder('Light2');
addGui('lightcolor 2', spotLight2.color.getHex(), function(val) {
spotLight2.color.setHex(val);
render();
}, true);
addGui('intensity 2', spotLight2.intensity, function(val) {
spotLight2.intensity = val;
render();
}, false, 0, 2);
}
function addGui(name, value, callback, isColor, min, max) {
var node;
param[ name ] = value;
if (isColor) {
node = gui.addColor(param, name).onChange(function() {
callback(param[ name ]);
});
} else if (typeof value == 'object') {
node = gui.add(param, name, value).onChange(function() {
callback(param[ name ]);
});
} else {
node = gui.add(param, name, min, max).onChange(function() {
callback(param[ name ]);
});
}
gui.remember(param);
return node;
}