-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpage44.js
49 lines (38 loc) · 905 Bytes
/
page44.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
import * as THREE from 'three'
const group = new THREE.Group()
group.matrixAutoUpdate = false
const video = document.createElement('video')
video.src = '/assets/videos/raumzeitdiagramme.mp4'
var texture = new THREE.VideoTexture(video);
var screen = new THREE.Mesh(
new THREE.PlaneGeometry(.16 * 0.8, .09 * 0.8),
new THREE.MeshBasicMaterial({
map: texture
}))
video.load()
screen.geometry.translate(0, 0.09, 0)
screen.geometry.rotateX(-Math.PI / 4)
group.add(screen)
let isVisible = false
function init(renderer, camera, scene, pose = null) {
if (!isVisible) {
video.play()
scene.add(group)
}
if (pose !== null) {
group.matrix.fromArray(pose.transform.matrix)
}
isVisible = true
}
function update() {
}
function destroy(scene) {
isVisible = false
scene.remove(group)
video.pause()
}
export default {
init,
update,
destroy
}