Three jsの1つのオブジェクトでdat.guiを使用して色を設定する方法
この例では、ボックス 3のようなダイアログで色を選択したい
これを作る方法は?
次の関数を作成して、色を選択して色を変更します
function cambiarColor( obj )
{
var gui = new dat.GUI();
var Configuracion=function(){
this.color = "#ffae23";
}
var conf = new Configuracion();
var controlador = gui.addColor( conf, 'color');
controlador.onChange( function( colorValue )
{
//the return value by the chooser is like as: #ffff so
//remove the # and replace by 0x
colorValue=colorValue.replace( '#','0x' );
//create a Color
var colorObject = new THREE.Color( colorValue ) ;
//set the color in the object
obj.material.color = colorObject;
});
}
Three.jsの色または均一な色をdat.guiに実装する簡単な方法:
dat.GUI.prototype.addThreeColor=function(obj,varName){
// threejs & dat.gui have color incompatible formats so we use a dummy data as target :
var dummy={};
// set dummy initial value :
dummy[varName]=obj[varName].getStyle();
return this.addColor(dummy,varName)
.onChange(function( colorValue ){
//set color from result :
obj[varName].setStyle(colorValue);
});
};
dat.GUI.prototype.addThreeUniformColor=function(material,uniformName,label){
return this.addThreeColor(material.uniforms[uniformName],"value").name(label||uniformName);
};