@j-kyoda/vue-three-vrm 0.8.2 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -7
- package/dist/index.css +1 -1
- package/dist/vue-three-vrm.es.js +208 -191
- package/dist/vue-three-vrm.umd.js +2 -2
- package/package.json +1 -1
package/dist/vue-three-vrm.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { getCurrentInstance as
|
|
2
|
-
import * as
|
|
3
|
-
import { TrianglesDrawMode as
|
|
4
|
-
import {
|
|
5
|
-
class
|
|
1
|
+
import { getCurrentInstance as Xe, useTemplateRef as Ye, watch as C, onMounted as $, createElementBlock as Ie, openBlock as ge, ref as Z, Fragment as We, createVNode as ee, createBlock as Ze } from "vue";
|
|
2
|
+
import * as L from "three";
|
|
3
|
+
import { TrianglesDrawMode as qe, TriangleFanDrawMode as ce, TriangleStripDrawMode as ve, Loader as Qe, LoaderUtils as X, FileLoader as ke, MeshPhysicalMaterial as O, Vector2 as S, Color as H, LinearSRGBColorSpace as I, SRGBColorSpace as Y, SpotLight as $e, PointLight as Je, DirectionalLight as et, Matrix4 as q, Vector3 as M, Quaternion as Q, InstancedMesh as tt, InstancedBufferAttribute as st, Object3D as je, TextureLoader as nt, ImageBitmapLoader as it, BufferAttribute as te, InterleavedBuffer as ot, InterleavedBufferAttribute as rt, LinearMipmapLinearFilter as Fe, NearestMipmapLinearFilter as at, LinearMipmapNearestFilter as ct, NearestMipmapNearestFilter as lt, LinearFilter as le, NearestFilter as He, RepeatWrapping as he, MirroredRepeatWrapping as ht, ClampToEdgeWrapping as ut, PointsMaterial as dt, Material as se, LineBasicMaterial as pt, MeshStandardMaterial as Ge, DoubleSide as ft, MeshBasicMaterial as V, PropertyBinding as mt, BufferGeometry as gt, SkinnedMesh as _t, Mesh as Tt, LineSegments as yt, Line as xt, LineLoop as Et, Points as bt, Group as ne, PerspectiveCamera as Rt, MathUtils as Ue, OrthographicCamera as Mt, Skeleton as wt, AnimationClip as St, Bone as At, InterpolateDiscrete as Lt, InterpolateLinear as Ke, Texture as Te, VectorKeyframeTrack as ye, NumberKeyframeTrack as xe, QuaternionKeyframeTrack as Ee, ColorManagement as be, FrontSide as Pt, Interpolant as Nt, Box3 as Ot, Sphere as Dt, Controls as Ct, MOUSE as U, TOUCH as G, Spherical as Re, Ray as It, Plane as vt } from "three";
|
|
4
|
+
import { VRMUtils as ue, VRMHumanBoneName as Me, VRMExpressionPresetName as we, VRMLoaderPlugin as kt } from "@pixiv/three-vrm";
|
|
5
|
+
class de {
|
|
6
6
|
constructor() {
|
|
7
7
|
}
|
|
8
8
|
async fetchJSON(e) {
|
|
@@ -125,7 +125,7 @@ class jt {
|
|
|
125
125
|
return null;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
class
|
|
128
|
+
class Se {
|
|
129
129
|
/**
|
|
130
130
|
* Returns `true` if WebGL 2 is available.
|
|
131
131
|
*
|
|
@@ -190,10 +190,10 @@ class we {
|
|
|
190
190
|
return console.warn("getWebGLErrorMessage() has been deprecated and will be removed in r178. Use getWebGL2ErrorMessage() instead."), this._getErrorMessage(1);
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
function
|
|
194
|
-
if (e ===
|
|
193
|
+
function Ae(l, e) {
|
|
194
|
+
if (e === qe)
|
|
195
195
|
return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), l;
|
|
196
|
-
if (e === ce || e ===
|
|
196
|
+
if (e === ce || e === ve) {
|
|
197
197
|
let t = l.getIndex();
|
|
198
198
|
if (t === null) {
|
|
199
199
|
const o = [], a = l.getAttribute("position");
|
|
@@ -217,7 +217,7 @@ function Se(l, e) {
|
|
|
217
217
|
} else
|
|
218
218
|
return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), l;
|
|
219
219
|
}
|
|
220
|
-
class
|
|
220
|
+
class pe extends Qe {
|
|
221
221
|
/**
|
|
222
222
|
* Constructs a new glTF loader.
|
|
223
223
|
*
|
|
@@ -282,7 +282,7 @@ class de extends qe {
|
|
|
282
282
|
this.manager.itemStart(e);
|
|
283
283
|
const a = function(c) {
|
|
284
284
|
n ? n(c) : console.error(c), i.manager.itemError(e), i.manager.itemEnd(e);
|
|
285
|
-
}, r = new
|
|
285
|
+
}, r = new ke(this.manager);
|
|
286
286
|
r.setPath(this.path), r.setResponseType("arraybuffer"), r.setRequestHeader(this.requestHeader), r.setWithCredentials(this.withCredentials), r.load(e, function(c) {
|
|
287
287
|
try {
|
|
288
288
|
i.parse(c, o, function(u) {
|
|
@@ -357,7 +357,7 @@ class de extends qe {
|
|
|
357
357
|
if (typeof e == "string")
|
|
358
358
|
i = JSON.parse(e);
|
|
359
359
|
else if (e instanceof ArrayBuffer)
|
|
360
|
-
if (r.decode(new Uint8Array(e, 0, 4)) ===
|
|
360
|
+
if (r.decode(new Uint8Array(e, 0, 4)) === Be) {
|
|
361
361
|
try {
|
|
362
362
|
o[y.KHR_BINARY_GLTF] = new ns(e);
|
|
363
363
|
} catch (h) {
|
|
@@ -373,7 +373,7 @@ class de extends qe {
|
|
|
373
373
|
n && n(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
|
|
374
374
|
return;
|
|
375
375
|
}
|
|
376
|
-
const c = new
|
|
376
|
+
const c = new gs(i, {
|
|
377
377
|
path: t || this.resourcePath || "",
|
|
378
378
|
crossOrigin: this.crossOrigin,
|
|
379
379
|
requestHeader: this.requestHeader,
|
|
@@ -482,17 +482,17 @@ class Ht {
|
|
|
482
482
|
const i = t.json, r = ((i.extensions && i.extensions[this.name] || {}).lights || [])[e];
|
|
483
483
|
let c;
|
|
484
484
|
const u = new H(16777215);
|
|
485
|
-
r.color !== void 0 && u.setRGB(r.color[0], r.color[1], r.color[2],
|
|
485
|
+
r.color !== void 0 && u.setRGB(r.color[0], r.color[1], r.color[2], I);
|
|
486
486
|
const h = r.range !== void 0 ? r.range : 0;
|
|
487
487
|
switch (r.type) {
|
|
488
488
|
case "directional":
|
|
489
|
-
c = new
|
|
489
|
+
c = new et(u), c.target.position.set(0, 0, -1), c.add(c.target);
|
|
490
490
|
break;
|
|
491
491
|
case "point":
|
|
492
|
-
c = new
|
|
492
|
+
c = new Je(u), c.distance = h;
|
|
493
493
|
break;
|
|
494
494
|
case "spot":
|
|
495
|
-
c = new
|
|
495
|
+
c = new $e(u), c.distance = h, r.spot = r.spot || {}, r.spot.innerConeAngle = r.spot.innerConeAngle !== void 0 ? r.spot.innerConeAngle : 0, r.spot.outerConeAngle = r.spot.outerConeAngle !== void 0 ? r.spot.outerConeAngle : Math.PI / 4, c.angle = r.spot.outerConeAngle, c.penumbra = 1 - r.spot.innerConeAngle / r.spot.outerConeAngle, c.target.position.set(0, 0, -1), c.add(c.target);
|
|
496
496
|
break;
|
|
497
497
|
default:
|
|
498
498
|
throw new Error("THREE.GLTFLoader: Unexpected light type: " + r.type);
|
|
@@ -524,7 +524,7 @@ class Gt {
|
|
|
524
524
|
if (i) {
|
|
525
525
|
if (Array.isArray(i.baseColorFactor)) {
|
|
526
526
|
const o = i.baseColorFactor;
|
|
527
|
-
e.color.setRGB(o[0], o[1], o[2],
|
|
527
|
+
e.color.setRGB(o[0], o[1], o[2], I), e.opacity = o[3];
|
|
528
528
|
}
|
|
529
529
|
i.baseColorTexture !== void 0 && n.push(s.assignTexture(e, "map", i.baseColorTexture, Y));
|
|
530
530
|
}
|
|
@@ -612,7 +612,7 @@ class Vt {
|
|
|
612
612
|
const o = n.extensions[this.name];
|
|
613
613
|
if (o.sheenColorFactor !== void 0) {
|
|
614
614
|
const a = o.sheenColorFactor;
|
|
615
|
-
t.sheenColor.setRGB(a[0], a[1], a[2],
|
|
615
|
+
t.sheenColor.setRGB(a[0], a[1], a[2], I);
|
|
616
616
|
}
|
|
617
617
|
return o.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = o.sheenRoughnessFactor), o.sheenColorTexture !== void 0 && i.push(s.assignTexture(t, "sheenColorMap", o.sheenColorTexture, Y)), o.sheenRoughnessTexture !== void 0 && i.push(s.assignTexture(t, "sheenRoughnessMap", o.sheenRoughnessTexture)), Promise.all(i);
|
|
618
618
|
}
|
|
@@ -648,7 +648,7 @@ class Yt {
|
|
|
648
648
|
const i = [], o = n.extensions[this.name];
|
|
649
649
|
t.thickness = o.thicknessFactor !== void 0 ? o.thicknessFactor : 0, o.thicknessTexture !== void 0 && i.push(s.assignTexture(t, "thicknessMap", o.thicknessTexture)), t.attenuationDistance = o.attenuationDistance || 1 / 0;
|
|
650
650
|
const a = o.attenuationColor || [1, 1, 1];
|
|
651
|
-
return t.attenuationColor = new H().setRGB(a[0], a[1], a[2],
|
|
651
|
+
return t.attenuationColor = new H().setRGB(a[0], a[1], a[2], I), Promise.all(i);
|
|
652
652
|
}
|
|
653
653
|
}
|
|
654
654
|
class Wt {
|
|
@@ -682,7 +682,7 @@ class Zt {
|
|
|
682
682
|
const i = [], o = n.extensions[this.name];
|
|
683
683
|
t.specularIntensity = o.specularFactor !== void 0 ? o.specularFactor : 1, o.specularTexture !== void 0 && i.push(s.assignTexture(t, "specularIntensityMap", o.specularTexture));
|
|
684
684
|
const a = o.specularColorFactor || [1, 1, 1];
|
|
685
|
-
return t.specularColor = new H().setRGB(a[0], a[1], a[2],
|
|
685
|
+
return t.specularColor = new H().setRGB(a[0], a[1], a[2], I), o.specularColorTexture !== void 0 && i.push(s.assignTexture(t, "specularColorMap", o.specularColorTexture, Y)), Promise.all(i);
|
|
686
686
|
}
|
|
687
687
|
}
|
|
688
688
|
class qt {
|
|
@@ -804,7 +804,7 @@ class ss {
|
|
|
804
804
|
return null;
|
|
805
805
|
const n = t.meshes[s.mesh];
|
|
806
806
|
for (const c of n.primitives)
|
|
807
|
-
if (c.mode !==
|
|
807
|
+
if (c.mode !== P.TRIANGLES && c.mode !== P.TRIANGLE_STRIP && c.mode !== P.TRIANGLE_FAN && c.mode !== void 0)
|
|
808
808
|
return null;
|
|
809
809
|
const o = s.extensions[this.name].attributes, a = [], r = {};
|
|
810
810
|
for (const c in o)
|
|
@@ -812,21 +812,21 @@ class ss {
|
|
|
812
812
|
return a.length < 1 ? null : (a.push(this.parser.createNodeMesh(e)), Promise.all(a).then((c) => {
|
|
813
813
|
const u = c.pop(), h = u.isGroup ? u.children : [u], d = c[0].count, p = [];
|
|
814
814
|
for (const m of h) {
|
|
815
|
-
const
|
|
815
|
+
const _ = new q(), f = new M(), g = new Q(), x = new M(1, 1, 1), b = new tt(m.geometry, m.material, d);
|
|
816
816
|
for (let T = 0; T < d; T++)
|
|
817
|
-
r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, T), r.ROTATION &&
|
|
817
|
+
r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, T), r.ROTATION && g.fromBufferAttribute(r.ROTATION, T), r.SCALE && x.fromBufferAttribute(r.SCALE, T), b.setMatrixAt(T, _.compose(f, g, x));
|
|
818
818
|
for (const T in r)
|
|
819
819
|
if (T === "_COLOR_0") {
|
|
820
820
|
const A = r[T];
|
|
821
|
-
b.instanceColor = new
|
|
821
|
+
b.instanceColor = new st(A.array, A.itemSize, A.normalized);
|
|
822
822
|
} else T !== "TRANSLATION" && T !== "ROTATION" && T !== "SCALE" && m.geometry.setAttribute(T, r[T]);
|
|
823
|
-
|
|
823
|
+
je.prototype.copy.call(b, m), this.parser.assignFinalMaterial(b), p.push(b);
|
|
824
824
|
}
|
|
825
825
|
return u.isGroup ? (u.clear(), u.add(...p), u) : p[0];
|
|
826
826
|
}));
|
|
827
827
|
}
|
|
828
828
|
}
|
|
829
|
-
const
|
|
829
|
+
const Be = "glTF", z = 12, Le = { JSON: 1313821514, BIN: 5130562 };
|
|
830
830
|
class ns {
|
|
831
831
|
constructor(e) {
|
|
832
832
|
this.name = y.KHR_BINARY_GLTF, this.content = null, this.body = null;
|
|
@@ -835,7 +835,7 @@ class ns {
|
|
|
835
835
|
magic: s.decode(new Uint8Array(e.slice(0, 4))),
|
|
836
836
|
version: t.getUint32(4, !0),
|
|
837
837
|
length: t.getUint32(8, !0)
|
|
838
|
-
}, this.header.magic !==
|
|
838
|
+
}, this.header.magic !== Be)
|
|
839
839
|
throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
|
|
840
840
|
if (this.header.version < 2)
|
|
841
841
|
throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
|
|
@@ -845,10 +845,10 @@ class ns {
|
|
|
845
845
|
const a = i.getUint32(o, !0);
|
|
846
846
|
o += 4;
|
|
847
847
|
const r = i.getUint32(o, !0);
|
|
848
|
-
if (o += 4, r ===
|
|
848
|
+
if (o += 4, r === Le.JSON) {
|
|
849
849
|
const c = new Uint8Array(e, z + o, a);
|
|
850
850
|
this.content = s.decode(c);
|
|
851
|
-
} else if (r ===
|
|
851
|
+
} else if (r === Le.BIN) {
|
|
852
852
|
const c = z + o;
|
|
853
853
|
this.body = e.slice(c, c + a);
|
|
854
854
|
}
|
|
@@ -867,11 +867,11 @@ class is {
|
|
|
867
867
|
decodePrimitive(e, t) {
|
|
868
868
|
const s = this.json, n = this.dracoLoader, i = e.extensions[this.name].bufferView, o = e.extensions[this.name].attributes, a = {}, r = {}, c = {};
|
|
869
869
|
for (const u in o) {
|
|
870
|
-
const h =
|
|
870
|
+
const h = fe[u] || u.toLowerCase();
|
|
871
871
|
a[h] = o[u];
|
|
872
872
|
}
|
|
873
873
|
for (const u in e.attributes) {
|
|
874
|
-
const h =
|
|
874
|
+
const h = fe[u] || u.toLowerCase();
|
|
875
875
|
if (o[u] !== void 0) {
|
|
876
876
|
const d = s.accessors[e.attributes[u]], p = K[d.componentType];
|
|
877
877
|
c[h] = p.name, r[h] = d.normalized === !0;
|
|
@@ -881,11 +881,11 @@ class is {
|
|
|
881
881
|
return new Promise(function(h, d) {
|
|
882
882
|
n.decodeDracoFile(u, function(p) {
|
|
883
883
|
for (const m in p.attributes) {
|
|
884
|
-
const
|
|
885
|
-
f !== void 0 && (
|
|
884
|
+
const _ = p.attributes[m], f = r[m];
|
|
885
|
+
f !== void 0 && (_.normalized = f);
|
|
886
886
|
}
|
|
887
887
|
h(p);
|
|
888
|
-
}, a, c,
|
|
888
|
+
}, a, c, I, d);
|
|
889
889
|
});
|
|
890
890
|
});
|
|
891
891
|
}
|
|
@@ -903,7 +903,7 @@ class rs {
|
|
|
903
903
|
this.name = y.KHR_MESH_QUANTIZATION;
|
|
904
904
|
}
|
|
905
905
|
}
|
|
906
|
-
class
|
|
906
|
+
class ze extends Nt {
|
|
907
907
|
constructor(e, t, s, n) {
|
|
908
908
|
super(e, t, s, n);
|
|
909
909
|
}
|
|
@@ -914,22 +914,22 @@ class Be extends Pt {
|
|
|
914
914
|
return t;
|
|
915
915
|
}
|
|
916
916
|
interpolate_(e, t, s, n) {
|
|
917
|
-
const i = this.resultBuffer, o = this.sampleValues, a = this.valueSize, r = a * 2, c = a * 3, u = n - t, h = (s - t) / u, d = h * h, p = d * h, m = e * c,
|
|
917
|
+
const i = this.resultBuffer, o = this.sampleValues, a = this.valueSize, r = a * 2, c = a * 3, u = n - t, h = (s - t) / u, d = h * h, p = d * h, m = e * c, _ = m - c, f = -2 * p + 3 * d, g = p - d, x = 1 - f, b = g - d + h;
|
|
918
918
|
for (let T = 0; T !== a; T++) {
|
|
919
|
-
const A = o[
|
|
920
|
-
i[T] = x * A + b *
|
|
919
|
+
const A = o[_ + T + a], v = o[_ + T + r] * u, N = o[m + T + a], B = o[m + T] * u;
|
|
920
|
+
i[T] = x * A + b * v + f * N + g * B;
|
|
921
921
|
}
|
|
922
922
|
return i;
|
|
923
923
|
}
|
|
924
924
|
}
|
|
925
925
|
const as = new Q();
|
|
926
|
-
class cs extends
|
|
926
|
+
class cs extends ze {
|
|
927
927
|
interpolate_(e, t, s, n) {
|
|
928
928
|
const i = super.interpolate_(e, t, s, n);
|
|
929
929
|
return as.fromArray(i).normalize().toArray(i), i;
|
|
930
930
|
}
|
|
931
931
|
}
|
|
932
|
-
const
|
|
932
|
+
const P = {
|
|
933
933
|
POINTS: 0,
|
|
934
934
|
LINES: 1,
|
|
935
935
|
LINE_LOOP: 2,
|
|
@@ -944,16 +944,16 @@ const L = {
|
|
|
944
944
|
5123: Uint16Array,
|
|
945
945
|
5125: Uint32Array,
|
|
946
946
|
5126: Float32Array
|
|
947
|
-
}, Le = {
|
|
948
|
-
9728: Fe,
|
|
949
|
-
9729: le,
|
|
950
|
-
9984: ct,
|
|
951
|
-
9985: at,
|
|
952
|
-
9986: rt,
|
|
953
|
-
9987: je
|
|
954
947
|
}, Pe = {
|
|
955
|
-
|
|
956
|
-
|
|
948
|
+
9728: He,
|
|
949
|
+
9729: le,
|
|
950
|
+
9984: lt,
|
|
951
|
+
9985: ct,
|
|
952
|
+
9986: at,
|
|
953
|
+
9987: Fe
|
|
954
|
+
}, Ne = {
|
|
955
|
+
33071: ut,
|
|
956
|
+
33648: ht,
|
|
957
957
|
10497: he
|
|
958
958
|
}, ie = {
|
|
959
959
|
SCALAR: 1,
|
|
@@ -963,7 +963,7 @@ const L = {
|
|
|
963
963
|
MAT2: 4,
|
|
964
964
|
MAT3: 9,
|
|
965
965
|
MAT4: 16
|
|
966
|
-
},
|
|
966
|
+
}, fe = {
|
|
967
967
|
POSITION: "position",
|
|
968
968
|
NORMAL: "normal",
|
|
969
969
|
TANGENT: "tangent",
|
|
@@ -974,7 +974,7 @@ const L = {
|
|
|
974
974
|
COLOR_0: "color",
|
|
975
975
|
WEIGHTS_0: "skinWeight",
|
|
976
976
|
JOINTS_0: "skinIndex"
|
|
977
|
-
},
|
|
977
|
+
}, j = {
|
|
978
978
|
scale: "scale",
|
|
979
979
|
translation: "position",
|
|
980
980
|
rotation: "quaternion",
|
|
@@ -983,25 +983,25 @@ const L = {
|
|
|
983
983
|
CUBICSPLINE: void 0,
|
|
984
984
|
// We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
|
|
985
985
|
// keyframe track will be initialized with a default interpolation type, then modified.
|
|
986
|
-
LINEAR:
|
|
987
|
-
STEP:
|
|
986
|
+
LINEAR: Ke,
|
|
987
|
+
STEP: Lt
|
|
988
988
|
}, oe = {
|
|
989
989
|
OPAQUE: "OPAQUE",
|
|
990
990
|
MASK: "MASK",
|
|
991
991
|
BLEND: "BLEND"
|
|
992
992
|
};
|
|
993
993
|
function hs(l) {
|
|
994
|
-
return l.DefaultMaterial === void 0 && (l.DefaultMaterial = new
|
|
994
|
+
return l.DefaultMaterial === void 0 && (l.DefaultMaterial = new Ge({
|
|
995
995
|
color: 16777215,
|
|
996
996
|
emissive: 0,
|
|
997
997
|
metalness: 1,
|
|
998
998
|
roughness: 1,
|
|
999
999
|
transparent: !1,
|
|
1000
1000
|
depthTest: !0,
|
|
1001
|
-
side:
|
|
1001
|
+
side: Pt
|
|
1002
1002
|
})), l.DefaultMaterial;
|
|
1003
1003
|
}
|
|
1004
|
-
function
|
|
1004
|
+
function F(l, e, t) {
|
|
1005
1005
|
for (const s in t.extensions)
|
|
1006
1006
|
l[s] === void 0 && (e.userData.gltfExtensions = e.userData.gltfExtensions || {}, e.userData.gltfExtensions[s] = t.extensions[s]);
|
|
1007
1007
|
}
|
|
@@ -1069,7 +1069,7 @@ function re(l) {
|
|
|
1069
1069
|
e += t[s] + ":" + l[t[s]] + ";";
|
|
1070
1070
|
return e;
|
|
1071
1071
|
}
|
|
1072
|
-
function
|
|
1072
|
+
function me(l) {
|
|
1073
1073
|
switch (l) {
|
|
1074
1074
|
case Int8Array:
|
|
1075
1075
|
return 1 / 127;
|
|
@@ -1087,7 +1087,7 @@ function fs(l) {
|
|
|
1087
1087
|
return l.search(/\.jpe?g($|\?)/i) > 0 || l.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : l.search(/\.webp($|\?)/i) > 0 || l.search(/^data\:image\/webp/) === 0 ? "image/webp" : l.search(/\.ktx2($|\?)/i) > 0 || l.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png";
|
|
1088
1088
|
}
|
|
1089
1089
|
const ms = new q();
|
|
1090
|
-
class
|
|
1090
|
+
class gs {
|
|
1091
1091
|
constructor(e = {}, t = {}) {
|
|
1092
1092
|
this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new Ft(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
|
|
1093
1093
|
let s = !1, n = -1, i = !1, o = -1;
|
|
@@ -1097,7 +1097,7 @@ class _s {
|
|
|
1097
1097
|
const r = a.match(/Version\/(\d+)/);
|
|
1098
1098
|
n = s && r ? parseInt(r[1], 10) : -1, i = a.indexOf("Firefox") > -1, o = i ? a.match(/Firefox\/([0-9]+)\./)[1] : -1;
|
|
1099
1099
|
}
|
|
1100
|
-
typeof createImageBitmap > "u" || s && n < 17 || i && o < 98 ? this.textureLoader = new
|
|
1100
|
+
typeof createImageBitmap > "u" || s && n < 17 || i && o < 98 ? this.textureLoader = new nt(this.options.manager) : this.textureLoader = new it(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new ke(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
|
|
1101
1101
|
}
|
|
1102
1102
|
setExtensions(e) {
|
|
1103
1103
|
this.extensions = e;
|
|
@@ -1127,7 +1127,7 @@ class _s {
|
|
|
1127
1127
|
parser: s,
|
|
1128
1128
|
userData: {}
|
|
1129
1129
|
};
|
|
1130
|
-
return
|
|
1130
|
+
return F(i, a, n), D(a, n), Promise.all(s._invokeAll(function(r) {
|
|
1131
1131
|
return r.afterRoot && r.afterRoot(a);
|
|
1132
1132
|
})).then(function() {
|
|
1133
1133
|
for (const r of a.scenes)
|
|
@@ -1343,19 +1343,19 @@ class _s {
|
|
|
1343
1343
|
const i = [];
|
|
1344
1344
|
return n.bufferView !== void 0 ? i.push(this.getDependency("bufferView", n.bufferView)) : i.push(null), n.sparse !== void 0 && (i.push(this.getDependency("bufferView", n.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", n.sparse.values.bufferView))), Promise.all(i).then(function(o) {
|
|
1345
1345
|
const a = o[0], r = ie[n.type], c = K[n.componentType], u = c.BYTES_PER_ELEMENT, h = u * r, d = n.byteOffset || 0, p = n.bufferView !== void 0 ? s.bufferViews[n.bufferView].byteStride : void 0, m = n.normalized === !0;
|
|
1346
|
-
let
|
|
1346
|
+
let _, f;
|
|
1347
1347
|
if (p && p !== h) {
|
|
1348
|
-
const
|
|
1348
|
+
const g = Math.floor(d / p), x = "InterleavedBuffer:" + n.bufferView + ":" + n.componentType + ":" + g + ":" + n.count;
|
|
1349
1349
|
let b = t.cache.get(x);
|
|
1350
|
-
b || (
|
|
1350
|
+
b || (_ = new c(a, g * p, n.count * p / u), b = new ot(_, p / u), t.cache.add(x, b)), f = new rt(b, r, d % p / u, m);
|
|
1351
1351
|
} else
|
|
1352
|
-
a === null ?
|
|
1352
|
+
a === null ? _ = new c(n.count * r) : _ = new c(a, d, n.count * r), f = new te(_, r, m);
|
|
1353
1353
|
if (n.sparse !== void 0) {
|
|
1354
|
-
const
|
|
1354
|
+
const g = ie.SCALAR, x = K[n.sparse.indices.componentType], b = n.sparse.indices.byteOffset || 0, T = n.sparse.values.byteOffset || 0, A = new x(o[1], b, n.sparse.count * g), v = new c(o[2], T, n.sparse.count * r);
|
|
1355
1355
|
a !== null && (f = new te(f.array.slice(), f.itemSize, f.normalized)), f.normalized = !1;
|
|
1356
|
-
for (let
|
|
1357
|
-
const
|
|
1358
|
-
if (f.setX(
|
|
1356
|
+
for (let N = 0, B = A.length; N < B; N++) {
|
|
1357
|
+
const k = A[N];
|
|
1358
|
+
if (f.setX(k, v[N * r]), r >= 2 && f.setY(k, v[N * r + 1]), r >= 3 && f.setZ(k, v[N * r + 2]), r >= 4 && f.setW(k, v[N * r + 3]), r >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
|
|
1359
1359
|
}
|
|
1360
1360
|
f.normalized = m;
|
|
1361
1361
|
}
|
|
@@ -1385,7 +1385,7 @@ class _s {
|
|
|
1385
1385
|
const c = this.loadImageSource(t, s).then(function(u) {
|
|
1386
1386
|
u.flipY = !1, u.name = o.name || a.name || "", u.name === "" && typeof a.uri == "string" && a.uri.startsWith("data:image/") === !1 && (u.name = a.uri);
|
|
1387
1387
|
const d = (i.samplers || {})[o.sampler] || {};
|
|
1388
|
-
return u.magFilter =
|
|
1388
|
+
return u.magFilter = Pe[d.magFilter] || le, u.minFilter = Pe[d.minFilter] || Fe, u.wrapS = Ne[d.wrapS] || he, u.wrapT = Ne[d.wrapT] || he, u.generateMipmaps = !u.isCompressedTexture && u.minFilter !== He && u.minFilter !== le, n.associations.set(u, { textures: e }), u;
|
|
1389
1389
|
}).catch(function() {
|
|
1390
1390
|
return null;
|
|
1391
1391
|
});
|
|
@@ -1408,8 +1408,8 @@ class _s {
|
|
|
1408
1408
|
const u = Promise.resolve(r).then(function(h) {
|
|
1409
1409
|
return new Promise(function(d, p) {
|
|
1410
1410
|
let m = d;
|
|
1411
|
-
t.isImageBitmapLoader === !0 && (m = function(
|
|
1412
|
-
const f = new
|
|
1411
|
+
t.isImageBitmapLoader === !0 && (m = function(_) {
|
|
1412
|
+
const f = new Te(_);
|
|
1413
1413
|
f.needsUpdate = !0, d(f);
|
|
1414
1414
|
}), t.load(X.resolveURL(h, i.path), m, void 0, p);
|
|
1415
1415
|
});
|
|
@@ -1461,11 +1461,11 @@ class _s {
|
|
|
1461
1461
|
if (e.isPoints) {
|
|
1462
1462
|
const a = "PointsMaterial:" + s.uuid;
|
|
1463
1463
|
let r = this.cache.get(a);
|
|
1464
|
-
r || (r = new
|
|
1464
|
+
r || (r = new dt(), se.prototype.copy.call(r, s), r.color.copy(s.color), r.map = s.map, r.sizeAttenuation = !1, this.cache.add(a, r)), s = r;
|
|
1465
1465
|
} else if (e.isLine) {
|
|
1466
1466
|
const a = "LineBasicMaterial:" + s.uuid;
|
|
1467
1467
|
let r = this.cache.get(a);
|
|
1468
|
-
r || (r = new
|
|
1468
|
+
r || (r = new pt(), se.prototype.copy.call(r, s), r.color.copy(s.color), r.map = s.map, this.cache.add(a, r)), s = r;
|
|
1469
1469
|
}
|
|
1470
1470
|
if (n || i || o) {
|
|
1471
1471
|
let a = "ClonedMaterial:" + s.uuid + ":";
|
|
@@ -1476,7 +1476,7 @@ class _s {
|
|
|
1476
1476
|
e.material = s;
|
|
1477
1477
|
}
|
|
1478
1478
|
getMaterialType() {
|
|
1479
|
-
return
|
|
1479
|
+
return Ge;
|
|
1480
1480
|
}
|
|
1481
1481
|
/**
|
|
1482
1482
|
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
|
|
@@ -1496,7 +1496,7 @@ class _s {
|
|
|
1496
1496
|
const h = i.pbrMetallicRoughness || {};
|
|
1497
1497
|
if (a.color = new H(1, 1, 1), a.opacity = 1, Array.isArray(h.baseColorFactor)) {
|
|
1498
1498
|
const d = h.baseColorFactor;
|
|
1499
|
-
a.color.setRGB(d[0], d[1], d[2],
|
|
1499
|
+
a.color.setRGB(d[0], d[1], d[2], I), a.opacity = d[3];
|
|
1500
1500
|
}
|
|
1501
1501
|
h.baseColorTexture !== void 0 && c.push(t.assignTexture(a, "map", h.baseColorTexture, Y)), a.metalness = h.metallicFactor !== void 0 ? h.metallicFactor : 1, a.roughness = h.roughnessFactor !== void 0 ? h.roughnessFactor : 1, h.metallicRoughnessTexture !== void 0 && (c.push(t.assignTexture(a, "metalnessMap", h.metallicRoughnessTexture)), c.push(t.assignTexture(a, "roughnessMap", h.metallicRoughnessTexture))), o = this._invokeOne(function(d) {
|
|
1502
1502
|
return d.getMaterialType && d.getMaterialType(e);
|
|
@@ -1504,7 +1504,7 @@ class _s {
|
|
|
1504
1504
|
return d.extendMaterialParams && d.extendMaterialParams(e, a);
|
|
1505
1505
|
})));
|
|
1506
1506
|
}
|
|
1507
|
-
i.doubleSided === !0 && (a.side =
|
|
1507
|
+
i.doubleSided === !0 && (a.side = ft);
|
|
1508
1508
|
const u = i.alphaMode || oe.OPAQUE;
|
|
1509
1509
|
if (u === oe.BLEND ? (a.transparent = !0, a.depthWrite = !1) : (a.transparent = !1, u === oe.MASK && (a.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && o !== V && (c.push(t.assignTexture(a, "normalMap", i.normalTexture)), a.normalScale = new S(1, 1), i.normalTexture.scale !== void 0)) {
|
|
1510
1510
|
const h = i.normalTexture.scale;
|
|
@@ -1512,11 +1512,11 @@ class _s {
|
|
|
1512
1512
|
}
|
|
1513
1513
|
if (i.occlusionTexture !== void 0 && o !== V && (c.push(t.assignTexture(a, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (a.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && o !== V) {
|
|
1514
1514
|
const h = i.emissiveFactor;
|
|
1515
|
-
a.emissive = new H().setRGB(h[0], h[1], h[2],
|
|
1515
|
+
a.emissive = new H().setRGB(h[0], h[1], h[2], I);
|
|
1516
1516
|
}
|
|
1517
1517
|
return i.emissiveTexture !== void 0 && o !== V && c.push(t.assignTexture(a, "emissiveMap", i.emissiveTexture, Y)), Promise.all(c).then(function() {
|
|
1518
1518
|
const h = new o(a);
|
|
1519
|
-
return i.name && (h.name = i.name), D(h, i), t.associations.set(h, { materials: e }), i.extensions &&
|
|
1519
|
+
return i.name && (h.name = i.name), D(h, i), t.associations.set(h, { materials: e }), i.extensions && F(n, h, i), h;
|
|
1520
1520
|
});
|
|
1521
1521
|
}
|
|
1522
1522
|
/**
|
|
@@ -1527,7 +1527,7 @@ class _s {
|
|
|
1527
1527
|
* @return {string}
|
|
1528
1528
|
*/
|
|
1529
1529
|
createUniqueName(e) {
|
|
1530
|
-
const t =
|
|
1530
|
+
const t = mt.sanitizeNodeName(e || "");
|
|
1531
1531
|
return t in this.nodeNamesUsed ? t + "_" + ++this.nodeNamesUsed[t] : (this.nodeNamesUsed[t] = 0, t);
|
|
1532
1532
|
}
|
|
1533
1533
|
/**
|
|
@@ -1543,7 +1543,7 @@ class _s {
|
|
|
1543
1543
|
const t = this, s = this.extensions, n = this.primitiveCache;
|
|
1544
1544
|
function i(a) {
|
|
1545
1545
|
return s[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a, t).then(function(r) {
|
|
1546
|
-
return
|
|
1546
|
+
return Oe(r, a, t);
|
|
1547
1547
|
});
|
|
1548
1548
|
}
|
|
1549
1549
|
const o = [];
|
|
@@ -1553,7 +1553,7 @@ class _s {
|
|
|
1553
1553
|
o.push(h.promise);
|
|
1554
1554
|
else {
|
|
1555
1555
|
let d;
|
|
1556
|
-
c.extensions && c.extensions[y.KHR_DRACO_MESH_COMPRESSION] ? d = i(c) : d =
|
|
1556
|
+
c.extensions && c.extensions[y.KHR_DRACO_MESH_COMPRESSION] ? d = i(c) : d = Oe(new gt(), c, t), n[u] = { primitive: c, promise: d }, o.push(d);
|
|
1557
1557
|
}
|
|
1558
1558
|
}
|
|
1559
1559
|
return Promise.all(o);
|
|
@@ -1574,22 +1574,22 @@ class _s {
|
|
|
1574
1574
|
return a.push(t.loadGeometries(o)), Promise.all(a).then(function(r) {
|
|
1575
1575
|
const c = r.slice(0, r.length - 1), u = r[r.length - 1], h = [];
|
|
1576
1576
|
for (let p = 0, m = u.length; p < m; p++) {
|
|
1577
|
-
const
|
|
1578
|
-
let
|
|
1577
|
+
const _ = u[p], f = o[p];
|
|
1578
|
+
let g;
|
|
1579
1579
|
const x = c[p];
|
|
1580
|
-
if (f.mode ===
|
|
1581
|
-
|
|
1582
|
-
else if (f.mode ===
|
|
1583
|
-
|
|
1584
|
-
else if (f.mode ===
|
|
1585
|
-
|
|
1586
|
-
else if (f.mode ===
|
|
1587
|
-
|
|
1588
|
-
else if (f.mode ===
|
|
1589
|
-
|
|
1580
|
+
if (f.mode === P.TRIANGLES || f.mode === P.TRIANGLE_STRIP || f.mode === P.TRIANGLE_FAN || f.mode === void 0)
|
|
1581
|
+
g = i.isSkinnedMesh === !0 ? new _t(_, x) : new Tt(_, x), g.isSkinnedMesh === !0 && g.normalizeSkinWeights(), f.mode === P.TRIANGLE_STRIP ? g.geometry = Ae(g.geometry, ve) : f.mode === P.TRIANGLE_FAN && (g.geometry = Ae(g.geometry, ce));
|
|
1582
|
+
else if (f.mode === P.LINES)
|
|
1583
|
+
g = new yt(_, x);
|
|
1584
|
+
else if (f.mode === P.LINE_STRIP)
|
|
1585
|
+
g = new xt(_, x);
|
|
1586
|
+
else if (f.mode === P.LINE_LOOP)
|
|
1587
|
+
g = new Et(_, x);
|
|
1588
|
+
else if (f.mode === P.POINTS)
|
|
1589
|
+
g = new bt(_, x);
|
|
1590
1590
|
else
|
|
1591
1591
|
throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + f.mode);
|
|
1592
|
-
Object.keys(
|
|
1592
|
+
Object.keys(g.geometry.morphAttributes).length > 0 && ds(g, i), g.name = t.createUniqueName(i.name || "mesh_" + e), D(g, i), f.extensions && F(n, g, f), t.assignFinalMaterial(g), h.push(g);
|
|
1593
1593
|
}
|
|
1594
1594
|
for (let p = 0, m = h.length; p < m; p++)
|
|
1595
1595
|
t.associations.set(h[p], {
|
|
@@ -1597,9 +1597,9 @@ class _s {
|
|
|
1597
1597
|
primitives: p
|
|
1598
1598
|
});
|
|
1599
1599
|
if (h.length === 1)
|
|
1600
|
-
return i.extensions &&
|
|
1600
|
+
return i.extensions && F(n, h[0], i), h[0];
|
|
1601
1601
|
const d = new ne();
|
|
1602
|
-
i.extensions &&
|
|
1602
|
+
i.extensions && F(n, d, i), t.associations.set(d, { meshes: e });
|
|
1603
1603
|
for (let p = 0, m = h.length; p < m; p++)
|
|
1604
1604
|
d.add(h[p]);
|
|
1605
1605
|
return d;
|
|
@@ -1619,7 +1619,7 @@ class _s {
|
|
|
1619
1619
|
console.warn("THREE.GLTFLoader: Missing camera parameters.");
|
|
1620
1620
|
return;
|
|
1621
1621
|
}
|
|
1622
|
-
return s.type === "perspective" ? t = new
|
|
1622
|
+
return s.type === "perspective" ? t = new Rt(Ue.radToDeg(n.yfov), n.aspectRatio || 1, n.znear || 1, n.zfar || 2e6) : s.type === "orthographic" && (t = new Mt(-n.xmag, n.xmag, n.ymag, -n.ymag, n.znear, n.zfar)), s.name && (t.name = this.createUniqueName(s.name)), D(t, s), Promise.resolve(t);
|
|
1623
1623
|
}
|
|
1624
1624
|
/**
|
|
1625
1625
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
|
|
@@ -1643,7 +1643,7 @@ class _s {
|
|
|
1643
1643
|
} else
|
|
1644
1644
|
console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', t.joints[c]);
|
|
1645
1645
|
}
|
|
1646
|
-
return new
|
|
1646
|
+
return new wt(a, r);
|
|
1647
1647
|
});
|
|
1648
1648
|
}
|
|
1649
1649
|
/**
|
|
@@ -1656,8 +1656,8 @@ class _s {
|
|
|
1656
1656
|
loadAnimation(e) {
|
|
1657
1657
|
const t = this.json, s = this, n = t.animations[e], i = n.name ? n.name : "animation_" + e, o = [], a = [], r = [], c = [], u = [];
|
|
1658
1658
|
for (let h = 0, d = n.channels.length; h < d; h++) {
|
|
1659
|
-
const p = n.channels[h], m = n.samplers[p.sampler],
|
|
1660
|
-
|
|
1659
|
+
const p = n.channels[h], m = n.samplers[p.sampler], _ = p.target, f = _.node, g = n.parameters !== void 0 ? n.parameters[m.input] : m.input, x = n.parameters !== void 0 ? n.parameters[m.output] : m.output;
|
|
1660
|
+
_.node !== void 0 && (o.push(this.getDependency("node", f)), a.push(this.getDependency("accessor", g)), r.push(this.getDependency("accessor", x)), c.push(m), u.push(_));
|
|
1661
1661
|
}
|
|
1662
1662
|
return Promise.all([
|
|
1663
1663
|
Promise.all(o),
|
|
@@ -1666,17 +1666,17 @@ class _s {
|
|
|
1666
1666
|
Promise.all(c),
|
|
1667
1667
|
Promise.all(u)
|
|
1668
1668
|
]).then(function(h) {
|
|
1669
|
-
const d = h[0], p = h[1], m = h[2],
|
|
1669
|
+
const d = h[0], p = h[1], m = h[2], _ = h[3], f = h[4], g = [];
|
|
1670
1670
|
for (let x = 0, b = d.length; x < b; x++) {
|
|
1671
|
-
const T = d[x], A = p[x],
|
|
1671
|
+
const T = d[x], A = p[x], v = m[x], N = _[x], B = f[x];
|
|
1672
1672
|
if (T === void 0) continue;
|
|
1673
1673
|
T.updateMatrix && T.updateMatrix();
|
|
1674
|
-
const
|
|
1675
|
-
if (
|
|
1676
|
-
for (let J = 0; J <
|
|
1677
|
-
|
|
1674
|
+
const k = s._createAnimationTracks(T, A, v, N, B);
|
|
1675
|
+
if (k)
|
|
1676
|
+
for (let J = 0; J < k.length; J++)
|
|
1677
|
+
g.push(k[J]);
|
|
1678
1678
|
}
|
|
1679
|
-
return new
|
|
1679
|
+
return new St(i, void 0, g);
|
|
1680
1680
|
});
|
|
1681
1681
|
}
|
|
1682
1682
|
createNodeMesh(e) {
|
|
@@ -1733,10 +1733,10 @@ class _s {
|
|
|
1733
1733
|
a.push(c);
|
|
1734
1734
|
}), this.nodeCache[e] = Promise.all(a).then(function(c) {
|
|
1735
1735
|
let u;
|
|
1736
|
-
if (i.isBone === !0 ? u = new
|
|
1736
|
+
if (i.isBone === !0 ? u = new At() : c.length > 1 ? u = new ne() : c.length === 1 ? u = c[0] : u = new je(), u !== c[0])
|
|
1737
1737
|
for (let h = 0, d = c.length; h < d; h++)
|
|
1738
1738
|
u.add(c[h]);
|
|
1739
|
-
if (i.name && (u.userData.name = i.name, u.name = o), D(u, i), i.extensions &&
|
|
1739
|
+
if (i.name && (u.userData.name = i.name, u.name = o), D(u, i), i.extensions && F(s, u, i), i.matrix !== void 0) {
|
|
1740
1740
|
const h = new q();
|
|
1741
1741
|
h.fromArray(i.matrix), u.applyMatrix4(h);
|
|
1742
1742
|
} else
|
|
@@ -1759,7 +1759,7 @@ class _s {
|
|
|
1759
1759
|
*/
|
|
1760
1760
|
loadScene(e) {
|
|
1761
1761
|
const t = this.extensions, s = this.json.scenes[e], n = this, i = new ne();
|
|
1762
|
-
s.name && (i.name = n.createUniqueName(s.name)), D(i, s), s.extensions &&
|
|
1762
|
+
s.name && (i.name = n.createUniqueName(s.name)), D(i, s), s.extensions && F(t, i, s);
|
|
1763
1763
|
const o = s.nodes || [], a = [];
|
|
1764
1764
|
for (let r = 0, c = o.length; r < c; r++)
|
|
1765
1765
|
a.push(n.getDependency("node", o[r]));
|
|
@@ -1769,7 +1769,7 @@ class _s {
|
|
|
1769
1769
|
const c = (u) => {
|
|
1770
1770
|
const h = /* @__PURE__ */ new Map();
|
|
1771
1771
|
for (const [d, p] of n.associations)
|
|
1772
|
-
(d instanceof se || d instanceof
|
|
1772
|
+
(d instanceof se || d instanceof Te) && h.set(d, p);
|
|
1773
1773
|
return u.traverse((d) => {
|
|
1774
1774
|
const p = n.associations.get(d);
|
|
1775
1775
|
p != null && h.set(d, p);
|
|
@@ -1780,38 +1780,38 @@ class _s {
|
|
|
1780
1780
|
}
|
|
1781
1781
|
_createAnimationTracks(e, t, s, n, i) {
|
|
1782
1782
|
const o = [], a = e.name ? e.name : e.uuid, r = [];
|
|
1783
|
-
|
|
1783
|
+
j[i.path] === j.weights ? e.traverse(function(d) {
|
|
1784
1784
|
d.morphTargetInfluences && r.push(d.name ? d.name : d.uuid);
|
|
1785
1785
|
}) : r.push(a);
|
|
1786
1786
|
let c;
|
|
1787
|
-
switch (
|
|
1788
|
-
case
|
|
1789
|
-
c = ye;
|
|
1790
|
-
break;
|
|
1791
|
-
case k.rotation:
|
|
1787
|
+
switch (j[i.path]) {
|
|
1788
|
+
case j.weights:
|
|
1792
1789
|
c = xe;
|
|
1793
1790
|
break;
|
|
1794
|
-
case
|
|
1795
|
-
|
|
1796
|
-
|
|
1791
|
+
case j.rotation:
|
|
1792
|
+
c = Ee;
|
|
1793
|
+
break;
|
|
1794
|
+
case j.translation:
|
|
1795
|
+
case j.scale:
|
|
1796
|
+
c = ye;
|
|
1797
1797
|
break;
|
|
1798
1798
|
default:
|
|
1799
1799
|
switch (s.itemSize) {
|
|
1800
1800
|
case 1:
|
|
1801
|
-
c =
|
|
1801
|
+
c = xe;
|
|
1802
1802
|
break;
|
|
1803
1803
|
case 2:
|
|
1804
1804
|
case 3:
|
|
1805
1805
|
default:
|
|
1806
|
-
c =
|
|
1806
|
+
c = ye;
|
|
1807
1807
|
break;
|
|
1808
1808
|
}
|
|
1809
1809
|
break;
|
|
1810
1810
|
}
|
|
1811
|
-
const u = n.interpolation !== void 0 ? ls[n.interpolation] :
|
|
1811
|
+
const u = n.interpolation !== void 0 ? ls[n.interpolation] : Ke, h = this._getArrayFromAccessor(s);
|
|
1812
1812
|
for (let d = 0, p = r.length; d < p; d++) {
|
|
1813
1813
|
const m = new c(
|
|
1814
|
-
r[d] + "." +
|
|
1814
|
+
r[d] + "." + j[i.path],
|
|
1815
1815
|
t.array,
|
|
1816
1816
|
h,
|
|
1817
1817
|
u
|
|
@@ -1823,7 +1823,7 @@ class _s {
|
|
|
1823
1823
|
_getArrayFromAccessor(e) {
|
|
1824
1824
|
let t = e.array;
|
|
1825
1825
|
if (e.normalized) {
|
|
1826
|
-
const s =
|
|
1826
|
+
const s = me(t.constructor), n = new Float32Array(t.length);
|
|
1827
1827
|
for (let i = 0, o = t.length; i < o; i++)
|
|
1828
1828
|
n[i] = t[i] * s;
|
|
1829
1829
|
t = n;
|
|
@@ -1832,13 +1832,13 @@ class _s {
|
|
|
1832
1832
|
}
|
|
1833
1833
|
_createCubicSplineTrackInterpolant(e) {
|
|
1834
1834
|
e.createInterpolant = function(s) {
|
|
1835
|
-
const n = this instanceof
|
|
1835
|
+
const n = this instanceof Ee ? cs : ze;
|
|
1836
1836
|
return new n(this.times, this.values, this.getValueSize() / 3, s);
|
|
1837
1837
|
}, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
|
|
1838
1838
|
}
|
|
1839
1839
|
}
|
|
1840
|
-
function
|
|
1841
|
-
const s = e.attributes, n = new
|
|
1840
|
+
function _s(l, e, t) {
|
|
1841
|
+
const s = e.attributes, n = new Ot();
|
|
1842
1842
|
if (s.POSITION !== void 0) {
|
|
1843
1843
|
const a = t.json.accessors[s.POSITION], r = a.min, c = a.max;
|
|
1844
1844
|
if (r !== void 0 && c !== void 0) {
|
|
@@ -1846,7 +1846,7 @@ function gs(l, e, t) {
|
|
|
1846
1846
|
new M(r[0], r[1], r[2]),
|
|
1847
1847
|
new M(c[0], c[1], c[2])
|
|
1848
1848
|
), a.normalized) {
|
|
1849
|
-
const u =
|
|
1849
|
+
const u = me(K[a.componentType]);
|
|
1850
1850
|
n.min.multiplyScalar(u), n.max.multiplyScalar(u);
|
|
1851
1851
|
}
|
|
1852
1852
|
} else {
|
|
@@ -1864,8 +1864,8 @@ function gs(l, e, t) {
|
|
|
1864
1864
|
const d = t.json.accessors[h.POSITION], p = d.min, m = d.max;
|
|
1865
1865
|
if (p !== void 0 && m !== void 0) {
|
|
1866
1866
|
if (r.setX(Math.max(Math.abs(p[0]), Math.abs(m[0]))), r.setY(Math.max(Math.abs(p[1]), Math.abs(m[1]))), r.setZ(Math.max(Math.abs(p[2]), Math.abs(m[2]))), d.normalized) {
|
|
1867
|
-
const
|
|
1868
|
-
r.multiplyScalar(
|
|
1867
|
+
const _ = me(K[d.componentType]);
|
|
1868
|
+
r.multiplyScalar(_);
|
|
1869
1869
|
}
|
|
1870
1870
|
a.max(r);
|
|
1871
1871
|
} else
|
|
@@ -1875,10 +1875,10 @@ function gs(l, e, t) {
|
|
|
1875
1875
|
n.expandByVector(a);
|
|
1876
1876
|
}
|
|
1877
1877
|
l.boundingBox = n;
|
|
1878
|
-
const o = new
|
|
1878
|
+
const o = new Dt();
|
|
1879
1879
|
n.getCenter(o.center), o.radius = n.min.distanceTo(n.max) / 2, l.boundingSphere = o;
|
|
1880
1880
|
}
|
|
1881
|
-
function
|
|
1881
|
+
function Oe(l, e, t) {
|
|
1882
1882
|
const s = e.attributes, n = [];
|
|
1883
1883
|
function i(o, a) {
|
|
1884
1884
|
return t.getDependency("accessor", o).then(function(r) {
|
|
@@ -1886,7 +1886,7 @@ function Ne(l, e, t) {
|
|
|
1886
1886
|
});
|
|
1887
1887
|
}
|
|
1888
1888
|
for (const o in s) {
|
|
1889
|
-
const a =
|
|
1889
|
+
const a = fe[o] || o.toLowerCase();
|
|
1890
1890
|
a in l.attributes || n.push(i(s[o], a));
|
|
1891
1891
|
}
|
|
1892
1892
|
if (e.indices !== void 0 && !l.index) {
|
|
@@ -1895,11 +1895,11 @@ function Ne(l, e, t) {
|
|
|
1895
1895
|
});
|
|
1896
1896
|
n.push(o);
|
|
1897
1897
|
}
|
|
1898
|
-
return
|
|
1898
|
+
return be.workingColorSpace !== I && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${be.workingColorSpace}" not supported.`), D(l, e), _s(l, e, t), Promise.all(n).then(function() {
|
|
1899
1899
|
return e.targets !== void 0 ? us(l, e.targets, t) : l;
|
|
1900
1900
|
});
|
|
1901
1901
|
}
|
|
1902
|
-
const
|
|
1902
|
+
const De = { type: "change" }, _e = { type: "start" }, Ve = { type: "end" }, W = new It(), Ce = new vt(), Ts = Math.cos(70 * Ue.DEG2RAD), R = new M(), w = 2 * Math.PI, E = {
|
|
1903
1903
|
NONE: -1,
|
|
1904
1904
|
ROTATE: 0,
|
|
1905
1905
|
DOLLY: 1,
|
|
@@ -1909,7 +1909,7 @@ const Oe = { type: "change" }, _e = { type: "start" }, ze = { type: "end" }, W =
|
|
|
1909
1909
|
TOUCH_DOLLY_PAN: 5,
|
|
1910
1910
|
TOUCH_DOLLY_ROTATE: 6
|
|
1911
1911
|
}, ae = 1e-6;
|
|
1912
|
-
class ys extends
|
|
1912
|
+
class ys extends Ct {
|
|
1913
1913
|
/**
|
|
1914
1914
|
* Constructs a new controls instance.
|
|
1915
1915
|
*
|
|
@@ -1917,7 +1917,7 @@ class ys extends Dt {
|
|
|
1917
1917
|
* @param {?HTMLDOMElement} domElement - The HTML element used for event listeners.
|
|
1918
1918
|
*/
|
|
1919
1919
|
constructor(e, t = null) {
|
|
1920
|
-
super(e, t), this.state = E.NONE, this.target = new M(), this.cursor = new M(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: U.ROTATE, MIDDLE: U.DOLLY, RIGHT: U.PAN }, this.touches = { ONE: G.ROTATE, TWO: G.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new M(), this._lastQuaternion = new Q(), this._lastTargetPosition = new M(), this._quat = new Q().setFromUnitVectors(e.up, new M(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new
|
|
1920
|
+
super(e, t), this.state = E.NONE, this.target = new M(), this.cursor = new M(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: U.ROTATE, MIDDLE: U.DOLLY, RIGHT: U.PAN }, this.touches = { ONE: G.ROTATE, TWO: G.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new M(), this._lastQuaternion = new Q(), this._lastTargetPosition = new M(), this._quat = new Q().setFromUnitVectors(e.up, new M(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Re(), this._sphericalDelta = new Re(), this._scale = 1, this._panOffset = new M(), this._rotateStart = new S(), this._rotateEnd = new S(), this._rotateDelta = new S(), this._panStart = new S(), this._panEnd = new S(), this._panDelta = new S(), this._dollyStart = new S(), this._dollyEnd = new S(), this._dollyDelta = new S(), this._dollyDirection = new M(), this._mouse = new S(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = Es.bind(this), this._onPointerDown = xs.bind(this), this._onPointerUp = bs.bind(this), this._onContextMenu = Ps.bind(this), this._onMouseWheel = ws.bind(this), this._onKeyDown = Ss.bind(this), this._onTouchStart = As.bind(this), this._onTouchMove = Ls.bind(this), this._onMouseDown = Rs.bind(this), this._onMouseMove = Ms.bind(this), this._interceptControlDown = Ns.bind(this), this._interceptControlUp = Os.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
|
|
1921
1921
|
}
|
|
1922
1922
|
connect(e) {
|
|
1923
1923
|
super.connect(e), this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
|
|
@@ -1978,7 +1978,7 @@ class ys extends Dt {
|
|
|
1978
1978
|
* was called, or the initial state.
|
|
1979
1979
|
*/
|
|
1980
1980
|
reset() {
|
|
1981
|
-
this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(
|
|
1981
|
+
this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(De), this.update(), this.state = E.NONE;
|
|
1982
1982
|
}
|
|
1983
1983
|
update(e = null) {
|
|
1984
1984
|
const t = this.object.position;
|
|
@@ -2008,12 +2008,12 @@ class ys extends Dt {
|
|
|
2008
2008
|
c.unproject(this.object), this.object.position.sub(c).add(a), this.object.updateMatrixWorld(), o = R.length();
|
|
2009
2009
|
} else
|
|
2010
2010
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
|
|
2011
|
-
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : (W.origin.copy(this.object.position), W.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(W.direction)) < Ts ? this.object.lookAt(this.target) : (
|
|
2011
|
+
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : (W.origin.copy(this.object.position), W.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(W.direction)) < Ts ? this.object.lookAt(this.target) : (Ce.setFromNormalAndCoplanarPoint(this.object.up, this.target), W.intersectPlane(Ce, this.target))));
|
|
2012
2012
|
} else if (this.object.isOrthographicCamera) {
|
|
2013
2013
|
const o = this.object.zoom;
|
|
2014
2014
|
this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), o !== this.object.zoom && (this.object.updateProjectionMatrix(), i = !0);
|
|
2015
2015
|
}
|
|
2016
|
-
return this._scale = 1, this._performCursorZoom = !1, i || this._lastPosition.distanceToSquared(this.object.position) > ae || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > ae || this._lastTargetPosition.distanceToSquared(this.target) > ae ? (this.dispatchEvent(
|
|
2016
|
+
return this._scale = 1, this._performCursorZoom = !1, i || this._lastPosition.distanceToSquared(this.object.position) > ae || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > ae || this._lastTargetPosition.distanceToSquared(this.target) > ae ? (this.dispatchEvent(De), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
|
|
2017
2017
|
}
|
|
2018
2018
|
_getAutoRotationAngle(e) {
|
|
2019
2019
|
return e !== null ? w / 60 * this.autoRotateSpeed * e : w / 60 / 60 * this.autoRotateSpeed;
|
|
@@ -2214,7 +2214,7 @@ function Es(l) {
|
|
|
2214
2214
|
function bs(l) {
|
|
2215
2215
|
switch (this._removePointer(l), this._pointers.length) {
|
|
2216
2216
|
case 0:
|
|
2217
|
-
this.domElement.releasePointerCapture(l.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(
|
|
2217
|
+
this.domElement.releasePointerCapture(l.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Ve), this.state = E.NONE;
|
|
2218
2218
|
break;
|
|
2219
2219
|
case 1:
|
|
2220
2220
|
const e = this._pointers[0], t = this._pointerPositions[e];
|
|
@@ -2282,7 +2282,7 @@ function Ms(l) {
|
|
|
2282
2282
|
}
|
|
2283
2283
|
}
|
|
2284
2284
|
function ws(l) {
|
|
2285
|
-
this.enabled === !1 || this.enableZoom === !1 || this.state !== E.NONE || (l.preventDefault(), this.dispatchEvent(_e), this._handleMouseWheel(this._customWheelEvent(l)), this.dispatchEvent(
|
|
2285
|
+
this.enabled === !1 || this.enableZoom === !1 || this.state !== E.NONE || (l.preventDefault(), this.dispatchEvent(_e), this._handleMouseWheel(this._customWheelEvent(l)), this.dispatchEvent(Ve));
|
|
2286
2286
|
}
|
|
2287
2287
|
function Ss(l) {
|
|
2288
2288
|
this.enabled !== !1 && this._handleKeyDown(l);
|
|
@@ -2365,6 +2365,14 @@ const Ds = (l, e) => {
|
|
|
2365
2365
|
type: Boolean,
|
|
2366
2366
|
default: !1
|
|
2367
2367
|
},
|
|
2368
|
+
clearAlpha: {
|
|
2369
|
+
type: [String, Number],
|
|
2370
|
+
default: 1
|
|
2371
|
+
},
|
|
2372
|
+
clearColor: {
|
|
2373
|
+
type: String,
|
|
2374
|
+
default: "#7fbfff"
|
|
2375
|
+
},
|
|
2368
2376
|
useOrbitControls: {
|
|
2369
2377
|
type: Boolean,
|
|
2370
2378
|
default: !1
|
|
@@ -2384,14 +2392,15 @@ const Ds = (l, e) => {
|
|
|
2384
2392
|
},
|
|
2385
2393
|
emits: ["initialized", "animate"],
|
|
2386
2394
|
setup(l, { emit: e }) {
|
|
2387
|
-
const t = e, s = l, n = "dom" +
|
|
2395
|
+
const t = e, s = l, n = "dom" + Xe().uid, i = Ye(n);
|
|
2388
2396
|
let o = null, a = null, r = null, c = null, u = null;
|
|
2389
2397
|
const h = () => {
|
|
2390
2398
|
t("animate", {
|
|
2391
|
-
GLTFLoader:
|
|
2392
|
-
THREE:
|
|
2393
|
-
VRMExpressionPresetName:
|
|
2394
|
-
VRMHumanBoneName:
|
|
2399
|
+
GLTFLoader: pe,
|
|
2400
|
+
THREE: L,
|
|
2401
|
+
VRMExpressionPresetName: we,
|
|
2402
|
+
VRMHumanBoneName: Me,
|
|
2403
|
+
VRMUtils: ue,
|
|
2395
2404
|
camera: r,
|
|
2396
2405
|
controls: u,
|
|
2397
2406
|
renderer: c,
|
|
@@ -2402,38 +2411,46 @@ const Ds = (l, e) => {
|
|
|
2402
2411
|
}, p = () => {
|
|
2403
2412
|
o != null && (cancelAnimationFrame(o), o = null);
|
|
2404
2413
|
};
|
|
2405
|
-
|
|
2406
|
-
|
|
2414
|
+
C(() => s.animation, (_) => {
|
|
2415
|
+
_ == !0 ? d() : p();
|
|
2416
|
+
}), C(() => s.clearAlpha, (_) => {
|
|
2417
|
+
c && c.setClearAlpha(parseFloat(_));
|
|
2418
|
+
}), C(() => s.clearColor, (_) => {
|
|
2419
|
+
if (c) {
|
|
2420
|
+
const f = new L.Color(_), g = c.getClearAlpha();
|
|
2421
|
+
c.setClearColor(f, g);
|
|
2422
|
+
}
|
|
2407
2423
|
});
|
|
2408
2424
|
const m = () => {
|
|
2409
|
-
const
|
|
2425
|
+
const _ = i.value, f = _.clientWidth, g = _.clientHeight, x = {
|
|
2410
2426
|
antialias: !0,
|
|
2411
2427
|
alpha: !1
|
|
2412
2428
|
};
|
|
2413
|
-
if (
|
|
2429
|
+
if (L.ColorManagement.enabled = !1, c = new L.WebGLRenderer(x), c.setPixelRatio(window.devicePixelRatio), c.setSize(f, g), c.setClearColor(s.clearColor, s.clearAlpha), c.outputColorSpace = L.SRGBColorSpace, _.appendChild(c.domElement), a = new L.Scene(), r = new L.PerspectiveCamera(
|
|
2414
2430
|
45,
|
|
2415
|
-
f /
|
|
2431
|
+
f / g,
|
|
2416
2432
|
0.1,
|
|
2417
2433
|
1e3
|
|
2418
|
-
), r.position.set(0, 1.25, 1), s.useOrbitControls && (u = new ys(r,
|
|
2419
|
-
const T = new
|
|
2434
|
+
), r.position.set(0, 1.25, 1), s.useOrbitControls && (u = new ys(r, _), u.screenSpacePanning = !0, u.target.set(0, 1.25, 0), u.update()), s.useGridHelper) {
|
|
2435
|
+
const T = new L.GridHelper(10, 10);
|
|
2420
2436
|
a.add(T), T.visible = !0;
|
|
2421
2437
|
}
|
|
2422
2438
|
if (s.useAxesHelper) {
|
|
2423
|
-
const T = new
|
|
2439
|
+
const T = new L.AxesHelper(5);
|
|
2424
2440
|
a.add(T);
|
|
2425
2441
|
}
|
|
2426
2442
|
if (s.useDefaultLight) {
|
|
2427
|
-
const T = new
|
|
2443
|
+
const T = new L.DirectionalLight(16777215);
|
|
2428
2444
|
T.intensity = 3, T.position.set(1, 1, 1).normalize(), a.add(T);
|
|
2429
|
-
const A = new
|
|
2445
|
+
const A = new L.AmbientLight(4210752);
|
|
2430
2446
|
a.add(A);
|
|
2431
2447
|
}
|
|
2432
2448
|
t("initialized", {
|
|
2433
|
-
GLTFLoader:
|
|
2434
|
-
THREE:
|
|
2435
|
-
VRMExpressionPresetName:
|
|
2436
|
-
VRMHumanBoneName:
|
|
2449
|
+
GLTFLoader: pe,
|
|
2450
|
+
THREE: L,
|
|
2451
|
+
VRMExpressionPresetName: we,
|
|
2452
|
+
VRMHumanBoneName: Me,
|
|
2453
|
+
VRMUtils: ue,
|
|
2437
2454
|
camera: r,
|
|
2438
2455
|
controls: u,
|
|
2439
2456
|
renderer: c,
|
|
@@ -2441,22 +2458,22 @@ const Ds = (l, e) => {
|
|
|
2441
2458
|
});
|
|
2442
2459
|
};
|
|
2443
2460
|
return $(async () => {
|
|
2444
|
-
if (!
|
|
2445
|
-
const f =
|
|
2461
|
+
if (!Se.isWebGL2Available()) {
|
|
2462
|
+
const f = Se.getWebGLErrorMessage();
|
|
2446
2463
|
console.error(f);
|
|
2447
2464
|
return;
|
|
2448
2465
|
}
|
|
2449
|
-
const
|
|
2450
|
-
const f = i.value,
|
|
2451
|
-
c.setPixelRatio(window.devicePixelRatio), c.setSize(
|
|
2466
|
+
const _ = () => {
|
|
2467
|
+
const f = i.value, g = f.clientWidth, x = f.clientHeight;
|
|
2468
|
+
c.setPixelRatio(window.devicePixelRatio), c.setSize(g, x), r.aspect = g / x, r.updateProjectionMatrix();
|
|
2452
2469
|
};
|
|
2453
|
-
window.addEventListener("resize",
|
|
2454
|
-
}), (
|
|
2470
|
+
window.addEventListener("resize", _), m();
|
|
2471
|
+
}), (_, f) => (ge(), Ie("div", {
|
|
2455
2472
|
ref: n,
|
|
2456
2473
|
class: "box"
|
|
2457
2474
|
}));
|
|
2458
2475
|
}
|
|
2459
|
-
}, Us = /* @__PURE__ */ Ds(Cs, [["__scopeId", "data-v-
|
|
2476
|
+
}, Us = /* @__PURE__ */ Ds(Cs, [["__scopeId", "data-v-60c3a6e5"]]), Is = {
|
|
2460
2477
|
__name: "VroidExpression",
|
|
2461
2478
|
props: {
|
|
2462
2479
|
command: {
|
|
@@ -2479,7 +2496,7 @@ const Ds = (l, e) => {
|
|
|
2479
2496
|
if (!o)
|
|
2480
2497
|
return;
|
|
2481
2498
|
t("loading", s.name, s.command);
|
|
2482
|
-
const r = await new
|
|
2499
|
+
const r = await new de().fetchExpression(o);
|
|
2483
2500
|
let c = !1;
|
|
2484
2501
|
r && (c = !0), t("loaded", s.name, s.command, c, r);
|
|
2485
2502
|
}, i = (o) => {
|
|
@@ -2489,9 +2506,9 @@ const Ds = (l, e) => {
|
|
|
2489
2506
|
};
|
|
2490
2507
|
return $(async () => {
|
|
2491
2508
|
s.data != null ? i(s.data) : n(s.url);
|
|
2492
|
-
}),
|
|
2509
|
+
}), C(() => s.data, () => {
|
|
2493
2510
|
s.data != null && i(s.data);
|
|
2494
|
-
}),
|
|
2511
|
+
}), C(() => s.url, () => {
|
|
2495
2512
|
s.url && n(s.url);
|
|
2496
2513
|
}), (o, a) => null;
|
|
2497
2514
|
}
|
|
@@ -2518,20 +2535,20 @@ const Ds = (l, e) => {
|
|
|
2518
2535
|
if (!o)
|
|
2519
2536
|
return;
|
|
2520
2537
|
t("loading", s.name, s.command);
|
|
2521
|
-
const r = await new
|
|
2538
|
+
const r = await new de().fetchPose(o);
|
|
2522
2539
|
let c = !1;
|
|
2523
2540
|
r && (c = !0), t("loaded", s.name, s.command, c, r);
|
|
2524
2541
|
}, i = (o) => {
|
|
2525
2542
|
t("loading", s.name, s.command);
|
|
2526
|
-
const r = new
|
|
2543
|
+
const r = new de().normalizePose(o);
|
|
2527
2544
|
let c = !1;
|
|
2528
2545
|
r && (c = !0), t("loaded", s.name, s.command, c, r);
|
|
2529
2546
|
};
|
|
2530
2547
|
return $(async () => {
|
|
2531
2548
|
s.data != null ? i(s.data) : n(s.url);
|
|
2532
|
-
}),
|
|
2549
|
+
}), C(() => s.data, () => {
|
|
2533
2550
|
s.data != null && i(s.data);
|
|
2534
|
-
}),
|
|
2551
|
+
}), C(() => s.url, () => {
|
|
2535
2552
|
s.url && n(s.url);
|
|
2536
2553
|
}), (o, a) => null;
|
|
2537
2554
|
}
|
|
@@ -2555,10 +2572,10 @@ const Ds = (l, e) => {
|
|
|
2555
2572
|
emits: ["loading", "loaded"],
|
|
2556
2573
|
setup(l, { emit: e }) {
|
|
2557
2574
|
const t = e, s = l, n = async (a) => {
|
|
2558
|
-
const r = new
|
|
2559
|
-
return r.register((c) => new
|
|
2575
|
+
const r = new pe();
|
|
2576
|
+
return r.register((c) => new kt(c)), await r.loadAsync(a).then((c) => {
|
|
2560
2577
|
const u = c.userData.vrm;
|
|
2561
|
-
return
|
|
2578
|
+
return ue.rotateVRM0(u), u;
|
|
2562
2579
|
});
|
|
2563
2580
|
}, i = async (a) => {
|
|
2564
2581
|
if (!a)
|
|
@@ -2574,9 +2591,9 @@ const Ds = (l, e) => {
|
|
|
2574
2591
|
};
|
|
2575
2592
|
return $(async () => {
|
|
2576
2593
|
s.data != null ? o(s.data) : i(s.url);
|
|
2577
|
-
}),
|
|
2594
|
+
}), C(() => s.data, () => {
|
|
2578
2595
|
s.data != null && o(s.data);
|
|
2579
|
-
}),
|
|
2596
|
+
}), C(() => s.url, () => {
|
|
2580
2597
|
s.url && i(s.url);
|
|
2581
2598
|
}), (a, r) => null;
|
|
2582
2599
|
}
|
|
@@ -2625,22 +2642,22 @@ const Ds = (l, e) => {
|
|
|
2625
2642
|
const m = Object.keys(n).length;
|
|
2626
2643
|
p == 0 && m && t("loading", s.name);
|
|
2627
2644
|
}, u = (h, d, p, m) => {
|
|
2628
|
-
const
|
|
2645
|
+
const _ = Object.keys(n).length;
|
|
2629
2646
|
p && (d == "load_expression" && (o.value = m), d == "load_pose" && (a.value = m), d == "load_vrm" && (r.value = m), i[h] = d), delete n[h];
|
|
2630
2647
|
const f = Object.keys(n).length;
|
|
2631
|
-
if (
|
|
2632
|
-
const
|
|
2648
|
+
if (_ && f == 0) {
|
|
2649
|
+
const g = {};
|
|
2633
2650
|
for (const b in i) {
|
|
2634
2651
|
const T = i[b];
|
|
2635
|
-
T == "load_expression" && (
|
|
2652
|
+
T == "load_expression" && (g.expression = o.value), T == "load_pose" && (g.pose = a.value), T == "load_vrm" && (g.vrm = r.value);
|
|
2636
2653
|
}
|
|
2637
|
-
t("loaded", s.name,
|
|
2654
|
+
t("loaded", s.name, g);
|
|
2638
2655
|
const x = Object.keys(i);
|
|
2639
2656
|
for (const b of x)
|
|
2640
2657
|
delete i[b];
|
|
2641
2658
|
}
|
|
2642
2659
|
};
|
|
2643
|
-
return (h, d) => (
|
|
2660
|
+
return (h, d) => (ge(), Ie(We, null, [
|
|
2644
2661
|
ee(Is, {
|
|
2645
2662
|
command: "load_expression",
|
|
2646
2663
|
name: s.expression_name,
|
|
@@ -2720,7 +2737,7 @@ const Ds = (l, e) => {
|
|
|
2720
2737
|
}, i = (o, a) => {
|
|
2721
2738
|
"vrm" in a && s.value.setModel(a.vrm), "pose" in a && (s.value.resetPose(), s.value.setPose(a.pose), s.value.updatePose()), "expression" in a && (s.value.resetExpression(), s.value.importExpression(a.expression), s.value.updateExpression()), t("loaded", o, s.value);
|
|
2722
2739
|
};
|
|
2723
|
-
return (o, a) => (
|
|
2740
|
+
return (o, a) => (ge(), Ze(js, {
|
|
2724
2741
|
name: l.model_name,
|
|
2725
2742
|
expression_name: l.expression_name,
|
|
2726
2743
|
expression_url: l.expression_url,
|
|
@@ -2737,7 +2754,7 @@ const Ds = (l, e) => {
|
|
|
2737
2754
|
}
|
|
2738
2755
|
};
|
|
2739
2756
|
export {
|
|
2740
|
-
|
|
2757
|
+
de as ResourceLoader,
|
|
2741
2758
|
Us as ThreeFrame,
|
|
2742
2759
|
jt as VrmModel,
|
|
2743
2760
|
Ks as VroidControl,
|