three-low-poly 0.9.3 → 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/dist/index.cjs.js +3 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +632 -552
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +3 -3
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Group as v, SphereGeometry 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
|
|
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
|
|
@@ -21,24 +21,24 @@ class he extends v {
|
|
|
21
21
|
// Random z position within flask
|
|
22
22
|
), e.push(i), this.add(i);
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
e.forEach((
|
|
26
|
-
|
|
24
|
+
function r() {
|
|
25
|
+
e.forEach((a) => {
|
|
26
|
+
a.position.y += 0.02, a.position.y > 3 && (a.position.y = 0, a.position.x = (Math.random() - 0.5) * 1.5, a.position.z = (Math.random() - 0.5) * 1.5);
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
requestAnimationFrame(
|
|
29
|
+
function n() {
|
|
30
|
+
requestAnimationFrame(n), r();
|
|
31
31
|
}
|
|
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
|
-
const
|
|
39
|
-
for (let
|
|
40
|
-
const f =
|
|
41
|
-
|
|
38
|
+
const a = [], i = [];
|
|
39
|
+
for (let p = 0; p < s; p++) {
|
|
40
|
+
const f = p * o, x = f + o, y = p * t, k = y + t;
|
|
41
|
+
a.push(
|
|
42
42
|
// Vertical riser
|
|
43
43
|
-e / 2,
|
|
44
44
|
f,
|
|
@@ -49,120 +49,120 @@ class ye extends b {
|
|
|
49
49
|
y,
|
|
50
50
|
// Bottom-right
|
|
51
51
|
e / 2,
|
|
52
|
-
|
|
52
|
+
x,
|
|
53
53
|
y,
|
|
54
54
|
// Top-right
|
|
55
55
|
-e / 2,
|
|
56
|
-
|
|
56
|
+
x,
|
|
57
57
|
y,
|
|
58
58
|
// Top-left
|
|
59
59
|
// Horizontal tread
|
|
60
60
|
-e / 2,
|
|
61
|
-
|
|
61
|
+
x,
|
|
62
62
|
y,
|
|
63
63
|
// Top-left
|
|
64
64
|
e / 2,
|
|
65
|
-
|
|
65
|
+
x,
|
|
66
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 *
|
|
95
|
-
|
|
94
|
+
const c = s * o, l = s * t, h = e * 2;
|
|
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 f =
|
|
127
|
-
for (let
|
|
128
|
-
const y = c +
|
|
129
|
-
|
|
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
|
+
a.push(
|
|
130
130
|
// Vertical riser
|
|
131
|
-
|
|
131
|
+
A,
|
|
132
132
|
y,
|
|
133
|
-
|
|
133
|
+
B,
|
|
134
134
|
// Bottom-left
|
|
135
|
-
|
|
135
|
+
E,
|
|
136
136
|
y,
|
|
137
|
-
|
|
137
|
+
B,
|
|
138
138
|
// Bottom-right
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
E,
|
|
140
|
+
k,
|
|
141
|
+
B,
|
|
142
142
|
// Top-right
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
A,
|
|
144
|
+
k,
|
|
145
|
+
B,
|
|
146
146
|
// Top-left
|
|
147
147
|
// Horizontal tread
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
A,
|
|
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,65 +180,65 @@ class ye extends b {
|
|
|
180
180
|
);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
this.setIndex(i), this.setAttribute("position", new F(
|
|
183
|
+
this.setIndex(i), this.setAttribute("position", new F(a, 3)), this.computeVertexNormals();
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
|
-
class de extends
|
|
187
|
-
constructor(e = 5,
|
|
186
|
+
class de extends g {
|
|
187
|
+
constructor(e = 5, o = 3, t = 5, s = 0.2) {
|
|
188
188
|
super();
|
|
189
|
-
const
|
|
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
|
|
243
243
|
0,
|
|
244
244
|
1,
|
|
@@ -261,60 +261,60 @@ class de extends b {
|
|
|
261
261
|
10,
|
|
262
262
|
11
|
|
263
263
|
];
|
|
264
|
-
this.setIndex(
|
|
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
|
-
const
|
|
271
|
-
for (let
|
|
272
|
-
const
|
|
273
|
-
|
|
270
|
+
const n = [], a = [];
|
|
271
|
+
for (let h = 0; h < s; h++) {
|
|
272
|
+
const w = h * o, p = w + o, f = h * t, x = f + t;
|
|
273
|
+
n.push(
|
|
274
274
|
// Vertical riser
|
|
275
275
|
-e / 2,
|
|
276
|
-
|
|
276
|
+
w,
|
|
277
277
|
f,
|
|
278
278
|
// Bottom-left
|
|
279
279
|
e / 2,
|
|
280
|
-
|
|
280
|
+
w,
|
|
281
281
|
f,
|
|
282
282
|
// Bottom-right
|
|
283
283
|
e / 2,
|
|
284
|
-
|
|
284
|
+
p,
|
|
285
285
|
f,
|
|
286
286
|
// Top-right
|
|
287
287
|
-e / 2,
|
|
288
|
-
|
|
288
|
+
p,
|
|
289
289
|
f,
|
|
290
290
|
// Top-left
|
|
291
291
|
// Horizontal tread
|
|
292
292
|
-e / 2,
|
|
293
|
-
|
|
293
|
+
p,
|
|
294
294
|
f,
|
|
295
295
|
// Top-left
|
|
296
296
|
e / 2,
|
|
297
|
-
|
|
297
|
+
p,
|
|
298
298
|
f,
|
|
299
299
|
// Top-right
|
|
300
300
|
e / 2,
|
|
301
|
-
M,
|
|
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 y =
|
|
310
|
-
|
|
309
|
+
const y = h * 8;
|
|
310
|
+
a.push(
|
|
311
311
|
y,
|
|
312
312
|
y + 1,
|
|
313
313
|
y + 2,
|
|
314
314
|
y,
|
|
315
315
|
y + 2,
|
|
316
316
|
y + 3
|
|
317
|
-
),
|
|
317
|
+
), a.push(
|
|
318
318
|
y + 4,
|
|
319
319
|
y + 5,
|
|
320
320
|
y + 6,
|
|
@@ -323,8 +323,8 @@ class fe extends b {
|
|
|
323
323
|
y + 7
|
|
324
324
|
);
|
|
325
325
|
}
|
|
326
|
-
const i = s *
|
|
327
|
-
|
|
326
|
+
const i = s * o, c = s * t;
|
|
327
|
+
n.push(
|
|
328
328
|
// Landing platform (4 vertices)
|
|
329
329
|
-e / 2,
|
|
330
330
|
i,
|
|
@@ -336,15 +336,15 @@ class fe extends b {
|
|
|
336
336
|
// Bottom-right
|
|
337
337
|
e / 2,
|
|
338
338
|
i,
|
|
339
|
-
c +
|
|
339
|
+
c + r,
|
|
340
340
|
// Top-right
|
|
341
341
|
-e / 2,
|
|
342
342
|
i,
|
|
343
|
-
c +
|
|
343
|
+
c + r
|
|
344
344
|
// Top-left
|
|
345
345
|
);
|
|
346
346
|
const l = s * 8;
|
|
347
|
-
|
|
347
|
+
a.push(
|
|
348
348
|
l,
|
|
349
349
|
l + 1,
|
|
350
350
|
l + 2,
|
|
@@ -354,53 +354,53 @@ class fe extends b {
|
|
|
354
354
|
l + 3
|
|
355
355
|
// Second triangle for landing
|
|
356
356
|
);
|
|
357
|
-
for (let
|
|
358
|
-
const
|
|
359
|
-
|
|
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
|
+
n.push(
|
|
360
360
|
// Vertical riser
|
|
361
361
|
f,
|
|
362
|
-
|
|
363
|
-
c +
|
|
362
|
+
w,
|
|
363
|
+
c + r,
|
|
364
364
|
// Bottom-left
|
|
365
365
|
f,
|
|
366
|
-
|
|
367
|
-
c +
|
|
366
|
+
w,
|
|
367
|
+
c + r - e,
|
|
368
368
|
// Bottom-right
|
|
369
369
|
f,
|
|
370
|
-
|
|
371
|
-
c +
|
|
370
|
+
p,
|
|
371
|
+
c + r - e,
|
|
372
372
|
// Top-right
|
|
373
373
|
f,
|
|
374
|
-
|
|
375
|
-
c +
|
|
374
|
+
p,
|
|
375
|
+
c + r,
|
|
376
376
|
// Top-left
|
|
377
377
|
// Horizontal tread
|
|
378
378
|
f,
|
|
379
|
-
|
|
380
|
-
c +
|
|
379
|
+
p,
|
|
380
|
+
c + r,
|
|
381
381
|
// Top-left
|
|
382
382
|
f,
|
|
383
|
-
|
|
384
|
-
c +
|
|
383
|
+
p,
|
|
384
|
+
c + r - e,
|
|
385
385
|
// Top-right
|
|
386
|
+
x,
|
|
386
387
|
p,
|
|
387
|
-
|
|
388
|
-
c + n - e,
|
|
388
|
+
c + r - e,
|
|
389
389
|
// Back-right
|
|
390
|
+
x,
|
|
390
391
|
p,
|
|
391
|
-
|
|
392
|
-
c + n
|
|
392
|
+
c + r
|
|
393
393
|
// Back-left
|
|
394
394
|
);
|
|
395
|
-
const y = l + 4 +
|
|
396
|
-
|
|
395
|
+
const y = l + 4 + h * 8;
|
|
396
|
+
a.push(
|
|
397
397
|
y,
|
|
398
398
|
y + 1,
|
|
399
399
|
y + 2,
|
|
400
400
|
y,
|
|
401
401
|
y + 2,
|
|
402
402
|
y + 3
|
|
403
|
-
),
|
|
403
|
+
), a.push(
|
|
404
404
|
y + 4,
|
|
405
405
|
y + 5,
|
|
406
406
|
y + 6,
|
|
@@ -409,84 +409,84 @@ class fe extends b {
|
|
|
409
409
|
y + 7
|
|
410
410
|
);
|
|
411
411
|
}
|
|
412
|
-
this.setIndex(
|
|
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
|
-
const
|
|
418
|
+
const a = [], i = [];
|
|
419
419
|
let c = 0;
|
|
420
420
|
for (let l = 0; l < s; l++) {
|
|
421
|
-
const
|
|
422
|
-
|
|
421
|
+
const h = r * Math.cos(c), w = r * Math.sin(c), p = l * t, f = p + t;
|
|
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
|
-
|
|
432
|
+
h + e / 2 * Math.cos(c),
|
|
433
433
|
f,
|
|
434
|
-
|
|
434
|
+
w + e / 2 * Math.sin(c),
|
|
435
435
|
// Top-right
|
|
436
|
-
|
|
436
|
+
h - e / 2 * Math.cos(c),
|
|
437
437
|
f,
|
|
438
|
-
|
|
438
|
+
w - e / 2 * Math.sin(c)
|
|
439
439
|
// Top-left
|
|
440
|
-
),
|
|
440
|
+
), a.push(
|
|
441
441
|
// Top face (horizontal tread)
|
|
442
|
-
|
|
442
|
+
h - e / 2 * Math.cos(c),
|
|
443
443
|
f,
|
|
444
|
-
|
|
444
|
+
w - e / 2 * Math.sin(c),
|
|
445
445
|
// Top-left-front
|
|
446
|
-
|
|
446
|
+
h + e / 2 * Math.cos(c),
|
|
447
447
|
f,
|
|
448
|
-
|
|
448
|
+
w + e / 2 * Math.sin(c),
|
|
449
449
|
// Top-right-front
|
|
450
|
-
|
|
450
|
+
h + e / 2 * Math.cos(c) - o * Math.sin(c),
|
|
451
451
|
f,
|
|
452
|
-
|
|
452
|
+
w + e / 2 * Math.sin(c) + o * Math.cos(c),
|
|
453
453
|
// Back-right
|
|
454
|
-
|
|
454
|
+
h - e / 2 * Math.cos(c) - o * Math.sin(c),
|
|
455
455
|
f,
|
|
456
|
-
|
|
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
|
-
), c +=
|
|
478
|
+
), c += n;
|
|
479
479
|
}
|
|
480
|
-
this.setIndex(i), this.setAttribute("position", new F(
|
|
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
|
-
const
|
|
487
|
-
for (let
|
|
488
|
-
const i =
|
|
489
|
-
|
|
486
|
+
const r = [], n = [];
|
|
487
|
+
for (let a = 0; a < s; a++) {
|
|
488
|
+
const i = a * o, c = i + o, l = a * t, h = l + t;
|
|
489
|
+
r.push(
|
|
490
490
|
// Bottom face of riser (front face)
|
|
491
491
|
-e / 2,
|
|
492
492
|
i,
|
|
@@ -515,105 +515,105 @@ class pe extends b {
|
|
|
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
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
525
|
+
const w = a * 8;
|
|
526
|
+
n.push(
|
|
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
|
-
),
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
535
|
+
), n.push(
|
|
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(
|
|
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 =
|
|
553
|
-
|
|
554
|
-
const
|
|
555
|
-
|
|
552
|
+
const s = o * 0.6, r = new d(e / 2, s, t);
|
|
553
|
+
r.translate(0, s / 2, 0);
|
|
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
|
|
562
|
-
let
|
|
563
|
-
const i = new
|
|
564
|
-
i.translate(0,
|
|
565
|
-
const c = new
|
|
566
|
-
c.translate(0,
|
|
567
|
-
const l = new
|
|
568
|
-
l.translate(0,
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
const
|
|
572
|
-
|
|
573
|
-
|
|
561
|
+
const t = e * 0.05, s = e * 0.15, r = e * 0.15, n = e * 0.75;
|
|
562
|
+
let a = 0;
|
|
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
|
+
c.translate(0, a + s / 2, 0), a += s;
|
|
567
|
+
const l = new d(o * 0.6, r, o * 0.6);
|
|
568
|
+
l.translate(0, a + r / 2, 0), a += r;
|
|
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 =
|
|
581
|
-
|
|
582
|
-
const
|
|
583
|
-
|
|
580
|
+
const s = o * 0.7, r = new d(e, s, t);
|
|
581
|
+
r.translate(0, s / 2, 0);
|
|
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
|
|
610
|
-
|
|
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],
|
|
@@ -631,73 +631,73 @@ class Ie extends b {
|
|
|
631
631
|
[-0.5, 0.75]
|
|
632
632
|
// Left upper middle
|
|
633
633
|
];
|
|
634
|
-
for (let
|
|
635
|
-
const [
|
|
636
|
-
|
|
634
|
+
for (let n = 0; n < s.length; n++) {
|
|
635
|
+
const [a, i] = s[n];
|
|
636
|
+
o.push(a * e, i * e, 0);
|
|
637
637
|
}
|
|
638
|
-
for (let
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
const
|
|
642
|
-
this.setAttribute("position",
|
|
638
|
+
for (let n = 1; n < s.length - 1; n++)
|
|
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
|
|
649
|
-
|
|
650
|
-
const
|
|
651
|
-
|
|
648
|
+
const r = new G(e * 0.6, o * 0.6, t, s);
|
|
649
|
+
r.translate(0, 0, 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
|
|
683
|
-
|
|
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
|
|
690
|
-
|
|
691
|
-
const i = 0.3, c = new G(
|
|
692
|
-
c.translate(0,
|
|
693
|
-
const l = new G(
|
|
694
|
-
l.translate(0,
|
|
689
|
+
const n = t - s, a = new G(e, e, n, r);
|
|
690
|
+
a.translate(0, n / 2, 0);
|
|
691
|
+
const i = 0.3, c = new G(o, e, i, r);
|
|
692
|
+
c.translate(0, n + i / 2, 0);
|
|
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 Se extends v {
|
|
|
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
|
|
753
|
-
|
|
754
|
-
const
|
|
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
|
+
n.position.set(0, 2.5, 0), this.add(n);
|
|
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
|
-
|
|
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
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
|
|
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
|
|
@@ -787,20 +787,20 @@ class Te extends v {
|
|
|
787
787
|
[2.2, 0, -1.2],
|
|
788
788
|
[-2.2, 0, -1.2]
|
|
789
789
|
].forEach((i) => {
|
|
790
|
-
const c = new m(
|
|
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 Fe extends v {
|
|
|
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
|
|
816
|
-
|
|
817
|
-
const
|
|
815
|
+
const t = new G(o, o, 0.2, 16), s = new M({ color: 9127187, flatShading: !0 }), r = new m(t, s);
|
|
816
|
+
r.position.set(0, 0, 0), this.add(r);
|
|
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 C(
|
|
820
|
-
|
|
821
|
-
const
|
|
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
822
|
f.position.set(0, e + 0.85, 0), this.add(f);
|
|
823
|
-
const
|
|
824
|
-
|
|
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, o);
|
|
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);
|
|
832
834
|
const n = new m(e, t);
|
|
833
|
-
n.scale.set(
|
|
834
|
-
const a = new m(e, o);
|
|
835
|
-
a.scale.set(n.scale.x * 0.9, n.scale.y * 0.5, n.scale.z * 0.9), a.rotation.copy(n.rotation), a.position.copy(n.position), a.position.y += 0.3, this.add(a);
|
|
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,309 +857,309 @@ class Ae extends v {
|
|
|
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
|
|
871
|
-
|
|
872
|
-
const i = new
|
|
873
|
-
l.position.set(-0.8, 0, 0), this.add(
|
|
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
|
+
a.position.set(-0.025, 0, 0);
|
|
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
|
-
}),
|
|
896
|
+
}), r = new M({
|
|
897
897
|
color: 16724838,
|
|
898
898
|
// Vibrant potion color
|
|
899
899
|
transparent: !0,
|
|
900
900
|
opacity: 0.6
|
|
901
|
-
}),
|
|
901
|
+
}), n = new M({
|
|
902
902
|
color: 9127187,
|
|
903
903
|
roughness: 1
|
|
904
|
-
}),
|
|
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
906
|
const l = new v();
|
|
907
|
-
l.add(
|
|
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),
|
|
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
|
-
}),
|
|
924
|
-
|
|
925
|
-
const
|
|
923
|
+
}), n = new m(s, r);
|
|
924
|
+
n.position.y = 0.4;
|
|
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
|
-
}), c = new m(
|
|
932
|
-
c.position.y = 0.8, this.add(
|
|
931
|
+
}), c = new m(a, i);
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
950
|
+
}), a = new m(e, o);
|
|
951
951
|
for (let y = -1; y <= 1; y++) {
|
|
952
|
-
const
|
|
953
|
-
|
|
952
|
+
const k = new m(t, s);
|
|
953
|
+
k.position.set(y, 1.5, 0.1), a.add(k);
|
|
954
954
|
}
|
|
955
|
-
const i = new m(
|
|
956
|
-
i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15),
|
|
957
|
-
const c = new
|
|
955
|
+
const i = new m(r, n);
|
|
956
|
+
i.rotation.x = Math.PI / 2, i.position.set(0, 0.5, 0.15), a.add(i);
|
|
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 y = f + Math.abs(Math.sin(Date.now() *
|
|
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
|
-
}),
|
|
992
|
+
}), r = new M({
|
|
993
993
|
color: 9127187,
|
|
994
994
|
roughness: 1
|
|
995
|
-
}),
|
|
996
|
-
|
|
995
|
+
}), n = new m(o, s), a = new m(t, r);
|
|
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
|
|
1010
1010
|
});
|
|
1011
|
-
for (let
|
|
1012
|
-
const i = new m(s,
|
|
1013
|
-
i.position.set(
|
|
1014
|
-
const c = new m(
|
|
1011
|
+
for (let a = -0.5; a <= 0.5; a += 0.5) {
|
|
1012
|
+
const i = new m(s, n);
|
|
1013
|
+
i.position.set(a, 1, 0.1);
|
|
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
|
|
1030
|
-
|
|
1031
|
-
const
|
|
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
|
+
r.position.set(0, 0.6, -0.2);
|
|
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
|
-
}), i = new m(
|
|
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
|
-
}),
|
|
1063
|
-
|
|
1062
|
+
}), r = new m(e, t), n = new m(o, s);
|
|
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 te(
|
|
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,
|
|
1083
1083
|
roughness: 0.1,
|
|
1084
1084
|
metalness: 0.2,
|
|
1085
1085
|
emissive: 8965375
|
|
1086
|
-
}),
|
|
1087
|
-
this.add(
|
|
1088
|
-
function
|
|
1089
|
-
|
|
1086
|
+
}), n = new m(s, r);
|
|
1087
|
+
this.add(n);
|
|
1088
|
+
function a() {
|
|
1089
|
+
r.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
1090
1090
|
}
|
|
1091
1091
|
function i() {
|
|
1092
|
-
requestAnimationFrame(i),
|
|
1092
|
+
requestAnimationFrame(i), a();
|
|
1093
1093
|
}
|
|
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),
|
|
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
|
|
1110
|
-
}),
|
|
1111
|
-
for (let
|
|
1112
|
-
const i =
|
|
1113
|
-
c.position.set(Math.cos(i) * 0.25, 0.2, Math.sin(i) * 0.25),
|
|
1110
|
+
}), n = [];
|
|
1111
|
+
for (let a = 0; a < 3; a++) {
|
|
1112
|
+
const i = a / 3 * Math.PI * 2, c = new m(s, r);
|
|
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),
|
|
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:
|
|
1132
|
-
}),
|
|
1133
|
-
|
|
1134
|
-
const
|
|
1135
|
-
i.position.y = 2.4, this.add(
|
|
1131
|
+
side: L
|
|
1132
|
+
}), n = new m(s, r);
|
|
1133
|
+
n.position.y = 1.3;
|
|
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
|
-
],
|
|
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
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
|
|
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 Xe extends v {
|
|
|
1168
1168
|
reflectivity: 0.8,
|
|
1169
1169
|
transmission: 0.9,
|
|
1170
1170
|
// For glass effect
|
|
1171
|
-
side:
|
|
1172
|
-
}),
|
|
1173
|
-
this.add(
|
|
1171
|
+
side: L
|
|
1172
|
+
}), a = new m(r, n);
|
|
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
|
-
}),
|
|
1185
|
-
|
|
1186
|
-
const
|
|
1184
|
+
}), r = new m(t, s);
|
|
1185
|
+
r.position.y = 0.5;
|
|
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
|
-
const c = new m(
|
|
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
|
-
}), f = new m(
|
|
1204
|
-
f.position.set(0, -0.25, 0), c.add(f),
|
|
1203
|
+
}), f = new m(h, p);
|
|
1204
|
+
f.position.set(0, -0.25, 0), c.add(f), r.add(c);
|
|
1205
1205
|
}
|
|
1206
|
-
this.add(
|
|
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,10 +1219,84 @@ class Ke 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
|
+
}
|
|
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;
|
|
1223
1297
|
}
|
|
1224
1298
|
}
|
|
1225
|
-
const
|
|
1299
|
+
const ot = {
|
|
1226
1300
|
uniforms: {
|
|
1227
1301
|
tDiffuse: { value: null },
|
|
1228
1302
|
opacity: { value: 1 }
|
|
@@ -1243,57 +1317,63 @@ const Qe = {
|
|
|
1243
1317
|
gl_FragColor = opacity * texel;
|
|
1244
1318
|
}
|
|
1245
1319
|
`
|
|
1246
|
-
},
|
|
1247
|
-
const e = new Uint8Array(4 *
|
|
1248
|
-
for (let
|
|
1249
|
-
const s =
|
|
1250
|
-
e[s] =
|
|
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;
|
|
1251
1325
|
}
|
|
1252
|
-
const
|
|
1253
|
-
return
|
|
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;
|
|
1254
1328
|
};
|
|
1255
1329
|
export {
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
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,
|
|
1267
1343
|
de as DioramaGeometry,
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
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
|
|
1298
1378
|
};
|
|
1299
1379
|
//# sourceMappingURL=index.es.js.map
|