| import * as THREE from 'https://unpkg.com/three@0.126.0/build/three.module.js'; |
|
|
| |
| const scene = new THREE.Scene(); |
| const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); |
| const renderer = new THREE.WebGLRenderer(); |
| renderer.setSize(window.innerWidth, window.innerHeight); |
| document.body.appendChild(renderer.domElement); |
|
|
| |
| const geometry = new THREE.BoxGeometry(); |
| const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); |
| const cube = new THREE.Mesh(geometry, material); |
| scene.add(cube); |
|
|
| camera.position.z = 5; |
|
|
| |
| function animate() { |
| requestAnimationFrame(animate); |
|
|
| cube.rotation.x += 0.01; |
| cube.rotation.y += 0.01; |
|
|
| renderer.render(scene, camera); |
| } |
|
|
| animate(); |
|
|
| |
| window.addEventListener('resize', () => { |
| camera.aspect = window.innerWidth / window.innerHeight; |
| camera.updateProjectionMatrix(); |
| renderer.setSize(window.innerWidth, window.innerHeight); |
| }); |
|
|