forked from Hackhaton/Hachkaton-Project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
3d.js
80 lines (58 loc) · 1.76 KB
/
3d.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import * as THREE from "./three.module.js"
import {GLTFLoader} from "./GLTFLoader.js";
import {OrbitControls} from "./OrbitControls.js"
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(
50,
800/600,
0.01,
5000
);
var renderer = new THREE.WebGLRenderer({alpha:true});
renderer.setSize(800,600)
document.getElementById("gia").appendChild(renderer.domElement)
var obj;
var loader = new GLTFLoader();
loader.load("scene.gltf",function(gltf){
obj = gltf.scene;
scene.add(gltf.scene);
});
renderer.setClearColor( 0x000000, 0 );
// var light = new THREE.HemisphereLight( 0xffffbb, 0x080820, 3);
// var light2 = new THREE.PointLight(0xffffff, 3);
var light3 = new THREE.AmbientLight(0xffffff, 1);
var light4 = new THREE.AmbientLight(0xffffff, 0.4);
light4.position.set(4,10,4)
// light.position.set( 100, 200, 100 );
// light2.position.set( 100, 100, 0 );
// scene.add(light)
// scene.add(light2)
const lighthelper = new THREE.DirectionalLight(light3, 1)
scene.add(light3, lighthelper,light4)
const controls = new OrbitControls( camera, renderer.domElement );
controls.panSpeed = 1;
controls.rotateSpeed = 0.3;
controls.enablePan = true;
controls.enableDamping = true;
// controls.enableZoom = false
camera.position.x = 100;
camera.position.y = 100;
camera.position.z = 10;
camera.rotation.set(30, 80, 0)
controls.saveState();
console.log(controls.saveState())
window.addEventListener('keydown',function(e){
if(e.code === "KeyS")
controls.saveState()
console.log(controls.object.position)
if(e.code === 'KeyR')
controls.reset();
})
function animate(){
controls.update();
requestAnimationFrame(animate);
obj.rotation.y += 0.001;
renderer.render(scene,camera);
}
renderer.render(scene,camera)
animate()