我知道如何设置对象颜色属性的值,但我没有检查相同的颜色。 我需要比较对象网格的颜色,以便在条件为真时我可以操作它。
基本代码:
object.traverse( function( child ) {
if ( child instanceof THREE.Mesh ) {
child.castShadow = true;
child.material.color.set(0x00ff00);
if ( child.material.color == '0x00ff00' ) { //this comparison check
child.material.color.set(0x0000ff);
}
}
} );
这种比较是否正确,还是有其他方法可以检查此属性的值?
答案 0 :(得分:2)
您可以使用如下图案比较颜色:
var color = new THREE.Color( 0xff0000 ); // create once and reuse if needed
console.log( material.color.equals( color ); );
three.js .r85