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
|
import TextSprite from 'three.textsprite'
import datasetList from './datasetList'
import { choice } from '../../util'
import { scene } from '../renderer'
export const fontFamily = 'Helvetica, Arial, sans-serif'
export function init() {
let sprites = Array.from({ length: Math.min(datasetList.length, 80) }, (t, i) => {
const sprite = new TextSprite({
textSize: 0.03 + Math.random() * 0.04,
redrawInterval: 1,
material: {
color: choice([ 0xffffff, 0xffffff, 0xffffff, 0xdddde6, 0x888896 ]),
},
texture: {
text: datasetList[i],
fontFamily,
},
})
sprite.position
.setX(Math.random())
.setY(Math.random())
.setZ(Math.random())
.subScalar(1 / 2)
.setLength(1 + Math.random())
.multiplyScalar(1)
scene.add(sprite)
return sprite
})
return sprites
}
|