@j-kyoda/vue-three-vrm 0.5.2 → 0.6.0
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/vue-three-vrm.es.js +155 -143
- package/dist/vue-three-vrm.umd.js +2 -2
- package/package.json +5 -5
package/dist/vue-three-vrm.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { getCurrentInstance as
|
|
1
|
+
import { getCurrentInstance as Be, useTemplateRef as Ve, watch as F, onMounted as $, createElementBlock as Pe, openBlock as pe, inject as Ne, ref as Z, Fragment as ze, createVNode as ee, createBlock as Xe } from "vue";
|
|
2
2
|
import * as O from "three";
|
|
3
|
-
import { Controls as Ye, Vector3 as M, MOUSE as
|
|
3
|
+
import { Controls as Ye, Vector3 as M, MOUSE as G, TOUCH as U, Quaternion as q, Spherical as me, Vector2 as S, Ray as We, Plane as Ze, MathUtils as Oe, TrianglesDrawMode as qe, TriangleFanDrawMode as ce, TriangleStripDrawMode as De, Loader as Qe, LoaderUtils as X, FileLoader as Ce, MeshPhysicalMaterial as N, Color as H, LinearSRGBColorSpace as C, SRGBColorSpace as Y, SpotLight as $e, PointLight as Je, DirectionalLight as et, Matrix4 as Q, InstancedMesh as tt, InstancedBufferAttribute as st, Object3D as Ie, TextureLoader as nt, ImageBitmapLoader as it, BufferAttribute as te, InterleavedBuffer as ot, InterleavedBufferAttribute as rt, LinearMipmapLinearFilter as ve, NearestMipmapLinearFilter as at, LinearMipmapNearestFilter as ct, NearestMipmapNearestFilter as lt, LinearFilter as le, NearestFilter as ke, RepeatWrapping as he, MirroredRepeatWrapping as ht, ClampToEdgeWrapping as ut, PointsMaterial as dt, Material as se, LineBasicMaterial as pt, MeshStandardMaterial as je, DoubleSide as ft, MeshBasicMaterial as z, PropertyBinding as mt, BufferGeometry as _t, SkinnedMesh as gt, Mesh as Tt, LineSegments as yt, Line as xt, LineLoop as Et, Points as bt, Group as ne, PerspectiveCamera as Rt, OrthographicCamera as Mt, Skeleton as wt, AnimationClip as St, Bone as At, InterpolateDiscrete as Lt, InterpolateLinear as Fe, Texture as _e, VectorKeyframeTrack as ge, NumberKeyframeTrack as Te, QuaternionKeyframeTrack as ye, ColorManagement as xe, FrontSide as Pt, Interpolant as Nt, Box3 as Ot, Sphere as Dt } from "three";
|
|
4
4
|
import { VRMLoaderPlugin as Ct, VRMUtils as It } from "@pixiv/three-vrm";
|
|
5
|
-
class
|
|
5
|
+
class He {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.status = 0, this.url = null, this.data = null;
|
|
8
8
|
}
|
|
@@ -127,7 +127,7 @@ class vt {
|
|
|
127
127
|
return null;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
class
|
|
130
|
+
class Ee {
|
|
131
131
|
/**
|
|
132
132
|
* Returns `true` if WebGL 2 is available.
|
|
133
133
|
*
|
|
@@ -192,7 +192,7 @@ class xe {
|
|
|
192
192
|
return console.warn("getWebGLErrorMessage() has been deprecated and will be removed in r178. Use getWebGL2ErrorMessage() instead."), this._getErrorMessage(1);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
const
|
|
195
|
+
const be = { type: "change" }, fe = { type: "start" }, Ue = { type: "end" }, W = new We(), Re = new Ze(), kt = Math.cos(70 * Oe.DEG2RAD), R = new M(), w = 2 * Math.PI, E = {
|
|
196
196
|
NONE: -1,
|
|
197
197
|
ROTATE: 0,
|
|
198
198
|
DOLLY: 1,
|
|
@@ -201,7 +201,7 @@ const Ee = { type: "change" }, pe = { type: "start" }, He = { type: "end" }, Y =
|
|
|
201
201
|
TOUCH_PAN: 4,
|
|
202
202
|
TOUCH_DOLLY_PAN: 5,
|
|
203
203
|
TOUCH_DOLLY_ROTATE: 6
|
|
204
|
-
},
|
|
204
|
+
}, ie = 1e-6;
|
|
205
205
|
class jt extends Ye {
|
|
206
206
|
/**
|
|
207
207
|
* Constructs a new controls instance.
|
|
@@ -210,7 +210,7 @@ class jt extends Ye {
|
|
|
210
210
|
* @param {?HTMLDOMElement} domElement - The HTML element used for event listeners.
|
|
211
211
|
*/
|
|
212
212
|
constructor(e, t = null) {
|
|
213
|
-
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:
|
|
213
|
+
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: G.ROTATE, MIDDLE: G.DOLLY, RIGHT: G.PAN }, this.touches = { ONE: U.ROTATE, TWO: U.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 me(), this._sphericalDelta = new me(), 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 = Ht.bind(this), this._onPointerDown = Ft.bind(this), this._onPointerUp = Ut.bind(this), this._onContextMenu = Yt.bind(this), this._onMouseWheel = Bt.bind(this), this._onKeyDown = Vt.bind(this), this._onTouchStart = zt.bind(this), this._onTouchMove = Xt.bind(this), this._onMouseDown = Gt.bind(this), this._onMouseMove = Kt.bind(this), this._interceptControlDown = Wt.bind(this), this._interceptControlUp = Zt.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
|
|
214
214
|
}
|
|
215
215
|
connect(e) {
|
|
216
216
|
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";
|
|
@@ -271,7 +271,7 @@ class jt extends Ye {
|
|
|
271
271
|
* was called, or the initial state.
|
|
272
272
|
*/
|
|
273
273
|
reset() {
|
|
274
|
-
this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(
|
|
274
|
+
this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(be), this.update(), this.state = E.NONE;
|
|
275
275
|
}
|
|
276
276
|
update(e = null) {
|
|
277
277
|
const t = this.object.position;
|
|
@@ -301,12 +301,12 @@ class jt extends Ye {
|
|
|
301
301
|
c.unproject(this.object), this.object.position.sub(c).add(r), this.object.updateMatrixWorld(), o = R.length();
|
|
302
302
|
} else
|
|
303
303
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
|
|
304
|
-
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : (
|
|
304
|
+
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)) < kt ? this.object.lookAt(this.target) : (Re.setFromNormalAndCoplanarPoint(this.object.up, this.target), W.intersectPlane(Re, this.target))));
|
|
305
305
|
} else if (this.object.isOrthographicCamera) {
|
|
306
306
|
const o = this.object.zoom;
|
|
307
307
|
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);
|
|
308
308
|
}
|
|
309
|
-
return this._scale = 1, this._performCursorZoom = !1, i || this._lastPosition.distanceToSquared(this.object.position) >
|
|
309
|
+
return this._scale = 1, this._performCursorZoom = !1, i || this._lastPosition.distanceToSquared(this.object.position) > ie || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > ie || this._lastTargetPosition.distanceToSquared(this.target) > ie ? (this.dispatchEvent(be), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
|
|
310
310
|
}
|
|
311
311
|
_getAutoRotationAngle(e) {
|
|
312
312
|
return e !== null ? w / 60 * this.autoRotateSpeed * e : w / 60 / 60 * this.autoRotateSpeed;
|
|
@@ -507,7 +507,7 @@ function Ht(l) {
|
|
|
507
507
|
function Ut(l) {
|
|
508
508
|
switch (this._removePointer(l), this._pointers.length) {
|
|
509
509
|
case 0:
|
|
510
|
-
this.domElement.releasePointerCapture(l.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(
|
|
510
|
+
this.domElement.releasePointerCapture(l.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Ue), this.state = E.NONE;
|
|
511
511
|
break;
|
|
512
512
|
case 1:
|
|
513
513
|
const e = this._pointers[0], t = this._pointerPositions[e];
|
|
@@ -531,11 +531,11 @@ function Gt(l) {
|
|
|
531
531
|
e = -1;
|
|
532
532
|
}
|
|
533
533
|
switch (e) {
|
|
534
|
-
case
|
|
534
|
+
case G.DOLLY:
|
|
535
535
|
if (this.enableZoom === !1) return;
|
|
536
536
|
this._handleMouseDownDolly(l), this.state = E.DOLLY;
|
|
537
537
|
break;
|
|
538
|
-
case
|
|
538
|
+
case G.ROTATE:
|
|
539
539
|
if (l.ctrlKey || l.metaKey || l.shiftKey) {
|
|
540
540
|
if (this.enablePan === !1) return;
|
|
541
541
|
this._handleMouseDownPan(l), this.state = E.PAN;
|
|
@@ -544,7 +544,7 @@ function Gt(l) {
|
|
|
544
544
|
this._handleMouseDownRotate(l), this.state = E.ROTATE;
|
|
545
545
|
}
|
|
546
546
|
break;
|
|
547
|
-
case
|
|
547
|
+
case G.PAN:
|
|
548
548
|
if (l.ctrlKey || l.metaKey || l.shiftKey) {
|
|
549
549
|
if (this.enableRotate === !1) return;
|
|
550
550
|
this._handleMouseDownRotate(l), this.state = E.ROTATE;
|
|
@@ -556,7 +556,7 @@ function Gt(l) {
|
|
|
556
556
|
default:
|
|
557
557
|
this.state = E.NONE;
|
|
558
558
|
}
|
|
559
|
-
this.state !== E.NONE && this.dispatchEvent(
|
|
559
|
+
this.state !== E.NONE && this.dispatchEvent(fe);
|
|
560
560
|
}
|
|
561
561
|
function Kt(l) {
|
|
562
562
|
switch (this.state) {
|
|
@@ -575,7 +575,7 @@ function Kt(l) {
|
|
|
575
575
|
}
|
|
576
576
|
}
|
|
577
577
|
function Bt(l) {
|
|
578
|
-
this.enabled === !1 || this.enableZoom === !1 || this.state !== E.NONE || (l.preventDefault(), this.dispatchEvent(
|
|
578
|
+
this.enabled === !1 || this.enableZoom === !1 || this.state !== E.NONE || (l.preventDefault(), this.dispatchEvent(fe), this._handleMouseWheel(this._customWheelEvent(l)), this.dispatchEvent(Ue));
|
|
579
579
|
}
|
|
580
580
|
function Vt(l) {
|
|
581
581
|
this.enabled !== !1 && this._handleKeyDown(l);
|
|
@@ -584,11 +584,11 @@ function zt(l) {
|
|
|
584
584
|
switch (this._trackPointer(l), this._pointers.length) {
|
|
585
585
|
case 1:
|
|
586
586
|
switch (this.touches.ONE) {
|
|
587
|
-
case
|
|
587
|
+
case U.ROTATE:
|
|
588
588
|
if (this.enableRotate === !1) return;
|
|
589
589
|
this._handleTouchStartRotate(l), this.state = E.TOUCH_ROTATE;
|
|
590
590
|
break;
|
|
591
|
-
case
|
|
591
|
+
case U.PAN:
|
|
592
592
|
if (this.enablePan === !1) return;
|
|
593
593
|
this._handleTouchStartPan(l), this.state = E.TOUCH_PAN;
|
|
594
594
|
break;
|
|
@@ -598,11 +598,11 @@ function zt(l) {
|
|
|
598
598
|
break;
|
|
599
599
|
case 2:
|
|
600
600
|
switch (this.touches.TWO) {
|
|
601
|
-
case
|
|
601
|
+
case U.DOLLY_PAN:
|
|
602
602
|
if (this.enableZoom === !1 && this.enablePan === !1) return;
|
|
603
603
|
this._handleTouchStartDollyPan(l), this.state = E.TOUCH_DOLLY_PAN;
|
|
604
604
|
break;
|
|
605
|
-
case
|
|
605
|
+
case U.DOLLY_ROTATE:
|
|
606
606
|
if (this.enableZoom === !1 && this.enableRotate === !1) return;
|
|
607
607
|
this._handleTouchStartDollyRotate(l), this.state = E.TOUCH_DOLLY_ROTATE;
|
|
608
608
|
break;
|
|
@@ -613,7 +613,7 @@ function zt(l) {
|
|
|
613
613
|
default:
|
|
614
614
|
this.state = E.NONE;
|
|
615
615
|
}
|
|
616
|
-
this.state !== E.NONE && this.dispatchEvent(
|
|
616
|
+
this.state !== E.NONE && this.dispatchEvent(fe);
|
|
617
617
|
}
|
|
618
618
|
function Xt(l) {
|
|
619
619
|
switch (this._trackPointer(l), this.state) {
|
|
@@ -677,7 +677,7 @@ const qt = (l, e) => {
|
|
|
677
677
|
},
|
|
678
678
|
emits: ["init", "animate"],
|
|
679
679
|
setup(l, { emit: e }) {
|
|
680
|
-
const t = e, n = l, s = "dom" +
|
|
680
|
+
const t = e, n = l, s = "dom" + Be().uid, i = Ve(s);
|
|
681
681
|
let o = null, r = null, a = null, c = null, h = null;
|
|
682
682
|
const u = () => {
|
|
683
683
|
t("animate", {
|
|
@@ -691,7 +691,7 @@ const qt = (l, e) => {
|
|
|
691
691
|
}, p = () => {
|
|
692
692
|
o != null && (cancelAnimationFrame(o), o = null);
|
|
693
693
|
};
|
|
694
|
-
|
|
694
|
+
F(() => n.animation, (g) => {
|
|
695
695
|
g == !0 ? d() : p();
|
|
696
696
|
});
|
|
697
697
|
const m = () => {
|
|
@@ -725,9 +725,9 @@ const qt = (l, e) => {
|
|
|
725
725
|
controls: h
|
|
726
726
|
});
|
|
727
727
|
};
|
|
728
|
-
return
|
|
729
|
-
if (!
|
|
730
|
-
const f =
|
|
728
|
+
return $(async () => {
|
|
729
|
+
if (!Ee.isWebGL2Available()) {
|
|
730
|
+
const f = Ee.getWebGLErrorMessage();
|
|
731
731
|
console.error(f);
|
|
732
732
|
return;
|
|
733
733
|
}
|
|
@@ -736,7 +736,7 @@ const qt = (l, e) => {
|
|
|
736
736
|
c.setPixelRatio(window.devicePixelRatio), c.setSize(_, x), a.aspect = _ / x, a.updateProjectionMatrix();
|
|
737
737
|
};
|
|
738
738
|
window.addEventListener("resize", g), m();
|
|
739
|
-
}), (g, f) => (
|
|
739
|
+
}), (g, f) => (pe(), Pe("div", {
|
|
740
740
|
ref: s,
|
|
741
741
|
class: "box"
|
|
742
742
|
}));
|
|
@@ -760,11 +760,11 @@ const qt = (l, e) => {
|
|
|
760
760
|
},
|
|
761
761
|
emits: ["loading", "loaded"],
|
|
762
762
|
setup(l, { emit: e }) {
|
|
763
|
-
const t =
|
|
763
|
+
const t = Ne("axios"), n = e, s = l, i = async (r) => {
|
|
764
764
|
if (!r)
|
|
765
765
|
return;
|
|
766
766
|
n("loading", s.name, s.command);
|
|
767
|
-
const c = await new
|
|
767
|
+
const c = await new He().loadExpression(t, r);
|
|
768
768
|
let h = !1;
|
|
769
769
|
c && (h = !0), n("loaded", s.name, s.command, h, c);
|
|
770
770
|
}, o = (r) => {
|
|
@@ -772,8 +772,12 @@ const qt = (l, e) => {
|
|
|
772
772
|
let a = !1;
|
|
773
773
|
r && (a = !0), n("loaded", s.name, s.command, a, r);
|
|
774
774
|
};
|
|
775
|
-
return
|
|
775
|
+
return $(async () => {
|
|
776
776
|
s.data != null ? o(s.data) : i(s.url);
|
|
777
|
+
}), F(() => s.data, () => {
|
|
778
|
+
s.data != null && o(s.data);
|
|
779
|
+
}), F(() => s.url, () => {
|
|
780
|
+
s.url && i(s.url);
|
|
777
781
|
}), (r, a) => null;
|
|
778
782
|
}
|
|
779
783
|
}, Jt = {
|
|
@@ -795,11 +799,11 @@ const qt = (l, e) => {
|
|
|
795
799
|
},
|
|
796
800
|
emits: ["loading", "loaded"],
|
|
797
801
|
setup(l, { emit: e }) {
|
|
798
|
-
const t =
|
|
802
|
+
const t = Ne("axios"), n = e, s = l, i = async (r) => {
|
|
799
803
|
if (!r)
|
|
800
804
|
return;
|
|
801
805
|
n("loading", s.name, s.command);
|
|
802
|
-
const c = await new
|
|
806
|
+
const c = await new He().loadPose(t, r);
|
|
803
807
|
let h = !1;
|
|
804
808
|
c && (h = !0), n("loaded", s.name, s.command, h, c);
|
|
805
809
|
}, o = (r) => {
|
|
@@ -807,15 +811,19 @@ const qt = (l, e) => {
|
|
|
807
811
|
let a = !1;
|
|
808
812
|
r && (a = !0), n("loaded", s.name, s.command, a, r);
|
|
809
813
|
};
|
|
810
|
-
return
|
|
814
|
+
return $(async () => {
|
|
811
815
|
s.data != null ? o(s.data) : i(s.url);
|
|
816
|
+
}), F(() => s.data, () => {
|
|
817
|
+
s.data != null && o(s.data);
|
|
818
|
+
}), F(() => s.url, () => {
|
|
819
|
+
s.url && i(s.url);
|
|
812
820
|
}), (r, a) => null;
|
|
813
821
|
}
|
|
814
822
|
};
|
|
815
|
-
function
|
|
823
|
+
function Me(l, e) {
|
|
816
824
|
if (e === qe)
|
|
817
825
|
return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), l;
|
|
818
|
-
if (e ===
|
|
826
|
+
if (e === ce || e === De) {
|
|
819
827
|
let t = l.getIndex();
|
|
820
828
|
if (t === null) {
|
|
821
829
|
const o = [], r = l.getAttribute("position");
|
|
@@ -827,7 +835,7 @@ function Re(l, e) {
|
|
|
827
835
|
return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), l;
|
|
828
836
|
}
|
|
829
837
|
const n = t.count - 2, s = [];
|
|
830
|
-
if (e ===
|
|
838
|
+
if (e === ce)
|
|
831
839
|
for (let o = 1; o <= n; o++)
|
|
832
840
|
s.push(t.getX(0)), s.push(t.getX(o)), s.push(t.getX(o + 1));
|
|
833
841
|
else
|
|
@@ -897,14 +905,14 @@ class es extends Qe {
|
|
|
897
905
|
if (this.resourcePath !== "")
|
|
898
906
|
o = this.resourcePath;
|
|
899
907
|
else if (this.path !== "") {
|
|
900
|
-
const c =
|
|
901
|
-
o =
|
|
908
|
+
const c = X.extractUrlBase(e);
|
|
909
|
+
o = X.resolveURL(c, this.path);
|
|
902
910
|
} else
|
|
903
|
-
o =
|
|
911
|
+
o = X.extractUrlBase(e);
|
|
904
912
|
this.manager.itemStart(e);
|
|
905
913
|
const r = function(c) {
|
|
906
914
|
s ? s(c) : console.error(c), i.manager.itemError(e), i.manager.itemEnd(e);
|
|
907
|
-
}, a = new
|
|
915
|
+
}, a = new Ce(this.manager);
|
|
908
916
|
a.setPath(this.path), a.setResponseType("arraybuffer"), a.setRequestHeader(this.requestHeader), a.setWithCredentials(this.withCredentials), a.load(e, function(c) {
|
|
909
917
|
try {
|
|
910
918
|
i.parse(c, o, function(h) {
|
|
@@ -979,7 +987,7 @@ class es extends Qe {
|
|
|
979
987
|
if (typeof e == "string")
|
|
980
988
|
i = JSON.parse(e);
|
|
981
989
|
else if (e instanceof ArrayBuffer)
|
|
982
|
-
if (a.decode(new Uint8Array(e, 0, 4)) ===
|
|
990
|
+
if (a.decode(new Uint8Array(e, 0, 4)) === Ge) {
|
|
983
991
|
try {
|
|
984
992
|
o[y.KHR_BINARY_GLTF] = new xs(e);
|
|
985
993
|
} catch (u) {
|
|
@@ -1103,7 +1111,7 @@ class ss {
|
|
|
1103
1111
|
if (s) return s;
|
|
1104
1112
|
const i = t.json, a = ((i.extensions && i.extensions[this.name] || {}).lights || [])[e];
|
|
1105
1113
|
let c;
|
|
1106
|
-
const h = new
|
|
1114
|
+
const h = new H(16777215);
|
|
1107
1115
|
a.color !== void 0 && h.setRGB(a.color[0], a.color[1], a.color[2], C);
|
|
1108
1116
|
const u = a.range !== void 0 ? a.range : 0;
|
|
1109
1117
|
switch (a.type) {
|
|
@@ -1137,18 +1145,18 @@ class ns {
|
|
|
1137
1145
|
this.name = y.KHR_MATERIALS_UNLIT;
|
|
1138
1146
|
}
|
|
1139
1147
|
getMaterialType() {
|
|
1140
|
-
return
|
|
1148
|
+
return z;
|
|
1141
1149
|
}
|
|
1142
1150
|
extendParams(e, t, n) {
|
|
1143
1151
|
const s = [];
|
|
1144
|
-
e.color = new
|
|
1152
|
+
e.color = new H(1, 1, 1), e.opacity = 1;
|
|
1145
1153
|
const i = t.pbrMetallicRoughness;
|
|
1146
1154
|
if (i) {
|
|
1147
1155
|
if (Array.isArray(i.baseColorFactor)) {
|
|
1148
1156
|
const o = i.baseColorFactor;
|
|
1149
1157
|
e.color.setRGB(o[0], o[1], o[2], C), e.opacity = o[3];
|
|
1150
1158
|
}
|
|
1151
|
-
i.baseColorTexture !== void 0 && s.push(n.assignTexture(e, "map", i.baseColorTexture,
|
|
1159
|
+
i.baseColorTexture !== void 0 && s.push(n.assignTexture(e, "map", i.baseColorTexture, Y));
|
|
1152
1160
|
}
|
|
1153
1161
|
return Promise.all(s);
|
|
1154
1162
|
}
|
|
@@ -1230,13 +1238,13 @@ class cs {
|
|
|
1230
1238
|
if (!s.extensions || !s.extensions[this.name])
|
|
1231
1239
|
return Promise.resolve();
|
|
1232
1240
|
const i = [];
|
|
1233
|
-
t.sheenColor = new
|
|
1241
|
+
t.sheenColor = new H(0, 0, 0), t.sheenRoughness = 0, t.sheen = 1;
|
|
1234
1242
|
const o = s.extensions[this.name];
|
|
1235
1243
|
if (o.sheenColorFactor !== void 0) {
|
|
1236
1244
|
const r = o.sheenColorFactor;
|
|
1237
1245
|
t.sheenColor.setRGB(r[0], r[1], r[2], C);
|
|
1238
1246
|
}
|
|
1239
|
-
return o.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = o.sheenRoughnessFactor), o.sheenColorTexture !== void 0 && i.push(n.assignTexture(t, "sheenColorMap", o.sheenColorTexture,
|
|
1247
|
+
return o.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = o.sheenRoughnessFactor), o.sheenColorTexture !== void 0 && i.push(n.assignTexture(t, "sheenColorMap", o.sheenColorTexture, Y)), o.sheenRoughnessTexture !== void 0 && i.push(n.assignTexture(t, "sheenRoughnessMap", o.sheenRoughnessTexture)), Promise.all(i);
|
|
1240
1248
|
}
|
|
1241
1249
|
}
|
|
1242
1250
|
class ls {
|
|
@@ -1270,7 +1278,7 @@ class hs {
|
|
|
1270
1278
|
const i = [], o = s.extensions[this.name];
|
|
1271
1279
|
t.thickness = o.thicknessFactor !== void 0 ? o.thicknessFactor : 0, o.thicknessTexture !== void 0 && i.push(n.assignTexture(t, "thicknessMap", o.thicknessTexture)), t.attenuationDistance = o.attenuationDistance || 1 / 0;
|
|
1272
1280
|
const r = o.attenuationColor || [1, 1, 1];
|
|
1273
|
-
return t.attenuationColor = new
|
|
1281
|
+
return t.attenuationColor = new H().setRGB(r[0], r[1], r[2], C), Promise.all(i);
|
|
1274
1282
|
}
|
|
1275
1283
|
}
|
|
1276
1284
|
class us {
|
|
@@ -1304,7 +1312,7 @@ class ds {
|
|
|
1304
1312
|
const i = [], o = s.extensions[this.name];
|
|
1305
1313
|
t.specularIntensity = o.specularFactor !== void 0 ? o.specularFactor : 1, o.specularTexture !== void 0 && i.push(n.assignTexture(t, "specularIntensityMap", o.specularTexture));
|
|
1306
1314
|
const r = o.specularColorFactor || [1, 1, 1];
|
|
1307
|
-
return t.specularColor = new
|
|
1315
|
+
return t.specularColor = new H().setRGB(r[0], r[1], r[2], C), o.specularColorTexture !== void 0 && i.push(n.assignTexture(t, "specularColorMap", o.specularColorTexture, Y)), Promise.all(i);
|
|
1308
1316
|
}
|
|
1309
1317
|
}
|
|
1310
1318
|
class ps {
|
|
@@ -1434,7 +1442,7 @@ class ys {
|
|
|
1434
1442
|
return r.length < 1 ? null : (r.push(this.parser.createNodeMesh(e)), Promise.all(r).then((c) => {
|
|
1435
1443
|
const h = c.pop(), u = h.isGroup ? h.children : [h], d = c[0].count, p = [];
|
|
1436
1444
|
for (const m of u) {
|
|
1437
|
-
const g = new
|
|
1445
|
+
const g = new Q(), f = new M(), _ = new q(), x = new M(1, 1, 1), b = new tt(m.geometry, m.material, d);
|
|
1438
1446
|
for (let T = 0; T < d; T++)
|
|
1439
1447
|
a.TRANSLATION && f.fromBufferAttribute(a.TRANSLATION, T), a.ROTATION && _.fromBufferAttribute(a.ROTATION, T), a.SCALE && x.fromBufferAttribute(a.SCALE, T), b.setMatrixAt(T, g.compose(f, _, x));
|
|
1440
1448
|
for (const T in a)
|
|
@@ -1442,36 +1450,36 @@ class ys {
|
|
|
1442
1450
|
const A = a[T];
|
|
1443
1451
|
b.instanceColor = new st(A.array, A.itemSize, A.normalized);
|
|
1444
1452
|
} else T !== "TRANSLATION" && T !== "ROTATION" && T !== "SCALE" && m.geometry.setAttribute(T, a[T]);
|
|
1445
|
-
|
|
1453
|
+
Ie.prototype.copy.call(b, m), this.parser.assignFinalMaterial(b), p.push(b);
|
|
1446
1454
|
}
|
|
1447
1455
|
return h.isGroup ? (h.clear(), h.add(...p), h) : p[0];
|
|
1448
1456
|
}));
|
|
1449
1457
|
}
|
|
1450
1458
|
}
|
|
1451
|
-
const
|
|
1459
|
+
const Ge = "glTF", V = 12, we = { JSON: 1313821514, BIN: 5130562 };
|
|
1452
1460
|
class xs {
|
|
1453
1461
|
constructor(e) {
|
|
1454
1462
|
this.name = y.KHR_BINARY_GLTF, this.content = null, this.body = null;
|
|
1455
|
-
const t = new DataView(e, 0,
|
|
1463
|
+
const t = new DataView(e, 0, V), n = new TextDecoder();
|
|
1456
1464
|
if (this.header = {
|
|
1457
1465
|
magic: n.decode(new Uint8Array(e.slice(0, 4))),
|
|
1458
1466
|
version: t.getUint32(4, !0),
|
|
1459
1467
|
length: t.getUint32(8, !0)
|
|
1460
|
-
}, this.header.magic !==
|
|
1468
|
+
}, this.header.magic !== Ge)
|
|
1461
1469
|
throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
|
|
1462
1470
|
if (this.header.version < 2)
|
|
1463
1471
|
throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
|
|
1464
|
-
const s = this.header.length -
|
|
1472
|
+
const s = this.header.length - V, i = new DataView(e, V);
|
|
1465
1473
|
let o = 0;
|
|
1466
1474
|
for (; o < s; ) {
|
|
1467
1475
|
const r = i.getUint32(o, !0);
|
|
1468
1476
|
o += 4;
|
|
1469
1477
|
const a = i.getUint32(o, !0);
|
|
1470
|
-
if (o += 4, a ===
|
|
1471
|
-
const c = new Uint8Array(e,
|
|
1478
|
+
if (o += 4, a === we.JSON) {
|
|
1479
|
+
const c = new Uint8Array(e, V + o, r);
|
|
1472
1480
|
this.content = n.decode(c);
|
|
1473
|
-
} else if (a ===
|
|
1474
|
-
const c =
|
|
1481
|
+
} else if (a === we.BIN) {
|
|
1482
|
+
const c = V + o;
|
|
1475
1483
|
this.body = e.slice(c, c + r);
|
|
1476
1484
|
}
|
|
1477
1485
|
o += r;
|
|
@@ -1489,13 +1497,13 @@ class Es {
|
|
|
1489
1497
|
decodePrimitive(e, t) {
|
|
1490
1498
|
const n = this.json, s = this.dracoLoader, i = e.extensions[this.name].bufferView, o = e.extensions[this.name].attributes, r = {}, a = {}, c = {};
|
|
1491
1499
|
for (const h in o) {
|
|
1492
|
-
const u =
|
|
1500
|
+
const u = ue[h] || h.toLowerCase();
|
|
1493
1501
|
r[u] = o[h];
|
|
1494
1502
|
}
|
|
1495
1503
|
for (const h in e.attributes) {
|
|
1496
|
-
const u =
|
|
1504
|
+
const u = ue[h] || h.toLowerCase();
|
|
1497
1505
|
if (o[h] !== void 0) {
|
|
1498
|
-
const d = n.accessors[e.attributes[h]], p =
|
|
1506
|
+
const d = n.accessors[e.attributes[h]], p = K[d.componentType];
|
|
1499
1507
|
c[u] = p.name, a[u] = d.normalized === !0;
|
|
1500
1508
|
}
|
|
1501
1509
|
}
|
|
@@ -1525,7 +1533,7 @@ class Rs {
|
|
|
1525
1533
|
this.name = y.KHR_MESH_QUANTIZATION;
|
|
1526
1534
|
}
|
|
1527
1535
|
}
|
|
1528
|
-
class
|
|
1536
|
+
class Ke extends Nt {
|
|
1529
1537
|
constructor(e, t, n, s) {
|
|
1530
1538
|
super(e, t, n, s);
|
|
1531
1539
|
}
|
|
@@ -1538,14 +1546,14 @@ class Ge extends Nt {
|
|
|
1538
1546
|
interpolate_(e, t, n, s) {
|
|
1539
1547
|
const i = this.resultBuffer, o = this.sampleValues, r = this.valueSize, a = r * 2, c = r * 3, h = s - t, u = (n - t) / h, d = u * u, p = d * u, m = e * c, g = m - c, f = -2 * p + 3 * d, _ = p - d, x = 1 - f, b = _ - d + u;
|
|
1540
1548
|
for (let T = 0; T !== r; T++) {
|
|
1541
|
-
const A = o[g + T + r], I = o[g + T + a] * h, P = o[m + T + r],
|
|
1542
|
-
i[T] = x * A + b * I + f * P + _ *
|
|
1549
|
+
const A = o[g + T + r], I = o[g + T + a] * h, P = o[m + T + r], B = o[m + T] * h;
|
|
1550
|
+
i[T] = x * A + b * I + f * P + _ * B;
|
|
1543
1551
|
}
|
|
1544
1552
|
return i;
|
|
1545
1553
|
}
|
|
1546
1554
|
}
|
|
1547
|
-
const Ms = new
|
|
1548
|
-
class ws extends
|
|
1555
|
+
const Ms = new q();
|
|
1556
|
+
class ws extends Ke {
|
|
1549
1557
|
interpolate_(e, t, n, s) {
|
|
1550
1558
|
const i = super.interpolate_(e, t, n, s);
|
|
1551
1559
|
return Ms.fromArray(i).normalize().toArray(i), i;
|
|
@@ -1559,25 +1567,25 @@ const L = {
|
|
|
1559
1567
|
TRIANGLES: 4,
|
|
1560
1568
|
TRIANGLE_STRIP: 5,
|
|
1561
1569
|
TRIANGLE_FAN: 6
|
|
1562
|
-
},
|
|
1570
|
+
}, K = {
|
|
1563
1571
|
5120: Int8Array,
|
|
1564
1572
|
5121: Uint8Array,
|
|
1565
1573
|
5122: Int16Array,
|
|
1566
1574
|
5123: Uint16Array,
|
|
1567
1575
|
5125: Uint32Array,
|
|
1568
1576
|
5126: Float32Array
|
|
1569
|
-
},
|
|
1570
|
-
9728:
|
|
1571
|
-
9729:
|
|
1577
|
+
}, Se = {
|
|
1578
|
+
9728: ke,
|
|
1579
|
+
9729: le,
|
|
1572
1580
|
9984: lt,
|
|
1573
1581
|
9985: ct,
|
|
1574
1582
|
9986: at,
|
|
1575
|
-
9987:
|
|
1576
|
-
},
|
|
1583
|
+
9987: ve
|
|
1584
|
+
}, Ae = {
|
|
1577
1585
|
33071: ut,
|
|
1578
1586
|
33648: ht,
|
|
1579
|
-
10497:
|
|
1580
|
-
},
|
|
1587
|
+
10497: he
|
|
1588
|
+
}, oe = {
|
|
1581
1589
|
SCALAR: 1,
|
|
1582
1590
|
VEC2: 2,
|
|
1583
1591
|
VEC3: 3,
|
|
@@ -1585,7 +1593,7 @@ const L = {
|
|
|
1585
1593
|
MAT2: 4,
|
|
1586
1594
|
MAT3: 9,
|
|
1587
1595
|
MAT4: 16
|
|
1588
|
-
},
|
|
1596
|
+
}, ue = {
|
|
1589
1597
|
POSITION: "position",
|
|
1590
1598
|
NORMAL: "normal",
|
|
1591
1599
|
TANGENT: "tangent",
|
|
@@ -1605,15 +1613,15 @@ const L = {
|
|
|
1605
1613
|
CUBICSPLINE: void 0,
|
|
1606
1614
|
// We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
|
|
1607
1615
|
// keyframe track will be initialized with a default interpolation type, then modified.
|
|
1608
|
-
LINEAR:
|
|
1616
|
+
LINEAR: Fe,
|
|
1609
1617
|
STEP: Lt
|
|
1610
|
-
},
|
|
1618
|
+
}, re = {
|
|
1611
1619
|
OPAQUE: "OPAQUE",
|
|
1612
1620
|
MASK: "MASK",
|
|
1613
1621
|
BLEND: "BLEND"
|
|
1614
1622
|
};
|
|
1615
1623
|
function As(l) {
|
|
1616
|
-
return l.DefaultMaterial === void 0 && (l.DefaultMaterial = new
|
|
1624
|
+
return l.DefaultMaterial === void 0 && (l.DefaultMaterial = new je({
|
|
1617
1625
|
color: 16777215,
|
|
1618
1626
|
emissive: 0,
|
|
1619
1627
|
metalness: 1,
|
|
@@ -1679,19 +1687,19 @@ function Ps(l, e) {
|
|
|
1679
1687
|
function Ns(l) {
|
|
1680
1688
|
let e;
|
|
1681
1689
|
const t = l.extensions && l.extensions[y.KHR_DRACO_MESH_COMPRESSION];
|
|
1682
|
-
if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" +
|
|
1690
|
+
if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + ae(t.attributes) : e = l.indices + ":" + ae(l.attributes) + ":" + l.mode, l.targets !== void 0)
|
|
1683
1691
|
for (let n = 0, s = l.targets.length; n < s; n++)
|
|
1684
|
-
e += ":" +
|
|
1692
|
+
e += ":" + ae(l.targets[n]);
|
|
1685
1693
|
return e;
|
|
1686
1694
|
}
|
|
1687
|
-
function
|
|
1695
|
+
function ae(l) {
|
|
1688
1696
|
let e = "";
|
|
1689
1697
|
const t = Object.keys(l).sort();
|
|
1690
1698
|
for (let n = 0, s = t.length; n < s; n++)
|
|
1691
1699
|
e += t[n] + ":" + l[t[n]] + ";";
|
|
1692
1700
|
return e;
|
|
1693
1701
|
}
|
|
1694
|
-
function
|
|
1702
|
+
function de(l) {
|
|
1695
1703
|
switch (l) {
|
|
1696
1704
|
case Int8Array:
|
|
1697
1705
|
return 1 / 127;
|
|
@@ -1708,7 +1716,7 @@ function ue(l) {
|
|
|
1708
1716
|
function Os(l) {
|
|
1709
1717
|
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";
|
|
1710
1718
|
}
|
|
1711
|
-
const Ds = new
|
|
1719
|
+
const Ds = new Q();
|
|
1712
1720
|
class Cs {
|
|
1713
1721
|
constructor(e = {}, t = {}) {
|
|
1714
1722
|
this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new ts(), 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 = {};
|
|
@@ -1719,7 +1727,7 @@ class Cs {
|
|
|
1719
1727
|
const a = r.match(/Version\/(\d+)/);
|
|
1720
1728
|
s = n && a ? parseInt(a[1], 10) : -1, i = r.indexOf("Firefox") > -1, o = i ? r.match(/Firefox\/([0-9]+)\./)[1] : -1;
|
|
1721
1729
|
}
|
|
1722
|
-
typeof createImageBitmap > "u" || n && s < 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
|
|
1730
|
+
typeof createImageBitmap > "u" || n && s < 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 Ce(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
|
|
1723
1731
|
}
|
|
1724
1732
|
setExtensions(e) {
|
|
1725
1733
|
this.extensions = e;
|
|
@@ -1930,7 +1938,7 @@ class Cs {
|
|
|
1930
1938
|
return Promise.resolve(this.extensions[y.KHR_BINARY_GLTF].body);
|
|
1931
1939
|
const s = this.options;
|
|
1932
1940
|
return new Promise(function(i, o) {
|
|
1933
|
-
n.load(
|
|
1941
|
+
n.load(X.resolveURL(t.uri, s.path), i, void 0, function() {
|
|
1934
1942
|
o(new Error('THREE.GLTFLoader: Failed to load buffer "' + t.uri + '".'));
|
|
1935
1943
|
});
|
|
1936
1944
|
});
|
|
@@ -1959,23 +1967,23 @@ class Cs {
|
|
|
1959
1967
|
loadAccessor(e) {
|
|
1960
1968
|
const t = this, n = this.json, s = this.json.accessors[e];
|
|
1961
1969
|
if (s.bufferView === void 0 && s.sparse === void 0) {
|
|
1962
|
-
const o =
|
|
1963
|
-
return Promise.resolve(new
|
|
1970
|
+
const o = oe[s.type], r = K[s.componentType], a = s.normalized === !0, c = new r(s.count * o);
|
|
1971
|
+
return Promise.resolve(new te(c, o, a));
|
|
1964
1972
|
}
|
|
1965
1973
|
const i = [];
|
|
1966
1974
|
return s.bufferView !== void 0 ? i.push(this.getDependency("bufferView", s.bufferView)) : i.push(null), s.sparse !== void 0 && (i.push(this.getDependency("bufferView", s.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", s.sparse.values.bufferView))), Promise.all(i).then(function(o) {
|
|
1967
|
-
const r = o[0], a =
|
|
1975
|
+
const r = o[0], a = oe[s.type], c = K[s.componentType], h = c.BYTES_PER_ELEMENT, u = h * a, d = s.byteOffset || 0, p = s.bufferView !== void 0 ? n.bufferViews[s.bufferView].byteStride : void 0, m = s.normalized === !0;
|
|
1968
1976
|
let g, f;
|
|
1969
1977
|
if (p && p !== u) {
|
|
1970
1978
|
const _ = Math.floor(d / p), x = "InterleavedBuffer:" + s.bufferView + ":" + s.componentType + ":" + _ + ":" + s.count;
|
|
1971
1979
|
let b = t.cache.get(x);
|
|
1972
1980
|
b || (g = new c(r, _ * p, s.count * p / h), b = new ot(g, p / h), t.cache.add(x, b)), f = new rt(b, a, d % p / h, m);
|
|
1973
1981
|
} else
|
|
1974
|
-
r === null ? g = new c(s.count * a) : g = new c(r, d, s.count * a), f = new
|
|
1982
|
+
r === null ? g = new c(s.count * a) : g = new c(r, d, s.count * a), f = new te(g, a, m);
|
|
1975
1983
|
if (s.sparse !== void 0) {
|
|
1976
|
-
const _ =
|
|
1977
|
-
r !== null && (f = new
|
|
1978
|
-
for (let P = 0,
|
|
1984
|
+
const _ = oe.SCALAR, x = K[s.sparse.indices.componentType], b = s.sparse.indices.byteOffset || 0, T = s.sparse.values.byteOffset || 0, A = new x(o[1], b, s.sparse.count * _), I = new c(o[2], T, s.sparse.count * a);
|
|
1985
|
+
r !== null && (f = new te(f.array.slice(), f.itemSize, f.normalized)), f.normalized = !1;
|
|
1986
|
+
for (let P = 0, B = A.length; P < B; P++) {
|
|
1979
1987
|
const v = A[P];
|
|
1980
1988
|
if (f.setX(v, I[P * a]), a >= 2 && f.setY(v, I[P * a + 1]), a >= 3 && f.setZ(v, I[P * a + 2]), a >= 4 && f.setW(v, I[P * a + 3]), a >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
|
|
1981
1989
|
}
|
|
@@ -2007,7 +2015,7 @@ class Cs {
|
|
|
2007
2015
|
const c = this.loadImageSource(t, n).then(function(h) {
|
|
2008
2016
|
h.flipY = !1, h.name = o.name || r.name || "", h.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (h.name = r.uri);
|
|
2009
2017
|
const d = (i.samplers || {})[o.sampler] || {};
|
|
2010
|
-
return h.magFilter =
|
|
2018
|
+
return h.magFilter = Se[d.magFilter] || le, h.minFilter = Se[d.minFilter] || ve, h.wrapS = Ae[d.wrapS] || he, h.wrapT = Ae[d.wrapT] || he, h.generateMipmaps = !h.isCompressedTexture && h.minFilter !== ke && h.minFilter !== le, s.associations.set(h, { textures: e }), h;
|
|
2011
2019
|
}).catch(function() {
|
|
2012
2020
|
return null;
|
|
2013
2021
|
});
|
|
@@ -2031,9 +2039,9 @@ class Cs {
|
|
|
2031
2039
|
return new Promise(function(d, p) {
|
|
2032
2040
|
let m = d;
|
|
2033
2041
|
t.isImageBitmapLoader === !0 && (m = function(g) {
|
|
2034
|
-
const f = new
|
|
2042
|
+
const f = new _e(g);
|
|
2035
2043
|
f.needsUpdate = !0, d(f);
|
|
2036
|
-
}), t.load(
|
|
2044
|
+
}), t.load(X.resolveURL(u, i.path), m, void 0, p);
|
|
2037
2045
|
});
|
|
2038
2046
|
}).then(function(u) {
|
|
2039
2047
|
return c === !0 && r.revokeObjectURL(a), D(u, o), u.userData.mimeType = o.mimeType || Os(o.uri), u;
|
|
@@ -2083,11 +2091,11 @@ class Cs {
|
|
|
2083
2091
|
if (e.isPoints) {
|
|
2084
2092
|
const r = "PointsMaterial:" + n.uuid;
|
|
2085
2093
|
let a = this.cache.get(r);
|
|
2086
|
-
a || (a = new dt(),
|
|
2094
|
+
a || (a = new dt(), se.prototype.copy.call(a, n), a.color.copy(n.color), a.map = n.map, a.sizeAttenuation = !1, this.cache.add(r, a)), n = a;
|
|
2087
2095
|
} else if (e.isLine) {
|
|
2088
2096
|
const r = "LineBasicMaterial:" + n.uuid;
|
|
2089
2097
|
let a = this.cache.get(r);
|
|
2090
|
-
a || (a = new pt(),
|
|
2098
|
+
a || (a = new pt(), se.prototype.copy.call(a, n), a.color.copy(n.color), a.map = n.map, this.cache.add(r, a)), n = a;
|
|
2091
2099
|
}
|
|
2092
2100
|
if (s || i || o) {
|
|
2093
2101
|
let r = "ClonedMaterial:" + n.uuid + ":";
|
|
@@ -2098,7 +2106,7 @@ class Cs {
|
|
|
2098
2106
|
e.material = n;
|
|
2099
2107
|
}
|
|
2100
2108
|
getMaterialType() {
|
|
2101
|
-
return
|
|
2109
|
+
return je;
|
|
2102
2110
|
}
|
|
2103
2111
|
/**
|
|
2104
2112
|
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
|
|
@@ -2116,27 +2124,27 @@ class Cs {
|
|
|
2116
2124
|
o = u.getMaterialType(), c.push(u.extendParams(r, i, t));
|
|
2117
2125
|
} else {
|
|
2118
2126
|
const u = i.pbrMetallicRoughness || {};
|
|
2119
|
-
if (r.color = new
|
|
2127
|
+
if (r.color = new H(1, 1, 1), r.opacity = 1, Array.isArray(u.baseColorFactor)) {
|
|
2120
2128
|
const d = u.baseColorFactor;
|
|
2121
2129
|
r.color.setRGB(d[0], d[1], d[2], C), r.opacity = d[3];
|
|
2122
2130
|
}
|
|
2123
|
-
u.baseColorTexture !== void 0 && c.push(t.assignTexture(r, "map", u.baseColorTexture,
|
|
2131
|
+
u.baseColorTexture !== void 0 && c.push(t.assignTexture(r, "map", u.baseColorTexture, Y)), r.metalness = u.metallicFactor !== void 0 ? u.metallicFactor : 1, r.roughness = u.roughnessFactor !== void 0 ? u.roughnessFactor : 1, u.metallicRoughnessTexture !== void 0 && (c.push(t.assignTexture(r, "metalnessMap", u.metallicRoughnessTexture)), c.push(t.assignTexture(r, "roughnessMap", u.metallicRoughnessTexture))), o = this._invokeOne(function(d) {
|
|
2124
2132
|
return d.getMaterialType && d.getMaterialType(e);
|
|
2125
2133
|
}), c.push(Promise.all(this._invokeAll(function(d) {
|
|
2126
2134
|
return d.extendMaterialParams && d.extendMaterialParams(e, r);
|
|
2127
2135
|
})));
|
|
2128
2136
|
}
|
|
2129
2137
|
i.doubleSided === !0 && (r.side = ft);
|
|
2130
|
-
const h = i.alphaMode ||
|
|
2131
|
-
if (h ===
|
|
2138
|
+
const h = i.alphaMode || re.OPAQUE;
|
|
2139
|
+
if (h === re.BLEND ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, h === re.MASK && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && o !== z && (c.push(t.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new S(1, 1), i.normalTexture.scale !== void 0)) {
|
|
2132
2140
|
const u = i.normalTexture.scale;
|
|
2133
2141
|
r.normalScale.set(u, u);
|
|
2134
2142
|
}
|
|
2135
|
-
if (i.occlusionTexture !== void 0 && o !==
|
|
2143
|
+
if (i.occlusionTexture !== void 0 && o !== z && (c.push(t.assignTexture(r, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (r.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && o !== z) {
|
|
2136
2144
|
const u = i.emissiveFactor;
|
|
2137
|
-
r.emissive = new
|
|
2145
|
+
r.emissive = new H().setRGB(u[0], u[1], u[2], C);
|
|
2138
2146
|
}
|
|
2139
|
-
return i.emissiveTexture !== void 0 && o !==
|
|
2147
|
+
return i.emissiveTexture !== void 0 && o !== z && c.push(t.assignTexture(r, "emissiveMap", i.emissiveTexture, Y)), Promise.all(c).then(function() {
|
|
2140
2148
|
const u = new o(r);
|
|
2141
2149
|
return i.name && (u.name = i.name), D(u, i), t.associations.set(u, { materials: e }), i.extensions && j(s, u, i), u;
|
|
2142
2150
|
});
|
|
@@ -2165,7 +2173,7 @@ class Cs {
|
|
|
2165
2173
|
const t = this, n = this.extensions, s = this.primitiveCache;
|
|
2166
2174
|
function i(r) {
|
|
2167
2175
|
return n[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(r, t).then(function(a) {
|
|
2168
|
-
return
|
|
2176
|
+
return Le(a, r, t);
|
|
2169
2177
|
});
|
|
2170
2178
|
}
|
|
2171
2179
|
const o = [];
|
|
@@ -2175,7 +2183,7 @@ class Cs {
|
|
|
2175
2183
|
o.push(u.promise);
|
|
2176
2184
|
else {
|
|
2177
2185
|
let d;
|
|
2178
|
-
c.extensions && c.extensions[y.KHR_DRACO_MESH_COMPRESSION] ? d = i(c) : d =
|
|
2186
|
+
c.extensions && c.extensions[y.KHR_DRACO_MESH_COMPRESSION] ? d = i(c) : d = Le(new _t(), c, t), s[h] = { primitive: c, promise: d }, o.push(d);
|
|
2179
2187
|
}
|
|
2180
2188
|
}
|
|
2181
2189
|
return Promise.all(o);
|
|
@@ -2200,7 +2208,7 @@ class Cs {
|
|
|
2200
2208
|
let _;
|
|
2201
2209
|
const x = c[p];
|
|
2202
2210
|
if (f.mode === L.TRIANGLES || f.mode === L.TRIANGLE_STRIP || f.mode === L.TRIANGLE_FAN || f.mode === void 0)
|
|
2203
|
-
_ = i.isSkinnedMesh === !0 ? new gt(g, x) : new Tt(g, x), _.isSkinnedMesh === !0 && _.normalizeSkinWeights(), f.mode === L.TRIANGLE_STRIP ? _.geometry =
|
|
2211
|
+
_ = i.isSkinnedMesh === !0 ? new gt(g, x) : new Tt(g, x), _.isSkinnedMesh === !0 && _.normalizeSkinWeights(), f.mode === L.TRIANGLE_STRIP ? _.geometry = Me(_.geometry, De) : f.mode === L.TRIANGLE_FAN && (_.geometry = Me(_.geometry, ce));
|
|
2204
2212
|
else if (f.mode === L.LINES)
|
|
2205
2213
|
_ = new yt(g, x);
|
|
2206
2214
|
else if (f.mode === L.LINE_STRIP)
|
|
@@ -2220,7 +2228,7 @@ class Cs {
|
|
|
2220
2228
|
});
|
|
2221
2229
|
if (u.length === 1)
|
|
2222
2230
|
return i.extensions && j(s, u[0], i), u[0];
|
|
2223
|
-
const d = new
|
|
2231
|
+
const d = new ne();
|
|
2224
2232
|
i.extensions && j(s, d, i), t.associations.set(d, { meshes: e });
|
|
2225
2233
|
for (let p = 0, m = u.length; p < m; p++)
|
|
2226
2234
|
d.add(u[p]);
|
|
@@ -2241,7 +2249,7 @@ class Cs {
|
|
|
2241
2249
|
console.warn("THREE.GLTFLoader: Missing camera parameters.");
|
|
2242
2250
|
return;
|
|
2243
2251
|
}
|
|
2244
|
-
return n.type === "perspective" ? t = new Rt(
|
|
2252
|
+
return n.type === "perspective" ? t = new Rt(Oe.radToDeg(s.yfov), s.aspectRatio || 1, s.znear || 1, s.zfar || 2e6) : n.type === "orthographic" && (t = new Mt(-s.xmag, s.xmag, s.ymag, -s.ymag, s.znear, s.zfar)), n.name && (t.name = this.createUniqueName(n.name)), D(t, n), Promise.resolve(t);
|
|
2245
2253
|
}
|
|
2246
2254
|
/**
|
|
2247
2255
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
|
|
@@ -2260,7 +2268,7 @@ class Cs {
|
|
|
2260
2268
|
const u = o[c];
|
|
2261
2269
|
if (u) {
|
|
2262
2270
|
r.push(u);
|
|
2263
|
-
const d = new
|
|
2271
|
+
const d = new Q();
|
|
2264
2272
|
i !== null && d.fromArray(i.array, c * 16), a.push(d);
|
|
2265
2273
|
} else
|
|
2266
2274
|
console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', t.joints[c]);
|
|
@@ -2290,13 +2298,13 @@ class Cs {
|
|
|
2290
2298
|
]).then(function(u) {
|
|
2291
2299
|
const d = u[0], p = u[1], m = u[2], g = u[3], f = u[4], _ = [];
|
|
2292
2300
|
for (let x = 0, b = d.length; x < b; x++) {
|
|
2293
|
-
const T = d[x], A = p[x], I = m[x], P = g[x],
|
|
2301
|
+
const T = d[x], A = p[x], I = m[x], P = g[x], B = f[x];
|
|
2294
2302
|
if (T === void 0) continue;
|
|
2295
2303
|
T.updateMatrix && T.updateMatrix();
|
|
2296
|
-
const v = n._createAnimationTracks(T, A, I, P,
|
|
2304
|
+
const v = n._createAnimationTracks(T, A, I, P, B);
|
|
2297
2305
|
if (v)
|
|
2298
|
-
for (let
|
|
2299
|
-
_.push(v[
|
|
2306
|
+
for (let J = 0; J < v.length; J++)
|
|
2307
|
+
_.push(v[J]);
|
|
2300
2308
|
}
|
|
2301
2309
|
return new St(i, void 0, _);
|
|
2302
2310
|
});
|
|
@@ -2355,11 +2363,11 @@ class Cs {
|
|
|
2355
2363
|
r.push(c);
|
|
2356
2364
|
}), this.nodeCache[e] = Promise.all(r).then(function(c) {
|
|
2357
2365
|
let h;
|
|
2358
|
-
if (i.isBone === !0 ? h = new At() : c.length > 1 ? h = new
|
|
2366
|
+
if (i.isBone === !0 ? h = new At() : c.length > 1 ? h = new ne() : c.length === 1 ? h = c[0] : h = new Ie(), h !== c[0])
|
|
2359
2367
|
for (let u = 0, d = c.length; u < d; u++)
|
|
2360
2368
|
h.add(c[u]);
|
|
2361
2369
|
if (i.name && (h.userData.name = i.name, h.name = o), D(h, i), i.extensions && j(n, h, i), i.matrix !== void 0) {
|
|
2362
|
-
const u = new
|
|
2370
|
+
const u = new Q();
|
|
2363
2371
|
u.fromArray(i.matrix), h.applyMatrix4(u);
|
|
2364
2372
|
} else
|
|
2365
2373
|
i.translation !== void 0 && h.position.fromArray(i.translation), i.rotation !== void 0 && h.quaternion.fromArray(i.rotation), i.scale !== void 0 && h.scale.fromArray(i.scale);
|
|
@@ -2380,7 +2388,7 @@ class Cs {
|
|
|
2380
2388
|
* @return {Promise<Group>}
|
|
2381
2389
|
*/
|
|
2382
2390
|
loadScene(e) {
|
|
2383
|
-
const t = this.extensions, n = this.json.scenes[e], s = this, i = new
|
|
2391
|
+
const t = this.extensions, n = this.json.scenes[e], s = this, i = new ne();
|
|
2384
2392
|
n.name && (i.name = s.createUniqueName(n.name)), D(i, n), n.extensions && j(t, i, n);
|
|
2385
2393
|
const o = n.nodes || [], r = [];
|
|
2386
2394
|
for (let a = 0, c = o.length; a < c; a++)
|
|
@@ -2391,7 +2399,7 @@ class Cs {
|
|
|
2391
2399
|
const c = (h) => {
|
|
2392
2400
|
const u = /* @__PURE__ */ new Map();
|
|
2393
2401
|
for (const [d, p] of s.associations)
|
|
2394
|
-
(d instanceof
|
|
2402
|
+
(d instanceof se || d instanceof _e) && u.set(d, p);
|
|
2395
2403
|
return h.traverse((d) => {
|
|
2396
2404
|
const p = s.associations.get(d);
|
|
2397
2405
|
p != null && u.set(d, p);
|
|
@@ -2408,29 +2416,29 @@ class Cs {
|
|
|
2408
2416
|
let c;
|
|
2409
2417
|
switch (k[i.path]) {
|
|
2410
2418
|
case k.weights:
|
|
2411
|
-
c =
|
|
2419
|
+
c = Te;
|
|
2412
2420
|
break;
|
|
2413
2421
|
case k.rotation:
|
|
2414
|
-
c =
|
|
2422
|
+
c = ye;
|
|
2415
2423
|
break;
|
|
2416
2424
|
case k.translation:
|
|
2417
2425
|
case k.scale:
|
|
2418
|
-
c =
|
|
2426
|
+
c = ge;
|
|
2419
2427
|
break;
|
|
2420
2428
|
default:
|
|
2421
2429
|
switch (n.itemSize) {
|
|
2422
2430
|
case 1:
|
|
2423
|
-
c =
|
|
2431
|
+
c = Te;
|
|
2424
2432
|
break;
|
|
2425
2433
|
case 2:
|
|
2426
2434
|
case 3:
|
|
2427
2435
|
default:
|
|
2428
|
-
c =
|
|
2436
|
+
c = ge;
|
|
2429
2437
|
break;
|
|
2430
2438
|
}
|
|
2431
2439
|
break;
|
|
2432
2440
|
}
|
|
2433
|
-
const h = s.interpolation !== void 0 ? Ss[s.interpolation] :
|
|
2441
|
+
const h = s.interpolation !== void 0 ? Ss[s.interpolation] : Fe, u = this._getArrayFromAccessor(n);
|
|
2434
2442
|
for (let d = 0, p = a.length; d < p; d++) {
|
|
2435
2443
|
const m = new c(
|
|
2436
2444
|
a[d] + "." + k[i.path],
|
|
@@ -2445,7 +2453,7 @@ class Cs {
|
|
|
2445
2453
|
_getArrayFromAccessor(e) {
|
|
2446
2454
|
let t = e.array;
|
|
2447
2455
|
if (e.normalized) {
|
|
2448
|
-
const n =
|
|
2456
|
+
const n = de(t.constructor), s = new Float32Array(t.length);
|
|
2449
2457
|
for (let i = 0, o = t.length; i < o; i++)
|
|
2450
2458
|
s[i] = t[i] * n;
|
|
2451
2459
|
t = s;
|
|
@@ -2454,7 +2462,7 @@ class Cs {
|
|
|
2454
2462
|
}
|
|
2455
2463
|
_createCubicSplineTrackInterpolant(e) {
|
|
2456
2464
|
e.createInterpolant = function(n) {
|
|
2457
|
-
const s = this instanceof
|
|
2465
|
+
const s = this instanceof ye ? ws : Ke;
|
|
2458
2466
|
return new s(this.times, this.values, this.getValueSize() / 3, n);
|
|
2459
2467
|
}, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
|
|
2460
2468
|
}
|
|
@@ -2468,7 +2476,7 @@ function Is(l, e, t) {
|
|
|
2468
2476
|
new M(a[0], a[1], a[2]),
|
|
2469
2477
|
new M(c[0], c[1], c[2])
|
|
2470
2478
|
), r.normalized) {
|
|
2471
|
-
const h =
|
|
2479
|
+
const h = de(K[r.componentType]);
|
|
2472
2480
|
s.min.multiplyScalar(h), s.max.multiplyScalar(h);
|
|
2473
2481
|
}
|
|
2474
2482
|
} else {
|
|
@@ -2486,7 +2494,7 @@ function Is(l, e, t) {
|
|
|
2486
2494
|
const d = t.json.accessors[u.POSITION], p = d.min, m = d.max;
|
|
2487
2495
|
if (p !== void 0 && m !== void 0) {
|
|
2488
2496
|
if (a.setX(Math.max(Math.abs(p[0]), Math.abs(m[0]))), a.setY(Math.max(Math.abs(p[1]), Math.abs(m[1]))), a.setZ(Math.max(Math.abs(p[2]), Math.abs(m[2]))), d.normalized) {
|
|
2489
|
-
const g =
|
|
2497
|
+
const g = de(K[d.componentType]);
|
|
2490
2498
|
a.multiplyScalar(g);
|
|
2491
2499
|
}
|
|
2492
2500
|
r.max(a);
|
|
@@ -2500,7 +2508,7 @@ function Is(l, e, t) {
|
|
|
2500
2508
|
const o = new Dt();
|
|
2501
2509
|
s.getCenter(o.center), o.radius = s.min.distanceTo(s.max) / 2, l.boundingSphere = o;
|
|
2502
2510
|
}
|
|
2503
|
-
function
|
|
2511
|
+
function Le(l, e, t) {
|
|
2504
2512
|
const n = e.attributes, s = [];
|
|
2505
2513
|
function i(o, r) {
|
|
2506
2514
|
return t.getDependency("accessor", o).then(function(a) {
|
|
@@ -2508,7 +2516,7 @@ function Ae(l, e, t) {
|
|
|
2508
2516
|
});
|
|
2509
2517
|
}
|
|
2510
2518
|
for (const o in n) {
|
|
2511
|
-
const r =
|
|
2519
|
+
const r = ue[o] || o.toLowerCase();
|
|
2512
2520
|
r in l.attributes || s.push(i(n[o], r));
|
|
2513
2521
|
}
|
|
2514
2522
|
if (e.indices !== void 0 && !l.index) {
|
|
@@ -2517,7 +2525,7 @@ function Ae(l, e, t) {
|
|
|
2517
2525
|
});
|
|
2518
2526
|
s.push(o);
|
|
2519
2527
|
}
|
|
2520
|
-
return
|
|
2528
|
+
return xe.workingColorSpace !== C && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${xe.workingColorSpace}" not supported.`), D(l, e), Is(l, e, t), Promise.all(s).then(function() {
|
|
2521
2529
|
return e.targets !== void 0 ? Ls(l, e.targets, t) : l;
|
|
2522
2530
|
});
|
|
2523
2531
|
}
|
|
@@ -2558,8 +2566,12 @@ const vs = {
|
|
|
2558
2566
|
let a = !1;
|
|
2559
2567
|
r && (a = !0), t("loaded", n.name, n.command, a, r);
|
|
2560
2568
|
};
|
|
2561
|
-
return
|
|
2569
|
+
return $(async () => {
|
|
2562
2570
|
n.data != null ? o(n.data) : i(n.url);
|
|
2571
|
+
}), F(() => n.data, () => {
|
|
2572
|
+
n.data != null && o(n.data);
|
|
2573
|
+
}), F(() => n.url, () => {
|
|
2574
|
+
n.url && i(n.url);
|
|
2563
2575
|
}), (r, a) => null;
|
|
2564
2576
|
}
|
|
2565
2577
|
}, ks = {
|
|
@@ -2601,7 +2613,7 @@ const vs = {
|
|
|
2601
2613
|
},
|
|
2602
2614
|
emits: ["loading", "loaded"],
|
|
2603
2615
|
setup(l, { emit: e }) {
|
|
2604
|
-
const t = e, n = l, s = {}, i = {}, o =
|
|
2616
|
+
const t = e, n = l, s = {}, i = {}, o = Z(null), r = Z(null), a = Z(null), c = (u, d) => {
|
|
2605
2617
|
const p = Object.keys(s).length;
|
|
2606
2618
|
s[u] = d;
|
|
2607
2619
|
const m = Object.keys(s).length;
|
|
@@ -2622,8 +2634,8 @@ const vs = {
|
|
|
2622
2634
|
delete i[b];
|
|
2623
2635
|
}
|
|
2624
2636
|
};
|
|
2625
|
-
return (u, d) => (
|
|
2626
|
-
|
|
2637
|
+
return (u, d) => (pe(), Pe(ze, null, [
|
|
2638
|
+
ee($t, {
|
|
2627
2639
|
command: "load_expression",
|
|
2628
2640
|
name: n.expression_name,
|
|
2629
2641
|
url: n.expression_url,
|
|
@@ -2631,15 +2643,15 @@ const vs = {
|
|
|
2631
2643
|
onLoading: c,
|
|
2632
2644
|
onLoaded: h
|
|
2633
2645
|
}, null, 8, ["name", "url", "data"]),
|
|
2634
|
-
|
|
2646
|
+
ee(Jt, {
|
|
2635
2647
|
command: "load_pose",
|
|
2636
2648
|
name: n.pose_name,
|
|
2637
2649
|
url: n.pose_url,
|
|
2638
|
-
data: n.
|
|
2650
|
+
data: n.pose_data,
|
|
2639
2651
|
onLoading: c,
|
|
2640
2652
|
onLoaded: h
|
|
2641
2653
|
}, null, 8, ["name", "url", "data"]),
|
|
2642
|
-
|
|
2654
|
+
ee(vs, {
|
|
2643
2655
|
command: "load_vrm",
|
|
2644
2656
|
name: n.vrm_name,
|
|
2645
2657
|
url: n.vrm_url,
|
|
@@ -2695,14 +2707,14 @@ const vs = {
|
|
|
2695
2707
|
},
|
|
2696
2708
|
emits: ["loading", "loaded"],
|
|
2697
2709
|
setup(l, { emit: e }) {
|
|
2698
|
-
const t = e, n =
|
|
2710
|
+
const t = e, n = Z(null);
|
|
2699
2711
|
n.value = new vt();
|
|
2700
2712
|
const s = (o) => {
|
|
2701
2713
|
t("loading", o);
|
|
2702
2714
|
}, i = (o, r) => {
|
|
2703
2715
|
"vrm" in r && n.value.setModel(r.vrm), "pose" in r && (n.value.setPose(r.pose), n.value.updatePose()), "expression" in r && (n.value.importExpression(r.expression), n.value.updateExpression()), t("loaded", o, n.value);
|
|
2704
2716
|
};
|
|
2705
|
-
return (o, r) => (
|
|
2717
|
+
return (o, r) => (pe(), Xe(ks, {
|
|
2706
2718
|
name: l.model_name,
|
|
2707
2719
|
expression_name: l.expression_name,
|
|
2708
2720
|
expression_url: l.expression_url,
|
|
@@ -2719,7 +2731,7 @@ const vs = {
|
|
|
2719
2731
|
}
|
|
2720
2732
|
};
|
|
2721
2733
|
export {
|
|
2722
|
-
|
|
2734
|
+
He as ResourceLoader,
|
|
2723
2735
|
Us as ThreeFrame,
|
|
2724
2736
|
vt as VrmModel,
|
|
2725
2737
|
Gs as VroidControl,
|