Я написал вот такой код для смены пола в сцене
action_floor_glass.onChange( function (opt_none) {
if (opt_none== true){
geometry_floor2.visible = false;
geometry_floor1.visible = true;
}
if (opt_none== false){
geometry_floor1.visible = false;
geometry_floor2.visible = true;
}
} );
var plane_gam = new THREE.PlaneBufferGeometry( 2000, 2000 ) ;
var glass_mat = { clipBias: 0.003, textureWidth: window.innerWidth * window.devicePixelRatio, textureHeight: window.innerHeight * window.devicePixelRatio, color: 0x889999, recursion: 1 } ;
var plane_mat = new THREE.MeshStandardMaterial( { color: 0x808080, roughness: 0, metalness: 0 } ) ;
var geometry_floor1 = new THREE.Reflector(plane_gam, glass_mat);
geometry_floor1.rotation.x = - Math.PI / 2;
geometry_floor1.receiveShadow = true
geometry_floor1.visible = false;
scene.add( geometry_floor1 );
var geometry_floor2 = new THREE.Mesh( plane_gam, plane_mat );
geometry_floor2.rotation.x = - Math.PI / 2;
geometry_floor2.receiveShadow = true;
scene.add( geometry_floor2 );
Все работает как надо.
Но меня интересует вопрос можно ли как-то укоротить этот код
Так что бы менялся не сам объект а его свойства(материал)?