three-low-poly 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -1
- package/dist/index.cjs.js +16 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +626 -514
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +16 -2
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +16 -2
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Group as
|
|
2
|
-
import { mergeGeometries as
|
|
3
|
-
class
|
|
1
|
+
import { Group as v, SphereGeometry as T, MeshStandardMaterial as M, Mesh as m, BufferGeometry as g, Float32BufferAttribute as F, BoxGeometry as d, ConeGeometry as C, CylinderGeometry as G, Vector2 as b, LatheGeometry as N, CircleGeometry as D, ShaderMaterial as R, Shape as V, ExtrudeGeometry as U, MeshBasicMaterial as W, PointLight as X, TorusGeometry as J, DodecahedronGeometry as K, MeshPhysicalMaterial as _, DoubleSide as L, CatmullRomCurve3 as ee, Vector3 as q, TubeGeometry as te, LineBasicMaterial as oe, Line as se, Path as ne, DataTexture as ae, RGBAFormat as re, UnsignedByteType as ce, RepeatWrapping as O, NearestFilter as ie } from "three";
|
|
2
|
+
import { mergeGeometries as I } from "three/addons/utils/BufferGeometryUtils.js";
|
|
3
|
+
class pe extends v {
|
|
4
4
|
constructor() {
|
|
5
5
|
super();
|
|
6
|
-
const e = [],
|
|
6
|
+
const e = [], o = 20, t = new T(0.1, 6, 6), s = new M({
|
|
7
7
|
color: 16777215,
|
|
8
8
|
transparent: !0,
|
|
9
9
|
opacity: 0.6,
|
|
10
10
|
roughness: 0.3,
|
|
11
11
|
metalness: 0.3
|
|
12
12
|
});
|
|
13
|
-
for (let a = 0; a <
|
|
14
|
-
const i = new m(
|
|
13
|
+
for (let a = 0; a < o; a++) {
|
|
14
|
+
const i = new m(t, s);
|
|
15
15
|
i.position.set(
|
|
16
16
|
(Math.random() - 0.5) * 1.5,
|
|
17
17
|
// Random x position within flask
|
|
@@ -32,137 +32,137 @@ class ie extends b {
|
|
|
32
32
|
n();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
class
|
|
36
|
-
constructor(e = 2,
|
|
35
|
+
class xe extends g {
|
|
36
|
+
constructor(e = 2, o = 0.3, t = 0.6, s = 5, r = 5, n = Math.PI / 4) {
|
|
37
37
|
super();
|
|
38
38
|
const a = [], i = [];
|
|
39
|
-
for (let
|
|
40
|
-
const
|
|
39
|
+
for (let p = 0; p < s; p++) {
|
|
40
|
+
const f = p * o, x = f + o, y = p * t, k = y + t;
|
|
41
41
|
a.push(
|
|
42
42
|
// Vertical riser
|
|
43
43
|
-e / 2,
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
f,
|
|
45
|
+
y,
|
|
46
46
|
// Bottom-left
|
|
47
47
|
e / 2,
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
f,
|
|
49
|
+
y,
|
|
50
50
|
// Bottom-right
|
|
51
51
|
e / 2,
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
x,
|
|
53
|
+
y,
|
|
54
54
|
// Top-right
|
|
55
55
|
-e / 2,
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
x,
|
|
57
|
+
y,
|
|
58
58
|
// Top-left
|
|
59
59
|
// Horizontal tread
|
|
60
60
|
-e / 2,
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
x,
|
|
62
|
+
y,
|
|
63
63
|
// Top-left
|
|
64
64
|
e / 2,
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
x,
|
|
66
|
+
y,
|
|
67
67
|
// Top-right
|
|
68
68
|
e / 2,
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
x,
|
|
70
|
+
k,
|
|
71
71
|
// Back-right
|
|
72
72
|
-e / 2,
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
x,
|
|
74
|
+
k
|
|
75
75
|
// Back-left
|
|
76
76
|
);
|
|
77
|
-
const
|
|
77
|
+
const S = p * 8;
|
|
78
78
|
i.push(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
S,
|
|
80
|
+
S + 1,
|
|
81
|
+
S + 2,
|
|
82
|
+
S,
|
|
83
|
+
S + 2,
|
|
84
|
+
S + 3
|
|
85
85
|
), i.push(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
S + 4,
|
|
87
|
+
S + 5,
|
|
88
|
+
S + 6,
|
|
89
|
+
S + 4,
|
|
90
|
+
S + 6,
|
|
91
|
+
S + 7
|
|
92
92
|
);
|
|
93
93
|
}
|
|
94
|
-
const c = s *
|
|
94
|
+
const c = s * o, l = s * t, h = e * 2;
|
|
95
95
|
a.push(
|
|
96
96
|
// Landing platform (4 vertices)
|
|
97
|
-
-
|
|
97
|
+
-h / 2,
|
|
98
98
|
c,
|
|
99
99
|
l,
|
|
100
100
|
// Bottom-left
|
|
101
|
-
|
|
101
|
+
h / 2,
|
|
102
102
|
c,
|
|
103
103
|
l,
|
|
104
104
|
// Bottom-right
|
|
105
|
-
|
|
105
|
+
h / 2,
|
|
106
106
|
c,
|
|
107
|
-
l +
|
|
107
|
+
l + t,
|
|
108
108
|
// Top-right
|
|
109
|
-
-
|
|
109
|
+
-h / 2,
|
|
110
110
|
c,
|
|
111
|
-
l +
|
|
111
|
+
l + t
|
|
112
112
|
// Top-left
|
|
113
113
|
);
|
|
114
|
-
const
|
|
114
|
+
const w = s * 8;
|
|
115
115
|
i.push(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
w,
|
|
117
|
+
w + 1,
|
|
118
|
+
w + 2,
|
|
119
119
|
// First triangle for landing
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
w,
|
|
121
|
+
w + 2,
|
|
122
|
+
w + 3
|
|
123
123
|
// Second triangle for landing
|
|
124
124
|
);
|
|
125
|
-
for (let
|
|
126
|
-
const
|
|
127
|
-
for (let
|
|
128
|
-
const
|
|
125
|
+
for (let p = 0; p < 2; p++) {
|
|
126
|
+
const f = p === 0 ? 1 : -1;
|
|
127
|
+
for (let x = 0; x < r; x++) {
|
|
128
|
+
const y = c + x * o, k = y + o, S = f * (h / 4), z = l + t, Z = x * t * Math.cos(n), Q = x * t * Math.sin(n), A = S + f * Z - e / 2 * Math.cos(n), E = S + f * Z + e / 2 * Math.cos(n), B = z + Q, $ = A + f * t * Math.cos(n), H = E + f * t * Math.cos(n), j = B + t * Math.sin(n);
|
|
129
129
|
a.push(
|
|
130
130
|
// Vertical riser
|
|
131
131
|
A,
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
y,
|
|
133
|
+
B,
|
|
134
134
|
// Bottom-left
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
E,
|
|
136
|
+
y,
|
|
137
|
+
B,
|
|
138
138
|
// Bottom-right
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
E,
|
|
140
|
+
k,
|
|
141
|
+
B,
|
|
142
142
|
// Top-right
|
|
143
143
|
A,
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
k,
|
|
145
|
+
B,
|
|
146
146
|
// Top-left
|
|
147
147
|
// Horizontal tread
|
|
148
148
|
A,
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
k,
|
|
150
|
+
B,
|
|
151
151
|
// Top-left
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
E,
|
|
153
|
+
k,
|
|
154
|
+
B,
|
|
155
155
|
// Top-right
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
156
|
+
H,
|
|
157
|
+
k,
|
|
158
|
+
j,
|
|
159
159
|
// Back-right
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
$,
|
|
161
|
+
k,
|
|
162
|
+
j
|
|
163
163
|
// Back-left
|
|
164
164
|
);
|
|
165
|
-
const P =
|
|
165
|
+
const P = w + 4 + p * r * 8 + x * 8;
|
|
166
166
|
i.push(
|
|
167
167
|
P,
|
|
168
168
|
P + 1,
|
|
@@ -180,63 +180,63 @@ class le extends v {
|
|
|
180
180
|
);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
183
|
+
this.setIndex(i), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
|
-
class
|
|
187
|
-
constructor(e = 5,
|
|
186
|
+
class de extends g {
|
|
187
|
+
constructor(e = 5, o = 3, t = 5, s = 0.2) {
|
|
188
188
|
super();
|
|
189
189
|
const r = [
|
|
190
190
|
// Floor vertices
|
|
191
191
|
-e / 2,
|
|
192
192
|
0,
|
|
193
|
-
-
|
|
193
|
+
-t / 2,
|
|
194
194
|
// 0
|
|
195
195
|
e / 2,
|
|
196
196
|
0,
|
|
197
|
-
-
|
|
197
|
+
-t / 2,
|
|
198
198
|
// 1
|
|
199
199
|
e / 2,
|
|
200
200
|
0,
|
|
201
|
-
|
|
201
|
+
t / 2,
|
|
202
202
|
// 2
|
|
203
203
|
-e / 2,
|
|
204
204
|
0,
|
|
205
|
-
|
|
205
|
+
t / 2,
|
|
206
206
|
// 3
|
|
207
207
|
// Back wall vertices
|
|
208
208
|
-e / 2,
|
|
209
209
|
0,
|
|
210
|
-
-
|
|
210
|
+
-t / 2,
|
|
211
211
|
// 4
|
|
212
212
|
e / 2,
|
|
213
213
|
0,
|
|
214
|
-
-
|
|
214
|
+
-t / 2,
|
|
215
215
|
// 5
|
|
216
216
|
e / 2,
|
|
217
|
-
|
|
218
|
-
-
|
|
217
|
+
o,
|
|
218
|
+
-t / 2,
|
|
219
219
|
// 6
|
|
220
220
|
-e / 2,
|
|
221
|
-
|
|
222
|
-
-
|
|
221
|
+
o,
|
|
222
|
+
-t / 2,
|
|
223
223
|
// 7
|
|
224
224
|
// Left wall vertices
|
|
225
225
|
-e / 2,
|
|
226
226
|
0,
|
|
227
|
-
-
|
|
227
|
+
-t / 2,
|
|
228
228
|
// 8
|
|
229
229
|
-e / 2,
|
|
230
230
|
0,
|
|
231
|
-
|
|
231
|
+
t / 2,
|
|
232
232
|
// 9
|
|
233
233
|
-e / 2,
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
o,
|
|
235
|
+
t / 2,
|
|
236
236
|
// 10
|
|
237
237
|
-e / 2,
|
|
238
|
-
|
|
239
|
-
-
|
|
238
|
+
o,
|
|
239
|
+
-t / 2
|
|
240
240
|
// 11
|
|
241
241
|
], n = [
|
|
242
242
|
// Floor
|
|
@@ -261,69 +261,69 @@ class me extends v {
|
|
|
261
261
|
10,
|
|
262
262
|
11
|
|
263
263
|
];
|
|
264
|
-
this.setIndex(n), this.setAttribute("position", new
|
|
264
|
+
this.setIndex(n), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
class
|
|
268
|
-
constructor(e = 2,
|
|
267
|
+
class Ge extends g {
|
|
268
|
+
constructor(e = 2, o = 0.3, t = 0.5, s = 5, r = 2) {
|
|
269
269
|
super();
|
|
270
270
|
const n = [], a = [];
|
|
271
|
-
for (let
|
|
272
|
-
const
|
|
271
|
+
for (let h = 0; h < s; h++) {
|
|
272
|
+
const w = h * o, p = w + o, f = h * t, x = f + t;
|
|
273
273
|
n.push(
|
|
274
274
|
// Vertical riser
|
|
275
275
|
-e / 2,
|
|
276
|
-
|
|
277
|
-
|
|
276
|
+
w,
|
|
277
|
+
f,
|
|
278
278
|
// Bottom-left
|
|
279
279
|
e / 2,
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
w,
|
|
281
|
+
f,
|
|
282
282
|
// Bottom-right
|
|
283
283
|
e / 2,
|
|
284
|
-
|
|
285
|
-
|
|
284
|
+
p,
|
|
285
|
+
f,
|
|
286
286
|
// Top-right
|
|
287
287
|
-e / 2,
|
|
288
|
-
|
|
289
|
-
|
|
288
|
+
p,
|
|
289
|
+
f,
|
|
290
290
|
// Top-left
|
|
291
291
|
// Horizontal tread
|
|
292
292
|
-e / 2,
|
|
293
|
-
|
|
294
|
-
|
|
293
|
+
p,
|
|
294
|
+
f,
|
|
295
295
|
// Top-left
|
|
296
296
|
e / 2,
|
|
297
|
-
|
|
298
|
-
|
|
297
|
+
p,
|
|
298
|
+
f,
|
|
299
299
|
// Top-right
|
|
300
300
|
e / 2,
|
|
301
|
-
|
|
302
|
-
|
|
301
|
+
p,
|
|
302
|
+
x,
|
|
303
303
|
// Back-right
|
|
304
304
|
-e / 2,
|
|
305
|
-
|
|
306
|
-
|
|
305
|
+
p,
|
|
306
|
+
x
|
|
307
307
|
// Back-left
|
|
308
308
|
);
|
|
309
|
-
const
|
|
309
|
+
const y = h * 8;
|
|
310
310
|
a.push(
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
311
|
+
y,
|
|
312
|
+
y + 1,
|
|
313
|
+
y + 2,
|
|
314
|
+
y,
|
|
315
|
+
y + 2,
|
|
316
|
+
y + 3
|
|
317
317
|
), a.push(
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
318
|
+
y + 4,
|
|
319
|
+
y + 5,
|
|
320
|
+
y + 6,
|
|
321
|
+
y + 4,
|
|
322
|
+
y + 6,
|
|
323
|
+
y + 7
|
|
324
324
|
);
|
|
325
325
|
}
|
|
326
|
-
const i = s *
|
|
326
|
+
const i = s * o, c = s * t;
|
|
327
327
|
n.push(
|
|
328
328
|
// Landing platform (4 vertices)
|
|
329
329
|
-e / 2,
|
|
@@ -354,138 +354,138 @@ class ue extends v {
|
|
|
354
354
|
l + 3
|
|
355
355
|
// Second triangle for landing
|
|
356
356
|
);
|
|
357
|
-
for (let
|
|
358
|
-
const
|
|
357
|
+
for (let h = 0; h < s; h++) {
|
|
358
|
+
const w = i + h * o, p = w + o, f = -e / 2 - h * t, x = f - t;
|
|
359
359
|
n.push(
|
|
360
360
|
// Vertical riser
|
|
361
|
-
|
|
362
|
-
|
|
361
|
+
f,
|
|
362
|
+
w,
|
|
363
363
|
c + r,
|
|
364
364
|
// Bottom-left
|
|
365
|
-
|
|
366
|
-
|
|
365
|
+
f,
|
|
366
|
+
w,
|
|
367
367
|
c + r - e,
|
|
368
368
|
// Bottom-right
|
|
369
|
-
|
|
370
|
-
|
|
369
|
+
f,
|
|
370
|
+
p,
|
|
371
371
|
c + r - e,
|
|
372
372
|
// Top-right
|
|
373
|
-
|
|
374
|
-
|
|
373
|
+
f,
|
|
374
|
+
p,
|
|
375
375
|
c + r,
|
|
376
376
|
// Top-left
|
|
377
377
|
// Horizontal tread
|
|
378
|
-
|
|
379
|
-
|
|
378
|
+
f,
|
|
379
|
+
p,
|
|
380
380
|
c + r,
|
|
381
381
|
// Top-left
|
|
382
|
-
|
|
383
|
-
|
|
382
|
+
f,
|
|
383
|
+
p,
|
|
384
384
|
c + r - e,
|
|
385
385
|
// Top-right
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
x,
|
|
387
|
+
p,
|
|
388
388
|
c + r - e,
|
|
389
389
|
// Back-right
|
|
390
|
-
|
|
391
|
-
|
|
390
|
+
x,
|
|
391
|
+
p,
|
|
392
392
|
c + r
|
|
393
393
|
// Back-left
|
|
394
394
|
);
|
|
395
|
-
const
|
|
395
|
+
const y = l + 4 + h * 8;
|
|
396
396
|
a.push(
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
397
|
+
y,
|
|
398
|
+
y + 1,
|
|
399
|
+
y + 2,
|
|
400
|
+
y,
|
|
401
|
+
y + 2,
|
|
402
|
+
y + 3
|
|
403
403
|
), a.push(
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
404
|
+
y + 4,
|
|
405
|
+
y + 5,
|
|
406
|
+
y + 6,
|
|
407
|
+
y + 4,
|
|
408
|
+
y + 6,
|
|
409
|
+
y + 7
|
|
410
410
|
);
|
|
411
411
|
}
|
|
412
|
-
this.setIndex(a), this.setAttribute("position", new
|
|
412
|
+
this.setIndex(a), this.setAttribute("position", new F(n, 3)), this.computeVertexNormals();
|
|
413
413
|
}
|
|
414
414
|
}
|
|
415
|
-
class
|
|
416
|
-
constructor(e = 1,
|
|
415
|
+
class ve extends g {
|
|
416
|
+
constructor(e = 1, o = 0.4, t = 0.2, s = 20, r = 2, n = Math.PI / 8) {
|
|
417
417
|
super();
|
|
418
418
|
const a = [], i = [];
|
|
419
419
|
let c = 0;
|
|
420
420
|
for (let l = 0; l < s; l++) {
|
|
421
|
-
const
|
|
421
|
+
const h = r * Math.cos(c), w = r * Math.sin(c), p = l * t, f = p + t;
|
|
422
422
|
a.push(
|
|
423
423
|
// Front face (vertical riser)
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
424
|
+
h - e / 2 * Math.cos(c),
|
|
425
|
+
p,
|
|
426
|
+
w - e / 2 * Math.sin(c),
|
|
427
427
|
// Bottom-left
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
428
|
+
h + e / 2 * Math.cos(c),
|
|
429
|
+
p,
|
|
430
|
+
w + e / 2 * Math.sin(c),
|
|
431
431
|
// Bottom-right
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
432
|
+
h + e / 2 * Math.cos(c),
|
|
433
|
+
f,
|
|
434
|
+
w + e / 2 * Math.sin(c),
|
|
435
435
|
// Top-right
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
436
|
+
h - e / 2 * Math.cos(c),
|
|
437
|
+
f,
|
|
438
|
+
w - e / 2 * Math.sin(c)
|
|
439
439
|
// Top-left
|
|
440
440
|
), a.push(
|
|
441
441
|
// Top face (horizontal tread)
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
442
|
+
h - e / 2 * Math.cos(c),
|
|
443
|
+
f,
|
|
444
|
+
w - e / 2 * Math.sin(c),
|
|
445
445
|
// Top-left-front
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
446
|
+
h + e / 2 * Math.cos(c),
|
|
447
|
+
f,
|
|
448
|
+
w + e / 2 * Math.sin(c),
|
|
449
449
|
// Top-right-front
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
450
|
+
h + e / 2 * Math.cos(c) - o * Math.sin(c),
|
|
451
|
+
f,
|
|
452
|
+
w + e / 2 * Math.sin(c) + o * Math.cos(c),
|
|
453
453
|
// Back-right
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
454
|
+
h - e / 2 * Math.cos(c) - o * Math.sin(c),
|
|
455
|
+
f,
|
|
456
|
+
w - e / 2 * Math.sin(c) + o * Math.cos(c)
|
|
457
457
|
// Back-left
|
|
458
458
|
);
|
|
459
|
-
const
|
|
459
|
+
const x = l * 8;
|
|
460
460
|
i.push(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
461
|
+
x,
|
|
462
|
+
x + 1,
|
|
463
|
+
x + 2,
|
|
464
464
|
// First triangle for riser
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
465
|
+
x,
|
|
466
|
+
x + 2,
|
|
467
|
+
x + 3
|
|
468
468
|
// Second triangle for riser
|
|
469
469
|
), i.push(
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
470
|
+
x + 4,
|
|
471
|
+
x + 5,
|
|
472
|
+
x + 6,
|
|
473
473
|
// First triangle for tread
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
474
|
+
x + 4,
|
|
475
|
+
x + 6,
|
|
476
|
+
x + 7
|
|
477
477
|
// Second triangle for tread
|
|
478
478
|
), c += n;
|
|
479
479
|
}
|
|
480
|
-
this.setIndex(i), this.setAttribute("position", new
|
|
480
|
+
this.setIndex(i), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
|
-
class
|
|
484
|
-
constructor(e = 2,
|
|
483
|
+
class be extends g {
|
|
484
|
+
constructor(e = 2, o = 0.3, t = 0.5, s = 10) {
|
|
485
485
|
super();
|
|
486
486
|
const r = [], n = [];
|
|
487
487
|
for (let a = 0; a < s; a++) {
|
|
488
|
-
const i = a *
|
|
488
|
+
const i = a * o, c = i + o, l = a * t, h = l + t;
|
|
489
489
|
r.push(
|
|
490
490
|
// Bottom face of riser (front face)
|
|
491
491
|
-e / 2,
|
|
@@ -515,105 +515,105 @@ class he extends v {
|
|
|
515
515
|
// 5: Top-right-front (repeated)
|
|
516
516
|
e / 2,
|
|
517
517
|
c,
|
|
518
|
-
|
|
518
|
+
h,
|
|
519
519
|
// 6: Top-right-back
|
|
520
520
|
-e / 2,
|
|
521
521
|
c,
|
|
522
|
-
|
|
522
|
+
h
|
|
523
523
|
// 7: Top-left-back
|
|
524
524
|
);
|
|
525
|
-
const
|
|
525
|
+
const w = a * 8;
|
|
526
526
|
n.push(
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
527
|
+
w,
|
|
528
|
+
w + 1,
|
|
529
|
+
w + 2,
|
|
530
530
|
// First triangle for riser
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
531
|
+
w,
|
|
532
|
+
w + 2,
|
|
533
|
+
w + 3
|
|
534
534
|
// Second triangle for riser
|
|
535
535
|
), n.push(
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
536
|
+
w + 4,
|
|
537
|
+
w + 6,
|
|
538
|
+
w + 5,
|
|
539
539
|
// First triangle for tread
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
540
|
+
w + 4,
|
|
541
|
+
w + 7,
|
|
542
|
+
w + 6
|
|
543
543
|
// Second triangle for tread
|
|
544
544
|
);
|
|
545
545
|
}
|
|
546
|
-
this.setIndex(n), this.setAttribute("position", new
|
|
546
|
+
this.setIndex(n), this.setAttribute("position", new F(r, 3)), this.computeVertexNormals();
|
|
547
547
|
}
|
|
548
548
|
}
|
|
549
|
-
class
|
|
550
|
-
constructor(e = 0.4,
|
|
549
|
+
class ge extends g {
|
|
550
|
+
constructor(e = 0.4, o = 1.2, t = 0.2) {
|
|
551
551
|
super();
|
|
552
|
-
const s =
|
|
552
|
+
const s = o * 0.6, r = new d(e / 2, s, t);
|
|
553
553
|
r.translate(0, s / 2, 0);
|
|
554
|
-
const n = e * 1.5, a = new
|
|
555
|
-
a.translate(0, s * 0.75, 0), this.copy(
|
|
554
|
+
const n = e * 1.5, a = new d(n, e / 4, t);
|
|
555
|
+
a.translate(0, s * 0.75, 0), this.copy(I([r, a], !1));
|
|
556
556
|
}
|
|
557
557
|
}
|
|
558
|
-
class
|
|
559
|
-
constructor(e = 1.75,
|
|
558
|
+
class Se extends g {
|
|
559
|
+
constructor(e = 1.75, o = 0.75) {
|
|
560
560
|
super();
|
|
561
|
-
const
|
|
561
|
+
const t = e * 0.05, s = e * 0.15, r = e * 0.15, n = e * 0.75;
|
|
562
562
|
let a = 0;
|
|
563
|
-
const i = new
|
|
564
|
-
i.translate(0, a +
|
|
565
|
-
const c = new
|
|
563
|
+
const i = new d(o, t, o);
|
|
564
|
+
i.translate(0, a + t / 2, 0), a += t;
|
|
565
|
+
const c = new d(o * 0.8, s, o * 0.8);
|
|
566
566
|
c.translate(0, a + s / 2, 0), a += s;
|
|
567
|
-
const l = new
|
|
567
|
+
const l = new d(o * 0.6, r, o * 0.6);
|
|
568
568
|
l.translate(0, a + r / 2, 0), a += r;
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
const
|
|
572
|
-
|
|
573
|
-
|
|
569
|
+
const h = new d(o * 0.4, n, o * 0.4);
|
|
570
|
+
h.translate(0, a + n / 2, 0), a += n;
|
|
571
|
+
const w = new C(o * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
|
|
572
|
+
w.translate(0, a + 0.1 / 2, 0), this.copy(
|
|
573
|
+
I([i, c, l, h, w], !1)
|
|
574
574
|
);
|
|
575
575
|
}
|
|
576
576
|
}
|
|
577
|
-
class
|
|
578
|
-
constructor(e = 0.6,
|
|
577
|
+
class ke extends g {
|
|
578
|
+
constructor(e = 0.6, o = 1, t = 0.2) {
|
|
579
579
|
super();
|
|
580
|
-
const s =
|
|
580
|
+
const s = o * 0.7, r = new d(e, s, t);
|
|
581
581
|
r.translate(0, s / 2, 0);
|
|
582
|
-
const n =
|
|
583
|
-
a.rotateY(Math.PI / 2), a.rotateX(Math.PI / 2), a.translate(0, s + n / 2 -
|
|
582
|
+
const n = o - s, a = new G(e / 2, e / 2, t, 16, 1, !1, 0, Math.PI);
|
|
583
|
+
a.rotateY(Math.PI / 2), a.rotateX(Math.PI / 2), a.translate(0, s + n / 2 - t / 2 - 0.05, 0), this.copy(I([r, a], !1));
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
|
-
class
|
|
587
|
-
constructor(e = 0.5,
|
|
586
|
+
class Pe extends g {
|
|
587
|
+
constructor(e = 0.5, o = 0.8, t = 0.15) {
|
|
588
588
|
super();
|
|
589
|
-
const s = new
|
|
590
|
-
s.translate(0,
|
|
589
|
+
const s = new d(e, o, t);
|
|
590
|
+
s.translate(0, o / 2, 0), this.copy(s);
|
|
591
591
|
}
|
|
592
592
|
}
|
|
593
|
-
class
|
|
593
|
+
class Ie extends g {
|
|
594
594
|
constructor(e = 2.25) {
|
|
595
595
|
super();
|
|
596
|
-
const
|
|
597
|
-
|
|
598
|
-
const
|
|
599
|
-
|
|
600
|
-
const s = new
|
|
601
|
-
s.translate(0, 0.5 + e + 0.15, 0), this.copy(
|
|
596
|
+
const o = new d(1.2, 0.5, 1.2);
|
|
597
|
+
o.translate(0, 0.25, 0);
|
|
598
|
+
const t = new d(1, e, 1);
|
|
599
|
+
t.translate(0, 0.5 + e / 2, 0);
|
|
600
|
+
const s = new d(1.4, 0.3, 1.4);
|
|
601
|
+
s.translate(0, 0.5 + e + 0.15, 0), this.copy(I([o, t, s], !1));
|
|
602
602
|
}
|
|
603
603
|
}
|
|
604
|
-
class
|
|
605
|
-
constructor(e = 2,
|
|
604
|
+
class Te extends g {
|
|
605
|
+
constructor(e = 2, o = 0.05, t = 0.3) {
|
|
606
606
|
super();
|
|
607
|
-
const s = new G(
|
|
607
|
+
const s = new G(o, o, e, 8);
|
|
608
608
|
s.translate(0, e / 2, 0);
|
|
609
|
-
const r = new
|
|
610
|
-
r.translate(0, e +
|
|
609
|
+
const r = new C(o * 1.5, t, 8);
|
|
610
|
+
r.translate(0, e + t / 2, 0), this.copy(I([s, r], !1));
|
|
611
611
|
}
|
|
612
612
|
}
|
|
613
|
-
class
|
|
613
|
+
class Be extends g {
|
|
614
614
|
constructor(e = 0.1) {
|
|
615
615
|
super();
|
|
616
|
-
const
|
|
616
|
+
const o = [], t = [], s = [
|
|
617
617
|
[0, 1],
|
|
618
618
|
// Top point
|
|
619
619
|
[0.5, 0.75],
|
|
@@ -633,71 +633,71 @@ class Ge extends v {
|
|
|
633
633
|
];
|
|
634
634
|
for (let n = 0; n < s.length; n++) {
|
|
635
635
|
const [a, i] = s[n];
|
|
636
|
-
|
|
636
|
+
o.push(a * e, i * e, 0);
|
|
637
637
|
}
|
|
638
638
|
for (let n = 1; n < s.length - 1; n++)
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
const r = new
|
|
642
|
-
this.setAttribute("position", r), this.setIndex(
|
|
639
|
+
t.push(0, n, n + 1);
|
|
640
|
+
t.push(0, s.length - 1, 1);
|
|
641
|
+
const r = new F(o, 3);
|
|
642
|
+
this.setAttribute("position", r), this.setIndex(t), this.computeVertexNormals();
|
|
643
643
|
}
|
|
644
644
|
}
|
|
645
|
-
class
|
|
646
|
-
constructor(e = 0.1,
|
|
645
|
+
class Fe extends g {
|
|
646
|
+
constructor(e = 0.1, o = 0.1, t = 0.4, s = 8) {
|
|
647
647
|
super();
|
|
648
|
-
const r = new G(e * 0.6,
|
|
648
|
+
const r = new G(e * 0.6, o * 0.6, t, s);
|
|
649
649
|
r.translate(0, 0, 0);
|
|
650
|
-
const n = new
|
|
651
|
-
a.translate(0,
|
|
650
|
+
const n = new T(e, s, s), a = n.clone(), i = n.clone(), c = n.clone(), l = n.clone();
|
|
651
|
+
a.translate(0, t / 2 + e * 0.6, -e * 0.6), i.translate(0, t / 2 + e * 0.6, e * 0.6), c.translate(0, -t / 2 - o * 0.6, -o * 0.6), l.translate(0, -t / 2 - o * 0.6, o * 0.6), this.copy(I([r, a, i, c, l], !1));
|
|
652
652
|
}
|
|
653
653
|
}
|
|
654
|
-
class
|
|
654
|
+
class le extends g {
|
|
655
655
|
constructor() {
|
|
656
656
|
super();
|
|
657
|
-
const e = new
|
|
658
|
-
|
|
657
|
+
const e = new T(1, 16, 16), o = new G(0.2, 0.2, 2, 16, 1, !0);
|
|
658
|
+
o.translate(0, 1.5, 0), o.rotateX(Math.PI / 2), this.copy(I([e, o], !1));
|
|
659
659
|
}
|
|
660
660
|
}
|
|
661
|
-
class
|
|
661
|
+
class me extends g {
|
|
662
662
|
constructor() {
|
|
663
663
|
super();
|
|
664
664
|
const e = [
|
|
665
|
-
new
|
|
665
|
+
new b(1, 0),
|
|
666
666
|
// Bottom of the bowl
|
|
667
|
-
new
|
|
667
|
+
new b(1.2, 0.5),
|
|
668
668
|
// Slight flare at the base
|
|
669
|
-
new
|
|
669
|
+
new b(1.4, 1.5),
|
|
670
670
|
// Outer wall
|
|
671
|
-
new
|
|
671
|
+
new b(1.3, 1.8),
|
|
672
672
|
// Flared edge
|
|
673
|
-
new
|
|
673
|
+
new b(0.8, 1.8)
|
|
674
674
|
// Lip of the bowl
|
|
675
|
-
],
|
|
676
|
-
|
|
675
|
+
], o = new N(e, 12), t = new D(1, 12);
|
|
676
|
+
t.rotateX(-Math.PI / 2), t.translate(0, 0, 0), this.copy(I([o, t], !1));
|
|
677
677
|
}
|
|
678
678
|
}
|
|
679
|
-
class
|
|
680
|
-
constructor(e = 0.2,
|
|
679
|
+
class Y extends g {
|
|
680
|
+
constructor(e = 0.2, o = 0.2, t = 3, s = 32, r = !0) {
|
|
681
681
|
super();
|
|
682
|
-
const n = new G(e,
|
|
683
|
-
a.translate(0, -(
|
|
682
|
+
const n = new G(e, o, t, s, 1, r), a = new T(o, s, s / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
|
|
683
|
+
a.translate(0, -(t / 2), 0), this.copy(I([n, a], !1));
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
|
-
class
|
|
687
|
-
constructor({ radius: e = 0.5, neckRadius:
|
|
686
|
+
class he extends g {
|
|
687
|
+
constructor({ radius: e = 0.5, neckRadius: o = 0.2, height: t = 3, neckHeight: s = 1, segments: r = 16 } = {}) {
|
|
688
688
|
super();
|
|
689
|
-
const n =
|
|
689
|
+
const n = t - s, a = new G(e, e, n, r);
|
|
690
690
|
a.translate(0, n / 2, 0);
|
|
691
|
-
const i = 0.3, c = new G(
|
|
691
|
+
const i = 0.3, c = new G(o, e, i, r);
|
|
692
692
|
c.translate(0, n + i / 2, 0);
|
|
693
|
-
const l = new G(
|
|
694
|
-
l.translate(0, n + i + s / 2, 0), this.copy(
|
|
693
|
+
const l = new G(o, o, s, r);
|
|
694
|
+
l.translate(0, n + i + s / 2, 0), this.copy(I([a, c, l], !1));
|
|
695
695
|
}
|
|
696
696
|
}
|
|
697
|
-
class
|
|
697
|
+
class qe extends v {
|
|
698
698
|
constructor() {
|
|
699
699
|
super();
|
|
700
|
-
const e = new
|
|
700
|
+
const e = new T(5, 32, 32), o = new R({
|
|
701
701
|
uniforms: {
|
|
702
702
|
time: { value: 0 }
|
|
703
703
|
},
|
|
@@ -740,46 +740,46 @@ class ge extends b {
|
|
|
740
740
|
gl_FragColor = vec4(color, 1.0);
|
|
741
741
|
}
|
|
742
742
|
`
|
|
743
|
-
}),
|
|
744
|
-
this.add(
|
|
743
|
+
}), t = new m(e, o);
|
|
744
|
+
this.add(t);
|
|
745
745
|
}
|
|
746
746
|
}
|
|
747
|
-
class
|
|
747
|
+
class Ce extends v {
|
|
748
748
|
constructor() {
|
|
749
749
|
super();
|
|
750
|
-
const e = new
|
|
751
|
-
|
|
752
|
-
const s = new
|
|
750
|
+
const e = new d(5, 1, 5), o = new M({ color: 8421504, flatShading: !0 }), t = new m(e, o);
|
|
751
|
+
t.position.set(0, 0.5, 0), this.add(t);
|
|
752
|
+
const s = new d(4, 3, 4), r = new M({ color: 6908265, flatShading: !0 }), n = new m(s, r);
|
|
753
753
|
n.position.set(0, 2.5, 0), this.add(n);
|
|
754
|
-
const a = new
|
|
754
|
+
const a = new C(3.5, 2, 4), i = new M({ color: 5263440, flatShading: !0 }), c = new m(a, i);
|
|
755
755
|
c.rotation.y = Math.PI / 4, c.position.set(0, 5, 0), this.add(c);
|
|
756
|
-
const l = new G(0.2, 0.2, 3.5, 16),
|
|
756
|
+
const l = new G(0.2, 0.2, 3.5, 16), h = new M({ color: 6908265, flatShading: !0 });
|
|
757
757
|
[
|
|
758
758
|
[-1.8, 2.3, -2.2],
|
|
759
759
|
[1.8, 2.3, -2.2],
|
|
760
760
|
[-1.8, 2.3, 2.2],
|
|
761
761
|
[1.8, 2.3, 2.2]
|
|
762
|
-
].forEach((
|
|
763
|
-
const
|
|
764
|
-
|
|
762
|
+
].forEach((S) => {
|
|
763
|
+
const z = new m(l, h);
|
|
764
|
+
z.position.set(...S), this.add(z);
|
|
765
765
|
});
|
|
766
|
-
const
|
|
767
|
-
|
|
768
|
-
const
|
|
766
|
+
const p = new V();
|
|
767
|
+
p.moveTo(-1, 0), p.lineTo(-1, 2), p.absarc(0, 2, 1, Math.PI, 0, !0), p.lineTo(1, 0);
|
|
768
|
+
const f = {
|
|
769
769
|
depth: 0.5,
|
|
770
770
|
bevelEnabled: !1
|
|
771
|
-
},
|
|
772
|
-
|
|
771
|
+
}, x = new U(p, f), y = new M({ color: 4210752, flatShading: !0 }), k = new m(x, y);
|
|
772
|
+
k.position.set(0, 0.5, 1.7), this.add(k);
|
|
773
773
|
}
|
|
774
774
|
}
|
|
775
|
-
class
|
|
775
|
+
class Le extends v {
|
|
776
776
|
constructor() {
|
|
777
777
|
super();
|
|
778
|
-
const e = new
|
|
779
|
-
|
|
778
|
+
const e = new d(5, 0.3, 3), o = new M({ color: 9132587 }), t = new m(e, o);
|
|
779
|
+
t.position.set(0, 3.15, 0);
|
|
780
780
|
const s = [];
|
|
781
|
-
s.push(new
|
|
782
|
-
const r = new
|
|
781
|
+
s.push(new b(0.2, 0)), s.push(new b(0.25, 0.5)), s.push(new b(0.15, 1.5)), s.push(new b(0.3, 3));
|
|
782
|
+
const r = new N(s, 32), n = new M({ color: 4929057 });
|
|
783
783
|
[
|
|
784
784
|
[2.2, 0, 1.2],
|
|
785
785
|
// Adjust Y to 0 so legs start at ground level
|
|
@@ -789,18 +789,18 @@ class ke extends b {
|
|
|
789
789
|
].forEach((i) => {
|
|
790
790
|
const c = new m(r, n);
|
|
791
791
|
c.position.set(...i), this.add(c);
|
|
792
|
-
}), this.add(
|
|
792
|
+
}), this.add(t);
|
|
793
793
|
}
|
|
794
794
|
}
|
|
795
|
-
class
|
|
796
|
-
constructor(e = 1,
|
|
797
|
-
super(), this.height = e, this.radius =
|
|
795
|
+
class ze extends v {
|
|
796
|
+
constructor(e = 1, o = 0.2) {
|
|
797
|
+
super(), this.height = e, this.radius = o, this.createCandle(), this.animateFlicker();
|
|
798
798
|
}
|
|
799
799
|
createCandle() {
|
|
800
|
-
const e = new G(this.radius, this.radius, this.height, 32),
|
|
801
|
-
this.candle = new m(e,
|
|
802
|
-
const
|
|
803
|
-
this.flame = new m(
|
|
800
|
+
const e = new G(this.radius, this.radius, this.height, 32), o = new M({ color: 16777215 });
|
|
801
|
+
this.candle = new m(e, o), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
|
|
802
|
+
const t = new T(0.05, 16, 16), s = new W({ color: 16753920 });
|
|
803
|
+
this.flame = new m(t, s), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new X(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight);
|
|
804
804
|
}
|
|
805
805
|
animateFlicker() {
|
|
806
806
|
const e = () => {
|
|
@@ -809,47 +809,47 @@ class Ie extends b {
|
|
|
809
809
|
e();
|
|
810
810
|
}
|
|
811
811
|
}
|
|
812
|
-
class
|
|
813
|
-
constructor(e = 1.3,
|
|
812
|
+
class Ae extends v {
|
|
813
|
+
constructor(e = 1.3, o = 0.5) {
|
|
814
814
|
super();
|
|
815
|
-
const
|
|
815
|
+
const t = new G(o, o, 0.2, 16), s = new M({ color: 9127187, flatShading: !0 }), r = new m(t, s);
|
|
816
816
|
r.position.set(0, 0, 0), this.add(r);
|
|
817
|
-
const n = new G(
|
|
817
|
+
const n = new G(o * 0.9, o * 0.9, e), a = new M({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), i = new m(n, a);
|
|
818
818
|
i.position.set(0, e / 2 + 0.1, 0), this.add(i);
|
|
819
|
-
const c = new
|
|
820
|
-
|
|
821
|
-
const
|
|
822
|
-
|
|
823
|
-
const
|
|
824
|
-
|
|
819
|
+
const c = new C(o * 1.1, 0.5, 8), l = new M({ color: 9127187, flatShading: !0 }), h = new m(c, l);
|
|
820
|
+
h.position.set(0, e + 0.35, 0), this.add(h);
|
|
821
|
+
const w = new J(o * 0.8, 0.05, 8, 16), p = new M({ color: 9127187, flatShading: !0 }), f = new m(w, p);
|
|
822
|
+
f.position.set(0, e + 0.85, 0), this.add(f);
|
|
823
|
+
const x = new X(16755200, 1.5, 15);
|
|
824
|
+
x.position.set(0, e / 2 + 0.1, 0), x.castShadow = !0, this.add(x);
|
|
825
825
|
}
|
|
826
826
|
}
|
|
827
|
-
class
|
|
827
|
+
class Ee extends v {
|
|
828
828
|
constructor() {
|
|
829
829
|
super();
|
|
830
|
-
const e = new
|
|
830
|
+
const e = new K(1, 0), o = new M({ color: 8421504, flatShading: !0 }), t = new M({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
|
|
831
831
|
for (let s = 0; s < 5; s++) {
|
|
832
|
-
const r = new m(e,
|
|
832
|
+
const r = new m(e, o);
|
|
833
833
|
r.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), r.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), r.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(r);
|
|
834
|
-
const n = new m(e,
|
|
834
|
+
const n = new m(e, t);
|
|
835
835
|
n.scale.set(r.scale.x * 0.9, r.scale.y * 0.5, r.scale.z * 0.9), n.rotation.copy(r.rotation), n.position.copy(r.position), n.position.y += 0.3, this.add(n);
|
|
836
836
|
}
|
|
837
837
|
}
|
|
838
838
|
}
|
|
839
|
-
class
|
|
839
|
+
class Ne extends v {
|
|
840
840
|
constructor() {
|
|
841
841
|
super();
|
|
842
|
-
const e = new
|
|
843
|
-
for (let
|
|
844
|
-
const s = new m(e,
|
|
842
|
+
const e = new K(1, 0), o = new M({ color: 8421504, flatShading: !0 });
|
|
843
|
+
for (let t = 0; t < 5; t++) {
|
|
844
|
+
const s = new m(e, o);
|
|
845
845
|
s.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), s.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), s.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(s);
|
|
846
846
|
}
|
|
847
847
|
}
|
|
848
848
|
}
|
|
849
|
-
class
|
|
849
|
+
class Ve extends v {
|
|
850
850
|
constructor() {
|
|
851
851
|
super();
|
|
852
|
-
const e = new
|
|
852
|
+
const e = new le(), o = new _({
|
|
853
853
|
color: 8965375,
|
|
854
854
|
transparent: !0,
|
|
855
855
|
opacity: 0.4,
|
|
@@ -857,153 +857,153 @@ class Te extends b {
|
|
|
857
857
|
metalness: 0.1,
|
|
858
858
|
reflectivity: 0.8,
|
|
859
859
|
transmission: 0.9,
|
|
860
|
-
side:
|
|
861
|
-
}),
|
|
862
|
-
|
|
860
|
+
side: L
|
|
861
|
+
}), t = new m(e, o);
|
|
862
|
+
t.rotation.x = -Math.PI / 2, this.add(t);
|
|
863
863
|
}
|
|
864
864
|
}
|
|
865
|
-
class
|
|
865
|
+
class Ue extends v {
|
|
866
866
|
constructor() {
|
|
867
867
|
super();
|
|
868
|
-
const e = new
|
|
869
|
-
|
|
870
|
-
const r = new
|
|
868
|
+
const e = new d(1.6, 0.05, 2.1), o = new M({ color: 9109504 }), t = new m(e, o), s = new m(e, o);
|
|
869
|
+
t.position.set(0, 0.125, 0), s.position.set(0, -0.125, 0);
|
|
870
|
+
const r = new d(1.55, 0.2, 2), n = new M({ color: 16777215 }), a = new m(r, n);
|
|
871
871
|
a.position.set(-0.025, 0, 0);
|
|
872
|
-
const i = new
|
|
873
|
-
l.position.set(-0.8, 0, 0), this.add(
|
|
872
|
+
const i = new d(0.05, 0.25, 2.1), c = new M({ color: 4915200 }), l = new m(i, c);
|
|
873
|
+
l.position.set(-0.8, 0, 0), this.add(t), this.add(s), this.add(a), this.add(l);
|
|
874
874
|
}
|
|
875
875
|
}
|
|
876
|
-
class
|
|
876
|
+
class Ye extends v {
|
|
877
877
|
constructor() {
|
|
878
878
|
super();
|
|
879
879
|
const e = [
|
|
880
|
-
new
|
|
880
|
+
new b(0, 0),
|
|
881
881
|
// Bottom
|
|
882
|
-
new
|
|
882
|
+
new b(0.8, 0),
|
|
883
883
|
// Base
|
|
884
|
-
new
|
|
884
|
+
new b(1, 1.5),
|
|
885
885
|
// Rounded body
|
|
886
|
-
new
|
|
886
|
+
new b(0.5, 2.2),
|
|
887
887
|
// Neck
|
|
888
|
-
new
|
|
888
|
+
new b(0.6, 2.5)
|
|
889
889
|
// Mouth
|
|
890
|
-
],
|
|
890
|
+
], o = new N(e, 10), t = new G(0.3, 0.4, 0.2, 8), s = new M({
|
|
891
891
|
color: 8965375,
|
|
892
892
|
transparent: !0,
|
|
893
893
|
opacity: 0.5,
|
|
894
894
|
roughness: 0.1,
|
|
895
895
|
metalness: 0.3
|
|
896
|
-
}), r = new
|
|
896
|
+
}), r = new M({
|
|
897
897
|
color: 16724838,
|
|
898
898
|
// Vibrant potion color
|
|
899
899
|
transparent: !0,
|
|
900
900
|
opacity: 0.6
|
|
901
|
-
}), n = new
|
|
901
|
+
}), n = new M({
|
|
902
902
|
color: 9127187,
|
|
903
903
|
roughness: 1
|
|
904
|
-
}), a = new m(
|
|
904
|
+
}), a = new m(o, s), i = new m(o, r), c = new m(t, n);
|
|
905
905
|
i.scale.set(0.8, 0.8, 0.8), i.position.y = 0.1, c.position.y = 2.5;
|
|
906
|
-
const l = new
|
|
906
|
+
const l = new v();
|
|
907
907
|
l.add(a, i, c), this.add(l);
|
|
908
908
|
}
|
|
909
909
|
}
|
|
910
|
-
class
|
|
910
|
+
class _e extends v {
|
|
911
911
|
constructor() {
|
|
912
912
|
super();
|
|
913
|
-
const e = new G(0.3, 0.4, 0.1, 16),
|
|
913
|
+
const e = new G(0.3, 0.4, 0.1, 16), o = new M({
|
|
914
914
|
color: 3355443,
|
|
915
915
|
roughness: 0.6,
|
|
916
916
|
metalness: 0.3
|
|
917
|
-
}),
|
|
918
|
-
|
|
919
|
-
const s = new G(0.1, 0.1, 0.7, 16), r = new
|
|
917
|
+
}), t = new m(e, o);
|
|
918
|
+
t.position.y = 0.05;
|
|
919
|
+
const s = new G(0.1, 0.1, 0.7, 16), r = new M({
|
|
920
920
|
color: 5592405,
|
|
921
921
|
roughness: 0.5,
|
|
922
922
|
metalness: 0.4
|
|
923
923
|
}), n = new m(s, r);
|
|
924
924
|
n.position.y = 0.4;
|
|
925
|
-
const a = new
|
|
925
|
+
const a = new C(0.075, 0.2, 16), i = new M({
|
|
926
926
|
color: 16733440,
|
|
927
927
|
emissive: 16733440,
|
|
928
928
|
emissiveIntensity: 0.6,
|
|
929
929
|
transparent: !0,
|
|
930
930
|
opacity: 0.8
|
|
931
931
|
}), c = new m(a, i);
|
|
932
|
-
c.position.y = 0.8, this.add(
|
|
932
|
+
c.position.y = 0.8, this.add(t, n, c);
|
|
933
933
|
}
|
|
934
934
|
}
|
|
935
|
-
class
|
|
935
|
+
class Ze extends v {
|
|
936
936
|
constructor() {
|
|
937
937
|
super();
|
|
938
|
-
const e = new
|
|
938
|
+
const e = new d(3, 4, 0.1), o = new M({
|
|
939
939
|
color: 3026478,
|
|
940
940
|
roughness: 0.8,
|
|
941
941
|
metalness: 0.6
|
|
942
|
-
}),
|
|
942
|
+
}), t = new d(0.2, 0.5, 0.2), s = new M({
|
|
943
943
|
color: 11184810,
|
|
944
944
|
roughness: 0.5,
|
|
945
945
|
metalness: 0.7
|
|
946
|
-
}), r = new G(0.3, 0.3, 0.1, 16), n = new
|
|
946
|
+
}), r = new G(0.3, 0.3, 0.1, 16), n = new M({
|
|
947
947
|
color: 5592405,
|
|
948
948
|
roughness: 0.7,
|
|
949
949
|
metalness: 0.5
|
|
950
|
-
}), a = new m(e,
|
|
951
|
-
for (let
|
|
952
|
-
const
|
|
953
|
-
|
|
950
|
+
}), a = new m(e, o);
|
|
951
|
+
for (let y = -1; y <= 1; y++) {
|
|
952
|
+
const k = new m(t, s);
|
|
953
|
+
k.position.set(y, 1.5, 0.1), a.add(k);
|
|
954
954
|
}
|
|
955
955
|
const i = new m(r, n);
|
|
956
956
|
i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15), a.add(i);
|
|
957
|
-
const c = new
|
|
957
|
+
const c = new T(0.15, 8, 8), l = new M({
|
|
958
958
|
color: 16711680,
|
|
959
959
|
emissive: 16711680,
|
|
960
960
|
emissiveIntensity: 0.5
|
|
961
|
-
}),
|
|
962
|
-
|
|
963
|
-
let
|
|
964
|
-
function
|
|
965
|
-
requestAnimationFrame(
|
|
966
|
-
const
|
|
967
|
-
|
|
961
|
+
}), h = new m(c, l);
|
|
962
|
+
h.position.set(0, -1, 0.1), a.add(h), this.add(a);
|
|
963
|
+
let w = 0.015, p = 0.8, f = 0.2;
|
|
964
|
+
function x() {
|
|
965
|
+
requestAnimationFrame(x);
|
|
966
|
+
const y = f + Math.abs(Math.sin(Date.now() * w)) * (p - f);
|
|
967
|
+
h.material.emissiveIntensity = y;
|
|
968
968
|
}
|
|
969
|
-
|
|
969
|
+
x();
|
|
970
970
|
}
|
|
971
971
|
}
|
|
972
|
-
class
|
|
972
|
+
class je extends v {
|
|
973
973
|
constructor() {
|
|
974
974
|
super();
|
|
975
975
|
const e = [
|
|
976
|
-
new
|
|
976
|
+
new b(0, 0),
|
|
977
977
|
// Bottom of the flask
|
|
978
|
-
new
|
|
978
|
+
new b(1.2, 0),
|
|
979
979
|
// Base
|
|
980
|
-
new
|
|
980
|
+
new b(1.5, 1.5),
|
|
981
981
|
// Mid-body
|
|
982
|
-
new
|
|
982
|
+
new b(1, 3),
|
|
983
983
|
// Narrow neck
|
|
984
|
-
new
|
|
984
|
+
new b(0.6, 3.5)
|
|
985
985
|
// Mouth of the flask
|
|
986
|
-
],
|
|
986
|
+
], o = new N(e, 12), t = new G(0.6, 0.7, 0.3, 8), s = new M({
|
|
987
987
|
color: 8965290,
|
|
988
988
|
transparent: !0,
|
|
989
989
|
opacity: 0.4,
|
|
990
990
|
roughness: 0.1,
|
|
991
991
|
metalness: 0.5
|
|
992
|
-
}), r = new
|
|
992
|
+
}), r = new M({
|
|
993
993
|
color: 9127187,
|
|
994
994
|
roughness: 1
|
|
995
|
-
}), n = new m(
|
|
995
|
+
}), n = new m(o, s), a = new m(t, r);
|
|
996
996
|
a.position.y = 3.5, this.add(n, a);
|
|
997
997
|
}
|
|
998
998
|
}
|
|
999
|
-
class
|
|
999
|
+
class Oe extends v {
|
|
1000
1000
|
constructor() {
|
|
1001
1001
|
super();
|
|
1002
|
-
const e = new
|
|
1002
|
+
const e = new d(2, 3, 0.1), o = new M({
|
|
1003
1003
|
color: 3355443,
|
|
1004
1004
|
roughness: 0.8,
|
|
1005
1005
|
metalness: 0.5
|
|
1006
|
-
}),
|
|
1006
|
+
}), t = new m(e, o), s = new G(0.1, 0.1, 0.2, 8), r = new G(0.05, 0.05, 1, 8), n = new M({
|
|
1007
1007
|
color: 11184810,
|
|
1008
1008
|
roughness: 0.5,
|
|
1009
1009
|
metalness: 0.7
|
|
@@ -1014,69 +1014,69 @@ class Ae extends b {
|
|
|
1014
1014
|
const c = new m(r, n);
|
|
1015
1015
|
c.position.y = 0.5, i.add(c), this.add(i);
|
|
1016
1016
|
}
|
|
1017
|
-
this.add(
|
|
1017
|
+
this.add(t);
|
|
1018
1018
|
}
|
|
1019
1019
|
}
|
|
1020
|
-
class
|
|
1020
|
+
class Xe extends v {
|
|
1021
1021
|
constructor() {
|
|
1022
1022
|
super();
|
|
1023
|
-
const e = new
|
|
1023
|
+
const e = new d(1, 0.2, 0.5), o = new M({
|
|
1024
1024
|
color: 4473924,
|
|
1025
1025
|
roughness: 0.6,
|
|
1026
1026
|
metalness: 0.3
|
|
1027
|
-
}),
|
|
1028
|
-
|
|
1029
|
-
const s = new
|
|
1027
|
+
}), t = new m(e, o);
|
|
1028
|
+
t.position.y = 0.1;
|
|
1029
|
+
const s = new d(0.2, 1, 0.2), r = new m(s, o);
|
|
1030
1030
|
r.position.set(0, 0.6, -0.2);
|
|
1031
|
-
const n = new G(0.1, 0.1, 0.4, 8), a = new
|
|
1031
|
+
const n = new G(0.1, 0.1, 0.4, 8), a = new M({
|
|
1032
1032
|
color: 3355443,
|
|
1033
1033
|
roughness: 0.5,
|
|
1034
1034
|
metalness: 0.6
|
|
1035
1035
|
}), i = new m(n, a);
|
|
1036
1036
|
i.position.set(0, 1.1, -0.35), i.rotation.x = -Math.PI / 4;
|
|
1037
|
-
const c = new
|
|
1037
|
+
const c = new d(0.6, 0.1, 0.6), l = new M({
|
|
1038
1038
|
color: 5592405,
|
|
1039
1039
|
roughness: 0.8,
|
|
1040
1040
|
metalness: 0.2
|
|
1041
|
-
}),
|
|
1042
|
-
|
|
1041
|
+
}), h = new m(c, l);
|
|
1042
|
+
h.position.set(0, 0.6, 0), this.add(t, r, i, h);
|
|
1043
1043
|
}
|
|
1044
1044
|
}
|
|
1045
|
-
class
|
|
1045
|
+
class Je extends v {
|
|
1046
1046
|
constructor() {
|
|
1047
1047
|
super();
|
|
1048
|
-
const e = new
|
|
1049
|
-
|
|
1050
|
-
const
|
|
1048
|
+
const e = new me(), o = new G(0.2, 0.3, 1.5, 8);
|
|
1049
|
+
o.translate(0, 0.75, 0);
|
|
1050
|
+
const t = new M({
|
|
1051
1051
|
color: 6045747,
|
|
1052
1052
|
// Dark earthy tone
|
|
1053
1053
|
roughness: 1,
|
|
1054
1054
|
metalness: 0,
|
|
1055
|
-
side:
|
|
1055
|
+
side: L
|
|
1056
1056
|
// Render inside and outside
|
|
1057
|
-
}), s = new
|
|
1057
|
+
}), s = new M({
|
|
1058
1058
|
color: 9132587,
|
|
1059
1059
|
// Slightly lighter earthy color
|
|
1060
1060
|
roughness: 0.8,
|
|
1061
1061
|
metalness: 0.1
|
|
1062
|
-
}), r = new m(e,
|
|
1062
|
+
}), r = new m(e, t), n = new m(o, s);
|
|
1063
1063
|
n.position.set(0.3, 1.3, 0), n.rotation.z = Math.PI / 4, this.add(r, n);
|
|
1064
1064
|
}
|
|
1065
1065
|
}
|
|
1066
|
-
class
|
|
1066
|
+
class Ke extends v {
|
|
1067
1067
|
constructor() {
|
|
1068
1068
|
super();
|
|
1069
|
-
const e = 100,
|
|
1069
|
+
const e = 100, o = 0.05, t = new ee(
|
|
1070
1070
|
Array.from({ length: e }, (c, l) => {
|
|
1071
|
-
const
|
|
1072
|
-
return new
|
|
1073
|
-
Math.cos(
|
|
1074
|
-
l *
|
|
1071
|
+
const h = l * 0.2;
|
|
1072
|
+
return new q(
|
|
1073
|
+
Math.cos(h) * 0.4,
|
|
1074
|
+
l * o,
|
|
1075
1075
|
// Gradual height increase
|
|
1076
|
-
Math.sin(
|
|
1076
|
+
Math.sin(h) * 0.4
|
|
1077
1077
|
);
|
|
1078
1078
|
})
|
|
1079
|
-
), s = new
|
|
1079
|
+
), s = new te(t, 200, 0.1, 8, !1), r = new M({
|
|
1080
1080
|
color: 8965375,
|
|
1081
1081
|
transparent: !0,
|
|
1082
1082
|
opacity: 0.3,
|
|
@@ -1094,16 +1094,16 @@ class Ee extends b {
|
|
|
1094
1094
|
i();
|
|
1095
1095
|
}
|
|
1096
1096
|
}
|
|
1097
|
-
class
|
|
1097
|
+
class Qe extends v {
|
|
1098
1098
|
constructor() {
|
|
1099
1099
|
super();
|
|
1100
|
-
const e = new
|
|
1100
|
+
const e = new J(0.3, 0.03, 8, 16), o = new M({
|
|
1101
1101
|
color: 8947848,
|
|
1102
1102
|
roughness: 0.7,
|
|
1103
1103
|
metalness: 0.3
|
|
1104
|
-
}),
|
|
1105
|
-
|
|
1106
|
-
const s = new G(0.02, 0.02, 0.4, 8), r = new
|
|
1104
|
+
}), t = new m(e, o);
|
|
1105
|
+
t.rotation.x = Math.PI / 2, t.position.y = 0.4;
|
|
1106
|
+
const s = new G(0.02, 0.02, 0.4, 8), r = new M({
|
|
1107
1107
|
color: 6710886,
|
|
1108
1108
|
roughness: 0.8,
|
|
1109
1109
|
metalness: 0.3
|
|
@@ -1112,54 +1112,54 @@ class Ye extends b {
|
|
|
1112
1112
|
const i = a / 3 * Math.PI * 2, c = new m(s, r);
|
|
1113
1113
|
c.position.set(Math.cos(i) * 0.25, 0.2, Math.sin(i) * 0.25), n.push(c);
|
|
1114
1114
|
}
|
|
1115
|
-
this.add(
|
|
1115
|
+
this.add(t, ...n);
|
|
1116
1116
|
}
|
|
1117
1117
|
}
|
|
1118
|
-
class
|
|
1118
|
+
class $e extends v {
|
|
1119
1119
|
constructor() {
|
|
1120
1120
|
super();
|
|
1121
|
-
const e = new G(0.5, 0.6, 0.3, 16),
|
|
1121
|
+
const e = new G(0.5, 0.6, 0.3, 16), o = new M({
|
|
1122
1122
|
color: 3355443,
|
|
1123
1123
|
roughness: 0.6,
|
|
1124
1124
|
metalness: 0.5
|
|
1125
|
-
}),
|
|
1126
|
-
|
|
1127
|
-
const s = new G(0.15, 0.15, 2, 12, 1, !0), r = new
|
|
1125
|
+
}), t = new m(e, o);
|
|
1126
|
+
t.position.y = 0.15;
|
|
1127
|
+
const s = new G(0.15, 0.15, 2, 12, 1, !0), r = new M({
|
|
1128
1128
|
color: 16737792,
|
|
1129
1129
|
roughness: 0.5,
|
|
1130
1130
|
metalness: 0.8,
|
|
1131
|
-
side:
|
|
1131
|
+
side: L
|
|
1132
1132
|
}), n = new m(s, r);
|
|
1133
1133
|
n.position.y = 1.3;
|
|
1134
|
-
const a = new
|
|
1135
|
-
i.position.y = 2.4, this.add(
|
|
1134
|
+
const a = new T(0.3, 16, 16), i = new m(a, r);
|
|
1135
|
+
i.position.y = 2.4, this.add(t, n, i);
|
|
1136
1136
|
const c = [];
|
|
1137
|
-
for (let
|
|
1138
|
-
const
|
|
1139
|
-
new
|
|
1140
|
-
new
|
|
1141
|
-
],
|
|
1142
|
-
this.add(
|
|
1137
|
+
for (let w = 0; w < 5; w++) {
|
|
1138
|
+
const p = new oe({ color: 10079487 }), f = [
|
|
1139
|
+
new q(0, 2.4, 0),
|
|
1140
|
+
new q((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
1141
|
+
], x = new g().setFromPoints(f), y = new se(x, p);
|
|
1142
|
+
this.add(y), c.push(y);
|
|
1143
1143
|
}
|
|
1144
1144
|
function l() {
|
|
1145
|
-
c.forEach((
|
|
1146
|
-
const
|
|
1147
|
-
new
|
|
1148
|
-
new
|
|
1145
|
+
c.forEach((w) => {
|
|
1146
|
+
const p = [
|
|
1147
|
+
new q(0, 2.4, 0),
|
|
1148
|
+
new q((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
1149
1149
|
];
|
|
1150
|
-
|
|
1150
|
+
w.geometry.setFromPoints(p);
|
|
1151
1151
|
});
|
|
1152
1152
|
}
|
|
1153
|
-
function
|
|
1154
|
-
requestAnimationFrame(
|
|
1153
|
+
function h() {
|
|
1154
|
+
requestAnimationFrame(h), l();
|
|
1155
1155
|
}
|
|
1156
|
-
|
|
1156
|
+
h();
|
|
1157
1157
|
}
|
|
1158
1158
|
}
|
|
1159
|
-
class
|
|
1160
|
-
constructor(e = 0.2,
|
|
1159
|
+
class He extends v {
|
|
1160
|
+
constructor(e = 0.2, o = 0.2, t = 3, s = 32) {
|
|
1161
1161
|
super();
|
|
1162
|
-
const r = new
|
|
1162
|
+
const r = new Y(e, o, t, s), n = new _({
|
|
1163
1163
|
color: 8965375,
|
|
1164
1164
|
transparent: !0,
|
|
1165
1165
|
opacity: 0.4,
|
|
@@ -1168,48 +1168,48 @@ class Ze extends b {
|
|
|
1168
1168
|
reflectivity: 0.8,
|
|
1169
1169
|
transmission: 0.9,
|
|
1170
1170
|
// For glass effect
|
|
1171
|
-
side:
|
|
1171
|
+
side: L
|
|
1172
1172
|
}), a = new m(r, n);
|
|
1173
1173
|
this.add(a);
|
|
1174
1174
|
}
|
|
1175
1175
|
}
|
|
1176
|
-
class
|
|
1177
|
-
constructor(e = 3,
|
|
1176
|
+
class De extends v {
|
|
1177
|
+
constructor(e = 3, o = [65450, 16711850, 11141375]) {
|
|
1178
1178
|
super();
|
|
1179
|
-
const
|
|
1179
|
+
const t = new d(3, 0.2, 1), s = new M({
|
|
1180
1180
|
color: 9127187,
|
|
1181
1181
|
// Wooden color or change to metallic tone
|
|
1182
1182
|
roughness: 0.7,
|
|
1183
1183
|
metalness: 0.3
|
|
1184
|
-
}), r = new m(
|
|
1184
|
+
}), r = new m(t, s);
|
|
1185
1185
|
r.position.y = 0.5;
|
|
1186
|
-
const n = new
|
|
1186
|
+
const n = new Y(0.1, 0.1, 1, 16), a = new M({
|
|
1187
1187
|
color: 11184810,
|
|
1188
1188
|
transparent: !0,
|
|
1189
1189
|
opacity: 0.4,
|
|
1190
1190
|
roughness: 0.1,
|
|
1191
1191
|
metalness: 0.5,
|
|
1192
|
-
side:
|
|
1192
|
+
side: L
|
|
1193
1193
|
});
|
|
1194
1194
|
for (let i = 0; i < e; i++) {
|
|
1195
1195
|
const c = new m(n, a), l = (i - (e - 1) / 2) * 0.8;
|
|
1196
1196
|
c.position.set(l, 1, 0);
|
|
1197
|
-
const
|
|
1198
|
-
color:
|
|
1199
|
-
emissive:
|
|
1197
|
+
const h = new Y(0.099, 0.099, 0.5, 16, !1), w = o[i % o.length], p = new M({
|
|
1198
|
+
color: w,
|
|
1199
|
+
emissive: w,
|
|
1200
1200
|
emissiveIntensity: 0.5,
|
|
1201
1201
|
transparent: !0,
|
|
1202
1202
|
opacity: 0.6
|
|
1203
|
-
}),
|
|
1204
|
-
|
|
1203
|
+
}), f = new m(h, p);
|
|
1204
|
+
f.position.set(0, -0.25, 0), c.add(f), r.add(c);
|
|
1205
1205
|
}
|
|
1206
1206
|
this.add(r);
|
|
1207
1207
|
}
|
|
1208
1208
|
}
|
|
1209
|
-
class
|
|
1209
|
+
class Re extends m {
|
|
1210
1210
|
constructor() {
|
|
1211
1211
|
super();
|
|
1212
|
-
const e = new
|
|
1212
|
+
const e = new he(), o = new _({
|
|
1213
1213
|
color: 5597999,
|
|
1214
1214
|
roughness: 0.1,
|
|
1215
1215
|
transmission: 0.9,
|
|
@@ -1219,49 +1219,161 @@ class Xe extends m {
|
|
|
1219
1219
|
clearcoat: 1,
|
|
1220
1220
|
clearcoatRoughness: 0.1
|
|
1221
1221
|
});
|
|
1222
|
-
this.geometry = e, this.material =
|
|
1222
|
+
this.geometry = e, this.material = o;
|
|
1223
1223
|
}
|
|
1224
1224
|
}
|
|
1225
|
+
class ue extends V {
|
|
1226
|
+
constructor(e = 5, o = 0.5, t = 1) {
|
|
1227
|
+
super();
|
|
1228
|
+
const s = Math.PI * 2 / e, r = s / 2, n = s / 4;
|
|
1229
|
+
this.moveTo(Math.cos(0) * t, -Math.sin(0) * t);
|
|
1230
|
+
for (let a = 1; a <= e; ++a) {
|
|
1231
|
+
let i = Math.cos(s * a - n * 3) * (o / Math.cos(n)), c = -Math.sin(s * a - n * 3) * (o / Math.cos(n)), l = Math.cos(s * a - r) * o, h = -Math.sin(s * a - r) * o;
|
|
1232
|
+
this.quadraticCurveTo(i, c, l, h), i = Math.cos(s * a - n) * (o / Math.cos(n)), c = -Math.sin(s * a - n) * (o / Math.cos(n)), l = Math.cos(s * a) * t, h = -Math.sin(s * a) * t, this.quadraticCurveTo(i, c, l, h);
|
|
1233
|
+
}
|
|
1234
|
+
this.closePath();
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
class We extends m {
|
|
1238
|
+
constructor(e = 5, o = 0.5, t = 1, s = 0.25) {
|
|
1239
|
+
super();
|
|
1240
|
+
const r = new ue(e, o, t), n = new U(r, {
|
|
1241
|
+
depth: s,
|
|
1242
|
+
bevelEnabled: s > 0,
|
|
1243
|
+
bevelThickness: 0,
|
|
1244
|
+
bevelSize: 0
|
|
1245
|
+
}), a = new M({ color: 2200782 });
|
|
1246
|
+
n.center(), this.geometry = n, this.material = a;
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
class we extends V {
|
|
1250
|
+
constructor(e = 5, o = 0.5, t = 1, s = 5, r = 0.25) {
|
|
1251
|
+
super();
|
|
1252
|
+
const n = Math.PI * 2 / e, a = n / 4;
|
|
1253
|
+
this.moveTo(Math.cos(0) * t, -Math.sin(0) * t);
|
|
1254
|
+
for (let i = 1; i <= e; ++i)
|
|
1255
|
+
this.lineTo(Math.cos(n * i - a * 3) * o, -Math.sin(n * i - a * 3) * o), this.lineTo(Math.cos(n * i - a * 2) * o, -Math.sin(n * i - a * 2) * o), this.lineTo(Math.cos(n * i - a) * t, -Math.sin(n * i - a) * t), this.lineTo(Math.cos(n * i) * t, -Math.sin(n * i) * t);
|
|
1256
|
+
if (this.closePath(), r > 0 && s > 2) {
|
|
1257
|
+
const i = new ne(), c = Math.PI * 2 / s;
|
|
1258
|
+
i.moveTo(Math.cos(0) * r, -Math.sin(0) * r);
|
|
1259
|
+
for (let l = 1; l < s; ++l)
|
|
1260
|
+
i.lineTo(Math.cos(c * l) * r, -Math.sin(c * l) * r);
|
|
1261
|
+
i.lineTo(Math.cos(0) * r, -Math.sin(0) * r), this.holes.push(i);
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
}
|
|
1265
|
+
class et extends m {
|
|
1266
|
+
constructor(e = 5, o = 0.5, t = 1, s = 5, r = 0.25, n = 0.25) {
|
|
1267
|
+
super();
|
|
1268
|
+
const a = new we(e, o, t, s, r), i = new U(a, {
|
|
1269
|
+
depth: n,
|
|
1270
|
+
bevelEnabled: n > 0,
|
|
1271
|
+
bevelThickness: 0,
|
|
1272
|
+
bevelSize: 0
|
|
1273
|
+
}), c = new M({ color: 2200782 });
|
|
1274
|
+
i.center(), this.geometry = i, this.material = c;
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
class Me extends V {
|
|
1278
|
+
constructor(e = 5, o = 0.5, t = 1) {
|
|
1279
|
+
super();
|
|
1280
|
+
const s = Math.PI * 2 / e, r = s / 2;
|
|
1281
|
+
this.moveTo(Math.cos(0) * t, Math.sin(0) * t);
|
|
1282
|
+
for (let n = 1; n <= e; ++n)
|
|
1283
|
+
this.lineTo(Math.cos(s * n - r) * o, Math.sin(s * n - r) * o), this.lineTo(Math.cos(s * n) * t, Math.sin(s * n) * t);
|
|
1284
|
+
this.closePath();
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
class tt extends m {
|
|
1288
|
+
constructor(e = 5, o = 0.5, t = 1, s = 0.25) {
|
|
1289
|
+
super();
|
|
1290
|
+
const r = new Me(e, o, t), n = new U(r, {
|
|
1291
|
+
depth: s,
|
|
1292
|
+
bevelEnabled: s > 0,
|
|
1293
|
+
bevelThickness: 0,
|
|
1294
|
+
bevelSize: 0
|
|
1295
|
+
}), a = new M({ color: 2200782 });
|
|
1296
|
+
n.center(), this.geometry = n, this.material = a;
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
const ot = {
|
|
1300
|
+
uniforms: {
|
|
1301
|
+
tDiffuse: { value: null },
|
|
1302
|
+
opacity: { value: 1 }
|
|
1303
|
+
},
|
|
1304
|
+
vertexShader: `
|
|
1305
|
+
varying vec2 vUv;
|
|
1306
|
+
void main() {
|
|
1307
|
+
vUv = uv;
|
|
1308
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
1309
|
+
}
|
|
1310
|
+
`,
|
|
1311
|
+
fragmentShader: `
|
|
1312
|
+
uniform float opacity;
|
|
1313
|
+
uniform sampler2D tDiffuse;
|
|
1314
|
+
varying vec2 vUv;
|
|
1315
|
+
void main() {
|
|
1316
|
+
vec4 texel = texture2D(tDiffuse, vUv);
|
|
1317
|
+
gl_FragColor = opacity * texel;
|
|
1318
|
+
}
|
|
1319
|
+
`
|
|
1320
|
+
}, st = (u) => {
|
|
1321
|
+
const e = new Uint8Array(4 * u * u);
|
|
1322
|
+
for (let t = 0; t < u * u; t++) {
|
|
1323
|
+
const s = t * 4, r = (t % u ^ Math.floor(t / u)) & 1 ? 255 : 0;
|
|
1324
|
+
e[s] = r, e[s + 1] = r, e[s + 2] = r, e[s + 3] = 255;
|
|
1325
|
+
}
|
|
1326
|
+
const o = new ae(e, u, u, re, ce);
|
|
1327
|
+
return o.wrapS = O, o.wrapT = O, o.minFilter = ie, o.needsUpdate = !0, o;
|
|
1328
|
+
};
|
|
1225
1329
|
export {
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1330
|
+
Ve as Beaker,
|
|
1331
|
+
le as BeakerGeometry,
|
|
1332
|
+
xe as BifurcatedStaircaseGeometry,
|
|
1333
|
+
Fe as BoneGeometry,
|
|
1334
|
+
Ue as Book,
|
|
1335
|
+
Ye as Bottle,
|
|
1336
|
+
pe as Bubbling,
|
|
1337
|
+
_e as BunsenBurner,
|
|
1338
|
+
We as Burst,
|
|
1339
|
+
ue as BurstShape,
|
|
1340
|
+
ze as Candle,
|
|
1341
|
+
ge as CrossHeadstoneGeometry,
|
|
1342
|
+
Le as Desk,
|
|
1343
|
+
de as DioramaGeometry,
|
|
1344
|
+
Ze as ElectricPanel,
|
|
1345
|
+
Ie as FenceColumn,
|
|
1346
|
+
je as Flask,
|
|
1347
|
+
et as Gear,
|
|
1348
|
+
we as GearShape,
|
|
1349
|
+
Ge as LShapedStaircaseGeometry,
|
|
1350
|
+
Ae as Lantern,
|
|
1351
|
+
Oe as LeverPanel,
|
|
1352
|
+
Ce as Mausoleum,
|
|
1353
|
+
Xe as Microscope,
|
|
1354
|
+
qe as Moon,
|
|
1355
|
+
Je as MortarAndPestle,
|
|
1356
|
+
me as MortarGeometry,
|
|
1357
|
+
Ee as MossyRocks,
|
|
1358
|
+
Se as ObeliskHeadstoneGeometry,
|
|
1359
|
+
Ne as Rocks,
|
|
1360
|
+
ke as RoundedHeadstoneGeometry,
|
|
1361
|
+
Be as SimpleLeafGeometry,
|
|
1362
|
+
ve as SpiralStaircaseGeometry,
|
|
1363
|
+
Ke as SpiralTube,
|
|
1364
|
+
Pe as SquareHeadstoneGeometry,
|
|
1365
|
+
be as StaircaseGeometry,
|
|
1366
|
+
Qe as Stand,
|
|
1367
|
+
tt as Star,
|
|
1368
|
+
Me as StarShape,
|
|
1369
|
+
$e as TeslaCoil,
|
|
1370
|
+
He as TestTube,
|
|
1371
|
+
Y as TestTubeGeometry,
|
|
1372
|
+
De as TestTubeRack,
|
|
1373
|
+
Re as WineBottle,
|
|
1374
|
+
he as WineBottleGeometry,
|
|
1375
|
+
Te as WroughtIronBarGeometry,
|
|
1376
|
+
st as checkerboardTexture,
|
|
1377
|
+
ot as fadeShader
|
|
1266
1378
|
};
|
|
1267
1379
|
//# sourceMappingURL=index.es.js.map
|