Files
Room-3D/js/materials.js
2026-01-08 16:37:17 +03:00

26 lines
843 B
JavaScript

// materials.js
import * as THREE from 'three';
/**
* Применяет стандартный матовый материал ко всем мешам объекта
* @param {THREE.Object3D} object - объект сцены или room
* @param {Object} options - {color, roughness, metalness}
*/
export function applyMatteMaterial(object, options = {}) {
const color = options.color !== undefined ? options.color : 0xffffff;
const roughness = options.roughness !== undefined ? options.roughness : 1;
const metalness = options.metalness !== undefined ? options.metalness : 0;
object.traverse((child) => {
if (child.isMesh) {
child.material = new THREE.MeshStandardMaterial({
color,
roughness,
metalness
});
child.castShadow = true;
child.receiveShadow = true;
}
});
}