three-low-poly 0.9.8 → 0.9.9
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 +8 -8
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1023 -905
- package/dist/index.es.js.map +1 -1
- package/dist/index.iife.js +9 -9
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js +9 -9
- package/dist/index.umd.js.map +1 -1
- package/dist/uv-grid.jpg +0 -0
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Vector3 as M, MathUtils as
|
|
1
|
+
import { Vector3 as M, MathUtils as H, Quaternion as le, Group as P, SphereGeometry as B, MeshStandardMaterial as w, Mesh as h, BufferGeometry as v, Float32BufferAttribute as U, BufferAttribute as Z, BoxGeometry as g, ConeGeometry as _, CylinderGeometry as G, Vector2 as b, LatheGeometry as L, CircleGeometry as me, TorusGeometry as oe, DodecahedronGeometry as j, ShaderMaterial as K, Shape as q, ExtrudeGeometry as O, MeshBasicMaterial as ue, PointLight as se, MeshPhysicalMaterial as D, DoubleSide as z, CatmullRomCurve3 as fe, TubeGeometry as he, LineBasicMaterial as pe, Line as de, Path as we, Color as $, BackSide as ne, DataTexture as ye, RGBAFormat as xe, UnsignedByteType as Me, RepeatWrapping as W, NearestFilter as ve, Box3 as ge } from "three";
|
|
2
2
|
import { mergeGeometries as A, mergeVertices as Se } from "three/addons/utils/BufferGeometryUtils.js";
|
|
3
3
|
import { Sky as be } from "three/addons/objects/Sky.js";
|
|
4
4
|
import { EffectComposer as Ge } from "three/addons/postprocessing/EffectComposer.js";
|
|
5
5
|
import { RenderPass as ee } from "three/addons/postprocessing/RenderPass.js";
|
|
6
6
|
import { ShaderPass as Ie } from "three/addons/postprocessing/ShaderPass.js";
|
|
7
|
-
const
|
|
7
|
+
const F = {
|
|
8
8
|
UP: new M(0, 1, 0),
|
|
9
9
|
DOWN: new M(0, -1, 0),
|
|
10
10
|
LEFT: new M(-1, 0, 0),
|
|
@@ -18,147 +18,147 @@ const N = {
|
|
|
18
18
|
XZ: new M(1, 0, 1).normalize(),
|
|
19
19
|
YZ: new M(0, 1, 1).normalize(),
|
|
20
20
|
XYZ: new M(1, 1, 1).normalize()
|
|
21
|
-
},
|
|
22
|
-
LINEAR: (
|
|
23
|
-
QUADRATIC: (
|
|
24
|
-
SQUARE_ROOT: (
|
|
25
|
-
LOGARITHMIC: (
|
|
26
|
-
SINE: (
|
|
27
|
-
EXPONENTIAL: (
|
|
28
|
-
CUBIC: (
|
|
29
|
-
GAUSSIAN: (
|
|
30
|
-
INVERSE: (
|
|
31
|
-
SMOOTHSTEP: (
|
|
32
|
-
const t = Math.max(0, Math.min(1, 1 -
|
|
21
|
+
}, V = {
|
|
22
|
+
LINEAR: (l, e) => 1 - l / e,
|
|
23
|
+
QUADRATIC: (l, e) => Math.pow(1 - l / e, 2),
|
|
24
|
+
SQUARE_ROOT: (l, e) => Math.pow(1 - l / e, 0.5),
|
|
25
|
+
LOGARITHMIC: (l, e) => Math.log(1 + (e - l)) / Math.log(1 + e),
|
|
26
|
+
SINE: (l, e) => Math.cos(l / e * Math.PI / 2),
|
|
27
|
+
EXPONENTIAL: (l, e) => Math.exp(-l / e),
|
|
28
|
+
CUBIC: (l, e) => Math.pow(1 - l / e, 3),
|
|
29
|
+
GAUSSIAN: (l, e) => Math.exp(-Math.pow(l, 2) / (2 * Math.pow(e / 3, 2))),
|
|
30
|
+
INVERSE: (l, e) => e / (e + l),
|
|
31
|
+
SMOOTHSTEP: (l, e) => {
|
|
32
|
+
const t = Math.max(0, Math.min(1, 1 - l / e));
|
|
33
33
|
return t * t * (3 - 2 * t);
|
|
34
34
|
}
|
|
35
|
-
},
|
|
36
|
-
const s =
|
|
37
|
-
for (let
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
42
|
-
const u =
|
|
43
|
-
|
|
35
|
+
}, st = (l, e, t, o, n = F.UP, a = V.LINEAR) => {
|
|
36
|
+
const s = l.attributes.position;
|
|
37
|
+
for (let r = 0; r < s.count; r++) {
|
|
38
|
+
const c = new M();
|
|
39
|
+
c.fromBufferAttribute(s, r);
|
|
40
|
+
const i = c.distanceTo(e);
|
|
41
|
+
if (i < t) {
|
|
42
|
+
const u = a(i, t) * o;
|
|
43
|
+
c.add(n.clone().multiplyScalar(u)), s.setXYZ(r, c.x, c.y, c.z);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
s.needsUpdate = !0;
|
|
47
|
-
},
|
|
48
|
-
const
|
|
49
|
-
for (let
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
const m =
|
|
47
|
+
}, nt = (l, e, t, o, n, a = F.UP, s = V.LINEAR) => {
|
|
48
|
+
const r = l.attributes.position;
|
|
49
|
+
for (let c = 0; c < r.count; c++) {
|
|
50
|
+
const i = new M();
|
|
51
|
+
i.fromBufferAttribute(r, c);
|
|
52
|
+
const m = i.distanceTo(e);
|
|
53
53
|
if (m < t) {
|
|
54
|
-
const
|
|
55
|
-
|
|
54
|
+
const f = s(m, t) * n, d = i.dot(a.normalize()), p = o - d;
|
|
55
|
+
i.add(a.clone().multiplyScalar(p * f)), r.setXYZ(c, i.x, i.y, i.z);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
const s =
|
|
61
|
-
for (let
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
const m =
|
|
67
|
-
|
|
58
|
+
r.needsUpdate = !0;
|
|
59
|
+
}, rt = (l, e, t, o, n = F.UP, a = V.LINEAR) => {
|
|
60
|
+
const s = l.attributes.position;
|
|
61
|
+
for (let r = 0; r < s.count; r++) {
|
|
62
|
+
const c = new M();
|
|
63
|
+
c.fromBufferAttribute(s, r);
|
|
64
|
+
const i = c.distanceTo(e);
|
|
65
|
+
if (i < t) {
|
|
66
|
+
const m = a(i, t), u = o * m, f = n.clone().normalize();
|
|
67
|
+
c.x += H.randFloatSpread(u) * f.x, c.y += H.randFloatSpread(u) * f.y, c.z += H.randFloatSpread(u) * f.z, s.setXYZ(r, c.x, c.y, c.z);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
s.needsUpdate = !0;
|
|
71
|
-
},
|
|
72
|
-
const
|
|
73
|
-
for (let s = 0; s <
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
let
|
|
77
|
-
for (let u = 0; u <
|
|
78
|
-
|
|
79
|
-
m > 0 && (
|
|
71
|
+
}, at = (l, e, t, o) => {
|
|
72
|
+
const n = l.attributes.position, a = new M();
|
|
73
|
+
for (let s = 0; s < n.count; s++) {
|
|
74
|
+
const r = new M();
|
|
75
|
+
if (r.fromBufferAttribute(n, s), r.distanceTo(e) < t) {
|
|
76
|
+
let i = new M(), m = 0;
|
|
77
|
+
for (let u = 0; u < n.count; u++)
|
|
78
|
+
a.fromBufferAttribute(n, u), a.distanceTo(r) < t && (i.add(a), m++);
|
|
79
|
+
m > 0 && (i.divideScalar(m), r.lerp(i, o), n.setXYZ(s, r.x, r.y, r.z));
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
-
const s =
|
|
85
|
-
for (let
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
if (
|
|
90
|
-
const u =
|
|
91
|
-
|
|
82
|
+
n.needsUpdate = !0;
|
|
83
|
+
}, ct = (l, e, t, o, n = !1, a = V.LINEAR) => {
|
|
84
|
+
const s = l.attributes.position;
|
|
85
|
+
for (let r = 0; r < s.count; r++) {
|
|
86
|
+
const c = new M();
|
|
87
|
+
c.fromBufferAttribute(s, r);
|
|
88
|
+
const i = c.distanceTo(e);
|
|
89
|
+
if (i < t) {
|
|
90
|
+
const u = a(i, t) * o * (n ? -1 : 1), f = c.clone().sub(e).normalize();
|
|
91
|
+
c.add(f.multiplyScalar(u)), s.setXYZ(r, c.x, c.y, c.z);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
s.needsUpdate = !0;
|
|
95
|
-
},
|
|
96
|
-
const s =
|
|
97
|
-
for (let
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
const m =
|
|
95
|
+
}, it = (l, e, t, o, n = F.UP, a = V.LINEAR) => {
|
|
96
|
+
const s = l.attributes.position, r = new le();
|
|
97
|
+
for (let c = 0; c < s.count; c++) {
|
|
98
|
+
const i = new M();
|
|
99
|
+
i.fromBufferAttribute(s, c);
|
|
100
|
+
const m = i.distanceTo(e);
|
|
101
101
|
if (m < t) {
|
|
102
|
-
const
|
|
103
|
-
|
|
102
|
+
const f = a(m, t) * o;
|
|
103
|
+
r.setFromAxisAngle(n, f), i.sub(e).applyQuaternion(r).add(e), s.setXYZ(c, i.x, i.y, i.z);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
s.needsUpdate = !0;
|
|
107
|
-
},
|
|
108
|
-
LINEAR: (
|
|
109
|
-
QUADRATIC_EASE_IN: (
|
|
110
|
-
QUADRATIC_EASE_OUT: (
|
|
111
|
-
SQUARE_ROOT_EASING: (
|
|
112
|
-
LOGARITHMIC_EASING: (
|
|
113
|
-
SINE_EASE_IN: (
|
|
114
|
-
SINE_EASE_OUT: (
|
|
115
|
-
EXPONENTIAL_EASE_IN: (
|
|
116
|
-
EXPONENTIAL_EASE_OUT: (
|
|
117
|
-
CUBIC_EASE_IN: (
|
|
118
|
-
CUBIC_EASE_OUT: (
|
|
119
|
-
GAUSSIAN_EASING: (
|
|
120
|
-
INVERSE_EASING: (
|
|
121
|
-
SMOOTHSTEP_EASING: (
|
|
107
|
+
}, lt = {
|
|
108
|
+
LINEAR: (l) => l,
|
|
109
|
+
QUADRATIC_EASE_IN: (l) => l * l,
|
|
110
|
+
QUADRATIC_EASE_OUT: (l) => 1 - Math.pow(1 - l, 2),
|
|
111
|
+
SQUARE_ROOT_EASING: (l) => Math.sqrt(l),
|
|
112
|
+
LOGARITHMIC_EASING: (l) => Math.log(1 + l) / Math.log(2),
|
|
113
|
+
SINE_EASE_IN: (l) => 1 - Math.cos(l * Math.PI / 2),
|
|
114
|
+
SINE_EASE_OUT: (l) => Math.sin(l * Math.PI / 2),
|
|
115
|
+
EXPONENTIAL_EASE_IN: (l) => Math.pow(2, 10 * (l - 1)),
|
|
116
|
+
EXPONENTIAL_EASE_OUT: (l) => 1 - Math.pow(2, -10 * l),
|
|
117
|
+
CUBIC_EASE_IN: (l) => l * l * l,
|
|
118
|
+
CUBIC_EASE_OUT: (l) => 1 - Math.pow(1 - l, 3),
|
|
119
|
+
GAUSSIAN_EASING: (l) => Math.exp(-Math.pow(l - 0.5, 2) / (2 * 0.1)),
|
|
120
|
+
INVERSE_EASING: (l) => 1 / (1 + l),
|
|
121
|
+
SMOOTHSTEP_EASING: (l) => l * l * (3 - 2 * l)
|
|
122
122
|
};
|
|
123
|
-
class
|
|
123
|
+
class mt extends P {
|
|
124
124
|
constructor() {
|
|
125
125
|
super();
|
|
126
|
-
const e = [], t = 20, o = new
|
|
126
|
+
const e = [], t = 20, o = new B(0.1, 6, 6), n = new w({
|
|
127
127
|
color: 16777215,
|
|
128
128
|
transparent: !0,
|
|
129
129
|
opacity: 0.6,
|
|
130
130
|
roughness: 0.3,
|
|
131
131
|
metalness: 0.3
|
|
132
132
|
});
|
|
133
|
-
for (let
|
|
134
|
-
const
|
|
135
|
-
|
|
133
|
+
for (let r = 0; r < t; r++) {
|
|
134
|
+
const c = new h(o, n);
|
|
135
|
+
c.position.set(
|
|
136
136
|
(Math.random() - 0.5) * 1.5,
|
|
137
137
|
// Random x position within flask
|
|
138
138
|
Math.random() * 3,
|
|
139
139
|
// Random y position within flask height
|
|
140
140
|
(Math.random() - 0.5) * 1.5
|
|
141
141
|
// Random z position within flask
|
|
142
|
-
), e.push(
|
|
142
|
+
), e.push(c), this.add(c);
|
|
143
143
|
}
|
|
144
|
-
function
|
|
145
|
-
e.forEach((
|
|
146
|
-
|
|
144
|
+
function a() {
|
|
145
|
+
e.forEach((r) => {
|
|
146
|
+
r.position.y += 0.02, r.position.y > 3 && (r.position.y = 0, r.position.x = (Math.random() - 0.5) * 1.5, r.position.z = (Math.random() - 0.5) * 1.5);
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
149
|
function s() {
|
|
150
|
-
requestAnimationFrame(s),
|
|
150
|
+
requestAnimationFrame(s), a();
|
|
151
151
|
}
|
|
152
152
|
s();
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
class
|
|
156
|
-
constructor(e = 2, t = 0.3, o = 0.6,
|
|
155
|
+
class ut extends v {
|
|
156
|
+
constructor(e = 2, t = 0.3, o = 0.6, n = 5, a = 5, s = Math.PI / 4) {
|
|
157
157
|
super();
|
|
158
|
-
const
|
|
159
|
-
for (let d = 0; d <
|
|
160
|
-
const p = d * t, x = p + t, y = d * o,
|
|
161
|
-
|
|
158
|
+
const r = [], c = [];
|
|
159
|
+
for (let d = 0; d < n; d++) {
|
|
160
|
+
const p = d * t, x = p + t, y = d * o, I = y + o;
|
|
161
|
+
r.push(
|
|
162
162
|
// Vertical riser
|
|
163
163
|
-e / 2,
|
|
164
164
|
p,
|
|
@@ -187,110 +187,110 @@ class ct extends g {
|
|
|
187
187
|
// Top-right
|
|
188
188
|
e / 2,
|
|
189
189
|
x,
|
|
190
|
-
|
|
190
|
+
I,
|
|
191
191
|
// Back-right
|
|
192
192
|
-e / 2,
|
|
193
193
|
x,
|
|
194
|
-
|
|
194
|
+
I
|
|
195
195
|
// Back-left
|
|
196
196
|
);
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
),
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
197
|
+
const S = d * 8;
|
|
198
|
+
c.push(
|
|
199
|
+
S,
|
|
200
|
+
S + 1,
|
|
201
|
+
S + 2,
|
|
202
|
+
S,
|
|
203
|
+
S + 2,
|
|
204
|
+
S + 3
|
|
205
|
+
), c.push(
|
|
206
|
+
S + 4,
|
|
207
|
+
S + 5,
|
|
208
|
+
S + 6,
|
|
209
|
+
S + 4,
|
|
210
|
+
S + 6,
|
|
211
|
+
S + 7
|
|
212
212
|
);
|
|
213
213
|
}
|
|
214
|
-
const
|
|
215
|
-
|
|
214
|
+
const i = n * t, m = n * o, u = e * 2;
|
|
215
|
+
r.push(
|
|
216
216
|
// Landing platform (4 vertices)
|
|
217
217
|
-u / 2,
|
|
218
|
-
|
|
218
|
+
i,
|
|
219
219
|
m,
|
|
220
220
|
// Bottom-left
|
|
221
221
|
u / 2,
|
|
222
|
-
|
|
222
|
+
i,
|
|
223
223
|
m,
|
|
224
224
|
// Bottom-right
|
|
225
225
|
u / 2,
|
|
226
|
-
|
|
226
|
+
i,
|
|
227
227
|
m + o,
|
|
228
228
|
// Top-right
|
|
229
229
|
-u / 2,
|
|
230
|
-
|
|
230
|
+
i,
|
|
231
231
|
m + o
|
|
232
232
|
// Top-left
|
|
233
233
|
);
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
const f = n * 8;
|
|
235
|
+
c.push(
|
|
236
|
+
f,
|
|
237
|
+
f + 1,
|
|
238
|
+
f + 2,
|
|
239
239
|
// First triangle for landing
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
240
|
+
f,
|
|
241
|
+
f + 2,
|
|
242
|
+
f + 3
|
|
243
243
|
// Second triangle for landing
|
|
244
244
|
);
|
|
245
245
|
for (let d = 0; d < 2; d++) {
|
|
246
246
|
const p = d === 0 ? 1 : -1;
|
|
247
|
-
for (let x = 0; x <
|
|
248
|
-
const y =
|
|
249
|
-
|
|
247
|
+
for (let x = 0; x < a; x++) {
|
|
248
|
+
const y = i + x * t, I = y + t, S = p * (u / 4), T = m + o, X = x * o * Math.cos(s), E = x * o * Math.sin(s), C = S + p * X - e / 2 * Math.cos(s), Y = S + p * X + e / 2 * Math.cos(s), N = T + E, ce = C + p * o * Math.cos(s), ie = Y + p * o * Math.cos(s), J = N + o * Math.sin(s);
|
|
249
|
+
r.push(
|
|
250
250
|
// Vertical riser
|
|
251
|
-
E,
|
|
252
|
-
y,
|
|
253
251
|
C,
|
|
252
|
+
y,
|
|
253
|
+
N,
|
|
254
254
|
// Bottom-left
|
|
255
|
-
|
|
255
|
+
Y,
|
|
256
256
|
y,
|
|
257
|
-
|
|
257
|
+
N,
|
|
258
258
|
// Bottom-right
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
259
|
+
Y,
|
|
260
|
+
I,
|
|
261
|
+
N,
|
|
262
262
|
// Top-right
|
|
263
|
-
E,
|
|
264
|
-
G,
|
|
265
263
|
C,
|
|
264
|
+
I,
|
|
265
|
+
N,
|
|
266
266
|
// Top-left
|
|
267
267
|
// Horizontal tread
|
|
268
|
-
E,
|
|
269
|
-
G,
|
|
270
268
|
C,
|
|
269
|
+
I,
|
|
270
|
+
N,
|
|
271
271
|
// Top-left
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
272
|
+
Y,
|
|
273
|
+
I,
|
|
274
|
+
N,
|
|
275
275
|
// Top-right
|
|
276
276
|
ie,
|
|
277
|
-
|
|
277
|
+
I,
|
|
278
278
|
J,
|
|
279
279
|
// Back-right
|
|
280
280
|
ce,
|
|
281
|
-
|
|
281
|
+
I,
|
|
282
282
|
J
|
|
283
283
|
// Back-left
|
|
284
284
|
);
|
|
285
|
-
const k =
|
|
286
|
-
|
|
285
|
+
const k = f + 4 + d * a * 8 + x * 8;
|
|
286
|
+
c.push(
|
|
287
287
|
k,
|
|
288
288
|
k + 1,
|
|
289
289
|
k + 2,
|
|
290
290
|
k,
|
|
291
291
|
k + 2,
|
|
292
292
|
k + 3
|
|
293
|
-
),
|
|
293
|
+
), c.push(
|
|
294
294
|
k + 4,
|
|
295
295
|
k + 5,
|
|
296
296
|
k + 6,
|
|
@@ -300,13 +300,13 @@ class ct extends g {
|
|
|
300
300
|
);
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
|
-
this.setIndex(
|
|
303
|
+
this.setIndex(c), this.setAttribute("position", new U(r, 3)), this.computeVertexNormals();
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
|
-
class
|
|
307
|
-
constructor(e = 5, t = 3, o = 5,
|
|
306
|
+
class ft extends v {
|
|
307
|
+
constructor(e = 5, t = 3, o = 5, n = 0.2) {
|
|
308
308
|
super();
|
|
309
|
-
const
|
|
309
|
+
const a = [
|
|
310
310
|
// Floor vertices
|
|
311
311
|
-e / 2,
|
|
312
312
|
0,
|
|
@@ -381,23 +381,23 @@ class it extends g {
|
|
|
381
381
|
10,
|
|
382
382
|
11
|
|
383
383
|
];
|
|
384
|
-
this.setIndex(s), this.setAttribute("position", new U(
|
|
384
|
+
this.setIndex(s), this.setAttribute("position", new U(a, 3)), this.computeVertexNormals();
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
|
-
class
|
|
388
|
-
constructor(e = 2, t = 0.3, o = 0.5,
|
|
387
|
+
class ht extends v {
|
|
388
|
+
constructor(e = 2, t = 0.3, o = 0.5, n = 5, a = 2) {
|
|
389
389
|
super();
|
|
390
|
-
const s = [],
|
|
391
|
-
for (let u = 0; u <
|
|
392
|
-
const
|
|
390
|
+
const s = [], r = [];
|
|
391
|
+
for (let u = 0; u < n; u++) {
|
|
392
|
+
const f = u * t, d = f + t, p = u * o, x = p + o;
|
|
393
393
|
s.push(
|
|
394
394
|
// Vertical riser
|
|
395
395
|
-e / 2,
|
|
396
|
-
|
|
396
|
+
f,
|
|
397
397
|
p,
|
|
398
398
|
// Bottom-left
|
|
399
399
|
e / 2,
|
|
400
|
-
|
|
400
|
+
f,
|
|
401
401
|
p,
|
|
402
402
|
// Bottom-right
|
|
403
403
|
e / 2,
|
|
@@ -427,14 +427,14 @@ class lt extends g {
|
|
|
427
427
|
// Back-left
|
|
428
428
|
);
|
|
429
429
|
const y = u * 8;
|
|
430
|
-
|
|
430
|
+
r.push(
|
|
431
431
|
y,
|
|
432
432
|
y + 1,
|
|
433
433
|
y + 2,
|
|
434
434
|
y,
|
|
435
435
|
y + 2,
|
|
436
436
|
y + 3
|
|
437
|
-
),
|
|
437
|
+
), r.push(
|
|
438
438
|
y + 4,
|
|
439
439
|
y + 5,
|
|
440
440
|
y + 6,
|
|
@@ -443,28 +443,28 @@ class lt extends g {
|
|
|
443
443
|
y + 7
|
|
444
444
|
);
|
|
445
445
|
}
|
|
446
|
-
const
|
|
446
|
+
const c = n * t, i = n * o;
|
|
447
447
|
s.push(
|
|
448
448
|
// Landing platform (4 vertices)
|
|
449
449
|
-e / 2,
|
|
450
|
-
a,
|
|
451
450
|
c,
|
|
451
|
+
i,
|
|
452
452
|
// Bottom-left
|
|
453
453
|
e / 2,
|
|
454
|
-
a,
|
|
455
454
|
c,
|
|
455
|
+
i,
|
|
456
456
|
// Bottom-right
|
|
457
457
|
e / 2,
|
|
458
|
-
|
|
459
|
-
|
|
458
|
+
c,
|
|
459
|
+
i + a,
|
|
460
460
|
// Top-right
|
|
461
461
|
-e / 2,
|
|
462
|
-
|
|
463
|
-
|
|
462
|
+
c,
|
|
463
|
+
i + a
|
|
464
464
|
// Top-left
|
|
465
465
|
);
|
|
466
|
-
const m =
|
|
467
|
-
|
|
466
|
+
const m = n * 8;
|
|
467
|
+
r.push(
|
|
468
468
|
m,
|
|
469
469
|
m + 1,
|
|
470
470
|
m + 2,
|
|
@@ -474,53 +474,53 @@ class lt extends g {
|
|
|
474
474
|
m + 3
|
|
475
475
|
// Second triangle for landing
|
|
476
476
|
);
|
|
477
|
-
for (let u = 0; u <
|
|
478
|
-
const
|
|
477
|
+
for (let u = 0; u < n; u++) {
|
|
478
|
+
const f = c + u * t, d = f + t, p = -e / 2 - u * o, x = p - o;
|
|
479
479
|
s.push(
|
|
480
480
|
// Vertical riser
|
|
481
481
|
p,
|
|
482
|
-
|
|
483
|
-
|
|
482
|
+
f,
|
|
483
|
+
i + a,
|
|
484
484
|
// Bottom-left
|
|
485
485
|
p,
|
|
486
|
-
|
|
487
|
-
|
|
486
|
+
f,
|
|
487
|
+
i + a - e,
|
|
488
488
|
// Bottom-right
|
|
489
489
|
p,
|
|
490
490
|
d,
|
|
491
|
-
|
|
491
|
+
i + a - e,
|
|
492
492
|
// Top-right
|
|
493
493
|
p,
|
|
494
494
|
d,
|
|
495
|
-
|
|
495
|
+
i + a,
|
|
496
496
|
// Top-left
|
|
497
497
|
// Horizontal tread
|
|
498
498
|
p,
|
|
499
499
|
d,
|
|
500
|
-
|
|
500
|
+
i + a,
|
|
501
501
|
// Top-left
|
|
502
502
|
p,
|
|
503
503
|
d,
|
|
504
|
-
|
|
504
|
+
i + a - e,
|
|
505
505
|
// Top-right
|
|
506
506
|
x,
|
|
507
507
|
d,
|
|
508
|
-
|
|
508
|
+
i + a - e,
|
|
509
509
|
// Back-right
|
|
510
510
|
x,
|
|
511
511
|
d,
|
|
512
|
-
|
|
512
|
+
i + a
|
|
513
513
|
// Back-left
|
|
514
514
|
);
|
|
515
515
|
const y = m + 4 + u * 8;
|
|
516
|
-
|
|
516
|
+
r.push(
|
|
517
517
|
y,
|
|
518
518
|
y + 1,
|
|
519
519
|
y + 2,
|
|
520
520
|
y,
|
|
521
521
|
y + 2,
|
|
522
522
|
y + 3
|
|
523
|
-
),
|
|
523
|
+
), r.push(
|
|
524
524
|
y + 4,
|
|
525
525
|
y + 5,
|
|
526
526
|
y + 6,
|
|
@@ -529,55 +529,55 @@ class lt extends g {
|
|
|
529
529
|
y + 7
|
|
530
530
|
);
|
|
531
531
|
}
|
|
532
|
-
this.setIndex(
|
|
532
|
+
this.setIndex(r), this.setAttribute("position", new U(s, 3)), this.computeVertexNormals();
|
|
533
533
|
}
|
|
534
534
|
}
|
|
535
|
-
class
|
|
536
|
-
constructor(e = 1, t = 0.4, o = 0.2,
|
|
535
|
+
class pt extends v {
|
|
536
|
+
constructor(e = 1, t = 0.4, o = 0.2, n = 20, a = 2, s = Math.PI / 8) {
|
|
537
537
|
super();
|
|
538
|
-
const
|
|
539
|
-
let
|
|
540
|
-
for (let m = 0; m <
|
|
541
|
-
const u =
|
|
542
|
-
|
|
538
|
+
const r = [], c = [];
|
|
539
|
+
let i = 0;
|
|
540
|
+
for (let m = 0; m < n; m++) {
|
|
541
|
+
const u = a * Math.cos(i), f = a * Math.sin(i), d = m * o, p = d + o;
|
|
542
|
+
r.push(
|
|
543
543
|
// Front face (vertical riser)
|
|
544
|
-
u - e / 2 * Math.cos(
|
|
544
|
+
u - e / 2 * Math.cos(i),
|
|
545
545
|
d,
|
|
546
|
-
|
|
546
|
+
f - e / 2 * Math.sin(i),
|
|
547
547
|
// Bottom-left
|
|
548
|
-
u + e / 2 * Math.cos(
|
|
548
|
+
u + e / 2 * Math.cos(i),
|
|
549
549
|
d,
|
|
550
|
-
|
|
550
|
+
f + e / 2 * Math.sin(i),
|
|
551
551
|
// Bottom-right
|
|
552
|
-
u + e / 2 * Math.cos(
|
|
552
|
+
u + e / 2 * Math.cos(i),
|
|
553
553
|
p,
|
|
554
|
-
|
|
554
|
+
f + e / 2 * Math.sin(i),
|
|
555
555
|
// Top-right
|
|
556
|
-
u - e / 2 * Math.cos(
|
|
556
|
+
u - e / 2 * Math.cos(i),
|
|
557
557
|
p,
|
|
558
|
-
|
|
558
|
+
f - e / 2 * Math.sin(i)
|
|
559
559
|
// Top-left
|
|
560
|
-
),
|
|
560
|
+
), r.push(
|
|
561
561
|
// Top face (horizontal tread)
|
|
562
|
-
u - e / 2 * Math.cos(
|
|
562
|
+
u - e / 2 * Math.cos(i),
|
|
563
563
|
p,
|
|
564
|
-
|
|
564
|
+
f - e / 2 * Math.sin(i),
|
|
565
565
|
// Top-left-front
|
|
566
|
-
u + e / 2 * Math.cos(
|
|
566
|
+
u + e / 2 * Math.cos(i),
|
|
567
567
|
p,
|
|
568
|
-
|
|
568
|
+
f + e / 2 * Math.sin(i),
|
|
569
569
|
// Top-right-front
|
|
570
|
-
u + e / 2 * Math.cos(
|
|
570
|
+
u + e / 2 * Math.cos(i) - t * Math.sin(i),
|
|
571
571
|
p,
|
|
572
|
-
|
|
572
|
+
f + e / 2 * Math.sin(i) + t * Math.cos(i),
|
|
573
573
|
// Back-right
|
|
574
|
-
u - e / 2 * Math.cos(
|
|
574
|
+
u - e / 2 * Math.cos(i) - t * Math.sin(i),
|
|
575
575
|
p,
|
|
576
|
-
|
|
576
|
+
f - e / 2 * Math.sin(i) + t * Math.cos(i)
|
|
577
577
|
// Back-left
|
|
578
578
|
);
|
|
579
579
|
const x = m * 8;
|
|
580
|
-
|
|
580
|
+
c.push(
|
|
581
581
|
x,
|
|
582
582
|
x + 1,
|
|
583
583
|
x + 2,
|
|
@@ -586,7 +586,7 @@ class mt extends g {
|
|
|
586
586
|
x + 2,
|
|
587
587
|
x + 3
|
|
588
588
|
// Second triangle for riser
|
|
589
|
-
),
|
|
589
|
+
), c.push(
|
|
590
590
|
x + 4,
|
|
591
591
|
x + 5,
|
|
592
592
|
x + 6,
|
|
@@ -595,81 +595,81 @@ class mt extends g {
|
|
|
595
595
|
x + 6,
|
|
596
596
|
x + 7
|
|
597
597
|
// Second triangle for tread
|
|
598
|
-
),
|
|
598
|
+
), i += s;
|
|
599
599
|
}
|
|
600
|
-
this.setIndex(
|
|
600
|
+
this.setIndex(c), this.setAttribute("position", new U(r, 3)), this.computeVertexNormals();
|
|
601
601
|
}
|
|
602
602
|
}
|
|
603
|
-
class
|
|
604
|
-
constructor(e = 2, t = 0.3, o = 0.5,
|
|
603
|
+
class dt extends v {
|
|
604
|
+
constructor(e = 2, t = 0.3, o = 0.5, n = 10) {
|
|
605
605
|
super();
|
|
606
|
-
const
|
|
607
|
-
for (let
|
|
608
|
-
const
|
|
609
|
-
|
|
606
|
+
const a = [], s = [];
|
|
607
|
+
for (let r = 0; r < n; r++) {
|
|
608
|
+
const c = r * t, i = c + t, m = r * o, u = m + o;
|
|
609
|
+
a.push(
|
|
610
610
|
// Bottom face of riser (front face)
|
|
611
611
|
-e / 2,
|
|
612
|
-
|
|
612
|
+
c,
|
|
613
613
|
m,
|
|
614
614
|
// 0: Bottom-left-front
|
|
615
615
|
e / 2,
|
|
616
|
-
|
|
616
|
+
c,
|
|
617
617
|
m,
|
|
618
618
|
// 1: Bottom-right-front
|
|
619
619
|
e / 2,
|
|
620
|
-
|
|
620
|
+
i,
|
|
621
621
|
m,
|
|
622
622
|
// 2: Top-right-front
|
|
623
623
|
-e / 2,
|
|
624
|
-
|
|
624
|
+
i,
|
|
625
625
|
m,
|
|
626
626
|
// 3: Top-left-front
|
|
627
627
|
// Top face of tread (horizontal step)
|
|
628
628
|
-e / 2,
|
|
629
|
-
|
|
629
|
+
i,
|
|
630
630
|
m,
|
|
631
631
|
// 4: Top-left-front (repeated)
|
|
632
632
|
e / 2,
|
|
633
|
-
|
|
633
|
+
i,
|
|
634
634
|
m,
|
|
635
635
|
// 5: Top-right-front (repeated)
|
|
636
636
|
e / 2,
|
|
637
|
-
|
|
637
|
+
i,
|
|
638
638
|
u,
|
|
639
639
|
// 6: Top-right-back
|
|
640
640
|
-e / 2,
|
|
641
|
-
|
|
641
|
+
i,
|
|
642
642
|
u
|
|
643
643
|
// 7: Top-left-back
|
|
644
644
|
);
|
|
645
|
-
const
|
|
645
|
+
const f = r * 8;
|
|
646
646
|
s.push(
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
647
|
+
f,
|
|
648
|
+
f + 1,
|
|
649
|
+
f + 2,
|
|
650
650
|
// First triangle for riser
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
651
|
+
f,
|
|
652
|
+
f + 2,
|
|
653
|
+
f + 3
|
|
654
654
|
// Second triangle for riser
|
|
655
655
|
), s.push(
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
656
|
+
f + 4,
|
|
657
|
+
f + 6,
|
|
658
|
+
f + 5,
|
|
659
659
|
// First triangle for tread
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
660
|
+
f + 4,
|
|
661
|
+
f + 7,
|
|
662
|
+
f + 6
|
|
663
663
|
// Second triangle for tread
|
|
664
664
|
);
|
|
665
665
|
}
|
|
666
|
-
this.setIndex(s), this.setAttribute("position", new U(
|
|
666
|
+
this.setIndex(s), this.setAttribute("position", new U(a, 3)), this.computeVertexNormals();
|
|
667
667
|
}
|
|
668
668
|
}
|
|
669
|
-
class Pe extends
|
|
670
|
-
constructor(e = 1, t = 1.5, o = 0.5,
|
|
669
|
+
class Pe extends v {
|
|
670
|
+
constructor(e = 1, t = 1.5, o = 0.5, n = 0.05, a = 0.05) {
|
|
671
671
|
super();
|
|
672
|
-
const s = e,
|
|
672
|
+
const s = e, r = t, c = o, i = n, m = a, u = [
|
|
673
673
|
// Front cover
|
|
674
674
|
0,
|
|
675
675
|
0,
|
|
@@ -678,181 +678,181 @@ class Pe extends g {
|
|
|
678
678
|
0,
|
|
679
679
|
0,
|
|
680
680
|
s,
|
|
681
|
-
|
|
681
|
+
r,
|
|
682
682
|
0,
|
|
683
683
|
0,
|
|
684
|
-
|
|
684
|
+
r,
|
|
685
685
|
0,
|
|
686
686
|
// Back cover
|
|
687
687
|
s,
|
|
688
688
|
0,
|
|
689
|
-
-
|
|
689
|
+
-c,
|
|
690
690
|
0,
|
|
691
691
|
0,
|
|
692
|
-
-
|
|
692
|
+
-c,
|
|
693
693
|
0,
|
|
694
|
-
|
|
695
|
-
-
|
|
694
|
+
r,
|
|
695
|
+
-c,
|
|
696
696
|
s,
|
|
697
|
-
|
|
698
|
-
-
|
|
697
|
+
r,
|
|
698
|
+
-c,
|
|
699
699
|
// Spine
|
|
700
700
|
0,
|
|
701
701
|
0,
|
|
702
|
-
-
|
|
702
|
+
-c,
|
|
703
703
|
0,
|
|
704
704
|
0,
|
|
705
705
|
0,
|
|
706
706
|
0,
|
|
707
|
-
|
|
707
|
+
r,
|
|
708
708
|
0,
|
|
709
709
|
0,
|
|
710
|
-
|
|
711
|
-
-
|
|
710
|
+
r,
|
|
711
|
+
-c,
|
|
712
712
|
// Inside front cover
|
|
713
713
|
s,
|
|
714
714
|
0,
|
|
715
|
-
-
|
|
716
|
-
|
|
715
|
+
-i,
|
|
716
|
+
i,
|
|
717
717
|
0,
|
|
718
|
-
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
-
|
|
718
|
+
-i,
|
|
719
|
+
i,
|
|
720
|
+
r,
|
|
721
|
+
-i,
|
|
722
722
|
s,
|
|
723
|
-
|
|
724
|
-
-
|
|
723
|
+
r,
|
|
724
|
+
-i,
|
|
725
725
|
// Inside back cover
|
|
726
|
-
|
|
726
|
+
i,
|
|
727
727
|
0,
|
|
728
|
-
-
|
|
728
|
+
-c + i,
|
|
729
729
|
s,
|
|
730
730
|
0,
|
|
731
|
-
-
|
|
731
|
+
-c + i,
|
|
732
732
|
s,
|
|
733
|
-
|
|
734
|
-
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
-
|
|
733
|
+
r,
|
|
734
|
+
-c + i,
|
|
735
|
+
i,
|
|
736
|
+
r,
|
|
737
|
+
-c + i,
|
|
738
738
|
// Inside spine
|
|
739
|
-
|
|
740
|
-
0,
|
|
741
|
-
-
|
|
742
|
-
|
|
743
|
-
0,
|
|
744
|
-
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
-
|
|
739
|
+
i,
|
|
740
|
+
0,
|
|
741
|
+
-i,
|
|
742
|
+
i,
|
|
743
|
+
0,
|
|
744
|
+
-c + i,
|
|
745
|
+
i,
|
|
746
|
+
r,
|
|
747
|
+
-c + i,
|
|
748
|
+
i,
|
|
749
|
+
r,
|
|
750
|
+
-i,
|
|
751
751
|
// Front cover top
|
|
752
752
|
0,
|
|
753
|
-
|
|
753
|
+
r,
|
|
754
754
|
0,
|
|
755
755
|
s,
|
|
756
|
-
|
|
756
|
+
r,
|
|
757
757
|
0,
|
|
758
758
|
s,
|
|
759
|
-
|
|
760
|
-
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
-
|
|
759
|
+
r,
|
|
760
|
+
-i,
|
|
761
|
+
i,
|
|
762
|
+
r,
|
|
763
|
+
-i,
|
|
764
764
|
// Back cover top
|
|
765
765
|
0,
|
|
766
|
-
|
|
767
|
-
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
-
|
|
766
|
+
r,
|
|
767
|
+
-c,
|
|
768
|
+
i,
|
|
769
|
+
r,
|
|
770
|
+
-c + i,
|
|
771
771
|
s,
|
|
772
|
-
|
|
773
|
-
-
|
|
772
|
+
r,
|
|
773
|
+
-c + i,
|
|
774
774
|
s,
|
|
775
|
-
|
|
776
|
-
-
|
|
775
|
+
r,
|
|
776
|
+
-c,
|
|
777
777
|
// Spine cover top
|
|
778
778
|
0,
|
|
779
|
-
|
|
779
|
+
r,
|
|
780
780
|
0,
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
-
|
|
781
|
+
i,
|
|
782
|
+
r,
|
|
783
|
+
-i,
|
|
784
|
+
i,
|
|
785
|
+
r,
|
|
786
|
+
-c + i,
|
|
787
787
|
0,
|
|
788
|
-
|
|
789
|
-
-
|
|
788
|
+
r,
|
|
789
|
+
-c,
|
|
790
790
|
// Front cover bottom
|
|
791
791
|
0,
|
|
792
792
|
0,
|
|
793
793
|
0,
|
|
794
|
-
|
|
794
|
+
i,
|
|
795
795
|
0,
|
|
796
|
-
-
|
|
796
|
+
-i,
|
|
797
797
|
s,
|
|
798
798
|
0,
|
|
799
|
-
-
|
|
799
|
+
-i,
|
|
800
800
|
s,
|
|
801
801
|
0,
|
|
802
802
|
0,
|
|
803
803
|
// Back cover bottom
|
|
804
804
|
0,
|
|
805
805
|
0,
|
|
806
|
-
-
|
|
806
|
+
-c,
|
|
807
807
|
s,
|
|
808
808
|
0,
|
|
809
|
-
-
|
|
809
|
+
-c,
|
|
810
810
|
s,
|
|
811
811
|
0,
|
|
812
|
-
-
|
|
813
|
-
|
|
812
|
+
-c + i,
|
|
813
|
+
i,
|
|
814
814
|
0,
|
|
815
|
-
-
|
|
815
|
+
-c + i,
|
|
816
816
|
// Spine cover bottom
|
|
817
817
|
0,
|
|
818
818
|
0,
|
|
819
819
|
0,
|
|
820
820
|
0,
|
|
821
821
|
0,
|
|
822
|
-
-
|
|
823
|
-
|
|
822
|
+
-c,
|
|
823
|
+
i,
|
|
824
824
|
0,
|
|
825
|
-
-
|
|
826
|
-
|
|
825
|
+
-c + i,
|
|
826
|
+
i,
|
|
827
827
|
0,
|
|
828
|
-
-
|
|
828
|
+
-i,
|
|
829
829
|
// Front cover edge
|
|
830
830
|
s,
|
|
831
831
|
0,
|
|
832
832
|
0,
|
|
833
833
|
s,
|
|
834
834
|
0,
|
|
835
|
-
-
|
|
835
|
+
-i,
|
|
836
836
|
s,
|
|
837
|
-
|
|
838
|
-
-
|
|
837
|
+
r,
|
|
838
|
+
-i,
|
|
839
839
|
s,
|
|
840
|
-
|
|
840
|
+
r,
|
|
841
841
|
0,
|
|
842
842
|
// Back cover edge
|
|
843
843
|
s,
|
|
844
844
|
0,
|
|
845
|
-
-
|
|
845
|
+
-c,
|
|
846
846
|
s,
|
|
847
|
-
|
|
848
|
-
-
|
|
847
|
+
r,
|
|
848
|
+
-c,
|
|
849
849
|
s,
|
|
850
|
-
|
|
851
|
-
-
|
|
850
|
+
r,
|
|
851
|
+
-c + i,
|
|
852
852
|
s,
|
|
853
853
|
0,
|
|
854
|
-
-
|
|
855
|
-
],
|
|
854
|
+
-c + i
|
|
855
|
+
], f = [
|
|
856
856
|
0,
|
|
857
857
|
0,
|
|
858
858
|
1,
|
|
@@ -1261,112 +1261,141 @@ class Pe extends g {
|
|
|
1261
1261
|
54,
|
|
1262
1262
|
55
|
|
1263
1263
|
// Back cover edge
|
|
1264
|
-
],
|
|
1265
|
-
|
|
1266
|
-
const
|
|
1267
|
-
|
|
1264
|
+
], I = new Float32Array(u), S = new Float32Array(f), T = new Float32Array(x), X = new Uint16Array(y), E = new v();
|
|
1265
|
+
E.setAttribute("position", new Z(I, 3)), E.setAttribute("normal", new Z(S, 3)), E.setAttribute("uv", new Z(T, 2)), E.setIndex(new Z(X, 1));
|
|
1266
|
+
const C = new g(e - i - m, r - m * 2, c - i * 2);
|
|
1267
|
+
C.translate((e - i - m) / 2 + i, r / 2, -c / 2), this.copy(A([E, C], !0));
|
|
1268
1268
|
}
|
|
1269
1269
|
}
|
|
1270
|
-
class Ae extends
|
|
1270
|
+
class Ae extends v {
|
|
1271
1271
|
constructor(e = 0.4, t = 1.2, o = 0.2) {
|
|
1272
1272
|
super();
|
|
1273
|
-
const
|
|
1274
|
-
|
|
1275
|
-
const s = e * 1.5,
|
|
1276
|
-
|
|
1273
|
+
const n = t * 0.6, a = new g(e / 2, n, o);
|
|
1274
|
+
a.translate(0, n / 2, 0);
|
|
1275
|
+
const s = e * 1.5, r = new g(s, e / 4, o);
|
|
1276
|
+
r.translate(0, n * 0.75, 0), this.copy(A([a, r], !1)), this.computeVertexNormals();
|
|
1277
1277
|
}
|
|
1278
1278
|
}
|
|
1279
|
-
class ke extends
|
|
1279
|
+
class ke extends v {
|
|
1280
1280
|
constructor(e = 1.75, t = 0.75) {
|
|
1281
1281
|
super();
|
|
1282
|
-
const o = e * 0.05,
|
|
1283
|
-
let
|
|
1284
|
-
const
|
|
1285
|
-
|
|
1286
|
-
const
|
|
1287
|
-
|
|
1288
|
-
const m = new
|
|
1289
|
-
m.translate(0,
|
|
1290
|
-
const u = new
|
|
1291
|
-
u.translate(0,
|
|
1292
|
-
const
|
|
1293
|
-
|
|
1294
|
-
}
|
|
1295
|
-
}
|
|
1296
|
-
class
|
|
1297
|
-
constructor(e = 0.6, t = 1, o = 0.2,
|
|
1282
|
+
const o = e * 0.05, n = e * 0.15, a = e * 0.15, s = e * 0.75;
|
|
1283
|
+
let r = 0;
|
|
1284
|
+
const c = new g(t, o, t);
|
|
1285
|
+
c.translate(0, r + o / 2, 0), r += o;
|
|
1286
|
+
const i = new g(t * 0.8, n, t * 0.8);
|
|
1287
|
+
i.translate(0, r + n / 2, 0), r += n;
|
|
1288
|
+
const m = new g(t * 0.6, a, t * 0.6);
|
|
1289
|
+
m.translate(0, r + a / 2, 0), r += a;
|
|
1290
|
+
const u = new g(t * 0.4, s, t * 0.4);
|
|
1291
|
+
u.translate(0, r + s / 2, 0), r += s;
|
|
1292
|
+
const f = new _(t * 0.4 / Math.sqrt(2), 0.1, 4, 1, !1, Math.PI / 4);
|
|
1293
|
+
f.translate(0, r + 0.1 / 2, 0), this.copy(A([c, i, m, u, f], !1)), this.computeVertexNormals();
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
class Be extends v {
|
|
1297
|
+
constructor(e = 0.6, t = 1, o = 0.2, n = 0.6) {
|
|
1298
1298
|
super();
|
|
1299
|
-
const
|
|
1300
|
-
s.translate(0,
|
|
1301
|
-
const
|
|
1302
|
-
|
|
1299
|
+
const a = t - n / 2, s = new g(e, a, o);
|
|
1300
|
+
s.translate(0, a / 2, 0);
|
|
1301
|
+
const r = new G(n / 2, n / 2, o, 16, 1, !1, 0, Math.PI);
|
|
1302
|
+
r.rotateY(Math.PI / 2), r.rotateX(Math.PI / 2), r.translate(0, a, 0), this.copy(A([s, r], !1)), this.computeVertexNormals();
|
|
1303
1303
|
}
|
|
1304
1304
|
}
|
|
1305
|
-
class
|
|
1305
|
+
class Te extends v {
|
|
1306
1306
|
constructor(e = 0.5, t = 0.8, o = 0.15) {
|
|
1307
1307
|
super();
|
|
1308
|
-
const
|
|
1309
|
-
|
|
1308
|
+
const n = new g(e, t, o);
|
|
1309
|
+
n.translate(0, t / 2, 0), this.copy(n);
|
|
1310
1310
|
}
|
|
1311
1311
|
}
|
|
1312
|
-
class Ee extends
|
|
1312
|
+
class Ee extends v {
|
|
1313
1313
|
constructor({ height: e = 2.25 } = {}) {
|
|
1314
1314
|
super();
|
|
1315
|
-
const t = new
|
|
1315
|
+
const t = new g(1.2, 0.5, 1.2);
|
|
1316
1316
|
t.translate(0, 0.25, 0);
|
|
1317
|
-
const o = new
|
|
1317
|
+
const o = new g(1, e, 1);
|
|
1318
1318
|
o.translate(0, 0.5 + e / 2, 0);
|
|
1319
|
-
const
|
|
1320
|
-
|
|
1319
|
+
const n = new g(1.4, 0.3, 1.4);
|
|
1320
|
+
n.translate(0, 0.5 + e + 0.15, 0), this.copy(A([t, o, n], !1));
|
|
1321
1321
|
}
|
|
1322
1322
|
}
|
|
1323
|
-
class re extends
|
|
1323
|
+
class re extends v {
|
|
1324
1324
|
constructor({
|
|
1325
1325
|
barHeight: e = 2,
|
|
1326
1326
|
//
|
|
1327
1327
|
barRadius: t = 0.05,
|
|
1328
1328
|
spikeHeight: o = 0.3,
|
|
1329
|
-
spikeRadius:
|
|
1330
|
-
spikeScaleZ:
|
|
1329
|
+
spikeRadius: n = 0.075,
|
|
1330
|
+
spikeScaleZ: a = 1,
|
|
1331
1331
|
radialSegments: s = 8
|
|
1332
1332
|
} = {}) {
|
|
1333
1333
|
super();
|
|
1334
|
-
const
|
|
1335
|
-
|
|
1336
|
-
const
|
|
1337
|
-
|
|
1334
|
+
const r = new G(t, t, e, s);
|
|
1335
|
+
r.translate(0, e / 2, 0);
|
|
1336
|
+
const c = new _(n, o, s);
|
|
1337
|
+
c.translate(0, e + o / 2, 0), c.scale(1, 1, a), this.copy(A([r, c], !1));
|
|
1338
1338
|
}
|
|
1339
1339
|
}
|
|
1340
|
-
class Ce extends
|
|
1340
|
+
class Ce extends v {
|
|
1341
1341
|
constructor({
|
|
1342
1342
|
count: e = 20,
|
|
1343
1343
|
//
|
|
1344
1344
|
spacing: t = 0.4,
|
|
1345
1345
|
barHeight: o = 2,
|
|
1346
|
-
barRadius:
|
|
1347
|
-
spikeHeight:
|
|
1346
|
+
barRadius: n = 0.05,
|
|
1347
|
+
spikeHeight: a = 0.3,
|
|
1348
1348
|
spikeRadius: s = 0.075,
|
|
1349
|
-
spikeScaleZ:
|
|
1350
|
-
railHeight:
|
|
1351
|
-
railDepth:
|
|
1352
|
-
railOffset: m = 0
|
|
1349
|
+
spikeScaleZ: r = 1,
|
|
1350
|
+
railHeight: c = 0.1,
|
|
1351
|
+
railDepth: i = 0.05,
|
|
1352
|
+
railOffset: m = 0,
|
|
1353
|
+
radialSegments: u = 8
|
|
1353
1354
|
} = {}) {
|
|
1354
1355
|
super();
|
|
1355
|
-
const
|
|
1356
|
-
for (let
|
|
1357
|
-
const
|
|
1358
|
-
|
|
1356
|
+
const f = [], d = new re({ barHeight: o, barRadius: n, spikeHeight: a, spikeRadius: s, spikeScaleZ: r, radialSegments: u }), p = new g(e * t, c, i);
|
|
1357
|
+
for (let I = 0; I < e; I++) {
|
|
1358
|
+
const S = d.clone();
|
|
1359
|
+
S.translate(I * t, 0, 0), f.push(S);
|
|
1359
1360
|
}
|
|
1360
|
-
const
|
|
1361
|
-
|
|
1362
|
-
const
|
|
1363
|
-
|
|
1361
|
+
const x = p.clone();
|
|
1362
|
+
x.translate(t * (e - 1) / 2, o - m - c / 2, 0), f.push(x);
|
|
1363
|
+
const y = p.clone();
|
|
1364
|
+
y.translate(t * (e - 1) / 2, c / 2, 0), f.push(y), this.copy(A(f));
|
|
1364
1365
|
}
|
|
1365
1366
|
}
|
|
1366
|
-
class
|
|
1367
|
+
class Ne extends v {
|
|
1368
|
+
constructor({
|
|
1369
|
+
width: e = 5,
|
|
1370
|
+
//
|
|
1371
|
+
height: t = 8,
|
|
1372
|
+
depth: o = 1,
|
|
1373
|
+
shelves: n = 4,
|
|
1374
|
+
frameThickness: a = 0.1
|
|
1375
|
+
} = {}) {
|
|
1376
|
+
super();
|
|
1377
|
+
const s = t, r = e, c = o, i = new g(a, s, c), m = new g(r - 2 * a, a, c), u = i.clone();
|
|
1378
|
+
u.translate(-r / 2 + a / 2, s / 2, 0);
|
|
1379
|
+
const f = i.clone();
|
|
1380
|
+
f.translate(r / 2 - a / 2, s / 2, 0);
|
|
1381
|
+
const d = m.clone();
|
|
1382
|
+
d.translate(0, s - a / 2, 0);
|
|
1383
|
+
const p = m.clone();
|
|
1384
|
+
p.translate(0, a / 2, 0);
|
|
1385
|
+
const x = new g(r, s, a);
|
|
1386
|
+
x.translate(0, s / 2, -c / 2 + a / 2);
|
|
1387
|
+
const y = [], I = (s - a) / (n + 1);
|
|
1388
|
+
for (let S = 1; S <= n; S++) {
|
|
1389
|
+
const T = m.clone();
|
|
1390
|
+
T.translate(0, a / 2 + S * I, 0), y.push(T);
|
|
1391
|
+
}
|
|
1392
|
+
this.copy(A([u, f, d, p, x, ...y], !1));
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
class wt extends v {
|
|
1367
1396
|
constructor(e = 0.1) {
|
|
1368
1397
|
super();
|
|
1369
|
-
const t = [], o = [],
|
|
1398
|
+
const t = [], o = [], n = [
|
|
1370
1399
|
[0, 1],
|
|
1371
1400
|
// Top point
|
|
1372
1401
|
[0.5, 0.75],
|
|
@@ -1384,144 +1413,191 @@ class ht extends g {
|
|
|
1384
1413
|
[-0.5, 0.75]
|
|
1385
1414
|
// Left upper middle
|
|
1386
1415
|
];
|
|
1387
|
-
for (let s = 0; s <
|
|
1388
|
-
const [
|
|
1389
|
-
t.push(
|
|
1416
|
+
for (let s = 0; s < n.length; s++) {
|
|
1417
|
+
const [r, c] = n[s];
|
|
1418
|
+
t.push(r * e, c * e, 0);
|
|
1390
1419
|
}
|
|
1391
|
-
for (let s = 1; s <
|
|
1420
|
+
for (let s = 1; s < n.length - 1; s++)
|
|
1392
1421
|
o.push(0, s, s + 1);
|
|
1393
|
-
o.push(0,
|
|
1394
|
-
const
|
|
1395
|
-
this.setAttribute("position",
|
|
1422
|
+
o.push(0, n.length - 1, 1);
|
|
1423
|
+
const a = new U(t, 3);
|
|
1424
|
+
this.setAttribute("position", a), this.setIndex(o), this.computeVertexNormals();
|
|
1396
1425
|
}
|
|
1397
1426
|
}
|
|
1398
|
-
function
|
|
1399
|
-
|
|
1400
|
-
const
|
|
1401
|
-
for (let
|
|
1402
|
-
const s = new M().fromBufferAttribute(
|
|
1403
|
-
s.add(
|
|
1427
|
+
function Fe(l, e = F.XYZ, t = 0.5, o = 2) {
|
|
1428
|
+
l.deleteAttribute("uv"), l.deleteAttribute("normal"), l = Se(l), l.computeVertexNormals();
|
|
1429
|
+
const n = l.getAttribute("position");
|
|
1430
|
+
for (let a = 0; a < n.count; a++) {
|
|
1431
|
+
const s = new M().fromBufferAttribute(n, a), r = Math.random() * (o - t) + t, c = e.clone().multiplyScalar(r);
|
|
1432
|
+
s.add(c), n.setXYZ(a, s.x, s.y, s.z);
|
|
1404
1433
|
}
|
|
1405
|
-
return
|
|
1434
|
+
return n.needsUpdate = !0, l.computeVertexNormals(), l;
|
|
1406
1435
|
}
|
|
1407
|
-
class
|
|
1436
|
+
class Ue extends v {
|
|
1408
1437
|
constructor(e = 1, t = 4, o = 4) {
|
|
1409
1438
|
super();
|
|
1410
|
-
const
|
|
1411
|
-
this.copy(
|
|
1439
|
+
const n = new B(e, t, o);
|
|
1440
|
+
this.copy(Fe(n, F.XYZ, 0.5, 1)), this.computeVertexNormals(), this.center();
|
|
1412
1441
|
}
|
|
1413
1442
|
}
|
|
1414
|
-
class
|
|
1415
|
-
constructor(e = 0.1, t = 0.1, o = 0.4,
|
|
1443
|
+
class ze extends v {
|
|
1444
|
+
constructor(e = 0.1, t = 0.1, o = 0.4, n = 8) {
|
|
1416
1445
|
super();
|
|
1417
|
-
const
|
|
1418
|
-
|
|
1419
|
-
const s = new
|
|
1420
|
-
|
|
1446
|
+
const a = new G(e * 0.6, t * 0.6, o, n);
|
|
1447
|
+
a.translate(0, 0, 0);
|
|
1448
|
+
const s = new B(e, n, n), r = s.clone(), c = s.clone(), i = s.clone(), m = s.clone();
|
|
1449
|
+
r.translate(0, o / 2 + e * 0.6, -e * 0.6), c.translate(0, o / 2 + e * 0.6, e * 0.6), i.translate(0, -o / 2 - t * 0.6, -t * 0.6), m.translate(0, -o / 2 - t * 0.6, t * 0.6), this.copy(A([a, r, c, i, m], !1));
|
|
1421
1450
|
}
|
|
1422
1451
|
}
|
|
1423
|
-
class
|
|
1452
|
+
class _e extends v {
|
|
1424
1453
|
constructor() {
|
|
1425
1454
|
super();
|
|
1426
|
-
const e = new
|
|
1455
|
+
const e = new B(1, 16, 16), t = new G(0.2, 0.2, 2, 16, 1, !0);
|
|
1427
1456
|
t.translate(0, 1.5, 0), t.rotateX(Math.PI / 2), this.copy(A([e, t], !1));
|
|
1428
1457
|
}
|
|
1429
1458
|
}
|
|
1430
|
-
class
|
|
1459
|
+
class Le extends v {
|
|
1460
|
+
constructor({
|
|
1461
|
+
flaskRadius: e = 1,
|
|
1462
|
+
//
|
|
1463
|
+
neckRadius: t = 0.3,
|
|
1464
|
+
height: o = 2.5,
|
|
1465
|
+
neckHeight: n = 1,
|
|
1466
|
+
radialSegments: a = 16
|
|
1467
|
+
} = {}) {
|
|
1468
|
+
super();
|
|
1469
|
+
const s = [
|
|
1470
|
+
new b(0, 0),
|
|
1471
|
+
// Bottom of the flask
|
|
1472
|
+
new b(e * 0.875, 0),
|
|
1473
|
+
// Flat base with minimum width
|
|
1474
|
+
new b(e, 0.1),
|
|
1475
|
+
// End of the rounded base
|
|
1476
|
+
new b(t, o),
|
|
1477
|
+
// Start of the straight neck
|
|
1478
|
+
new b(t, o + n),
|
|
1479
|
+
// End of the straight neck
|
|
1480
|
+
new b(t * 1.1, o + n + 0.3)
|
|
1481
|
+
// Slight outward lip at the top
|
|
1482
|
+
], r = new L(s, a);
|
|
1483
|
+
this.copy(A([r], !1));
|
|
1484
|
+
}
|
|
1485
|
+
}
|
|
1486
|
+
class qe extends v {
|
|
1431
1487
|
constructor() {
|
|
1432
1488
|
super();
|
|
1433
1489
|
const e = [
|
|
1434
|
-
new
|
|
1490
|
+
new b(1, 0),
|
|
1435
1491
|
// Bottom of the bowl
|
|
1436
|
-
new
|
|
1492
|
+
new b(1.2, 0.5),
|
|
1437
1493
|
// Slight flare at the base
|
|
1438
|
-
new
|
|
1494
|
+
new b(1.4, 1.5),
|
|
1439
1495
|
// Outer wall
|
|
1440
|
-
new
|
|
1496
|
+
new b(1.3, 1.8),
|
|
1441
1497
|
// Flared edge
|
|
1442
|
-
new
|
|
1498
|
+
new b(0.8, 1.8)
|
|
1443
1499
|
// Lip of the bowl
|
|
1444
|
-
], t = new
|
|
1500
|
+
], t = new L(e, 12), o = new me(1, 12);
|
|
1445
1501
|
o.rotateX(-Math.PI / 2), o.translate(0, 0, 0), this.copy(A([t, o], !1));
|
|
1446
1502
|
}
|
|
1447
1503
|
}
|
|
1448
|
-
class
|
|
1449
|
-
constructor(
|
|
1504
|
+
class Oe extends v {
|
|
1505
|
+
constructor({
|
|
1506
|
+
radius: e = 0.3,
|
|
1507
|
+
//
|
|
1508
|
+
height: t = 0.4,
|
|
1509
|
+
count: o = 3,
|
|
1510
|
+
thickness: n = 0.03,
|
|
1511
|
+
radialSegments: a = 16
|
|
1512
|
+
} = {}) {
|
|
1513
|
+
super();
|
|
1514
|
+
const s = new oe(e, n, 8, a);
|
|
1515
|
+
s.rotateX(Math.PI / 2), s.translate(0, t, 0);
|
|
1516
|
+
const r = new G(n * 0.6, n * 0.6, t, a), c = [];
|
|
1517
|
+
for (let i = 0; i < o; i++) {
|
|
1518
|
+
const m = i / o * Math.PI * 2, u = r.clone();
|
|
1519
|
+
u.translate(Math.cos(m) * e, t / 2, Math.sin(m) * e), c.push(u);
|
|
1520
|
+
}
|
|
1521
|
+
this.copy(A([s, ...c], !1));
|
|
1522
|
+
}
|
|
1523
|
+
}
|
|
1524
|
+
class Q extends v {
|
|
1525
|
+
constructor(e = 0.2, t = 0.2, o = 3, n = 32, a = !0) {
|
|
1450
1526
|
super();
|
|
1451
|
-
const s = new
|
|
1452
|
-
|
|
1527
|
+
const s = new G(e, t, o, n, 1, a), r = new B(t, n, n / 2, 0, Math.PI * 2, Math.PI / 2, Math.PI / 2);
|
|
1528
|
+
r.translate(0, -(o / 2), 0), this.copy(A([s, r], !1));
|
|
1453
1529
|
}
|
|
1454
1530
|
}
|
|
1455
|
-
class
|
|
1456
|
-
constructor({ radius: e = 0.5, neckRadius: t = 0.2, height: o = 3, neckHeight:
|
|
1531
|
+
class Ve extends v {
|
|
1532
|
+
constructor({ radius: e = 0.5, neckRadius: t = 0.2, height: o = 3, neckHeight: n = 1, segments: a = 16 } = {}) {
|
|
1457
1533
|
super();
|
|
1458
|
-
const s = o -
|
|
1459
|
-
|
|
1460
|
-
const
|
|
1461
|
-
|
|
1462
|
-
const m = new
|
|
1463
|
-
m.translate(0, s +
|
|
1534
|
+
const s = o - n, r = new G(e, e, s, a);
|
|
1535
|
+
r.translate(0, s / 2, 0);
|
|
1536
|
+
const c = 0.3, i = new G(t, e, c, a);
|
|
1537
|
+
i.translate(0, s + c / 2, 0);
|
|
1538
|
+
const m = new G(t, t, n, a);
|
|
1539
|
+
m.translate(0, s + c + n / 2, 0), this.copy(A([r, i, m], !1));
|
|
1464
1540
|
}
|
|
1465
1541
|
}
|
|
1466
|
-
class
|
|
1542
|
+
class Xe extends v {
|
|
1467
1543
|
constructor({
|
|
1468
1544
|
radius: e = 3,
|
|
1469
1545
|
//
|
|
1470
1546
|
height: t = 0.6,
|
|
1471
1547
|
widthSegments: o = 64,
|
|
1472
|
-
heightSegments:
|
|
1473
|
-
phiStart:
|
|
1548
|
+
heightSegments: n = 16,
|
|
1549
|
+
phiStart: a = 0,
|
|
1474
1550
|
phiLength: s = Math.PI * 2
|
|
1475
1551
|
} = {}) {
|
|
1476
|
-
super(), this.copy(new
|
|
1552
|
+
super(), this.copy(new B(e, o, n, a, s, 0, Math.PI / 2)), this.scale(1, t / e, 1);
|
|
1477
1553
|
}
|
|
1478
1554
|
}
|
|
1479
|
-
const
|
|
1480
|
-
class
|
|
1555
|
+
const yt = (l, e) => l / (1 - Math.cos(e)), ae = (l, e) => l / (2 * Math.sin(e)), Ye = (l, e) => l * (1 - Math.cos(e)), xt = (l, e) => 2 * l * Math.sin(e);
|
|
1556
|
+
class Ze extends v {
|
|
1481
1557
|
constructor({
|
|
1482
1558
|
radius: e = ae(5, Math.PI / 10),
|
|
1483
1559
|
//
|
|
1484
1560
|
widthSegments: t = 64,
|
|
1485
1561
|
heightSegments: o = 32,
|
|
1486
|
-
phiStart:
|
|
1487
|
-
phiLength:
|
|
1562
|
+
phiStart: n = 0,
|
|
1563
|
+
phiLength: a = Math.PI * 2,
|
|
1488
1564
|
thetaLength: s = Math.PI / 10
|
|
1489
1565
|
} = {}) {
|
|
1490
|
-
super(), this.copy(new
|
|
1491
|
-
const
|
|
1492
|
-
this.translate(0, -e +
|
|
1566
|
+
super(), this.copy(new B(e, t, o, n, a, 0, s));
|
|
1567
|
+
const r = Ye(e, s);
|
|
1568
|
+
this.translate(0, -e + r, 0);
|
|
1493
1569
|
}
|
|
1494
1570
|
}
|
|
1495
|
-
class
|
|
1571
|
+
class De extends v {
|
|
1496
1572
|
constructor({
|
|
1497
1573
|
trunkRadiusTop: e = 0.25,
|
|
1498
1574
|
trunkRadiusBottom: t = 0.4,
|
|
1499
1575
|
trunkHeight: o = 2.5,
|
|
1500
|
-
trunkSegments:
|
|
1501
|
-
leafSize:
|
|
1576
|
+
trunkSegments: n = 14,
|
|
1577
|
+
leafSize: a = 0.8,
|
|
1502
1578
|
leafCount: s = 6,
|
|
1503
|
-
leafDetail:
|
|
1504
|
-
leafSpreadRadius:
|
|
1579
|
+
leafDetail: r = 0,
|
|
1580
|
+
leafSpreadRadius: c = 1.5
|
|
1505
1581
|
} = {}) {
|
|
1506
1582
|
super();
|
|
1507
|
-
const
|
|
1508
|
-
|
|
1583
|
+
const i = new G(e, t, o, n);
|
|
1584
|
+
i.translate(0, o / 2, 0);
|
|
1509
1585
|
const m = [];
|
|
1510
1586
|
for (let u = 0; u < s; u++) {
|
|
1511
|
-
const
|
|
1512
|
-
|
|
1513
|
-
(Math.random() - 0.5) *
|
|
1514
|
-
(Math.random() - 0.5) *
|
|
1515
|
-
(Math.random() - 0.5) *
|
|
1516
|
-
), m.push(
|
|
1587
|
+
const f = new j(a, r);
|
|
1588
|
+
f.translate(
|
|
1589
|
+
(Math.random() - 0.5) * c,
|
|
1590
|
+
(Math.random() - 0.5) * a + o,
|
|
1591
|
+
(Math.random() - 0.5) * c
|
|
1592
|
+
), m.push(f);
|
|
1517
1593
|
}
|
|
1518
|
-
this.copy(A([
|
|
1594
|
+
this.copy(A([i.toNonIndexed(), A(m, !1)], !0)), this.computeVertexNormals();
|
|
1519
1595
|
}
|
|
1520
1596
|
}
|
|
1521
|
-
class
|
|
1597
|
+
class Mt extends P {
|
|
1522
1598
|
constructor() {
|
|
1523
1599
|
super();
|
|
1524
|
-
const e = new
|
|
1600
|
+
const e = new B(5, 32, 32), t = new K({
|
|
1525
1601
|
uniforms: {
|
|
1526
1602
|
time: { value: 0 }
|
|
1527
1603
|
},
|
|
@@ -1564,156 +1640,170 @@ class wt extends b {
|
|
|
1564
1640
|
gl_FragColor = vec4(color, 1.0);
|
|
1565
1641
|
}
|
|
1566
1642
|
`
|
|
1567
|
-
}), o = new
|
|
1643
|
+
}), o = new h(e, t);
|
|
1568
1644
|
this.add(o);
|
|
1569
1645
|
}
|
|
1570
1646
|
}
|
|
1571
|
-
class
|
|
1647
|
+
class vt extends h {
|
|
1572
1648
|
constructor({
|
|
1573
1649
|
width: e = 1,
|
|
1574
1650
|
height: t = 1.5,
|
|
1575
1651
|
depth: o = 0.5,
|
|
1576
|
-
coverThickness:
|
|
1577
|
-
pageIndent:
|
|
1652
|
+
coverThickness: n = 0.05,
|
|
1653
|
+
pageIndent: a = 0.05,
|
|
1578
1654
|
coverColor: s = 9109504,
|
|
1579
|
-
pageColor:
|
|
1655
|
+
pageColor: r = 16777215
|
|
1580
1656
|
} = {}) {
|
|
1581
|
-
super(), this.geometry = new Pe(e, t, o,
|
|
1657
|
+
super(), this.geometry = new Pe(e, t, o, n, a), this.material = [
|
|
1582
1658
|
new w({ color: s, metalness: 0.1, roughness: 0.7, flatShading: !0 }),
|
|
1583
|
-
new w({ color:
|
|
1659
|
+
new w({ color: r, flatShading: !0 })
|
|
1584
1660
|
];
|
|
1585
1661
|
}
|
|
1586
1662
|
}
|
|
1587
|
-
class
|
|
1663
|
+
class gt extends h {
|
|
1588
1664
|
constructor(e = 0.4, t = 1.2, o = 0.2) {
|
|
1589
1665
|
super(), this.geometry = new Ae(e, t, o), this.material = new w({ color: 7829367, roughness: 0.8 });
|
|
1590
1666
|
}
|
|
1591
1667
|
}
|
|
1592
|
-
class
|
|
1668
|
+
class St extends P {
|
|
1593
1669
|
constructor() {
|
|
1594
1670
|
super();
|
|
1595
|
-
const e = new
|
|
1671
|
+
const e = new g(5, 1, 5), t = new w({ color: 8421504, flatShading: !0 }), o = new h(e, t);
|
|
1596
1672
|
o.position.set(0, 0.5, 0), this.add(o);
|
|
1597
|
-
const
|
|
1673
|
+
const n = new g(4, 3, 4), a = new w({ color: 6908265, flatShading: !0 }), s = new h(n, a);
|
|
1598
1674
|
s.position.set(0, 2.5, 0), this.add(s);
|
|
1599
|
-
const
|
|
1600
|
-
|
|
1601
|
-
const m = new
|
|
1675
|
+
const r = new _(3.5, 2, 4), c = new w({ color: 5263440, flatShading: !0 }), i = new h(r, c);
|
|
1676
|
+
i.rotation.y = Math.PI / 4, i.position.set(0, 5, 0), this.add(i);
|
|
1677
|
+
const m = new G(0.2, 0.2, 3.5, 16), u = new w({ color: 6908265, flatShading: !0 });
|
|
1602
1678
|
[
|
|
1603
1679
|
[-1.8, 2.3, -2.2],
|
|
1604
1680
|
[1.8, 2.3, -2.2],
|
|
1605
1681
|
[-1.8, 2.3, 2.2],
|
|
1606
1682
|
[1.8, 2.3, 2.2]
|
|
1607
|
-
].forEach((
|
|
1608
|
-
const
|
|
1609
|
-
|
|
1683
|
+
].forEach((S) => {
|
|
1684
|
+
const T = new h(m, u);
|
|
1685
|
+
T.position.set(...S), this.add(T);
|
|
1610
1686
|
});
|
|
1611
|
-
const d = new
|
|
1687
|
+
const d = new q();
|
|
1612
1688
|
d.moveTo(-1, 0), d.lineTo(-1, 2), d.absarc(0, 2, 1, Math.PI, 0, !0), d.lineTo(1, 0);
|
|
1613
1689
|
const p = {
|
|
1614
1690
|
depth: 0.5,
|
|
1615
1691
|
bevelEnabled: !1
|
|
1616
|
-
}, x = new
|
|
1617
|
-
|
|
1692
|
+
}, x = new O(d, p), y = new w({ color: 4210752, flatShading: !0 }), I = new h(x, y);
|
|
1693
|
+
I.position.set(0, 0.5, 1.7), this.add(I);
|
|
1618
1694
|
}
|
|
1619
1695
|
}
|
|
1620
|
-
class
|
|
1696
|
+
class bt extends h {
|
|
1621
1697
|
constructor(e = 1.75, t = 0.75) {
|
|
1622
1698
|
super(), this.geometry = new ke(e, t), this.material = new w({ color: 7829367, roughness: 0.8 });
|
|
1623
1699
|
}
|
|
1624
1700
|
}
|
|
1625
|
-
class
|
|
1626
|
-
constructor(e = 0.6, t = 1, o = 0.2,
|
|
1627
|
-
super(), this.geometry = new
|
|
1701
|
+
class Gt extends h {
|
|
1702
|
+
constructor(e = 0.6, t = 1, o = 0.2, n = 0.6) {
|
|
1703
|
+
super(), this.geometry = new Be(e, t, o, n), this.material = new w({ color: 7829367, roughness: 0.8 });
|
|
1628
1704
|
}
|
|
1629
1705
|
}
|
|
1630
|
-
class
|
|
1706
|
+
class It extends h {
|
|
1631
1707
|
constructor(e = 0.5, t = 0.8, o = 0.15) {
|
|
1632
|
-
super(), this.geometry = new
|
|
1708
|
+
super(), this.geometry = new Te(e, t, o), this.material = new w({ color: 7829367, roughness: 0.8 });
|
|
1633
1709
|
}
|
|
1634
1710
|
}
|
|
1635
|
-
class
|
|
1711
|
+
class Pt extends h {
|
|
1636
1712
|
constructor({ height: e = 2.25 } = {}) {
|
|
1637
1713
|
super(), this.geometry = new Ee({ height: e }), this.material = new w({ color: 9141627, flatShading: !0 });
|
|
1638
1714
|
}
|
|
1639
1715
|
}
|
|
1640
|
-
class
|
|
1716
|
+
class At extends h {
|
|
1641
1717
|
constructor({
|
|
1642
1718
|
barHeight: e = 2,
|
|
1643
1719
|
//
|
|
1644
1720
|
barRadius: t = 0.05,
|
|
1645
1721
|
spikeHeight: o = 0.3,
|
|
1646
|
-
spikeRadius:
|
|
1647
|
-
spikeScaleZ:
|
|
1722
|
+
spikeRadius: n = 0.075,
|
|
1723
|
+
spikeScaleZ: a = 1,
|
|
1648
1724
|
radialSegments: s = 8
|
|
1649
1725
|
} = {}) {
|
|
1650
1726
|
super(), this.geometry = new re({
|
|
1651
1727
|
barHeight: e,
|
|
1652
1728
|
barRadius: t,
|
|
1653
1729
|
spikeHeight: o,
|
|
1654
|
-
spikeRadius:
|
|
1655
|
-
spikeScaleZ:
|
|
1730
|
+
spikeRadius: n,
|
|
1731
|
+
spikeScaleZ: a,
|
|
1656
1732
|
radialSegments: s
|
|
1657
1733
|
}), this.material = new w({ color: 3355443, metalness: 0.8, roughness: 0.4 });
|
|
1658
1734
|
}
|
|
1659
1735
|
}
|
|
1660
|
-
class
|
|
1736
|
+
class kt extends h {
|
|
1661
1737
|
constructor({
|
|
1662
1738
|
count: e = 20,
|
|
1663
1739
|
//
|
|
1664
1740
|
spacing: t = 0.4,
|
|
1665
1741
|
barHeight: o = 2,
|
|
1666
|
-
barRadius:
|
|
1667
|
-
spikeHeight:
|
|
1742
|
+
barRadius: n = 0.05,
|
|
1743
|
+
spikeHeight: a = 0.3,
|
|
1668
1744
|
spikeRadius: s = 0.075,
|
|
1669
|
-
spikeScaleZ:
|
|
1670
|
-
railHeight:
|
|
1671
|
-
railDepth:
|
|
1672
|
-
railOffset: m = 0
|
|
1745
|
+
spikeScaleZ: r = 1,
|
|
1746
|
+
railHeight: c = 0.1,
|
|
1747
|
+
railDepth: i = 0.05,
|
|
1748
|
+
railOffset: m = 0,
|
|
1749
|
+
radialSegments: u = 8
|
|
1673
1750
|
} = {}) {
|
|
1674
1751
|
super(), this.geometry = new Ce({
|
|
1675
1752
|
count: e,
|
|
1676
1753
|
spacing: t,
|
|
1677
1754
|
barHeight: o,
|
|
1678
|
-
barRadius:
|
|
1679
|
-
spikeHeight:
|
|
1755
|
+
barRadius: n,
|
|
1756
|
+
spikeHeight: a,
|
|
1680
1757
|
spikeRadius: s,
|
|
1681
|
-
spikeScaleZ:
|
|
1682
|
-
railHeight:
|
|
1683
|
-
railDepth:
|
|
1684
|
-
railOffset: m
|
|
1758
|
+
spikeScaleZ: r,
|
|
1759
|
+
railHeight: c,
|
|
1760
|
+
railDepth: i,
|
|
1761
|
+
railOffset: m,
|
|
1762
|
+
radialSegments: u
|
|
1685
1763
|
}), this.material = new w({ color: 3355443, metalness: 0.8, roughness: 0.4 });
|
|
1686
1764
|
}
|
|
1687
1765
|
}
|
|
1688
|
-
class
|
|
1766
|
+
class Bt extends h {
|
|
1767
|
+
constructor({
|
|
1768
|
+
width: e = 5,
|
|
1769
|
+
//
|
|
1770
|
+
height: t = 8,
|
|
1771
|
+
depth: o = 1,
|
|
1772
|
+
shelves: n = 4,
|
|
1773
|
+
frameThickness: a = 0.1
|
|
1774
|
+
} = {}) {
|
|
1775
|
+
super(), this.geometry = new Ne({ width: e, height: t, depth: o, shelves: n, frameThickness: a }), this.material = new w({ color: 9127187 });
|
|
1776
|
+
}
|
|
1777
|
+
}
|
|
1778
|
+
class Tt extends P {
|
|
1689
1779
|
constructor() {
|
|
1690
1780
|
super();
|
|
1691
|
-
const e = new
|
|
1781
|
+
const e = new g(5, 0.3, 3), t = new w({ color: 9132587 }), o = new h(e, t);
|
|
1692
1782
|
o.position.set(0, 3.15, 0);
|
|
1693
|
-
const
|
|
1694
|
-
|
|
1695
|
-
const
|
|
1783
|
+
const n = [];
|
|
1784
|
+
n.push(new b(0.2, 0)), n.push(new b(0.25, 0.5)), n.push(new b(0.15, 1.5)), n.push(new b(0.3, 3));
|
|
1785
|
+
const a = new L(n, 32), s = new w({ color: 4929057 });
|
|
1696
1786
|
[
|
|
1697
1787
|
[2.2, 0, 1.2],
|
|
1698
1788
|
// Adjust Y to 0 so legs start at ground level
|
|
1699
1789
|
[-2.2, 0, 1.2],
|
|
1700
1790
|
[2.2, 0, -1.2],
|
|
1701
1791
|
[-2.2, 0, -1.2]
|
|
1702
|
-
].forEach((
|
|
1703
|
-
const
|
|
1704
|
-
|
|
1792
|
+
].forEach((c) => {
|
|
1793
|
+
const i = new h(a, s);
|
|
1794
|
+
i.position.set(...c), this.add(i);
|
|
1705
1795
|
}), this.add(o);
|
|
1706
1796
|
}
|
|
1707
1797
|
}
|
|
1708
|
-
class
|
|
1798
|
+
class Et extends P {
|
|
1709
1799
|
constructor(e = 1, t = 0.2) {
|
|
1710
1800
|
super(), this.height = e, this.radius = t, this.createCandle(), this.animateFlicker();
|
|
1711
1801
|
}
|
|
1712
1802
|
createCandle() {
|
|
1713
|
-
const e = new
|
|
1714
|
-
this.candle = new
|
|
1715
|
-
const o = new
|
|
1716
|
-
this.flame = new
|
|
1803
|
+
const e = new G(this.radius, this.radius, this.height, 32), t = new w({ color: 16777215 });
|
|
1804
|
+
this.candle = new h(e, t), this.candle.position.set(0, this.height / 2, 0), this.add(this.candle);
|
|
1805
|
+
const o = new B(0.05, 16, 16), n = new ue({ color: 16753920 });
|
|
1806
|
+
this.flame = new h(o, n), this.flame.position.set(0, this.height + 0.05, 0), this.add(this.flame), this.candleLight = new se(16753920, 1, 5), this.candleLight.position.set(0, this.height + 0.05, 0), this.candleLight.castShadow = !0, this.add(this.candleLight);
|
|
1717
1807
|
}
|
|
1718
1808
|
animateFlicker() {
|
|
1719
1809
|
const e = () => {
|
|
@@ -1722,52 +1812,52 @@ class At extends b {
|
|
|
1722
1812
|
e();
|
|
1723
1813
|
}
|
|
1724
1814
|
}
|
|
1725
|
-
class
|
|
1815
|
+
class Ct extends P {
|
|
1726
1816
|
constructor(e = 1.3, t = 0.5) {
|
|
1727
1817
|
super();
|
|
1728
|
-
const o = new
|
|
1729
|
-
|
|
1730
|
-
const s = new
|
|
1731
|
-
|
|
1732
|
-
const
|
|
1818
|
+
const o = new G(t, t, 0.2, 16), n = new w({ color: 9127187, flatShading: !0 }), a = new h(o, n);
|
|
1819
|
+
a.position.set(0, 0, 0), this.add(a);
|
|
1820
|
+
const s = new G(t * 0.9, t * 0.9, e), r = new w({ color: 16766720, flatShading: !0, transparent: !0, opacity: 0.6 }), c = new h(s, r);
|
|
1821
|
+
c.position.set(0, e / 2 + 0.1, 0), this.add(c);
|
|
1822
|
+
const i = new _(t * 1.1, 0.5, 8), m = new w({ color: 9127187, flatShading: !0 }), u = new h(i, m);
|
|
1733
1823
|
u.position.set(0, e + 0.35, 0), this.add(u);
|
|
1734
|
-
const
|
|
1824
|
+
const f = new oe(t * 0.8, 0.05, 8, 16), d = new w({ color: 9127187, flatShading: !0 }), p = new h(f, d);
|
|
1735
1825
|
p.position.set(0, e + 0.85, 0), this.add(p);
|
|
1736
|
-
const x = new
|
|
1826
|
+
const x = new se(16755200, 1.5, 15);
|
|
1737
1827
|
x.position.set(0, e / 2 + 0.1, 0), x.castShadow = !0, this.add(x);
|
|
1738
1828
|
}
|
|
1739
1829
|
}
|
|
1740
|
-
class
|
|
1830
|
+
class Nt extends P {
|
|
1741
1831
|
constructor() {
|
|
1742
1832
|
super();
|
|
1743
|
-
const e = new
|
|
1744
|
-
for (let
|
|
1745
|
-
const
|
|
1746
|
-
|
|
1747
|
-
const s = new
|
|
1748
|
-
s.scale.set(
|
|
1833
|
+
const e = new j(1, 0), t = new w({ color: 8421504, flatShading: !0 }), o = new w({ color: 4950843, flatShading: !0, opacity: 0.8, transparent: !0 });
|
|
1834
|
+
for (let n = 0; n < 5; n++) {
|
|
1835
|
+
const a = new h(e, t);
|
|
1836
|
+
a.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), a.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), a.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(a);
|
|
1837
|
+
const s = new h(e, o);
|
|
1838
|
+
s.scale.set(a.scale.x * 0.9, a.scale.y * 0.5, a.scale.z * 0.9), s.rotation.copy(a.rotation), s.position.copy(a.position), s.position.y += 0.3, this.add(s);
|
|
1749
1839
|
}
|
|
1750
1840
|
}
|
|
1751
1841
|
}
|
|
1752
|
-
class
|
|
1842
|
+
class Ft extends h {
|
|
1753
1843
|
constructor(e = 1, t = 4, o = 4) {
|
|
1754
|
-
super(), this.geometry = new
|
|
1844
|
+
super(), this.geometry = new Ue(e, t, o), this.material = new w({ color: 8421504, flatShading: !0 });
|
|
1755
1845
|
}
|
|
1756
1846
|
}
|
|
1757
|
-
class
|
|
1847
|
+
class Ut extends P {
|
|
1758
1848
|
constructor() {
|
|
1759
1849
|
super();
|
|
1760
|
-
const e = new
|
|
1850
|
+
const e = new j(1, 0), t = new w({ color: 8421504, flatShading: !0 });
|
|
1761
1851
|
for (let o = 0; o < 5; o++) {
|
|
1762
|
-
const
|
|
1763
|
-
|
|
1852
|
+
const n = new h(e, t);
|
|
1853
|
+
n.scale.set(0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4, 0.8 + Math.random() * 0.4), n.rotation.set(Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI), n.position.set((Math.random() - 0.5) * 4, 0, (Math.random() - 0.5) * 4), this.add(n);
|
|
1764
1854
|
}
|
|
1765
1855
|
}
|
|
1766
1856
|
}
|
|
1767
|
-
class
|
|
1857
|
+
class zt extends P {
|
|
1768
1858
|
constructor() {
|
|
1769
1859
|
super();
|
|
1770
|
-
const e = new
|
|
1860
|
+
const e = new _e(), t = new D({
|
|
1771
1861
|
color: 8965375,
|
|
1772
1862
|
transparent: !0,
|
|
1773
1863
|
opacity: 0.4,
|
|
@@ -1775,32 +1865,32 @@ class Ct extends b {
|
|
|
1775
1865
|
metalness: 0.1,
|
|
1776
1866
|
reflectivity: 0.8,
|
|
1777
1867
|
transmission: 0.9,
|
|
1778
|
-
side:
|
|
1779
|
-
}), o = new
|
|
1868
|
+
side: z
|
|
1869
|
+
}), o = new h(e, t);
|
|
1780
1870
|
o.rotation.x = -Math.PI / 2, this.add(o);
|
|
1781
1871
|
}
|
|
1782
1872
|
}
|
|
1783
|
-
class
|
|
1873
|
+
class _t extends P {
|
|
1784
1874
|
constructor() {
|
|
1785
1875
|
super();
|
|
1786
1876
|
const e = [
|
|
1787
|
-
new
|
|
1877
|
+
new b(0, 0),
|
|
1788
1878
|
// Bottom
|
|
1789
|
-
new
|
|
1879
|
+
new b(0.8, 0),
|
|
1790
1880
|
// Base
|
|
1791
|
-
new
|
|
1881
|
+
new b(1, 1.5),
|
|
1792
1882
|
// Rounded body
|
|
1793
|
-
new
|
|
1883
|
+
new b(0.5, 2.2),
|
|
1794
1884
|
// Neck
|
|
1795
|
-
new
|
|
1885
|
+
new b(0.6, 2.5)
|
|
1796
1886
|
// Mouth
|
|
1797
|
-
], t = new
|
|
1887
|
+
], t = new L(e, 10), o = new G(0.3, 0.4, 0.2, 8), n = new w({
|
|
1798
1888
|
color: 8965375,
|
|
1799
1889
|
transparent: !0,
|
|
1800
1890
|
opacity: 0.5,
|
|
1801
1891
|
roughness: 0.1,
|
|
1802
1892
|
metalness: 0.3
|
|
1803
|
-
}),
|
|
1893
|
+
}), a = new w({
|
|
1804
1894
|
color: 16724838,
|
|
1805
1895
|
// Vibrant potion color
|
|
1806
1896
|
transparent: !0,
|
|
@@ -1808,173 +1898,195 @@ class Nt extends b {
|
|
|
1808
1898
|
}), s = new w({
|
|
1809
1899
|
color: 9127187,
|
|
1810
1900
|
roughness: 1
|
|
1811
|
-
}),
|
|
1812
|
-
|
|
1813
|
-
const m = new
|
|
1814
|
-
m.add(
|
|
1901
|
+
}), r = new h(t, n), c = new h(t, a), i = new h(o, s);
|
|
1902
|
+
c.scale.set(0.8, 0.8, 0.8), c.position.y = 0.1, i.position.y = 2.5;
|
|
1903
|
+
const m = new P();
|
|
1904
|
+
m.add(r, c, i), this.add(m);
|
|
1815
1905
|
}
|
|
1816
1906
|
}
|
|
1817
|
-
class
|
|
1907
|
+
class Lt extends P {
|
|
1818
1908
|
constructor() {
|
|
1819
1909
|
super();
|
|
1820
|
-
const e = new
|
|
1910
|
+
const e = new G(0.3, 0.4, 0.1, 16), t = new w({
|
|
1821
1911
|
color: 3355443,
|
|
1822
1912
|
roughness: 0.6,
|
|
1823
1913
|
metalness: 0.3
|
|
1824
|
-
}), o = new
|
|
1914
|
+
}), o = new h(e, t);
|
|
1825
1915
|
o.position.y = 0.05;
|
|
1826
|
-
const
|
|
1916
|
+
const n = new G(0.1, 0.1, 0.7, 16), a = new w({
|
|
1827
1917
|
color: 5592405,
|
|
1828
1918
|
roughness: 0.5,
|
|
1829
1919
|
metalness: 0.4
|
|
1830
|
-
}), s = new
|
|
1920
|
+
}), s = new h(n, a);
|
|
1831
1921
|
s.position.y = 0.4;
|
|
1832
|
-
const
|
|
1922
|
+
const r = new _(0.075, 0.2, 16), c = new w({
|
|
1833
1923
|
color: 16733440,
|
|
1834
1924
|
emissive: 16733440,
|
|
1835
1925
|
emissiveIntensity: 0.6,
|
|
1836
1926
|
transparent: !0,
|
|
1837
1927
|
opacity: 0.8
|
|
1838
|
-
}),
|
|
1839
|
-
|
|
1928
|
+
}), i = new h(r, c);
|
|
1929
|
+
i.position.y = 0.8, this.add(o, s, i);
|
|
1840
1930
|
}
|
|
1841
1931
|
}
|
|
1842
|
-
class
|
|
1932
|
+
class qt extends P {
|
|
1843
1933
|
constructor() {
|
|
1844
1934
|
super();
|
|
1845
|
-
const e = new
|
|
1935
|
+
const e = new g(3, 4, 0.1), t = new w({
|
|
1846
1936
|
color: 3026478,
|
|
1847
1937
|
roughness: 0.8,
|
|
1848
1938
|
metalness: 0.6
|
|
1849
|
-
}), o = new
|
|
1939
|
+
}), o = new g(0.2, 0.5, 0.2), n = new w({
|
|
1850
1940
|
color: 11184810,
|
|
1851
1941
|
roughness: 0.5,
|
|
1852
1942
|
metalness: 0.7
|
|
1853
|
-
}),
|
|
1943
|
+
}), a = new G(0.3, 0.3, 0.1, 16), s = new w({
|
|
1854
1944
|
color: 5592405,
|
|
1855
1945
|
roughness: 0.7,
|
|
1856
1946
|
metalness: 0.5
|
|
1857
|
-
}),
|
|
1947
|
+
}), r = new h(e, t);
|
|
1858
1948
|
for (let y = -1; y <= 1; y++) {
|
|
1859
|
-
const
|
|
1860
|
-
|
|
1949
|
+
const I = new h(o, n);
|
|
1950
|
+
I.position.set(y, 1.5, 0.1), r.add(I);
|
|
1861
1951
|
}
|
|
1862
|
-
const
|
|
1863
|
-
|
|
1864
|
-
const
|
|
1952
|
+
const c = new h(a, s);
|
|
1953
|
+
c.rotation.x = Math.PI / 2, c.position.set(0, 0.5, 0.15), r.add(c);
|
|
1954
|
+
const i = new B(0.15, 8, 8), m = new w({
|
|
1865
1955
|
color: 16711680,
|
|
1866
1956
|
emissive: 16711680,
|
|
1867
1957
|
emissiveIntensity: 0.5
|
|
1868
|
-
}), u = new
|
|
1869
|
-
u.position.set(0, -1, 0.1),
|
|
1870
|
-
let
|
|
1958
|
+
}), u = new h(i, m);
|
|
1959
|
+
u.position.set(0, -1, 0.1), r.add(u), this.add(r);
|
|
1960
|
+
let f = 0.015, d = 0.8, p = 0.2;
|
|
1871
1961
|
function x() {
|
|
1872
1962
|
requestAnimationFrame(x);
|
|
1873
|
-
const y = p + Math.abs(Math.sin(Date.now() *
|
|
1963
|
+
const y = p + Math.abs(Math.sin(Date.now() * f)) * (d - p);
|
|
1874
1964
|
u.material.emissiveIntensity = y;
|
|
1875
1965
|
}
|
|
1876
1966
|
x();
|
|
1877
1967
|
}
|
|
1878
1968
|
}
|
|
1879
|
-
class
|
|
1969
|
+
class Ot extends h {
|
|
1970
|
+
constructor({
|
|
1971
|
+
flaskRadius: e = 1,
|
|
1972
|
+
//
|
|
1973
|
+
neckRadius: t = 0.3,
|
|
1974
|
+
height: o = 2.5,
|
|
1975
|
+
neckHeight: n = 1,
|
|
1976
|
+
radialSegments: a = 16
|
|
1977
|
+
} = {}) {
|
|
1978
|
+
super(), this.geometry = new Le({ flaskRadius: e, neckRadius: t, height: o, neckHeight: n, radialSegments: a }), this.material = new D({
|
|
1979
|
+
color: 8965375,
|
|
1980
|
+
transparent: !0,
|
|
1981
|
+
opacity: 0.4,
|
|
1982
|
+
roughness: 0.1,
|
|
1983
|
+
metalness: 0.1,
|
|
1984
|
+
reflectivity: 0.8,
|
|
1985
|
+
transmission: 0.9,
|
|
1986
|
+
side: z,
|
|
1987
|
+
wireframe: !1
|
|
1988
|
+
});
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
class Vt extends P {
|
|
1880
1992
|
constructor() {
|
|
1881
1993
|
super();
|
|
1882
1994
|
const e = [
|
|
1883
|
-
new
|
|
1995
|
+
new b(0, 0),
|
|
1884
1996
|
// Bottom of the flask
|
|
1885
|
-
new
|
|
1997
|
+
new b(1.2, 0),
|
|
1886
1998
|
// Base
|
|
1887
|
-
new
|
|
1999
|
+
new b(1.5, 1.5),
|
|
1888
2000
|
// Mid-body
|
|
1889
|
-
new
|
|
2001
|
+
new b(1, 3),
|
|
1890
2002
|
// Narrow neck
|
|
1891
|
-
new
|
|
2003
|
+
new b(0.6, 3.5)
|
|
1892
2004
|
// Mouth of the flask
|
|
1893
|
-
], t = new
|
|
2005
|
+
], t = new L(e, 12), o = new G(0.6, 0.7, 0.3, 8), n = new w({
|
|
1894
2006
|
color: 8965290,
|
|
1895
2007
|
transparent: !0,
|
|
1896
2008
|
opacity: 0.4,
|
|
1897
2009
|
roughness: 0.1,
|
|
1898
2010
|
metalness: 0.5
|
|
1899
|
-
}),
|
|
2011
|
+
}), a = new w({
|
|
1900
2012
|
color: 9127187,
|
|
1901
2013
|
roughness: 1
|
|
1902
|
-
}), s = new
|
|
1903
|
-
|
|
2014
|
+
}), s = new h(t, n), r = new h(o, a);
|
|
2015
|
+
r.position.y = 3.5, this.add(s, r);
|
|
1904
2016
|
}
|
|
1905
2017
|
}
|
|
1906
|
-
class
|
|
2018
|
+
class Xt extends P {
|
|
1907
2019
|
constructor() {
|
|
1908
2020
|
super();
|
|
1909
|
-
const e = new
|
|
2021
|
+
const e = new g(2, 3, 0.1), t = new w({
|
|
1910
2022
|
color: 3355443,
|
|
1911
2023
|
roughness: 0.8,
|
|
1912
2024
|
metalness: 0.5
|
|
1913
|
-
}), o = new
|
|
2025
|
+
}), o = new h(e, t), n = new G(0.1, 0.1, 0.2, 8), a = new G(0.05, 0.05, 1, 8), s = new w({
|
|
1914
2026
|
color: 11184810,
|
|
1915
2027
|
roughness: 0.5,
|
|
1916
2028
|
metalness: 0.7
|
|
1917
2029
|
});
|
|
1918
|
-
for (let
|
|
1919
|
-
const
|
|
1920
|
-
|
|
1921
|
-
const
|
|
1922
|
-
|
|
2030
|
+
for (let r = -0.5; r <= 0.5; r += 0.5) {
|
|
2031
|
+
const c = new h(n, s);
|
|
2032
|
+
c.position.set(r, 1, 0.1);
|
|
2033
|
+
const i = new h(a, s);
|
|
2034
|
+
i.position.y = 0.5, c.add(i), this.add(c);
|
|
1923
2035
|
}
|
|
1924
2036
|
this.add(o);
|
|
1925
2037
|
}
|
|
1926
2038
|
}
|
|
1927
|
-
class
|
|
2039
|
+
class Yt extends P {
|
|
1928
2040
|
constructor() {
|
|
1929
2041
|
super();
|
|
1930
|
-
const e = new
|
|
2042
|
+
const e = new g(1, 0.2, 0.5), t = new w({
|
|
1931
2043
|
color: 4473924,
|
|
1932
2044
|
roughness: 0.6,
|
|
1933
2045
|
metalness: 0.3
|
|
1934
|
-
}), o = new
|
|
2046
|
+
}), o = new h(e, t);
|
|
1935
2047
|
o.position.y = 0.1;
|
|
1936
|
-
const
|
|
1937
|
-
|
|
1938
|
-
const s = new
|
|
2048
|
+
const n = new g(0.2, 1, 0.2), a = new h(n, t);
|
|
2049
|
+
a.position.set(0, 0.6, -0.2);
|
|
2050
|
+
const s = new G(0.1, 0.1, 0.4, 8), r = new w({
|
|
1939
2051
|
color: 3355443,
|
|
1940
2052
|
roughness: 0.5,
|
|
1941
2053
|
metalness: 0.6
|
|
1942
|
-
}),
|
|
1943
|
-
|
|
1944
|
-
const
|
|
2054
|
+
}), c = new h(s, r);
|
|
2055
|
+
c.position.set(0, 1.1, -0.35), c.rotation.x = -Math.PI / 4;
|
|
2056
|
+
const i = new g(0.6, 0.1, 0.6), m = new w({
|
|
1945
2057
|
color: 5592405,
|
|
1946
2058
|
roughness: 0.8,
|
|
1947
2059
|
metalness: 0.2
|
|
1948
|
-
}), u = new
|
|
1949
|
-
u.position.set(0, 0.6, 0), this.add(o,
|
|
2060
|
+
}), u = new h(i, m);
|
|
2061
|
+
u.position.set(0, 0.6, 0), this.add(o, a, c, u);
|
|
1950
2062
|
}
|
|
1951
2063
|
}
|
|
1952
|
-
class
|
|
2064
|
+
class Zt extends P {
|
|
1953
2065
|
constructor() {
|
|
1954
2066
|
super();
|
|
1955
|
-
const e = new
|
|
2067
|
+
const e = new qe(), t = new G(0.2, 0.3, 1.5, 8);
|
|
1956
2068
|
t.translate(0, 0.75, 0);
|
|
1957
2069
|
const o = new w({
|
|
1958
2070
|
color: 6045747,
|
|
1959
2071
|
// Dark earthy tone
|
|
1960
2072
|
roughness: 1,
|
|
1961
2073
|
metalness: 0,
|
|
1962
|
-
side:
|
|
2074
|
+
side: z
|
|
1963
2075
|
// Render inside and outside
|
|
1964
|
-
}),
|
|
2076
|
+
}), n = new w({
|
|
1965
2077
|
color: 9132587,
|
|
1966
2078
|
// Slightly lighter earthy color
|
|
1967
2079
|
roughness: 0.8,
|
|
1968
2080
|
metalness: 0.1
|
|
1969
|
-
}),
|
|
1970
|
-
s.position.set(0.3, 1.3, 0), s.rotation.z = Math.PI / 4, this.add(
|
|
2081
|
+
}), a = new h(e, o), s = new h(t, n);
|
|
2082
|
+
s.position.set(0.3, 1.3, 0), s.rotation.z = Math.PI / 4, this.add(a, s);
|
|
1971
2083
|
}
|
|
1972
2084
|
}
|
|
1973
|
-
class
|
|
2085
|
+
class Dt extends P {
|
|
1974
2086
|
constructor() {
|
|
1975
2087
|
super();
|
|
1976
|
-
const e = 100, t = 0.05, o = new
|
|
1977
|
-
Array.from({ length: e }, (
|
|
2088
|
+
const e = 100, t = 0.05, o = new fe(
|
|
2089
|
+
Array.from({ length: e }, (i, m) => {
|
|
1978
2090
|
const u = m * 0.2;
|
|
1979
2091
|
return new M(
|
|
1980
2092
|
Math.cos(u) * 0.4,
|
|
@@ -1983,78 +2095,73 @@ class Ot extends b {
|
|
|
1983
2095
|
Math.sin(u) * 0.4
|
|
1984
2096
|
);
|
|
1985
2097
|
})
|
|
1986
|
-
),
|
|
2098
|
+
), n = new he(o, 200, 0.1, 8, !1), a = new w({
|
|
1987
2099
|
color: 8965375,
|
|
1988
2100
|
transparent: !0,
|
|
1989
2101
|
opacity: 0.3,
|
|
1990
2102
|
roughness: 0.1,
|
|
1991
2103
|
metalness: 0.2,
|
|
1992
2104
|
emissive: 8965375
|
|
1993
|
-
}), s = new
|
|
2105
|
+
}), s = new h(n, a);
|
|
1994
2106
|
this.add(s);
|
|
1995
|
-
function
|
|
1996
|
-
|
|
2107
|
+
function r() {
|
|
2108
|
+
a.emissiveIntensity = 0.2 + Math.sin(Date.now() * 5e-3) * 0.1;
|
|
1997
2109
|
}
|
|
1998
|
-
function
|
|
1999
|
-
requestAnimationFrame(
|
|
2110
|
+
function c() {
|
|
2111
|
+
requestAnimationFrame(c), r();
|
|
2000
2112
|
}
|
|
2001
|
-
|
|
2113
|
+
c();
|
|
2002
2114
|
}
|
|
2003
2115
|
}
|
|
2004
|
-
class
|
|
2005
|
-
constructor(
|
|
2006
|
-
|
|
2007
|
-
|
|
2116
|
+
class Ht extends h {
|
|
2117
|
+
constructor({
|
|
2118
|
+
radius: e = 0.3,
|
|
2119
|
+
//
|
|
2120
|
+
height: t = 0.4,
|
|
2121
|
+
count: o = 3,
|
|
2122
|
+
thickness: n = 0.03,
|
|
2123
|
+
radialSegments: a = 16
|
|
2124
|
+
} = {}) {
|
|
2125
|
+
super(), this.geometry = new Oe({ radius: e, height: t, count: o, thickness: n, radialSegments: a }), this.material = new w({
|
|
2008
2126
|
color: 8947848,
|
|
2009
2127
|
roughness: 0.7,
|
|
2010
2128
|
metalness: 0.3
|
|
2011
|
-
})
|
|
2012
|
-
o.rotation.x = Math.PI / 2, o.position.y = 0.4;
|
|
2013
|
-
const r = new v(0.02, 0.02, 0.4, 8), l = new w({
|
|
2014
|
-
color: 6710886,
|
|
2015
|
-
roughness: 0.8,
|
|
2016
|
-
metalness: 0.3
|
|
2017
|
-
}), s = [];
|
|
2018
|
-
for (let n = 0; n < 3; n++) {
|
|
2019
|
-
const a = n / 3 * Math.PI * 2, c = new f(r, l);
|
|
2020
|
-
c.position.set(Math.cos(a) * 0.25, 0.2, Math.sin(a) * 0.25), s.push(c);
|
|
2021
|
-
}
|
|
2022
|
-
this.add(o, ...s);
|
|
2129
|
+
});
|
|
2023
2130
|
}
|
|
2024
2131
|
}
|
|
2025
|
-
class
|
|
2132
|
+
class Rt extends P {
|
|
2026
2133
|
constructor() {
|
|
2027
2134
|
super();
|
|
2028
|
-
const e = new
|
|
2135
|
+
const e = new G(0.5, 0.6, 0.3, 16), t = new w({
|
|
2029
2136
|
color: 3355443,
|
|
2030
2137
|
roughness: 0.6,
|
|
2031
2138
|
metalness: 0.5
|
|
2032
|
-
}), o = new
|
|
2139
|
+
}), o = new h(e, t);
|
|
2033
2140
|
o.position.y = 0.15;
|
|
2034
|
-
const
|
|
2141
|
+
const n = new G(0.15, 0.15, 2, 12, 1, !0), a = new w({
|
|
2035
2142
|
color: 16737792,
|
|
2036
2143
|
roughness: 0.5,
|
|
2037
2144
|
metalness: 0.8,
|
|
2038
|
-
side:
|
|
2039
|
-
}), s = new
|
|
2145
|
+
side: z
|
|
2146
|
+
}), s = new h(n, a);
|
|
2040
2147
|
s.position.y = 1.3;
|
|
2041
|
-
const
|
|
2042
|
-
|
|
2043
|
-
const
|
|
2044
|
-
for (let
|
|
2148
|
+
const r = new B(0.3, 16, 16), c = new h(r, a);
|
|
2149
|
+
c.position.y = 2.4, this.add(o, s, c);
|
|
2150
|
+
const i = [];
|
|
2151
|
+
for (let f = 0; f < 5; f++) {
|
|
2045
2152
|
const d = new pe({ color: 10079487 }), p = [
|
|
2046
2153
|
new M(0, 2.4, 0),
|
|
2047
2154
|
new M((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
2048
|
-
], x = new
|
|
2049
|
-
this.add(y),
|
|
2155
|
+
], x = new v().setFromPoints(p), y = new de(x, d);
|
|
2156
|
+
this.add(y), i.push(y);
|
|
2050
2157
|
}
|
|
2051
2158
|
function m() {
|
|
2052
|
-
|
|
2159
|
+
i.forEach((f) => {
|
|
2053
2160
|
const d = [
|
|
2054
2161
|
new M(0, 2.4, 0),
|
|
2055
2162
|
new M((Math.random() - 0.5) * 1.5, Math.random() * 2.4, (Math.random() - 0.5) * 1.5)
|
|
2056
2163
|
];
|
|
2057
|
-
|
|
2164
|
+
f.geometry.setFromPoints(d);
|
|
2058
2165
|
});
|
|
2059
2166
|
}
|
|
2060
2167
|
function u() {
|
|
@@ -2063,10 +2170,10 @@ class Xt extends b {
|
|
|
2063
2170
|
u();
|
|
2064
2171
|
}
|
|
2065
2172
|
}
|
|
2066
|
-
class
|
|
2067
|
-
constructor(e = 0.2, t = 0.2, o = 3,
|
|
2173
|
+
class Qt extends P {
|
|
2174
|
+
constructor(e = 0.2, t = 0.2, o = 3, n = 32) {
|
|
2068
2175
|
super();
|
|
2069
|
-
const
|
|
2176
|
+
const a = new Q(e, t, o, n), s = new D({
|
|
2070
2177
|
color: 8965375,
|
|
2071
2178
|
transparent: !0,
|
|
2072
2179
|
opacity: 0.4,
|
|
@@ -2075,48 +2182,48 @@ class Yt extends b {
|
|
|
2075
2182
|
reflectivity: 0.8,
|
|
2076
2183
|
transmission: 0.9,
|
|
2077
2184
|
// For glass effect
|
|
2078
|
-
side:
|
|
2079
|
-
}),
|
|
2080
|
-
this.add(
|
|
2185
|
+
side: z
|
|
2186
|
+
}), r = new h(a, s);
|
|
2187
|
+
this.add(r);
|
|
2081
2188
|
}
|
|
2082
2189
|
}
|
|
2083
|
-
class
|
|
2190
|
+
class jt extends P {
|
|
2084
2191
|
constructor(e = 3, t = [65450, 16711850, 11141375]) {
|
|
2085
2192
|
super();
|
|
2086
|
-
const o = new
|
|
2193
|
+
const o = new g(3, 0.2, 1), n = new w({
|
|
2087
2194
|
color: 9127187,
|
|
2088
2195
|
// Wooden color or change to metallic tone
|
|
2089
2196
|
roughness: 0.7,
|
|
2090
2197
|
metalness: 0.3
|
|
2091
|
-
}),
|
|
2092
|
-
|
|
2093
|
-
const s = new
|
|
2198
|
+
}), a = new h(o, n);
|
|
2199
|
+
a.position.y = 0.5;
|
|
2200
|
+
const s = new Q(0.1, 0.1, 1, 16), r = new w({
|
|
2094
2201
|
color: 11184810,
|
|
2095
2202
|
transparent: !0,
|
|
2096
2203
|
opacity: 0.4,
|
|
2097
2204
|
roughness: 0.1,
|
|
2098
2205
|
metalness: 0.5,
|
|
2099
|
-
side:
|
|
2206
|
+
side: z
|
|
2100
2207
|
});
|
|
2101
|
-
for (let
|
|
2102
|
-
const
|
|
2103
|
-
|
|
2104
|
-
const u = new
|
|
2105
|
-
color:
|
|
2106
|
-
emissive:
|
|
2208
|
+
for (let c = 0; c < e; c++) {
|
|
2209
|
+
const i = new h(s, r), m = (c - (e - 1) / 2) * 0.8;
|
|
2210
|
+
i.position.set(m, 1, 0);
|
|
2211
|
+
const u = new Q(0.099, 0.099, 0.5, 16, !1), f = t[c % t.length], d = new w({
|
|
2212
|
+
color: f,
|
|
2213
|
+
emissive: f,
|
|
2107
2214
|
emissiveIntensity: 0.5,
|
|
2108
2215
|
transparent: !0,
|
|
2109
2216
|
opacity: 0.6
|
|
2110
|
-
}), p = new
|
|
2111
|
-
p.position.set(0, -0.25, 0),
|
|
2217
|
+
}), p = new h(u, d);
|
|
2218
|
+
p.position.set(0, -0.25, 0), i.add(p), a.add(i);
|
|
2112
2219
|
}
|
|
2113
|
-
this.add(
|
|
2220
|
+
this.add(a);
|
|
2114
2221
|
}
|
|
2115
2222
|
}
|
|
2116
|
-
class
|
|
2223
|
+
class Kt extends h {
|
|
2117
2224
|
constructor() {
|
|
2118
2225
|
super();
|
|
2119
|
-
const e = new
|
|
2226
|
+
const e = new Ve(), t = new D({
|
|
2120
2227
|
color: 5597999,
|
|
2121
2228
|
roughness: 0.1,
|
|
2122
2229
|
transmission: 0.9,
|
|
@@ -2129,27 +2236,27 @@ class Rt extends f {
|
|
|
2129
2236
|
this.geometry = e, this.material = t;
|
|
2130
2237
|
}
|
|
2131
2238
|
}
|
|
2132
|
-
class
|
|
2239
|
+
class He extends q {
|
|
2133
2240
|
constructor(e = 5, t = 0.5, o = 1) {
|
|
2134
2241
|
super();
|
|
2135
|
-
const
|
|
2242
|
+
const n = Math.PI * 2 / e, a = n / 2, s = n / 4;
|
|
2136
2243
|
this.moveTo(Math.cos(0) * o, -Math.sin(0) * o);
|
|
2137
|
-
for (let
|
|
2138
|
-
let
|
|
2139
|
-
this.quadraticCurveTo(
|
|
2244
|
+
for (let r = 1; r <= e; ++r) {
|
|
2245
|
+
let c = Math.cos(n * r - s * 3) * (t / Math.cos(s)), i = -Math.sin(n * r - s * 3) * (t / Math.cos(s)), m = Math.cos(n * r - a) * t, u = -Math.sin(n * r - a) * t;
|
|
2246
|
+
this.quadraticCurveTo(c, i, m, u), c = Math.cos(n * r - s) * (t / Math.cos(s)), i = -Math.sin(n * r - s) * (t / Math.cos(s)), m = Math.cos(n * r) * o, u = -Math.sin(n * r) * o, this.quadraticCurveTo(c, i, m, u);
|
|
2140
2247
|
}
|
|
2141
2248
|
this.closePath();
|
|
2142
2249
|
}
|
|
2143
2250
|
}
|
|
2144
|
-
class
|
|
2145
|
-
constructor(e = 5, t = 0.5, o = 1,
|
|
2251
|
+
class Jt extends h {
|
|
2252
|
+
constructor(e = 5, t = 0.5, o = 1, n = 0.25) {
|
|
2146
2253
|
super();
|
|
2147
|
-
const
|
|
2148
|
-
depth:
|
|
2149
|
-
bevelEnabled:
|
|
2254
|
+
const a = new He(e, t, o), s = new O(a, {
|
|
2255
|
+
depth: n,
|
|
2256
|
+
bevelEnabled: n > 0,
|
|
2150
2257
|
bevelThickness: 0,
|
|
2151
2258
|
bevelSize: 0
|
|
2152
|
-
}),
|
|
2259
|
+
}), r = new w({
|
|
2153
2260
|
color: 16776960,
|
|
2154
2261
|
emissive: 16766720,
|
|
2155
2262
|
emissiveIntensity: 0.25,
|
|
@@ -2157,44 +2264,44 @@ class Dt extends f {
|
|
|
2157
2264
|
roughness: 0.3,
|
|
2158
2265
|
flatShading: !0
|
|
2159
2266
|
});
|
|
2160
|
-
s.center(), this.geometry = s, this.material =
|
|
2267
|
+
s.center(), this.geometry = s, this.material = r;
|
|
2161
2268
|
}
|
|
2162
2269
|
}
|
|
2163
|
-
class
|
|
2164
|
-
constructor(e = 5, t = 0.5, o = 1,
|
|
2270
|
+
class Re extends q {
|
|
2271
|
+
constructor(e = 5, t = 0.5, o = 1, n = 5, a = 0.25) {
|
|
2165
2272
|
super();
|
|
2166
|
-
const s = Math.PI * 2 / e,
|
|
2273
|
+
const s = Math.PI * 2 / e, r = s / 4;
|
|
2167
2274
|
this.moveTo(Math.cos(0) * o, -Math.sin(0) * o);
|
|
2168
|
-
for (let
|
|
2169
|
-
this.lineTo(Math.cos(s *
|
|
2170
|
-
if (this.closePath(),
|
|
2171
|
-
const
|
|
2172
|
-
|
|
2173
|
-
for (let m = 1; m <
|
|
2174
|
-
|
|
2175
|
-
|
|
2275
|
+
for (let c = 1; c <= e; ++c)
|
|
2276
|
+
this.lineTo(Math.cos(s * c - r * 3) * t, -Math.sin(s * c - r * 3) * t), this.lineTo(Math.cos(s * c - r * 2) * t, -Math.sin(s * c - r * 2) * t), this.lineTo(Math.cos(s * c - r) * o, -Math.sin(s * c - r) * o), this.lineTo(Math.cos(s * c) * o, -Math.sin(s * c) * o);
|
|
2277
|
+
if (this.closePath(), a > 0 && n > 2) {
|
|
2278
|
+
const c = new we(), i = Math.PI * 2 / n;
|
|
2279
|
+
c.moveTo(Math.cos(0) * a, -Math.sin(0) * a);
|
|
2280
|
+
for (let m = 1; m < n; ++m)
|
|
2281
|
+
c.lineTo(Math.cos(i * m) * a, -Math.sin(i * m) * a);
|
|
2282
|
+
c.lineTo(Math.cos(0) * a, -Math.sin(0) * a), this.holes.push(c);
|
|
2176
2283
|
}
|
|
2177
2284
|
}
|
|
2178
2285
|
}
|
|
2179
|
-
class
|
|
2180
|
-
constructor(e = 5, t = 0.5, o = 1,
|
|
2286
|
+
class $t extends h {
|
|
2287
|
+
constructor(e = 5, t = 0.5, o = 1, n = 5, a = 0.25, s = 0.25) {
|
|
2181
2288
|
super();
|
|
2182
|
-
const
|
|
2289
|
+
const r = new Re(e, t, o, n, a), c = new O(r, {
|
|
2183
2290
|
depth: s,
|
|
2184
2291
|
bevelEnabled: s > 0,
|
|
2185
2292
|
bevelThickness: 0,
|
|
2186
2293
|
bevelSize: 0
|
|
2187
|
-
}),
|
|
2294
|
+
}), i = new w({
|
|
2188
2295
|
color: 11184810,
|
|
2189
2296
|
metalness: 0.8,
|
|
2190
2297
|
roughness: 0.2,
|
|
2191
2298
|
reflectivity: 0.5
|
|
2192
2299
|
});
|
|
2193
|
-
|
|
2300
|
+
c.center(), this.geometry = c, this.material = i;
|
|
2194
2301
|
}
|
|
2195
2302
|
}
|
|
2196
|
-
class
|
|
2197
|
-
constructor(e = 1, t = 2.1, o = 1.4,
|
|
2303
|
+
class Qe extends q {
|
|
2304
|
+
constructor(e = 1, t = 2.1, o = 1.4, n = 1.6) {
|
|
2198
2305
|
super(), this.moveTo(0, o * e / 3), this.bezierCurveTo(
|
|
2199
2306
|
-t * 0.375 * e,
|
|
2200
2307
|
o * e,
|
|
@@ -2203,7 +2310,7 @@ class Ze extends _ {
|
|
|
2203
2310
|
o * e / 3,
|
|
2204
2311
|
// Control point 2 for the left side of the heart
|
|
2205
2312
|
0,
|
|
2206
|
-
-
|
|
2313
|
+
-n * e
|
|
2207
2314
|
// Bottom tip of the heart, controlled by `tipDepth`
|
|
2208
2315
|
), this.bezierCurveTo(
|
|
2209
2316
|
t * e,
|
|
@@ -2218,15 +2325,15 @@ class Ze extends _ {
|
|
|
2218
2325
|
);
|
|
2219
2326
|
}
|
|
2220
2327
|
}
|
|
2221
|
-
class
|
|
2222
|
-
constructor(e = 1, t = 1, o = 1,
|
|
2328
|
+
class Wt extends h {
|
|
2329
|
+
constructor(e = 1, t = 1, o = 1, n = 10, a = 0.25) {
|
|
2223
2330
|
super();
|
|
2224
|
-
const s = new
|
|
2225
|
-
depth:
|
|
2226
|
-
bevelEnabled:
|
|
2331
|
+
const s = new Qe(e, t, o, n), r = new O(s, {
|
|
2332
|
+
depth: a,
|
|
2333
|
+
bevelEnabled: a > 0,
|
|
2227
2334
|
bevelThickness: 0,
|
|
2228
2335
|
bevelSize: 0
|
|
2229
|
-
}),
|
|
2336
|
+
}), c = new w({
|
|
2230
2337
|
color: 12986408,
|
|
2231
2338
|
emissive: 12981270,
|
|
2232
2339
|
emissiveIntensity: 0.25,
|
|
@@ -2234,28 +2341,28 @@ class Qt extends f {
|
|
|
2234
2341
|
roughness: 0.3,
|
|
2235
2342
|
flatShading: !0
|
|
2236
2343
|
});
|
|
2237
|
-
|
|
2344
|
+
r.center(), this.geometry = r, this.material = c;
|
|
2238
2345
|
}
|
|
2239
2346
|
}
|
|
2240
|
-
class
|
|
2347
|
+
class je extends q {
|
|
2241
2348
|
constructor(e = 5, t = 0.5, o = 1) {
|
|
2242
2349
|
super();
|
|
2243
|
-
const
|
|
2350
|
+
const n = Math.PI * 2 / e, a = n / 2;
|
|
2244
2351
|
this.moveTo(Math.cos(0) * o, Math.sin(0) * o);
|
|
2245
2352
|
for (let s = 1; s <= e; ++s)
|
|
2246
|
-
this.lineTo(Math.cos(
|
|
2353
|
+
this.lineTo(Math.cos(n * s - a) * t, Math.sin(n * s - a) * t), this.lineTo(Math.cos(n * s) * o, Math.sin(n * s) * o);
|
|
2247
2354
|
this.closePath();
|
|
2248
2355
|
}
|
|
2249
2356
|
}
|
|
2250
|
-
class
|
|
2251
|
-
constructor(e = 5, t = 0.5, o = 1,
|
|
2357
|
+
class eo extends h {
|
|
2358
|
+
constructor(e = 5, t = 0.5, o = 1, n = 0.25) {
|
|
2252
2359
|
super();
|
|
2253
|
-
const
|
|
2254
|
-
depth:
|
|
2255
|
-
bevelEnabled:
|
|
2360
|
+
const a = new je(e, t, o), s = new O(a, {
|
|
2361
|
+
depth: n,
|
|
2362
|
+
bevelEnabled: n > 0,
|
|
2256
2363
|
bevelThickness: 0,
|
|
2257
2364
|
bevelSize: 0
|
|
2258
|
-
}),
|
|
2365
|
+
}), r = new w({
|
|
2259
2366
|
color: 16776960,
|
|
2260
2367
|
emissive: 16766720,
|
|
2261
2368
|
emissiveIntensity: 0.25,
|
|
@@ -2263,36 +2370,41 @@ class jt extends f {
|
|
|
2263
2370
|
roughness: 0.3,
|
|
2264
2371
|
flatShading: !0
|
|
2265
2372
|
});
|
|
2266
|
-
s.center(), this.geometry = s, this.material =
|
|
2373
|
+
s.center(), this.geometry = s, this.material = r;
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2376
|
+
class to extends h {
|
|
2377
|
+
constructor() {
|
|
2378
|
+
super(), this.geometry = new ze(), this.material = new w({ color: 16777215 });
|
|
2267
2379
|
}
|
|
2268
2380
|
}
|
|
2269
|
-
class
|
|
2381
|
+
class oo extends h {
|
|
2270
2382
|
constructor({
|
|
2271
2383
|
trunkRadiusTop: e = 0.25,
|
|
2272
2384
|
trunkRadiusBottom: t = 0.4,
|
|
2273
2385
|
trunkHeight: o = 2.5,
|
|
2274
|
-
trunkSegments:
|
|
2275
|
-
trunkColor:
|
|
2386
|
+
trunkSegments: n = 14,
|
|
2387
|
+
trunkColor: a = 9127187,
|
|
2276
2388
|
leafSize: s = 0.8,
|
|
2277
|
-
leafCount:
|
|
2278
|
-
leafDetail:
|
|
2279
|
-
leafSpreadRadius:
|
|
2389
|
+
leafCount: r = 6,
|
|
2390
|
+
leafDetail: c = 0,
|
|
2391
|
+
leafSpreadRadius: i = 1.5,
|
|
2280
2392
|
leafColor: m = 2263842
|
|
2281
2393
|
} = {}) {
|
|
2282
2394
|
super();
|
|
2283
|
-
const u = new
|
|
2395
|
+
const u = new De({
|
|
2284
2396
|
trunkRadiusTop: e,
|
|
2285
2397
|
trunkRadiusBottom: t,
|
|
2286
2398
|
trunkHeight: o,
|
|
2287
|
-
trunkSegments:
|
|
2288
|
-
trunkColor:
|
|
2399
|
+
trunkSegments: n,
|
|
2400
|
+
trunkColor: a,
|
|
2289
2401
|
leafSize: s,
|
|
2290
|
-
leafCount:
|
|
2291
|
-
leafDetail:
|
|
2292
|
-
leafSpreadRadius:
|
|
2402
|
+
leafCount: r,
|
|
2403
|
+
leafDetail: c,
|
|
2404
|
+
leafSpreadRadius: i,
|
|
2293
2405
|
leafColor: m
|
|
2294
|
-
}),
|
|
2295
|
-
color:
|
|
2406
|
+
}), f = new w({
|
|
2407
|
+
color: a,
|
|
2296
2408
|
roughness: 0.9,
|
|
2297
2409
|
metalness: 0,
|
|
2298
2410
|
flatShading: !0
|
|
@@ -2302,52 +2414,52 @@ class Kt extends f {
|
|
|
2302
2414
|
metalness: 0,
|
|
2303
2415
|
flatShading: !0
|
|
2304
2416
|
});
|
|
2305
|
-
this.geometry = u, this.material = [
|
|
2417
|
+
this.geometry = u, this.material = [f, d];
|
|
2306
2418
|
}
|
|
2307
2419
|
}
|
|
2308
|
-
class
|
|
2420
|
+
class so extends h {
|
|
2309
2421
|
constructor({
|
|
2310
2422
|
radius: e = 3,
|
|
2311
2423
|
//
|
|
2312
2424
|
height: t = 0.6,
|
|
2313
2425
|
widthSegments: o = 64,
|
|
2314
|
-
heightSegments:
|
|
2315
|
-
phiStart:
|
|
2426
|
+
heightSegments: n = 16,
|
|
2427
|
+
phiStart: a = 0,
|
|
2316
2428
|
phiLength: s = Math.PI * 2
|
|
2317
2429
|
} = {}) {
|
|
2318
|
-
super(), this.geometry = new
|
|
2430
|
+
super(), this.geometry = new Xe({
|
|
2319
2431
|
radius: e,
|
|
2320
2432
|
height: t,
|
|
2321
2433
|
widthSegments: o,
|
|
2322
|
-
heightSegments:
|
|
2323
|
-
phiStart:
|
|
2434
|
+
heightSegments: n,
|
|
2435
|
+
phiStart: a,
|
|
2324
2436
|
phiLength: s
|
|
2325
2437
|
}), this.material = new w({ color: 65280, flatShading: !0 });
|
|
2326
2438
|
}
|
|
2327
2439
|
}
|
|
2328
|
-
class
|
|
2440
|
+
class no extends h {
|
|
2329
2441
|
constructor({
|
|
2330
2442
|
radius: e = ae(5, Math.PI / 10),
|
|
2331
2443
|
//
|
|
2332
2444
|
widthSegments: t = 64,
|
|
2333
2445
|
heightSegments: o = 32,
|
|
2334
|
-
phiStart:
|
|
2335
|
-
phiLength:
|
|
2446
|
+
phiStart: n = 0,
|
|
2447
|
+
phiLength: a = Math.PI * 2,
|
|
2336
2448
|
thetaLength: s = Math.PI / 10
|
|
2337
2449
|
} = {}) {
|
|
2338
|
-
super(), this.geometry = new
|
|
2450
|
+
super(), this.geometry = new Ze({
|
|
2339
2451
|
radius: e,
|
|
2340
2452
|
widthSegments: t,
|
|
2341
2453
|
heightSegments: o,
|
|
2342
|
-
phiStart:
|
|
2343
|
-
phiLength:
|
|
2454
|
+
phiStart: n,
|
|
2455
|
+
phiLength: a,
|
|
2344
2456
|
thetaLength: s
|
|
2345
2457
|
}), this.material = new w({ color: 65280, flatShading: !0 });
|
|
2346
2458
|
}
|
|
2347
2459
|
}
|
|
2348
|
-
function
|
|
2349
|
-
|
|
2350
|
-
|
|
2460
|
+
function ro(l, { time: e = 0, waveFrequency: t = 0.2, waveAmplitude: o = 0.5 } = {}) {
|
|
2461
|
+
l.onBeforeCompile = (n) => {
|
|
2462
|
+
n.uniforms.time = { value: e }, n.uniforms.waveFrequency = { value: t }, n.uniforms.waveAmplitude = { value: o }, n.vertexShader = `
|
|
2351
2463
|
uniform float time;
|
|
2352
2464
|
uniform float waveFrequency;
|
|
2353
2465
|
uniform float waveAmplitude;
|
|
@@ -2361,20 +2473,20 @@ function Wt(i, { time: e = 0, waveFrequency: t = 0.2, waveAmplitude: o = 0.5 } =
|
|
|
2361
2473
|
|
|
2362
2474
|
return displaced;
|
|
2363
2475
|
}
|
|
2364
|
-
` +
|
|
2476
|
+
` + n.vertexShader, n.vertexShader = n.vertexShader.replace(
|
|
2365
2477
|
"#include <begin_vertex>",
|
|
2366
2478
|
`
|
|
2367
2479
|
vec3 transformed = waterDisplacement(position, normal);
|
|
2368
2480
|
`
|
|
2369
|
-
),
|
|
2481
|
+
), l.userData.shader = n;
|
|
2370
2482
|
};
|
|
2371
2483
|
}
|
|
2372
|
-
function
|
|
2373
|
-
|
|
2484
|
+
function ao(l, e) {
|
|
2485
|
+
l.userData.shader && (l.userData.shader.uniforms.time.value += e);
|
|
2374
2486
|
}
|
|
2375
|
-
function
|
|
2376
|
-
|
|
2377
|
-
|
|
2487
|
+
function co(l, { time: e = 0, intensity: t = 1, direction: o = F.XYZ, scale: n = 10 } = {}) {
|
|
2488
|
+
l.onBeforeCompile = (a) => {
|
|
2489
|
+
a.uniforms.time = { value: e }, a.uniforms.direction = { value: o }, a.uniforms.intensity = { value: t }, a.uniforms.scale = { value: n }, a.vertexShader = `
|
|
2378
2490
|
uniform float time;
|
|
2379
2491
|
uniform vec3 direction;
|
|
2380
2492
|
uniform float intensity;
|
|
@@ -2405,7 +2517,7 @@ function to(i, { time: e = 0, intensity: t = 1, direction: o = N.XYZ, scale: r =
|
|
|
2405
2517
|
|
|
2406
2518
|
return o4.y * d.y + o4.x * (1.0 - d.y);
|
|
2407
2519
|
}
|
|
2408
|
-
` +
|
|
2520
|
+
` + a.vertexShader, a.vertexShader = a.vertexShader.replace(
|
|
2409
2521
|
"#include <begin_vertex>",
|
|
2410
2522
|
`
|
|
2411
2523
|
vec3 transformed = vec3(position);
|
|
@@ -2413,11 +2525,11 @@ function to(i, { time: e = 0, intensity: t = 1, direction: o = N.XYZ, scale: r =
|
|
|
2413
2525
|
transformed += normalize(direction) * n * intensity;
|
|
2414
2526
|
vec3 transformedNormal = normal;
|
|
2415
2527
|
`
|
|
2416
|
-
),
|
|
2528
|
+
), l.userData.shader = a;
|
|
2417
2529
|
};
|
|
2418
2530
|
}
|
|
2419
|
-
function
|
|
2420
|
-
|
|
2531
|
+
function io(l, e) {
|
|
2532
|
+
l.userData.shader && (l.userData.shader.uniforms.time.value += e);
|
|
2421
2533
|
}
|
|
2422
2534
|
const te = {
|
|
2423
2535
|
uniforms: {},
|
|
@@ -2437,7 +2549,7 @@ const te = {
|
|
|
2437
2549
|
gl_FragColor = vec4(mix(bottomColor, topColor, y), 1.0);
|
|
2438
2550
|
}
|
|
2439
2551
|
`
|
|
2440
|
-
},
|
|
2552
|
+
}, Ke = {
|
|
2441
2553
|
uniforms: {
|
|
2442
2554
|
tDiffuse: { value: null },
|
|
2443
2555
|
opacity: { value: 1 }
|
|
@@ -2458,7 +2570,7 @@ const te = {
|
|
|
2458
2570
|
gl_FragColor = opacity * texel;
|
|
2459
2571
|
}
|
|
2460
2572
|
`
|
|
2461
|
-
},
|
|
2573
|
+
}, R = {
|
|
2462
2574
|
uniforms: {
|
|
2463
2575
|
topColor: { value: new $(51) },
|
|
2464
2576
|
bottomColor: { value: new $(17) },
|
|
@@ -2485,174 +2597,180 @@ const te = {
|
|
|
2485
2597
|
}
|
|
2486
2598
|
`
|
|
2487
2599
|
};
|
|
2488
|
-
class
|
|
2600
|
+
class lo extends h {
|
|
2489
2601
|
constructor(e = 1e3) {
|
|
2490
|
-
super(), this.geometry = new
|
|
2602
|
+
super(), this.geometry = new g(e, e, e), this.material = new K({
|
|
2491
2603
|
vertexShader: te.vertexShader,
|
|
2492
2604
|
fragmentShader: te.fragmentShader,
|
|
2493
2605
|
side: ne
|
|
2494
2606
|
});
|
|
2495
2607
|
}
|
|
2496
2608
|
}
|
|
2497
|
-
class
|
|
2609
|
+
class mo extends h {
|
|
2498
2610
|
constructor(e = 1e3) {
|
|
2499
|
-
super(), this.geometry = new
|
|
2500
|
-
vertexShader:
|
|
2501
|
-
fragmentShader:
|
|
2502
|
-
uniforms:
|
|
2611
|
+
super(), this.geometry = new B(e, 32, 15), this.material = new K({
|
|
2612
|
+
vertexShader: R.vertexShader,
|
|
2613
|
+
fragmentShader: R.fragmentShader,
|
|
2614
|
+
uniforms: R.uniforms,
|
|
2503
2615
|
side: ne
|
|
2504
2616
|
});
|
|
2505
2617
|
}
|
|
2506
2618
|
}
|
|
2507
|
-
class
|
|
2508
|
-
constructor(e = Math.PI * 0.49, t = 2 * Math.PI * 0.25, o = 10,
|
|
2619
|
+
class uo extends h {
|
|
2620
|
+
constructor(e = Math.PI * 0.49, t = 2 * Math.PI * 0.25, o = 10, n = 2, a = 5e-3, s = 0.8) {
|
|
2509
2621
|
super();
|
|
2510
|
-
const
|
|
2511
|
-
|
|
2512
|
-
const
|
|
2513
|
-
|
|
2622
|
+
const r = new be();
|
|
2623
|
+
r.scale.setScalar(45e4), this.add(r);
|
|
2624
|
+
const c = r.material.uniforms;
|
|
2625
|
+
c.turbidity.value = o, c.rayleigh.value = n, c.mieCoefficient.value = a, c.mieDirectionalG.value = s, this.skyUniforms = c, this.sunPosition(e, t);
|
|
2514
2626
|
}
|
|
2515
2627
|
sunPosition(e, t) {
|
|
2516
|
-
const o = new M(),
|
|
2517
|
-
o.setFromSphericalCoords(1, e, t),
|
|
2628
|
+
const o = new M(), n = this.skyUniforms;
|
|
2629
|
+
o.setFromSphericalCoords(1, e, t), n.sunPosition.value.copy(o);
|
|
2518
2630
|
}
|
|
2519
2631
|
}
|
|
2520
|
-
const
|
|
2521
|
-
const e = new Uint8Array(4 *
|
|
2522
|
-
for (let o = 0; o <
|
|
2523
|
-
const
|
|
2524
|
-
e[
|
|
2632
|
+
const fo = (l) => {
|
|
2633
|
+
const e = new Uint8Array(4 * l * l);
|
|
2634
|
+
for (let o = 0; o < l * l; o++) {
|
|
2635
|
+
const n = o * 4, a = (o % l ^ Math.floor(o / l)) & 1 ? 255 : 0;
|
|
2636
|
+
e[n] = a, e[n + 1] = a, e[n + 2] = a, e[n + 3] = 255;
|
|
2525
2637
|
}
|
|
2526
|
-
const t = new ye(e,
|
|
2638
|
+
const t = new ye(e, l, l, xe, Me);
|
|
2527
2639
|
return t.wrapS = W, t.wrapT = W, t.minFilter = ve, t.needsUpdate = !0, t;
|
|
2528
2640
|
};
|
|
2529
|
-
function
|
|
2530
|
-
const t = new ge().setFromObject(
|
|
2531
|
-
|
|
2641
|
+
function ho(l) {
|
|
2642
|
+
const t = new ge().setFromObject(l).getCenter(new M());
|
|
2643
|
+
l.translateX(-t.x), l.translateY(-t.y), l.translateZ(-t.z), l.updateMatrixWorld(!0);
|
|
2532
2644
|
}
|
|
2533
|
-
function
|
|
2534
|
-
|
|
2535
|
-
const t =
|
|
2536
|
-
|
|
2645
|
+
function po(l) {
|
|
2646
|
+
l.geometry.computeBoundingBox();
|
|
2647
|
+
const t = l.geometry.boundingBox.getCenter(new M());
|
|
2648
|
+
l.geometry.translate(-t.x, -t.y, -t.z);
|
|
2537
2649
|
}
|
|
2538
|
-
class
|
|
2650
|
+
class wo {
|
|
2539
2651
|
static dispose(e) {
|
|
2540
2652
|
e == null || e.traverse((t) => {
|
|
2541
2653
|
t.geometry && t.geometry.dispose(), t.material && (Array.isArray(t.material) ? t.material.forEach((o) => o.dispose()) : t.material.dispose());
|
|
2542
2654
|
});
|
|
2543
2655
|
}
|
|
2544
|
-
static fadeBetween(e, t, o,
|
|
2545
|
-
const s = new Ge(e),
|
|
2546
|
-
s.addPass(
|
|
2547
|
-
const
|
|
2548
|
-
|
|
2549
|
-
let
|
|
2550
|
-
function m(
|
|
2551
|
-
|
|
2552
|
-
const p = (
|
|
2553
|
-
|
|
2656
|
+
static fadeBetween(e, t, o, n, a = 1) {
|
|
2657
|
+
const s = new Ge(e), r = new ee(o, t);
|
|
2658
|
+
s.addPass(r);
|
|
2659
|
+
const c = new Ie(Ke);
|
|
2660
|
+
c.uniforms.opacity.value = 1, s.addPass(c);
|
|
2661
|
+
let i = null;
|
|
2662
|
+
function m(f) {
|
|
2663
|
+
i || (i = f);
|
|
2664
|
+
const p = (f - i) / 1e3 / a;
|
|
2665
|
+
c.uniforms.opacity.value = Math.max(1 - p, 0), p < 1 ? (s.render(), requestAnimationFrame(m)) : (s.passes[0] = new ee(n, t), i = null, requestAnimationFrame(u));
|
|
2554
2666
|
}
|
|
2555
|
-
function u(
|
|
2556
|
-
|
|
2557
|
-
const p = (
|
|
2558
|
-
|
|
2667
|
+
function u(f) {
|
|
2668
|
+
i || (i = f);
|
|
2669
|
+
const p = (f - i) / 1e3 / a;
|
|
2670
|
+
c.uniforms.opacity.value = Math.min(p, 1), p < 1 && (s.render(), requestAnimationFrame(u));
|
|
2559
2671
|
}
|
|
2560
2672
|
requestAnimationFrame(m);
|
|
2561
2673
|
}
|
|
2562
2674
|
}
|
|
2563
2675
|
export {
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2676
|
+
zt as Beaker,
|
|
2677
|
+
_e as BeakerGeometry,
|
|
2678
|
+
ut as BifurcatedStaircaseGeometry,
|
|
2679
|
+
to as Bone,
|
|
2680
|
+
ze as BoneGeometry,
|
|
2681
|
+
vt as Book,
|
|
2569
2682
|
Pe as BookGeometry,
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2683
|
+
Bt as Bookshelf,
|
|
2684
|
+
Ne as BookshelfGeometry,
|
|
2685
|
+
_t as Bottle,
|
|
2686
|
+
mt as Bubbling,
|
|
2687
|
+
Lt as BunsenBurner,
|
|
2688
|
+
Jt as Burst,
|
|
2689
|
+
He as BurstShape,
|
|
2690
|
+
Et as Candle,
|
|
2691
|
+
gt as CrossHeadstone,
|
|
2577
2692
|
Ae as CrossHeadstoneGeometry,
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2693
|
+
lo as DaySkybox,
|
|
2694
|
+
Tt as Desk,
|
|
2695
|
+
ft as DioramaGeometry,
|
|
2696
|
+
F as Direction,
|
|
2697
|
+
lt as Easing,
|
|
2698
|
+
qt as ElectricPanel,
|
|
2699
|
+
Ot as ErlenmeyerFlask,
|
|
2700
|
+
Le as ErlenmeyerFlaskGeometry,
|
|
2701
|
+
V as Falloff,
|
|
2702
|
+
Pt as FenceColumn,
|
|
2586
2703
|
Ee as FenceColumnGeometry,
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2704
|
+
Vt as Flask,
|
|
2705
|
+
$t as Gear,
|
|
2706
|
+
Re as GearShape,
|
|
2707
|
+
Wt as Heart,
|
|
2708
|
+
Qe as HeartShape,
|
|
2709
|
+
so as Hill,
|
|
2710
|
+
Xe as HillGeometry,
|
|
2711
|
+
ht as LShapedStaircaseGeometry,
|
|
2712
|
+
Ct as Lantern,
|
|
2713
|
+
Xt as LeverPanel,
|
|
2714
|
+
St as Mausoleum,
|
|
2715
|
+
Yt as Microscope,
|
|
2716
|
+
Mt as Moon,
|
|
2717
|
+
Zt as MortarAndPestle,
|
|
2718
|
+
qe as MortarGeometry,
|
|
2719
|
+
Nt as MossyRocks,
|
|
2720
|
+
no as Mound,
|
|
2721
|
+
Ze as MoundGeometry,
|
|
2722
|
+
mo as NightSkybox,
|
|
2723
|
+
bt as ObeliskHeadstone,
|
|
2607
2724
|
ke as ObeliskHeadstoneGeometry,
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2725
|
+
Ft as Rock,
|
|
2726
|
+
Ue as RockGeometry,
|
|
2727
|
+
Ut as Rocks,
|
|
2728
|
+
Gt as RoundedHeadstone,
|
|
2729
|
+
Be as RoundedHeadstoneGeometry,
|
|
2730
|
+
wo as SceneUtils,
|
|
2731
|
+
wt as SimpleLeafGeometry,
|
|
2732
|
+
pt as SpiralStaircaseGeometry,
|
|
2733
|
+
Dt as SpiralTube,
|
|
2734
|
+
It as SquareHeadstone,
|
|
2735
|
+
Te as SquareHeadstoneGeometry,
|
|
2736
|
+
dt as StaircaseGeometry,
|
|
2737
|
+
Ht as Stand,
|
|
2738
|
+
Oe as StandGeometry,
|
|
2739
|
+
eo as Star,
|
|
2740
|
+
je as StarShape,
|
|
2741
|
+
Rt as TeslaCoil,
|
|
2742
|
+
Qt as TestTube,
|
|
2743
|
+
Q as TestTubeGeometry,
|
|
2744
|
+
jt as TestTubeRack,
|
|
2745
|
+
oo as Tree,
|
|
2746
|
+
De as TreeGeometry,
|
|
2747
|
+
uo as TwilightSkybox,
|
|
2748
|
+
Kt as WineBottle,
|
|
2749
|
+
Ve as WineBottleGeometry,
|
|
2750
|
+
At as WroughtIronBar,
|
|
2633
2751
|
re as WroughtIronBarGeometry,
|
|
2634
|
-
|
|
2752
|
+
kt as WroughtIronFence,
|
|
2635
2753
|
Ce as WroughtIronFenceGeometry,
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2754
|
+
co as addNoiseDisplacement,
|
|
2755
|
+
ro as addWaterDisplacement,
|
|
2756
|
+
Ye as calculateSphereCapHeight,
|
|
2757
|
+
xt as calculateSphereCapWidth,
|
|
2758
|
+
ho as centerMesh,
|
|
2759
|
+
po as centerMeshGeometry,
|
|
2760
|
+
fo as checkerboardTexture,
|
|
2643
2761
|
te as daySkyShader,
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2762
|
+
st as displacementBrush,
|
|
2763
|
+
Ke as fadeShader,
|
|
2764
|
+
nt as flattenBrush,
|
|
2765
|
+
R as nightSkyShader,
|
|
2766
|
+
rt as noiseBrush,
|
|
2767
|
+
yt as radiusForSphereCapHeight,
|
|
2650
2768
|
ae as radiusForSphereCapWidth,
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2769
|
+
Fe as randomTransformVertices,
|
|
2770
|
+
at as smoothBrush,
|
|
2771
|
+
ct as spikeBrush,
|
|
2772
|
+
it as twistBrush,
|
|
2773
|
+
io as updateNoiseDisplacementTime,
|
|
2774
|
+
ao as updateWaterDisplacementTime
|
|
2657
2775
|
};
|
|
2658
2776
|
//# sourceMappingURL=index.es.js.map
|