صندلی باغی و رستورانی موناکو، جایی که راحتی با طراحی لوکس ملاقات میکند. ☘️
- 👈 بدنه ای از آلومینیوم مقاوم
- 👈 با پوشش رنگ الکترواستاتیک
- 👈 بافتی ظریف از الیاف پلی اتیلن با مواد PP گرید A در نشیمن و پشتی
- 👈 کاملا ضدآب
- 👈 تضمین کننده دوام و راحتی
- 👈 همراه با تشک به رنگ دلخواه مشتری
ایده آل برای باغ، تراس یا فضای رستورانی شما، جایی که هر لحظه به یادماندنی می شود. ☘️
window.addEventListener('DOMContentLoaded', () => {
const container = document.getElementById('viewer');
if (!container) {
console.error('viewer div not found');
return;
}
const modelPath = container.dataset.model;
console.log('Loading model:', modelPath);
const scene = new THREE.Scene();
scene.background = new THREE.Color(0xf2f2f2);
const camera = new THREE.PerspectiveCamera(
60,
container.clientWidth / container.clientHeight,
0.1,
1000
);
camera.position.set(0, 1, 3);
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(container.clientWidth, container.clientHeight);
container.appendChild(renderer.domElement);
scene.add(new THREE.HemisphereLight(0xffffff, 0x444444, 1));
const light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(5, 10, 7);
scene.add(light);
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
const loader = new THREE.GLTFLoader();
loader.load(
modelPath,
(gltf) => {
const model = gltf.scene;
scene.add(model);
const box = new THREE.Box3().setFromObject(model);
const size = box.getSize(new THREE.Vector3()).length();
const center = box.getCenter(new THREE.Vector3());
model.position.sub(center);
camera.position.set(0, size * 0.6, size * 1.2);
camera.lookAt(0, 0, 0);
},
undefined,
(err) => console.error('GLB load error:', err)
);
function animate() {
requestAnimationFrame(animate);
controls.update();
renderer.render(scene, camera);
}
animate();
});