-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
54 lines (40 loc) · 2.2 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import * as THREE from 'three';
import { range } from 'three/examples/jsm/nodes/Nodes.js';
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
// define renderer
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// define textures
const dirt = new THREE.TextureLoader().load('/textures/dirt.png');
const stone = new THREE.TextureLoader().load('/textures/stone.png');
// define geometries
const geometry1 = new THREE.BoxGeometry(1, 1, 1);
// define texture materials
const dirtM = new THREE.MeshBasicMaterial({map:dirt});
const stoneM = new THREE.MeshBasicMaterial({map:stone});
// Render Functions
const cubes = [new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM),
new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM),
new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM),
new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM),
new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM), new THREE.Mesh(geometry1, dirtM)
];
for (let r = 0; r < 5; r++) {
for (let i = 0; i < 5; i++) {
scene.add(cubes[i]);
cubes[i].position.x = i;
}
scene.add(cubes[r]);
cubes[r].position.y = r;
}
// add meshes
// pre position
camera.position.z = 5;
camera.position.y = 1;
// animate
function animate() {
renderer.render(scene, camera);
}
renderer.setAnimationLoop(animate);