@zeni1agent

Как поменять материал в three.js с помощью dat.gui?

Я написал вот такой код для смены пола в сцене
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 );

Все работает как надо.
Но меня интересует вопрос можно ли как-то укоротить этот код
Так что бы менялся не сам объект а его свойства(материал)?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы