@galacean/engine 1.1.2 → 1.1.6
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/browser.js +741 -598
- package/dist/browser.min.js +1 -1
- package/dist/main.js +1 -1
- package/dist/miniprogram.js +1 -1
- package/dist/module.js +1 -1
- package/package.json +5 -5
- package/dist/.DS_Store +0 -0
package/dist/browser.js
CHANGED
|
@@ -24592,7 +24592,21 @@
|
|
|
24592
24592
|
mesh.uploadData(false);
|
|
24593
24593
|
};
|
|
24594
24594
|
_proto._initMesh = function _initMesh(engine) {
|
|
24595
|
-
this._mesh = this._createPlane(engine);
|
|
24595
|
+
var mesh = this._mesh = this._createPlane(engine);
|
|
24596
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
24597
|
+
var _class = function _class() {
|
|
24598
|
+
return ContentRestorer.call(this, mesh);
|
|
24599
|
+
};
|
|
24600
|
+
_inherits$2(_class, ContentRestorer);
|
|
24601
|
+
var _proto = _class.prototype;
|
|
24602
|
+
_proto.restoreContent = function restoreContent() {
|
|
24603
|
+
mesh.setPositions(mesh.getPositions());
|
|
24604
|
+
mesh.setUVs(mesh.getUVs());
|
|
24605
|
+
mesh.setIndices(mesh.getIndices());
|
|
24606
|
+
mesh.uploadData(false);
|
|
24607
|
+
};
|
|
24608
|
+
return _class;
|
|
24609
|
+
}(ContentRestorer))());
|
|
24596
24610
|
this._mesh._addReferCount(1);
|
|
24597
24611
|
};
|
|
24598
24612
|
_proto._initMaterial = function _initMaterial(engine) {
|
|
@@ -38300,11 +38314,199 @@
|
|
|
38300
38314
|
]);
|
|
38301
38315
|
return FileHeader;
|
|
38302
38316
|
}();
|
|
38317
|
+
var ComponentMap = {
|
|
38318
|
+
Transform: Transform,
|
|
38319
|
+
Animator: Animator,
|
|
38320
|
+
DirectLight: DirectLight,
|
|
38321
|
+
Camera: exports.Camera,
|
|
38322
|
+
MeshRenderer: MeshRenderer,
|
|
38323
|
+
ParticleRenderer: ParticleRenderer,
|
|
38324
|
+
PointLight: PointLight,
|
|
38325
|
+
SpotLight: SpotLight,
|
|
38326
|
+
Script: Script,
|
|
38327
|
+
SpriteMask: SpriteMask,
|
|
38328
|
+
SpriteRenderer: SpriteRenderer,
|
|
38329
|
+
TextRenderer: TextRenderer
|
|
38330
|
+
};
|
|
38331
|
+
exports.InterpolableValueType = void 0;
|
|
38332
|
+
(function(InterpolableValueType) {
|
|
38333
|
+
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
38334
|
+
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
38335
|
+
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
38336
|
+
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
38337
|
+
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
38338
|
+
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
38339
|
+
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
38340
|
+
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
38341
|
+
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
38342
|
+
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
38343
|
+
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
38344
|
+
})(exports.InterpolableValueType || (exports.InterpolableValueType = {}));
|
|
38345
|
+
exports.AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
38346
|
+
var AnimationClipDecoder = function AnimationClipDecoder() {};
|
|
38347
|
+
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
38348
|
+
return new Promise(function(resolve) {
|
|
38349
|
+
var name = bufferReader.nextStr();
|
|
38350
|
+
var clip = new AnimationClip(name);
|
|
38351
|
+
var eventsLen = bufferReader.nextUint16();
|
|
38352
|
+
for(var i = 0; i < eventsLen; ++i){
|
|
38353
|
+
var event = new AnimationEvent();
|
|
38354
|
+
event.time = bufferReader.nextFloat32();
|
|
38355
|
+
event.functionName = bufferReader.nextStr();
|
|
38356
|
+
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
38357
|
+
clip.addEvent(event);
|
|
38358
|
+
}
|
|
38359
|
+
var curveBindingsLen = bufferReader.nextUint16();
|
|
38360
|
+
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
38361
|
+
var relativePath = bufferReader.nextStr();
|
|
38362
|
+
var componentStr = bufferReader.nextStr();
|
|
38363
|
+
var componentType = ComponentMap[componentStr];
|
|
38364
|
+
var property = bufferReader.nextStr();
|
|
38365
|
+
var curve = void 0;
|
|
38366
|
+
var interpolation = bufferReader.nextUint8();
|
|
38367
|
+
var keysLen = bufferReader.nextUint16();
|
|
38368
|
+
var curveType = bufferReader.nextStr();
|
|
38369
|
+
switch(curveType){
|
|
38370
|
+
case "AnimationFloatCurve":
|
|
38371
|
+
{
|
|
38372
|
+
curve = new exports.AnimationFloatCurve();
|
|
38373
|
+
curve.interpolation = interpolation;
|
|
38374
|
+
for(var j = 0; j < keysLen; ++j){
|
|
38375
|
+
var keyframe = new Keyframe();
|
|
38376
|
+
keyframe.time = bufferReader.nextFloat32();
|
|
38377
|
+
keyframe.value = bufferReader.nextFloat32();
|
|
38378
|
+
keyframe.inTangent = bufferReader.nextFloat32();
|
|
38379
|
+
keyframe.outTangent = bufferReader.nextFloat32();
|
|
38380
|
+
curve.addKey(keyframe);
|
|
38381
|
+
}
|
|
38382
|
+
break;
|
|
38383
|
+
}
|
|
38384
|
+
case "AnimationArrayCurve":
|
|
38385
|
+
{
|
|
38386
|
+
curve = new exports.AnimationArrayCurve();
|
|
38387
|
+
curve.interpolation = interpolation;
|
|
38388
|
+
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
38389
|
+
var keyframe1 = new Keyframe();
|
|
38390
|
+
keyframe1.time = bufferReader.nextFloat32();
|
|
38391
|
+
var len = bufferReader.nextUint16();
|
|
38392
|
+
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
38393
|
+
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
38394
|
+
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
38395
|
+
curve.addKey(keyframe1);
|
|
38396
|
+
}
|
|
38397
|
+
break;
|
|
38398
|
+
}
|
|
38399
|
+
case "AnimationFloatArrayCurve":
|
|
38400
|
+
{
|
|
38401
|
+
curve = new exports.AnimationFloatArrayCurve();
|
|
38402
|
+
curve.interpolation = interpolation;
|
|
38403
|
+
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
38404
|
+
var keyframe2 = new Keyframe();
|
|
38405
|
+
keyframe2.time = bufferReader.nextFloat32();
|
|
38406
|
+
var len1 = bufferReader.nextUint16();
|
|
38407
|
+
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
38408
|
+
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
38409
|
+
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
38410
|
+
curve.addKey(keyframe2);
|
|
38411
|
+
}
|
|
38412
|
+
break;
|
|
38413
|
+
}
|
|
38414
|
+
case "AnimationVector2Curve":
|
|
38415
|
+
{
|
|
38416
|
+
curve = new exports.AnimationVector2Curve();
|
|
38417
|
+
curve.interpolation = interpolation;
|
|
38418
|
+
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
38419
|
+
var keyframe3 = new Keyframe();
|
|
38420
|
+
keyframe3.time = bufferReader.nextFloat32();
|
|
38421
|
+
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38422
|
+
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38423
|
+
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38424
|
+
curve.addKey(keyframe3);
|
|
38425
|
+
}
|
|
38426
|
+
break;
|
|
38427
|
+
}
|
|
38428
|
+
case "AnimationVector3Curve":
|
|
38429
|
+
{
|
|
38430
|
+
curve = new exports.AnimationVector3Curve();
|
|
38431
|
+
curve.interpolation = interpolation;
|
|
38432
|
+
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
38433
|
+
var keyframe4 = new Keyframe();
|
|
38434
|
+
keyframe4.time = bufferReader.nextFloat32();
|
|
38435
|
+
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38436
|
+
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38437
|
+
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38438
|
+
curve.addKey(keyframe4);
|
|
38439
|
+
}
|
|
38440
|
+
break;
|
|
38441
|
+
}
|
|
38442
|
+
case "AnimationVector4Curve":
|
|
38443
|
+
{
|
|
38444
|
+
curve = new exports.AnimationVector4Curve();
|
|
38445
|
+
curve.interpolation = interpolation;
|
|
38446
|
+
var keyframe5 = new Keyframe();
|
|
38447
|
+
keyframe5.time = bufferReader.nextFloat32();
|
|
38448
|
+
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38449
|
+
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38450
|
+
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38451
|
+
curve.addKey(keyframe5);
|
|
38452
|
+
break;
|
|
38453
|
+
}
|
|
38454
|
+
case "AnimationColorCurve":
|
|
38455
|
+
{
|
|
38456
|
+
curve = new exports.AnimationColorCurve();
|
|
38457
|
+
curve.interpolation = interpolation;
|
|
38458
|
+
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
38459
|
+
var keyframe6 = new Keyframe();
|
|
38460
|
+
keyframe6.time = bufferReader.nextFloat32();
|
|
38461
|
+
keyframe6.value = new Color$1(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38462
|
+
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38463
|
+
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38464
|
+
curve.addKey(keyframe6);
|
|
38465
|
+
}
|
|
38466
|
+
break;
|
|
38467
|
+
}
|
|
38468
|
+
case "AnimationQuaternionCurve":
|
|
38469
|
+
{
|
|
38470
|
+
curve = new exports.AnimationQuaternionCurve();
|
|
38471
|
+
curve.interpolation = interpolation;
|
|
38472
|
+
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
38473
|
+
var keyframe7 = new Keyframe();
|
|
38474
|
+
keyframe7.time = bufferReader.nextFloat32();
|
|
38475
|
+
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38476
|
+
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38477
|
+
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38478
|
+
curve.addKey(keyframe7);
|
|
38479
|
+
}
|
|
38480
|
+
break;
|
|
38481
|
+
}
|
|
38482
|
+
case "AnimationRefCurve":
|
|
38483
|
+
{
|
|
38484
|
+
curve = new exports.AnimationRefCurve();
|
|
38485
|
+
curve.interpolation = interpolation;
|
|
38486
|
+
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
38487
|
+
var keyframe8 = new Keyframe();
|
|
38488
|
+
keyframe8.time = bufferReader.nextFloat32();
|
|
38489
|
+
keyframe8.value = JSON.parse(bufferReader.nextStr());
|
|
38490
|
+
curve.addKey(keyframe8);
|
|
38491
|
+
}
|
|
38492
|
+
break;
|
|
38493
|
+
}
|
|
38494
|
+
}
|
|
38495
|
+
clip.addCurveBinding(relativePath, componentType, property, curve);
|
|
38496
|
+
}
|
|
38497
|
+
resolve(clip);
|
|
38498
|
+
});
|
|
38499
|
+
};
|
|
38500
|
+
return AnimationClipDecoder;
|
|
38501
|
+
}();
|
|
38502
|
+
exports.AnimationClipDecoder = __decorate([
|
|
38503
|
+
decoder("AnimationClip")
|
|
38504
|
+
], exports.AnimationClipDecoder);
|
|
38303
38505
|
exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
38304
38506
|
var MeshDecoder = function MeshDecoder() {};
|
|
38305
|
-
MeshDecoder.decode = function decode(engine, bufferReader) {
|
|
38507
|
+
MeshDecoder.decode = function decode(engine, bufferReader, restoredMesh) {
|
|
38306
38508
|
return new Promise(function(resolve) {
|
|
38307
|
-
var modelMesh = new ModelMesh(engine);
|
|
38509
|
+
var modelMesh = restoredMesh || new ModelMesh(engine);
|
|
38308
38510
|
var jsonDataString = bufferReader.nextStr();
|
|
38309
38511
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
38310
38512
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
@@ -38433,80 +38635,22 @@
|
|
|
38433
38635
|
}
|
|
38434
38636
|
return array;
|
|
38435
38637
|
}
|
|
38436
|
-
|
|
38437
|
-
var
|
|
38438
|
-
|
|
38439
|
-
|
|
38440
|
-
|
|
38441
|
-
var
|
|
38442
|
-
var
|
|
38443
|
-
|
|
38444
|
-
|
|
38445
|
-
|
|
38446
|
-
|
|
38447
|
-
var width = bufferReader.nextUint16();
|
|
38448
|
-
var height = bufferReader.nextUint16();
|
|
38449
|
-
var isPixelBuffer = bufferReader.nextUint8();
|
|
38450
|
-
var mipCount = bufferReader.nextUint8();
|
|
38451
|
-
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
38452
|
-
var texture2D = new Texture2D(engine, width, height, format, mipmap);
|
|
38453
|
-
texture2D.filterMode = filterMode;
|
|
38454
|
-
texture2D.anisoLevel = anisoLevel;
|
|
38455
|
-
texture2D.wrapModeU = wrapModeU;
|
|
38456
|
-
texture2D.wrapModeV = wrapModeV;
|
|
38457
|
-
if (isPixelBuffer) {
|
|
38458
|
-
var pixelBuffer = imagesData[0];
|
|
38459
|
-
texture2D.setPixelBuffer(pixelBuffer);
|
|
38460
|
-
if (mipmap) {
|
|
38461
|
-
texture2D.generateMipmaps();
|
|
38462
|
-
for(var i = 1; i < mipCount; i++){
|
|
38463
|
-
var pixelBuffer1 = imagesData[i];
|
|
38464
|
-
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
38465
|
-
}
|
|
38466
|
-
}
|
|
38467
|
-
// @ts-ignore
|
|
38468
|
-
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
38469
|
-
resolve(texture2D);
|
|
38470
|
-
} else {
|
|
38471
|
-
var blob = new window.Blob([
|
|
38472
|
-
imagesData[0]
|
|
38473
|
-
]);
|
|
38474
|
-
var img = new Image();
|
|
38475
|
-
img.onload = function() {
|
|
38476
|
-
texture2D.setImageSource(img);
|
|
38477
|
-
var completedCount = 0;
|
|
38478
|
-
var onComplete = function onComplete() {
|
|
38479
|
-
completedCount++;
|
|
38480
|
-
if (completedCount >= mipCount) {
|
|
38481
|
-
resolve(texture2D);
|
|
38482
|
-
}
|
|
38483
|
-
};
|
|
38484
|
-
onComplete();
|
|
38485
|
-
if (mipmap) {
|
|
38486
|
-
var _loop = function _loop(i) {
|
|
38487
|
-
var blob = new window.Blob([
|
|
38488
|
-
imagesData[i]
|
|
38489
|
-
]);
|
|
38490
|
-
var img = new Image();
|
|
38491
|
-
img.onload = function() {
|
|
38492
|
-
texture2D.setImageSource(img, i);
|
|
38493
|
-
onComplete();
|
|
38494
|
-
};
|
|
38495
|
-
img.src = URL.createObjectURL(blob);
|
|
38496
|
-
};
|
|
38497
|
-
texture2D.generateMipmaps();
|
|
38498
|
-
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
38499
|
-
}
|
|
38500
|
-
};
|
|
38501
|
-
img.src = URL.createObjectURL(blob);
|
|
38638
|
+
var PrefabParser = /*#__PURE__*/ function() {
|
|
38639
|
+
var PrefabParser = function PrefabParser() {};
|
|
38640
|
+
PrefabParser.parseChildren = function parseChildren(entitiesConfig, entities, parentId) {
|
|
38641
|
+
var children = entitiesConfig.get(parentId).children;
|
|
38642
|
+
if (children && children.length > 0) {
|
|
38643
|
+
var parent = entities.get(parentId);
|
|
38644
|
+
for(var i = 0; i < children.length; i++){
|
|
38645
|
+
var childId = children[i];
|
|
38646
|
+
var entity = entities.get(childId);
|
|
38647
|
+
parent.addChild(entity);
|
|
38648
|
+
this.parseChildren(entitiesConfig, entities, childId);
|
|
38502
38649
|
}
|
|
38503
|
-
}
|
|
38650
|
+
}
|
|
38504
38651
|
};
|
|
38505
|
-
return
|
|
38652
|
+
return PrefabParser;
|
|
38506
38653
|
}();
|
|
38507
|
-
exports.Texture2DDecoder = __decorate([
|
|
38508
|
-
decoder("Texture2D")
|
|
38509
|
-
], exports.Texture2DDecoder);
|
|
38510
38654
|
function _is_native_reflect_construct() {
|
|
38511
38655
|
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
38512
38656
|
if (Reflect.construct.sham) return false;
|
|
@@ -38681,215 +38825,146 @@
|
|
|
38681
38825
|
(function() {
|
|
38682
38826
|
ReflectionParser.customParseComponentHandles = new Map();
|
|
38683
38827
|
})();
|
|
38684
|
-
|
|
38685
|
-
var
|
|
38686
|
-
|
|
38687
|
-
|
|
38688
|
-
|
|
38689
|
-
var
|
|
38690
|
-
|
|
38691
|
-
|
|
38692
|
-
|
|
38693
|
-
|
|
38694
|
-
|
|
38695
|
-
|
|
38696
|
-
|
|
38697
|
-
|
|
38698
|
-
|
|
38699
|
-
|
|
38700
|
-
|
|
38701
|
-
|
|
38702
|
-
|
|
38703
|
-
|
|
38704
|
-
|
|
38705
|
-
|
|
38706
|
-
|
|
38707
|
-
|
|
38708
|
-
|
|
38709
|
-
|
|
38710
|
-
|
|
38711
|
-
|
|
38712
|
-
|
|
38713
|
-
|
|
38714
|
-
exports.InterpolableValueType = void 0;
|
|
38715
|
-
(function(InterpolableValueType) {
|
|
38716
|
-
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
38717
|
-
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
38718
|
-
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
38719
|
-
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
38720
|
-
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
38721
|
-
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
38722
|
-
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
38723
|
-
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
38724
|
-
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
38725
|
-
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
38726
|
-
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
38727
|
-
})(exports.InterpolableValueType || (exports.InterpolableValueType = {}));
|
|
38728
|
-
exports.AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
38729
|
-
var AnimationClipDecoder = function AnimationClipDecoder() {};
|
|
38730
|
-
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
38731
|
-
return new Promise(function(resolve) {
|
|
38732
|
-
var name = bufferReader.nextStr();
|
|
38733
|
-
var clip = new AnimationClip(name);
|
|
38734
|
-
var eventsLen = bufferReader.nextUint16();
|
|
38735
|
-
for(var i = 0; i < eventsLen; ++i){
|
|
38736
|
-
var event = new AnimationEvent();
|
|
38737
|
-
event.time = bufferReader.nextFloat32();
|
|
38738
|
-
event.functionName = bufferReader.nextStr();
|
|
38739
|
-
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
38740
|
-
clip.addEvent(event);
|
|
38741
|
-
}
|
|
38742
|
-
var curveBindingsLen = bufferReader.nextUint16();
|
|
38743
|
-
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
38744
|
-
var relativePath = bufferReader.nextStr();
|
|
38745
|
-
var componentStr = bufferReader.nextStr();
|
|
38746
|
-
var componentType = ComponentMap[componentStr];
|
|
38747
|
-
var property = bufferReader.nextStr();
|
|
38748
|
-
var curve = void 0;
|
|
38749
|
-
var interpolation = bufferReader.nextUint8();
|
|
38750
|
-
var keysLen = bufferReader.nextUint16();
|
|
38751
|
-
var curveType = bufferReader.nextStr();
|
|
38752
|
-
switch(curveType){
|
|
38753
|
-
case "AnimationFloatCurve":
|
|
38754
|
-
{
|
|
38755
|
-
curve = new exports.AnimationFloatCurve();
|
|
38756
|
-
curve.interpolation = interpolation;
|
|
38757
|
-
for(var j = 0; j < keysLen; ++j){
|
|
38758
|
-
var keyframe = new Keyframe();
|
|
38759
|
-
keyframe.time = bufferReader.nextFloat32();
|
|
38760
|
-
keyframe.value = bufferReader.nextFloat32();
|
|
38761
|
-
keyframe.inTangent = bufferReader.nextFloat32();
|
|
38762
|
-
keyframe.outTangent = bufferReader.nextFloat32();
|
|
38763
|
-
curve.addKey(keyframe);
|
|
38764
|
-
}
|
|
38765
|
-
break;
|
|
38766
|
-
}
|
|
38767
|
-
case "AnimationArrayCurve":
|
|
38768
|
-
{
|
|
38769
|
-
curve = new exports.AnimationArrayCurve();
|
|
38770
|
-
curve.interpolation = interpolation;
|
|
38771
|
-
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
38772
|
-
var keyframe1 = new Keyframe();
|
|
38773
|
-
keyframe1.time = bufferReader.nextFloat32();
|
|
38774
|
-
var len = bufferReader.nextUint16();
|
|
38775
|
-
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
38776
|
-
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
38777
|
-
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
38778
|
-
curve.addKey(keyframe1);
|
|
38779
|
-
}
|
|
38780
|
-
break;
|
|
38781
|
-
}
|
|
38782
|
-
case "AnimationFloatArrayCurve":
|
|
38783
|
-
{
|
|
38784
|
-
curve = new exports.AnimationFloatArrayCurve();
|
|
38785
|
-
curve.interpolation = interpolation;
|
|
38786
|
-
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
38787
|
-
var keyframe2 = new Keyframe();
|
|
38788
|
-
keyframe2.time = bufferReader.nextFloat32();
|
|
38789
|
-
var len1 = bufferReader.nextUint16();
|
|
38790
|
-
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
38791
|
-
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
38792
|
-
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
38793
|
-
curve.addKey(keyframe2);
|
|
38794
|
-
}
|
|
38795
|
-
break;
|
|
38796
|
-
}
|
|
38797
|
-
case "AnimationVector2Curve":
|
|
38798
|
-
{
|
|
38799
|
-
curve = new exports.AnimationVector2Curve();
|
|
38800
|
-
curve.interpolation = interpolation;
|
|
38801
|
-
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
38802
|
-
var keyframe3 = new Keyframe();
|
|
38803
|
-
keyframe3.time = bufferReader.nextFloat32();
|
|
38804
|
-
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38805
|
-
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38806
|
-
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38807
|
-
curve.addKey(keyframe3);
|
|
38808
|
-
}
|
|
38809
|
-
break;
|
|
38810
|
-
}
|
|
38811
|
-
case "AnimationVector3Curve":
|
|
38812
|
-
{
|
|
38813
|
-
curve = new exports.AnimationVector3Curve();
|
|
38814
|
-
curve.interpolation = interpolation;
|
|
38815
|
-
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
38816
|
-
var keyframe4 = new Keyframe();
|
|
38817
|
-
keyframe4.time = bufferReader.nextFloat32();
|
|
38818
|
-
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38819
|
-
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38820
|
-
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38821
|
-
curve.addKey(keyframe4);
|
|
38822
|
-
}
|
|
38823
|
-
break;
|
|
38824
|
-
}
|
|
38825
|
-
case "AnimationVector4Curve":
|
|
38826
|
-
{
|
|
38827
|
-
curve = new exports.AnimationVector4Curve();
|
|
38828
|
-
curve.interpolation = interpolation;
|
|
38829
|
-
var keyframe5 = new Keyframe();
|
|
38830
|
-
keyframe5.time = bufferReader.nextFloat32();
|
|
38831
|
-
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38832
|
-
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38833
|
-
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38834
|
-
curve.addKey(keyframe5);
|
|
38835
|
-
break;
|
|
38836
|
-
}
|
|
38837
|
-
case "AnimationColorCurve":
|
|
38838
|
-
{
|
|
38839
|
-
curve = new exports.AnimationColorCurve();
|
|
38840
|
-
curve.interpolation = interpolation;
|
|
38841
|
-
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
38842
|
-
var keyframe6 = new Keyframe();
|
|
38843
|
-
keyframe6.time = bufferReader.nextFloat32();
|
|
38844
|
-
keyframe6.value = new Color$1(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38845
|
-
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38846
|
-
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38847
|
-
curve.addKey(keyframe6);
|
|
38848
|
-
}
|
|
38849
|
-
break;
|
|
38850
|
-
}
|
|
38851
|
-
case "AnimationQuaternionCurve":
|
|
38852
|
-
{
|
|
38853
|
-
curve = new exports.AnimationQuaternionCurve();
|
|
38854
|
-
curve.interpolation = interpolation;
|
|
38855
|
-
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
38856
|
-
var keyframe7 = new Keyframe();
|
|
38857
|
-
keyframe7.time = bufferReader.nextFloat32();
|
|
38858
|
-
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38859
|
-
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38860
|
-
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
38861
|
-
curve.addKey(keyframe7);
|
|
38862
|
-
}
|
|
38863
|
-
break;
|
|
38864
|
-
}
|
|
38865
|
-
case "AnimationRefCurve":
|
|
38866
|
-
{
|
|
38867
|
-
curve = new exports.AnimationRefCurve();
|
|
38868
|
-
curve.interpolation = interpolation;
|
|
38869
|
-
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
38870
|
-
var keyframe8 = new Keyframe();
|
|
38871
|
-
keyframe8.time = bufferReader.nextFloat32();
|
|
38872
|
-
keyframe8.value = JSON.parse(bufferReader.nextStr());
|
|
38873
|
-
curve.addKey(keyframe8);
|
|
38874
|
-
}
|
|
38875
|
-
break;
|
|
38876
|
-
}
|
|
38828
|
+
exports.Texture2DDecoder = /*#__PURE__*/ function() {
|
|
38829
|
+
var Texture2DDecoder = function Texture2DDecoder() {};
|
|
38830
|
+
Texture2DDecoder.decode = function decode(engine, bufferReader, restoredTexture) {
|
|
38831
|
+
return new Promise(function(resolve, reject) {
|
|
38832
|
+
var objectId = bufferReader.nextStr();
|
|
38833
|
+
var mipmap = !!bufferReader.nextUint8();
|
|
38834
|
+
var filterMode = bufferReader.nextUint8();
|
|
38835
|
+
var anisoLevel = bufferReader.nextUint8();
|
|
38836
|
+
var wrapModeU = bufferReader.nextUint8();
|
|
38837
|
+
var wrapModeV = bufferReader.nextUint8();
|
|
38838
|
+
var format = bufferReader.nextUint8();
|
|
38839
|
+
var width = bufferReader.nextUint16();
|
|
38840
|
+
var height = bufferReader.nextUint16();
|
|
38841
|
+
var isPixelBuffer = bufferReader.nextUint8();
|
|
38842
|
+
var mipCount = bufferReader.nextUint8();
|
|
38843
|
+
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
38844
|
+
var texture2D = restoredTexture || new Texture2D(engine, width, height, format, mipmap);
|
|
38845
|
+
texture2D.filterMode = filterMode;
|
|
38846
|
+
texture2D.anisoLevel = anisoLevel;
|
|
38847
|
+
texture2D.wrapModeU = wrapModeU;
|
|
38848
|
+
texture2D.wrapModeV = wrapModeV;
|
|
38849
|
+
if (isPixelBuffer) {
|
|
38850
|
+
var pixelBuffer = imagesData[0];
|
|
38851
|
+
texture2D.setPixelBuffer(pixelBuffer);
|
|
38852
|
+
if (mipmap) {
|
|
38853
|
+
texture2D.generateMipmaps();
|
|
38854
|
+
for(var i = 1; i < mipCount; i++){
|
|
38855
|
+
var pixelBuffer1 = imagesData[i];
|
|
38856
|
+
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
38857
|
+
}
|
|
38877
38858
|
}
|
|
38878
|
-
|
|
38859
|
+
// @ts-ignore
|
|
38860
|
+
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
38861
|
+
resolve(texture2D);
|
|
38862
|
+
} else {
|
|
38863
|
+
var blob = new window.Blob([
|
|
38864
|
+
imagesData[0]
|
|
38865
|
+
]);
|
|
38866
|
+
var img = new Image();
|
|
38867
|
+
img.onload = function() {
|
|
38868
|
+
texture2D.setImageSource(img);
|
|
38869
|
+
var completedCount = 0;
|
|
38870
|
+
var onComplete = function onComplete() {
|
|
38871
|
+
completedCount++;
|
|
38872
|
+
if (completedCount >= mipCount) {
|
|
38873
|
+
resolve(texture2D);
|
|
38874
|
+
}
|
|
38875
|
+
};
|
|
38876
|
+
onComplete();
|
|
38877
|
+
if (mipmap) {
|
|
38878
|
+
var _loop = function _loop(i) {
|
|
38879
|
+
var blob = new window.Blob([
|
|
38880
|
+
imagesData[i]
|
|
38881
|
+
]);
|
|
38882
|
+
var img = new Image();
|
|
38883
|
+
img.onload = function() {
|
|
38884
|
+
texture2D.setImageSource(img, i);
|
|
38885
|
+
onComplete();
|
|
38886
|
+
};
|
|
38887
|
+
img.src = URL.createObjectURL(blob);
|
|
38888
|
+
};
|
|
38889
|
+
texture2D.generateMipmaps();
|
|
38890
|
+
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
38891
|
+
}
|
|
38892
|
+
};
|
|
38893
|
+
img.src = URL.createObjectURL(blob);
|
|
38879
38894
|
}
|
|
38880
|
-
resolve(clip);
|
|
38881
38895
|
});
|
|
38882
38896
|
};
|
|
38883
|
-
return
|
|
38897
|
+
return Texture2DDecoder;
|
|
38884
38898
|
}();
|
|
38885
|
-
exports.
|
|
38886
|
-
decoder("
|
|
38887
|
-
], exports.
|
|
38888
|
-
exports.
|
|
38889
|
-
|
|
38890
|
-
|
|
38891
|
-
|
|
38892
|
-
|
|
38899
|
+
exports.Texture2DDecoder = __decorate([
|
|
38900
|
+
decoder("Texture2D")
|
|
38901
|
+
], exports.Texture2DDecoder);
|
|
38902
|
+
exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
|
|
38903
|
+
var EditorTextureLoader = function EditorTextureLoader() {
|
|
38904
|
+
return Loader1.apply(this, arguments);
|
|
38905
|
+
};
|
|
38906
|
+
_inherits(EditorTextureLoader, Loader1);
|
|
38907
|
+
var _proto = EditorTextureLoader.prototype;
|
|
38908
|
+
_proto.load = function load(item, resourceManager) {
|
|
38909
|
+
var _this = this;
|
|
38910
|
+
return new AssetPromise(function(resolve, reject) {
|
|
38911
|
+
var request = _this.request;
|
|
38912
|
+
request(item.url, _extends({}, item, {
|
|
38913
|
+
type: "arraybuffer"
|
|
38914
|
+
})).then(function(data) {
|
|
38915
|
+
decode(data, resourceManager.engine).then(function(texture) {
|
|
38916
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
38917
|
+
var _class = function _class() {
|
|
38918
|
+
return ContentRestorer.apply(this, arguments);
|
|
38919
|
+
};
|
|
38920
|
+
_inherits(_class, ContentRestorer);
|
|
38921
|
+
var _proto = _class.prototype;
|
|
38922
|
+
_proto.restoreContent = function restoreContent() {
|
|
38923
|
+
return request(item.url, _extends({}, item, {
|
|
38924
|
+
type: "arraybuffer"
|
|
38925
|
+
})).then(function(data) {
|
|
38926
|
+
return decode(data, resourceManager.engine, texture);
|
|
38927
|
+
});
|
|
38928
|
+
};
|
|
38929
|
+
return _class;
|
|
38930
|
+
}(ContentRestorer))(texture));
|
|
38931
|
+
resolve(texture);
|
|
38932
|
+
});
|
|
38933
|
+
}).catch(reject);
|
|
38934
|
+
});
|
|
38935
|
+
};
|
|
38936
|
+
return EditorTextureLoader;
|
|
38937
|
+
}(Loader);
|
|
38938
|
+
exports.EditorTextureLoader = __decorate([
|
|
38939
|
+
resourceLoader("EditorTexture2D", [
|
|
38940
|
+
"prefab"
|
|
38941
|
+
], true)
|
|
38942
|
+
], exports.EditorTextureLoader);
|
|
38943
|
+
exports.MeshLoader = /*#__PURE__*/ function(Loader1) {
|
|
38944
|
+
var MeshLoader = function MeshLoader() {
|
|
38945
|
+
return Loader1.apply(this, arguments);
|
|
38946
|
+
};
|
|
38947
|
+
_inherits(MeshLoader, Loader1);
|
|
38948
|
+
var _proto = MeshLoader.prototype;
|
|
38949
|
+
_proto.load = function load(item, resourceManager) {
|
|
38950
|
+
var _this = this;
|
|
38951
|
+
return new AssetPromise(function(resolve, reject) {
|
|
38952
|
+
_this.request(item.url, {
|
|
38953
|
+
type: "arraybuffer"
|
|
38954
|
+
}).then(function(data) {
|
|
38955
|
+
decode(data, resourceManager.engine).then(function(mesh) {
|
|
38956
|
+
resolve(mesh);
|
|
38957
|
+
});
|
|
38958
|
+
}).catch(reject);
|
|
38959
|
+
});
|
|
38960
|
+
};
|
|
38961
|
+
return MeshLoader;
|
|
38962
|
+
}(Loader);
|
|
38963
|
+
exports.MeshLoader = __decorate([
|
|
38964
|
+
resourceLoader("Mesh", [
|
|
38965
|
+
"prefab"
|
|
38966
|
+
], true)
|
|
38967
|
+
], exports.MeshLoader);
|
|
38893
38968
|
function _array_like_to_array(arr, len) {
|
|
38894
38969
|
if (len == null || len > arr.length) len = arr.length;
|
|
38895
38970
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -39036,65 +39111,24 @@
|
|
|
39036
39111
|
};
|
|
39037
39112
|
return SceneParser;
|
|
39038
39113
|
}();
|
|
39039
|
-
exports.
|
|
39040
|
-
|
|
39041
|
-
|
|
39042
|
-
|
|
39043
|
-
|
|
39044
|
-
var _proto = MeshLoader.prototype;
|
|
39045
|
-
_proto.load = function load(item, resourceManager) {
|
|
39046
|
-
var _this = this;
|
|
39047
|
-
return new AssetPromise(function(resolve, reject) {
|
|
39048
|
-
_this.request(item.url, {
|
|
39049
|
-
type: "arraybuffer"
|
|
39050
|
-
}).then(function(data) {
|
|
39051
|
-
decode(data, resourceManager.engine).then(function(mesh) {
|
|
39052
|
-
resolve(mesh);
|
|
39053
|
-
});
|
|
39054
|
-
}).catch(reject);
|
|
39055
|
-
});
|
|
39056
|
-
};
|
|
39057
|
-
return MeshLoader;
|
|
39058
|
-
}(Loader);
|
|
39059
|
-
exports.MeshLoader = __decorate([
|
|
39060
|
-
resourceLoader("Mesh", [
|
|
39061
|
-
"prefab"
|
|
39062
|
-
], true)
|
|
39063
|
-
], exports.MeshLoader);
|
|
39064
|
-
exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
|
|
39065
|
-
var EditorTextureLoader = function EditorTextureLoader() {
|
|
39066
|
-
return Loader1.apply(this, arguments);
|
|
39067
|
-
};
|
|
39068
|
-
_inherits(EditorTextureLoader, Loader1);
|
|
39069
|
-
var _proto = EditorTextureLoader.prototype;
|
|
39070
|
-
_proto.load = function load(item, resourceManager) {
|
|
39071
|
-
var _this = this;
|
|
39072
|
-
return new AssetPromise(function(resolve, reject) {
|
|
39073
|
-
_this.request(item.url, {
|
|
39074
|
-
type: "arraybuffer"
|
|
39075
|
-
}).then(function(data) {
|
|
39076
|
-
decode(data, resourceManager.engine).then(function(texture) {
|
|
39077
|
-
resolve(texture);
|
|
39078
|
-
});
|
|
39079
|
-
}).catch(reject);
|
|
39080
|
-
});
|
|
39081
|
-
};
|
|
39082
|
-
return EditorTextureLoader;
|
|
39083
|
-
}(Loader);
|
|
39084
|
-
exports.EditorTextureLoader = __decorate([
|
|
39085
|
-
resourceLoader("EditorTexture2D", [
|
|
39086
|
-
"prefab"
|
|
39087
|
-
], true)
|
|
39088
|
-
], exports.EditorTextureLoader);
|
|
39114
|
+
exports.SpecularMode = void 0;
|
|
39115
|
+
(function(SpecularMode) {
|
|
39116
|
+
SpecularMode["Sky"] = "Sky";
|
|
39117
|
+
SpecularMode["Custom"] = "Custom";
|
|
39118
|
+
})(exports.SpecularMode || (exports.SpecularMode = {}));
|
|
39089
39119
|
/**
|
|
39090
39120
|
* Decode engine binary resource.
|
|
39091
39121
|
* @param arrayBuffer - array buffer of decode binary file
|
|
39092
39122
|
* @param engine - engine
|
|
39093
39123
|
* @returns
|
|
39094
39124
|
*/ function decode(arrayBuffer, engine) {
|
|
39125
|
+
for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
39126
|
+
args[_key - 2] = arguments[_key];
|
|
39127
|
+
}
|
|
39128
|
+
var _decoderMap_header_type;
|
|
39095
39129
|
var header = FileHeader.decode(arrayBuffer);
|
|
39096
39130
|
var bufferReader = new BufferReader(new Uint8Array(arrayBuffer), header.headerLength, header.dataLength);
|
|
39097
|
-
return decoderMap[header.type].decode(engine, bufferReader).then(function(object) {
|
|
39131
|
+
return (_decoderMap_header_type = decoderMap[header.type]).decode.apply(_decoderMap_header_type, [].concat(engine, bufferReader, args)).then(function(object) {
|
|
39098
39132
|
object.name = header.name;
|
|
39099
39133
|
return object;
|
|
39100
39134
|
});
|
|
@@ -39258,39 +39292,42 @@
|
|
|
39258
39292
|
], false)
|
|
39259
39293
|
], BufferLoader);
|
|
39260
39294
|
var EnvLoader = /*#__PURE__*/ function(Loader1) {
|
|
39261
|
-
var
|
|
39295
|
+
var EnvLoader1 = function EnvLoader1() {
|
|
39262
39296
|
return Loader1.apply(this, arguments);
|
|
39263
39297
|
};
|
|
39264
|
-
_inherits(
|
|
39265
|
-
var _proto =
|
|
39298
|
+
_inherits(EnvLoader1, Loader1);
|
|
39299
|
+
var _proto = EnvLoader1.prototype;
|
|
39266
39300
|
_proto.load = function load(item, resourceManager) {
|
|
39267
39301
|
var _this = this;
|
|
39268
39302
|
return new AssetPromise(function(resolve, reject) {
|
|
39269
|
-
|
|
39303
|
+
var engine = resourceManager.engine;
|
|
39304
|
+
var request = _this.request;
|
|
39305
|
+
request(item.url, _extends({}, item, {
|
|
39270
39306
|
type: "arraybuffer"
|
|
39271
|
-
}).then(function(arraybuffer) {
|
|
39272
|
-
var
|
|
39273
|
-
|
|
39274
|
-
|
|
39275
|
-
|
|
39276
|
-
|
|
39277
|
-
|
|
39278
|
-
|
|
39279
|
-
|
|
39280
|
-
|
|
39281
|
-
|
|
39282
|
-
|
|
39283
|
-
|
|
39284
|
-
|
|
39285
|
-
|
|
39286
|
-
|
|
39287
|
-
|
|
39288
|
-
}
|
|
39289
|
-
|
|
39307
|
+
})).then(function(arraybuffer) {
|
|
39308
|
+
var texture = EnvLoader._setTextureByBuffer(engine, arraybuffer);
|
|
39309
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
39310
|
+
var _class = function _class() {
|
|
39311
|
+
return ContentRestorer.apply(this, arguments);
|
|
39312
|
+
};
|
|
39313
|
+
_inherits(_class, ContentRestorer);
|
|
39314
|
+
var _proto = _class.prototype;
|
|
39315
|
+
_proto.restoreContent = function restoreContent() {
|
|
39316
|
+
return new AssetPromise(function(resolve, reject) {
|
|
39317
|
+
request(item.url, _extends({}, item, {
|
|
39318
|
+
type: "arraybuffer"
|
|
39319
|
+
})).then(function(buffer) {
|
|
39320
|
+
EnvLoader._setTextureByBuffer(engine, buffer, texture);
|
|
39321
|
+
resolve(texture);
|
|
39322
|
+
}).catch(reject);
|
|
39323
|
+
});
|
|
39324
|
+
};
|
|
39325
|
+
return _class;
|
|
39326
|
+
}(ContentRestorer))(texture));
|
|
39290
39327
|
var ambientLight = new AmbientLight(engine);
|
|
39291
39328
|
var sh = new SphericalHarmonics3();
|
|
39292
39329
|
ambientLight.diffuseMode = exports.DiffuseMode.SphericalHarmonics;
|
|
39293
|
-
sh.copyFromArray(
|
|
39330
|
+
sh.copyFromArray(new Float32Array(arraybuffer, 0, 27));
|
|
39294
39331
|
ambientLight.diffuseSphericalHarmonics = sh;
|
|
39295
39332
|
ambientLight.specularTexture = texture;
|
|
39296
39333
|
ambientLight.specularTextureDecodeRGBM = true;
|
|
@@ -39300,7 +39337,28 @@
|
|
|
39300
39337
|
});
|
|
39301
39338
|
});
|
|
39302
39339
|
};
|
|
39303
|
-
|
|
39340
|
+
/**
|
|
39341
|
+
* @internal
|
|
39342
|
+
*/ EnvLoader1._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
39343
|
+
var _this;
|
|
39344
|
+
var shByteLength = 27 * 4;
|
|
39345
|
+
var size = (_this = new Uint16Array(buffer, shByteLength, 1)) == null ? void 0 : _this[0];
|
|
39346
|
+
texture || (texture = new TextureCube(engine, size));
|
|
39347
|
+
texture.filterMode = exports.TextureFilterMode.Trilinear;
|
|
39348
|
+
var mipmapCount = texture.mipmapCount;
|
|
39349
|
+
var offset = shByteLength + 2;
|
|
39350
|
+
for(var mipLevel = 0; mipLevel < mipmapCount; mipLevel++){
|
|
39351
|
+
var mipSize = size >> mipLevel;
|
|
39352
|
+
for(var face = 0; face < 6; face++){
|
|
39353
|
+
var dataSize = mipSize * mipSize * 4;
|
|
39354
|
+
var data = new Uint8Array(buffer, offset, dataSize);
|
|
39355
|
+
offset += dataSize;
|
|
39356
|
+
texture.setPixelBuffer(exports.TextureCubeFace.PositiveX + face, data, mipLevel);
|
|
39357
|
+
}
|
|
39358
|
+
}
|
|
39359
|
+
return texture;
|
|
39360
|
+
};
|
|
39361
|
+
return EnvLoader1;
|
|
39304
39362
|
}(Loader);
|
|
39305
39363
|
EnvLoader = __decorate([
|
|
39306
39364
|
resourceLoader(exports.AssetType.Env, [
|
|
@@ -39579,7 +39637,7 @@
|
|
|
39579
39637
|
var glTFItems = this.glTF[glTFSchemaMap[type]];
|
|
39580
39638
|
if (glTFItems && (index === undefined || glTFItems[index])) {
|
|
39581
39639
|
if (index === undefined) {
|
|
39582
|
-
resource = type ===
|
|
39640
|
+
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
39583
39641
|
return _this.get(type, index);
|
|
39584
39642
|
}) : Promise.all(glTFItems.map(function(_, index) {
|
|
39585
39643
|
return _this.get(type, index);
|
|
@@ -39601,11 +39659,11 @@
|
|
|
39601
39659
|
_this.glTF = json;
|
|
39602
39660
|
return Promise.all([
|
|
39603
39661
|
_this.get(1),
|
|
39604
|
-
_this.get(4),
|
|
39605
39662
|
_this.get(5),
|
|
39606
39663
|
_this.get(6),
|
|
39607
|
-
_this.get(
|
|
39664
|
+
_this.get(7),
|
|
39608
39665
|
_this.get(9),
|
|
39666
|
+
_this.get(10),
|
|
39609
39667
|
_this.get(2)
|
|
39610
39668
|
]).then(function() {
|
|
39611
39669
|
var glTFResource = _this.glTFResource;
|
|
@@ -39643,7 +39701,7 @@
|
|
|
39643
39701
|
var _this = this;
|
|
39644
39702
|
var glTFResourceKey = glTFResourceMap[type];
|
|
39645
39703
|
if (!glTFResourceKey) return;
|
|
39646
|
-
if (type ===
|
|
39704
|
+
if (type === 8) {
|
|
39647
39705
|
var _this_glTFResource, _glTFResourceKey;
|
|
39648
39706
|
((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
|
|
39649
39707
|
} else {
|
|
@@ -39651,7 +39709,7 @@
|
|
|
39651
39709
|
resource.then(function(item) {
|
|
39652
39710
|
var _this_glTFResource, _glTFResourceKey;
|
|
39653
39711
|
((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
|
|
39654
|
-
if (type ===
|
|
39712
|
+
if (type === 7) {
|
|
39655
39713
|
for(var i = 0, length = item.length; i < length; i++){
|
|
39656
39714
|
var mesh = item[i];
|
|
39657
39715
|
// @ts-ignore
|
|
@@ -39691,17 +39749,18 @@
|
|
|
39691
39749
|
GLTFParserType[GLTFParserType["Validator"] = 1] = "Validator";
|
|
39692
39750
|
GLTFParserType[GLTFParserType["Scene"] = 2] = "Scene";
|
|
39693
39751
|
GLTFParserType[GLTFParserType["Buffer"] = 3] = "Buffer";
|
|
39694
|
-
GLTFParserType[GLTFParserType["
|
|
39695
|
-
GLTFParserType[GLTFParserType["
|
|
39696
|
-
GLTFParserType[GLTFParserType["
|
|
39697
|
-
GLTFParserType[GLTFParserType["
|
|
39698
|
-
GLTFParserType[GLTFParserType["
|
|
39699
|
-
GLTFParserType[GLTFParserType["
|
|
39752
|
+
GLTFParserType[GLTFParserType["BufferView"] = 4] = "BufferView";
|
|
39753
|
+
GLTFParserType[GLTFParserType["Texture"] = 5] = "Texture";
|
|
39754
|
+
GLTFParserType[GLTFParserType["Material"] = 6] = "Material";
|
|
39755
|
+
GLTFParserType[GLTFParserType["Mesh"] = 7] = "Mesh";
|
|
39756
|
+
GLTFParserType[GLTFParserType["Entity"] = 8] = "Entity";
|
|
39757
|
+
GLTFParserType[GLTFParserType["Skin"] = 9] = "Skin";
|
|
39758
|
+
GLTFParserType[GLTFParserType["Animation"] = 10] = "Animation";
|
|
39700
39759
|
})(exports.GLTFParserType || (exports.GLTFParserType = {}));
|
|
39701
39760
|
var _obj;
|
|
39702
|
-
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[
|
|
39761
|
+
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[5] = "textures", _obj[6] = "materials", _obj[7] = "meshes", _obj[8] = "nodes", _obj[9] = "skins", _obj[10] = "animations", _obj[4] = "bufferViews", _obj);
|
|
39703
39762
|
var _obj1;
|
|
39704
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "sceneRoots", _obj1[
|
|
39763
|
+
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1);
|
|
39705
39764
|
function registerGLTFParser(pipeline) {
|
|
39706
39765
|
return function(Parser) {
|
|
39707
39766
|
var parser = new Parser();
|
|
@@ -39805,113 +39864,68 @@
|
|
|
39805
39864
|
};
|
|
39806
39865
|
GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
|
|
39807
39866
|
var componentType = accessor.componentType;
|
|
39808
|
-
var
|
|
39809
|
-
var
|
|
39810
|
-
var
|
|
39811
|
-
|
|
39812
|
-
|
|
39813
|
-
|
|
39814
|
-
|
|
39815
|
-
var
|
|
39816
|
-
var
|
|
39817
|
-
|
|
39818
|
-
|
|
39819
|
-
|
|
39820
|
-
|
|
39821
|
-
|
|
39822
|
-
|
|
39823
|
-
|
|
39824
|
-
|
|
39825
|
-
|
|
39826
|
-
|
|
39827
|
-
|
|
39828
|
-
|
|
39829
|
-
|
|
39830
|
-
|
|
39831
|
-
|
|
39832
|
-
|
|
39833
|
-
|
|
39834
|
-
|
|
39835
|
-
|
|
39836
|
-
|
|
39867
|
+
var TypedArray = GLTFUtils.getComponentType(componentType);
|
|
39868
|
+
var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
39869
|
+
var dataElementBytes = TypedArray.BYTES_PER_ELEMENT;
|
|
39870
|
+
var elementStride = dataElementSize * dataElementBytes;
|
|
39871
|
+
var accessorCount = accessor.count;
|
|
39872
|
+
var promise;
|
|
39873
|
+
if (accessor.bufferView !== undefined) {
|
|
39874
|
+
var bufferViewIndex = accessor.bufferView;
|
|
39875
|
+
var bufferView = bufferViews[bufferViewIndex];
|
|
39876
|
+
promise = context.get(exports.GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
|
|
39877
|
+
var bufferIndex = bufferView.buffer;
|
|
39878
|
+
var _bufferViewData_byteOffset;
|
|
39879
|
+
var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
|
|
39880
|
+
var _accessor_byteOffset;
|
|
39881
|
+
var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
|
|
39882
|
+
var bufferStride = bufferView.byteStride;
|
|
39883
|
+
var bufferInfo;
|
|
39884
|
+
// According to the glTF official documentation only byteStride not undefined is allowed
|
|
39885
|
+
if (bufferStride !== undefined && bufferStride !== elementStride) {
|
|
39886
|
+
var bufferSlice = Math.floor(byteOffset / bufferStride);
|
|
39887
|
+
var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
|
|
39888
|
+
var accessorBufferCache = context.accessorBufferCache;
|
|
39889
|
+
bufferInfo = accessorBufferCache[bufferCacheKey];
|
|
39890
|
+
if (!bufferInfo) {
|
|
39891
|
+
var offset = bufferByteOffset + bufferSlice * bufferStride;
|
|
39892
|
+
var count = accessorCount * (bufferStride / dataElementBytes);
|
|
39893
|
+
var data = new TypedArray(bufferViewData.buffer, offset, count);
|
|
39894
|
+
accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
|
|
39895
|
+
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
|
|
39896
|
+
}
|
|
39897
|
+
} else {
|
|
39898
|
+
var offset1 = bufferByteOffset + byteOffset;
|
|
39899
|
+
var count1 = accessorCount * dataElementSize;
|
|
39900
|
+
var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
|
|
39901
|
+
bufferInfo = new BufferInfo(data1, false, elementStride);
|
|
39902
|
+
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
39837
39903
|
}
|
|
39838
|
-
|
|
39839
|
-
|
|
39840
|
-
|
|
39841
|
-
|
|
39842
|
-
|
|
39843
|
-
|
|
39844
|
-
|
|
39845
|
-
|
|
39846
|
-
|
|
39847
|
-
|
|
39848
|
-
return bufferInfo
|
|
39849
|
-
|
|
39904
|
+
return bufferInfo;
|
|
39905
|
+
});
|
|
39906
|
+
} else {
|
|
39907
|
+
var count = accessorCount * dataElementSize;
|
|
39908
|
+
var data = new TypedArray(count);
|
|
39909
|
+
var bufferInfo = new BufferInfo(data, false, elementStride);
|
|
39910
|
+
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
|
|
39911
|
+
promise = Promise.resolve(bufferInfo);
|
|
39912
|
+
}
|
|
39913
|
+
return accessor.sparse ? promise.then(function(bufferInfo) {
|
|
39914
|
+
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
39915
|
+
return bufferInfo;
|
|
39916
|
+
});
|
|
39917
|
+
}) : promise;
|
|
39850
39918
|
};
|
|
39851
|
-
GLTFUtils.bufferToVector3Array = function bufferToVector3Array(
|
|
39852
|
-
var
|
|
39853
|
-
var
|
|
39854
|
-
var
|
|
39855
|
-
var
|
|
39919
|
+
GLTFUtils.bufferToVector3Array = function bufferToVector3Array(buffer, byteOffset, count, normalized, componentType) {
|
|
39920
|
+
var baseOffset = byteOffset / buffer.BYTES_PER_ELEMENT;
|
|
39921
|
+
var stride = buffer.length / count;
|
|
39922
|
+
var vertices = new Array(count);
|
|
39923
|
+
var factor = normalized ? GLTFUtils.getNormalizedComponentScale(componentType) : 1;
|
|
39856
39924
|
for(var i = 0; i < count; i++){
|
|
39857
|
-
var index =
|
|
39858
|
-
|
|
39859
|
-
}
|
|
39860
|
-
return vector3s;
|
|
39861
|
-
};
|
|
39862
|
-
/**
|
|
39863
|
-
* @deprecated
|
|
39864
|
-
* Get accessor data.
|
|
39865
|
-
*/ GLTFUtils.getAccessorData = function getAccessorData(glTF, accessor, buffers) {
|
|
39866
|
-
var bufferViews = glTF.bufferViews;
|
|
39867
|
-
var _accessor_bufferView;
|
|
39868
|
-
var bufferView = bufferViews[(_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0];
|
|
39869
|
-
var arrayBuffer = buffers[bufferView.buffer];
|
|
39870
|
-
var accessorByteOffset = accessor.hasOwnProperty("byteOffset") ? accessor.byteOffset : 0;
|
|
39871
|
-
var bufferViewByteOffset = bufferView.hasOwnProperty("byteOffset") ? bufferView.byteOffset : 0;
|
|
39872
|
-
var byteOffset = accessorByteOffset + bufferViewByteOffset;
|
|
39873
|
-
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
39874
|
-
var length = accessorTypeSize * accessor.count;
|
|
39875
|
-
var _bufferView_byteStride;
|
|
39876
|
-
var byteStride = (_bufferView_byteStride = bufferView.byteStride) != null ? _bufferView_byteStride : 0;
|
|
39877
|
-
var arrayType = GLTFUtils.getComponentType(accessor.componentType);
|
|
39878
|
-
var uint8Array;
|
|
39879
|
-
if (byteStride) {
|
|
39880
|
-
var accessorByteSize = accessorTypeSize * arrayType.BYTES_PER_ELEMENT;
|
|
39881
|
-
uint8Array = new Uint8Array(accessor.count * accessorByteSize);
|
|
39882
|
-
var originalBufferView = new Uint8Array(arrayBuffer, bufferViewByteOffset, bufferView.byteLength);
|
|
39883
|
-
for(var i = 0; i < accessor.count; i++){
|
|
39884
|
-
for(var j = 0; j < accessorByteSize; j++){
|
|
39885
|
-
uint8Array[i * accessorByteSize + j] = originalBufferView[i * byteStride + accessorByteOffset + j];
|
|
39886
|
-
}
|
|
39887
|
-
}
|
|
39888
|
-
} else {
|
|
39889
|
-
uint8Array = new Uint8Array(arrayBuffer.slice(byteOffset, byteOffset + length * arrayType.BYTES_PER_ELEMENT));
|
|
39890
|
-
}
|
|
39891
|
-
var typedArray = new arrayType(uint8Array.buffer);
|
|
39892
|
-
if (accessor.sparse) {
|
|
39893
|
-
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
39894
|
-
var indicesBufferView = bufferViews[indices.bufferView];
|
|
39895
|
-
var valuesBufferView = bufferViews[values.bufferView];
|
|
39896
|
-
var indicesArrayBuffer = buffers[indicesBufferView.buffer];
|
|
39897
|
-
var valuesArrayBuffer = buffers[valuesBufferView.buffer];
|
|
39898
|
-
var _indices_byteOffset, _indicesBufferView_byteOffset;
|
|
39899
|
-
var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesBufferView_byteOffset = indicesBufferView.byteOffset) != null ? _indicesBufferView_byteOffset : 0);
|
|
39900
|
-
var indicesByteLength = indicesBufferView.byteLength;
|
|
39901
|
-
var _values_byteOffset, _valuesBufferView_byteOffset;
|
|
39902
|
-
var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesBufferView_byteOffset = valuesBufferView.byteOffset) != null ? _valuesBufferView_byteOffset : 0);
|
|
39903
|
-
var valuesByteLength = valuesBufferView.byteLength;
|
|
39904
|
-
var indicesType = GLTFUtils.getComponentType(indices.componentType);
|
|
39905
|
-
var indicesArray = new indicesType(indicesArrayBuffer, indicesByteOffset, indicesByteLength / indicesType.BYTES_PER_ELEMENT);
|
|
39906
|
-
var valuesArray = new arrayType(valuesArrayBuffer, valuesByteOffset, valuesByteLength / arrayType.BYTES_PER_ELEMENT);
|
|
39907
|
-
for(var i1 = 0; i1 < count; i1++){
|
|
39908
|
-
var replaceIndex = indicesArray[i1];
|
|
39909
|
-
for(var j1 = 0; j1 < accessorTypeSize; j1++){
|
|
39910
|
-
typedArray[replaceIndex * accessorTypeSize + j1] = valuesArray[i1 * accessorTypeSize + j1];
|
|
39911
|
-
}
|
|
39912
|
-
}
|
|
39925
|
+
var index = baseOffset + i * stride;
|
|
39926
|
+
vertices[i] = new Vector3(buffer[index] * factor, buffer[index + 1] * factor, buffer[index + 2] * factor);
|
|
39913
39927
|
}
|
|
39914
|
-
return
|
|
39928
|
+
return vertices;
|
|
39915
39929
|
};
|
|
39916
39930
|
GLTFUtils.getBufferViewData = function getBufferViewData(bufferView, buffers) {
|
|
39917
39931
|
var _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset;
|
|
@@ -39920,40 +39934,43 @@
|
|
|
39920
39934
|
};
|
|
39921
39935
|
/**
|
|
39922
39936
|
* Get accessor data.
|
|
39923
|
-
*/ GLTFUtils.processingSparseData = function processingSparseData(
|
|
39937
|
+
*/ GLTFUtils.processingSparseData = function processingSparseData(context, accessor, bufferInfo) {
|
|
39924
39938
|
var restoreInfo = bufferInfo.restoreInfo;
|
|
39939
|
+
var bufferViews = context.glTF.bufferViews;
|
|
39925
39940
|
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
39926
39941
|
var TypedArray = GLTFUtils.getComponentType(accessor.componentType);
|
|
39927
39942
|
var data = bufferInfo.data.slice();
|
|
39928
39943
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
39929
39944
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
39930
39945
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
39931
|
-
|
|
39932
|
-
|
|
39933
|
-
|
|
39934
|
-
|
|
39935
|
-
|
|
39936
|
-
|
|
39937
|
-
|
|
39938
|
-
|
|
39939
|
-
|
|
39940
|
-
|
|
39941
|
-
|
|
39942
|
-
|
|
39943
|
-
|
|
39944
|
-
|
|
39945
|
-
|
|
39946
|
-
|
|
39947
|
-
|
|
39948
|
-
|
|
39949
|
-
|
|
39950
|
-
|
|
39951
|
-
var
|
|
39952
|
-
|
|
39953
|
-
|
|
39946
|
+
return Promise.all([
|
|
39947
|
+
context.get(exports.GLTFParserType.BufferView, indices.bufferView),
|
|
39948
|
+
context.get(exports.GLTFParserType.BufferView, values.bufferView)
|
|
39949
|
+
]).then(function(param) {
|
|
39950
|
+
var indicesUint8Array = param[0], valuesUin8Array = param[1];
|
|
39951
|
+
var _indices_byteOffset, _indicesUint8Array_byteOffset;
|
|
39952
|
+
var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesUint8Array_byteOffset = indicesUint8Array.byteOffset) != null ? _indicesUint8Array_byteOffset : 0);
|
|
39953
|
+
var indicesByteLength = indicesUint8Array.byteLength;
|
|
39954
|
+
var _values_byteOffset, _valuesUin8Array_byteOffset;
|
|
39955
|
+
var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesUin8Array_byteOffset = valuesUin8Array.byteOffset) != null ? _valuesUin8Array_byteOffset : 0);
|
|
39956
|
+
var valuesByteLength = valuesUin8Array.byteLength;
|
|
39957
|
+
restoreInfo.typeSize = accessorTypeSize;
|
|
39958
|
+
restoreInfo.sparseCount = count;
|
|
39959
|
+
var IndexTypeArray = GLTFUtils.getComponentType(indices.componentType);
|
|
39960
|
+
var indexLength = indicesByteLength / IndexTypeArray.BYTES_PER_ELEMENT;
|
|
39961
|
+
var indicesArray = new IndexTypeArray(indicesUint8Array.buffer, indicesByteOffset, indexLength);
|
|
39962
|
+
restoreInfo.sparseIndices = new RestoreDataAccessor(indicesBufferView.buffer, IndexTypeArray, indicesByteOffset, indexLength);
|
|
39963
|
+
var valueLength = valuesByteLength / TypedArray.BYTES_PER_ELEMENT;
|
|
39964
|
+
var valuesArray = new TypedArray(valuesUin8Array.buffer, valuesByteOffset, valueLength);
|
|
39965
|
+
restoreInfo.sparseValues = new RestoreDataAccessor(valuesBufferView.buffer, TypedArray, valuesByteOffset, valueLength);
|
|
39966
|
+
for(var i = 0; i < count; i++){
|
|
39967
|
+
var replaceIndex = indicesArray[i];
|
|
39968
|
+
for(var j = 0; j < accessorTypeSize; j++){
|
|
39969
|
+
data[replaceIndex * accessorTypeSize + j] = valuesArray[i * accessorTypeSize + j];
|
|
39970
|
+
}
|
|
39954
39971
|
}
|
|
39955
|
-
|
|
39956
|
-
|
|
39972
|
+
bufferInfo.data = data;
|
|
39973
|
+
});
|
|
39957
39974
|
};
|
|
39958
39975
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
39959
39976
|
switch(type){
|
|
@@ -40051,28 +40068,29 @@
|
|
|
40051
40068
|
BIN: 0x004e4942
|
|
40052
40069
|
};
|
|
40053
40070
|
var dataView = new DataView(originBuffer);
|
|
40054
|
-
//
|
|
40071
|
+
// Read header
|
|
40055
40072
|
var header = {
|
|
40056
40073
|
magic: dataView.getUint32(0, true),
|
|
40057
40074
|
version: dataView.getUint32(UINT32_LENGTH, true),
|
|
40058
40075
|
length: dataView.getUint32(2 * UINT32_LENGTH, true)
|
|
40059
40076
|
};
|
|
40077
|
+
// Return the original buffer if it is not a glb
|
|
40060
40078
|
if (header.magic !== GLB_HEADER_MAGIC) {
|
|
40061
40079
|
return {
|
|
40062
40080
|
originBuffer: originBuffer
|
|
40063
40081
|
};
|
|
40064
40082
|
}
|
|
40065
|
-
//
|
|
40083
|
+
// Read main data
|
|
40066
40084
|
var chunkLength = dataView.getUint32(GLB_HEADER_LENGTH, true);
|
|
40067
40085
|
var chunkType = dataView.getUint32(GLB_HEADER_LENGTH + UINT32_LENGTH, true);
|
|
40068
|
-
//
|
|
40086
|
+
// Read glTF json
|
|
40069
40087
|
if (chunkType !== GLB_CHUNK_TYPES.JSON) {
|
|
40070
40088
|
console.error("Invalid glb chunk type. Expected 0x4E4F534A, found 0x" + chunkType.toString(16));
|
|
40071
40089
|
return null;
|
|
40072
40090
|
}
|
|
40073
40091
|
var glTFData = new Uint8Array(originBuffer, GLB_HEADER_LENGTH + 2 * UINT32_LENGTH, chunkLength);
|
|
40074
40092
|
var glTF = JSON.parse(Utils.decodeText(glTFData));
|
|
40075
|
-
//
|
|
40093
|
+
// Read all buffers
|
|
40076
40094
|
var buffers = [];
|
|
40077
40095
|
var byteOffset = GLB_HEADER_LENGTH + 2 * UINT32_LENGTH + chunkLength;
|
|
40078
40096
|
var restoreGLBBufferSlice = context.contentRestorer.glbBufferSlices;
|
|
@@ -40953,13 +40971,39 @@
|
|
|
40953
40971
|
/**
|
|
40954
40972
|
* @internal
|
|
40955
40973
|
*/ _proto.load = function load(item, resourceManager) {
|
|
40956
|
-
|
|
40957
|
-
|
|
40958
|
-
|
|
40959
|
-
|
|
40960
|
-
|
|
40961
|
-
|
|
40962
|
-
|
|
40974
|
+
var _this = this;
|
|
40975
|
+
return new AssetPromise(function(resolve, reject) {
|
|
40976
|
+
var request = _this.request;
|
|
40977
|
+
request(item.url, _extends({}, item, {
|
|
40978
|
+
type: "arraybuffer"
|
|
40979
|
+
})).then(function(buffer) {
|
|
40980
|
+
return exports.KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
40981
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
40982
|
+
return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
40983
|
+
}).then(function(texture) {
|
|
40984
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
40985
|
+
var _class = function _class() {
|
|
40986
|
+
return ContentRestorer.apply(this, arguments);
|
|
40987
|
+
};
|
|
40988
|
+
_inherits(_class, ContentRestorer);
|
|
40989
|
+
var _proto = _class.prototype;
|
|
40990
|
+
_proto.restoreContent = function restoreContent() {
|
|
40991
|
+
return new AssetPromise(function(resolve, reject) {
|
|
40992
|
+
request(item.url, _extends({}, item, {
|
|
40993
|
+
type: "arraybuffer"
|
|
40994
|
+
})).then(function(buffer) {
|
|
40995
|
+
return exports.KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
40996
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
40997
|
+
return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params, texture);
|
|
40998
|
+
});
|
|
40999
|
+
}).then(resolve).catch(reject);
|
|
41000
|
+
});
|
|
41001
|
+
};
|
|
41002
|
+
return _class;
|
|
41003
|
+
}(ContentRestorer))(texture));
|
|
41004
|
+
resolve(texture);
|
|
41005
|
+
});
|
|
41006
|
+
}).catch(reject);
|
|
40963
41007
|
});
|
|
40964
41008
|
};
|
|
40965
41009
|
/**
|
|
@@ -40998,7 +41042,7 @@
|
|
|
40998
41042
|
};
|
|
40999
41043
|
});
|
|
41000
41044
|
};
|
|
41001
|
-
/** @internal */ KTX2Loader1._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
|
|
41045
|
+
/** @internal */ KTX2Loader1._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params, restoredTexture) {
|
|
41002
41046
|
var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
|
|
41003
41047
|
var faceCount = faces.length;
|
|
41004
41048
|
var mipmaps = faces[0];
|
|
@@ -41006,13 +41050,13 @@
|
|
|
41006
41050
|
var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
|
|
41007
41051
|
var texture;
|
|
41008
41052
|
if (faceCount !== 6) {
|
|
41009
|
-
texture = new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
41053
|
+
texture = restoredTexture || new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
41010
41054
|
for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
|
|
41011
41055
|
var data = mipmaps[mipLevel].data;
|
|
41012
41056
|
texture.setPixelBuffer(data, mipLevel);
|
|
41013
41057
|
}
|
|
41014
41058
|
} else {
|
|
41015
|
-
texture = new TextureCube(engine, height, engineFormat, mipmap);
|
|
41059
|
+
texture = restoredTexture || new TextureCube(engine, height, engineFormat, mipmap);
|
|
41016
41060
|
for(var i = 0; i < faces.length; i++){
|
|
41017
41061
|
var faceData = faces[i];
|
|
41018
41062
|
for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
|
|
@@ -41208,16 +41252,16 @@
|
|
|
41208
41252
|
var frame = restoreInfo.blendShape.frames[0];
|
|
41209
41253
|
var position = restoreInfo.position;
|
|
41210
41254
|
var positionData = _this._getBufferData(buffers, position.buffer);
|
|
41211
|
-
frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.
|
|
41255
|
+
frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.byteOffset, position.count, position.normalized, position.componentType);
|
|
41212
41256
|
if (restoreInfo.normal) {
|
|
41213
41257
|
var normal = restoreInfo.normal;
|
|
41214
41258
|
var normalData = _this._getBufferData(buffers, normal.buffer);
|
|
41215
|
-
frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.
|
|
41259
|
+
frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.byteOffset, normal.count, normal.normalized, normal.componentType);
|
|
41216
41260
|
}
|
|
41217
41261
|
if (restoreInfo.tangent) {
|
|
41218
41262
|
var tangent = restoreInfo.tangent;
|
|
41219
41263
|
var tangentData = _this._getBufferData(buffers, tangent.buffer);
|
|
41220
|
-
frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.
|
|
41264
|
+
frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.byteOffset, tangent.count, tangent.normalized, tangent.componentType);
|
|
41221
41265
|
}
|
|
41222
41266
|
}
|
|
41223
41267
|
mesh.uploadData(true);
|
|
@@ -41229,8 +41273,13 @@
|
|
|
41229
41273
|
};
|
|
41230
41274
|
_proto._getBufferData = function _getBufferData(buffers, restoreInfo) {
|
|
41231
41275
|
var main = restoreInfo.main;
|
|
41232
|
-
var
|
|
41233
|
-
|
|
41276
|
+
var data;
|
|
41277
|
+
if (main) {
|
|
41278
|
+
var buffer = buffers[main.bufferIndex];
|
|
41279
|
+
data = new main.TypedArray(buffer, main.byteOffset, main.length);
|
|
41280
|
+
} else {
|
|
41281
|
+
data = new main.TypedArray(main.length);
|
|
41282
|
+
}
|
|
41234
41283
|
var sparseCount = restoreInfo.sparseCount;
|
|
41235
41284
|
if (sparseCount) {
|
|
41236
41285
|
var sparseIndex = restoreInfo.sparseIndices;
|
|
@@ -41303,11 +41352,12 @@
|
|
|
41303
41352
|
};
|
|
41304
41353
|
/**
|
|
41305
41354
|
* @internal
|
|
41306
|
-
*/ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer,
|
|
41355
|
+
*/ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer, byteOffset, count, normalized, componentType) {
|
|
41307
41356
|
this.buffer = buffer;
|
|
41308
|
-
this.stride = stride;
|
|
41309
41357
|
this.byteOffset = byteOffset;
|
|
41310
41358
|
this.count = count;
|
|
41359
|
+
this.normalized = normalized;
|
|
41360
|
+
this.componentType = componentType;
|
|
41311
41361
|
};
|
|
41312
41362
|
/**
|
|
41313
41363
|
* Base class of glTF extension parser.
|
|
@@ -41481,8 +41531,13 @@
|
|
|
41481
41531
|
type: "arraybuffer"
|
|
41482
41532
|
};
|
|
41483
41533
|
return request(url, requestConfig).then(function(buffer) {
|
|
41484
|
-
|
|
41485
|
-
|
|
41534
|
+
var _parseResult;
|
|
41535
|
+
var parseResult = GLTFUtils.parseGLB(context, buffer);
|
|
41536
|
+
// If the buffer is a GLB file, we need to restore the buffer data
|
|
41537
|
+
if ((_parseResult = parseResult) == null ? void 0 : _parseResult.glTF) {
|
|
41538
|
+
restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
|
|
41539
|
+
}
|
|
41540
|
+
return parseResult;
|
|
41486
41541
|
}).then(function(result) {
|
|
41487
41542
|
var _result;
|
|
41488
41543
|
if ((_result = result) == null ? void 0 : _result.glTF) {
|
|
@@ -41894,7 +41949,7 @@
|
|
|
41894
41949
|
resolve(mesh);
|
|
41895
41950
|
} else {
|
|
41896
41951
|
mesh.then(function(mesh) {
|
|
41897
|
-
|
|
41952
|
+
resolve(mesh);
|
|
41898
41953
|
});
|
|
41899
41954
|
}
|
|
41900
41955
|
} else {
|
|
@@ -41902,35 +41957,20 @@
|
|
|
41902
41957
|
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
41903
41958
|
meshRestoreInfo.mesh = mesh1;
|
|
41904
41959
|
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
41905
|
-
exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF,
|
|
41906
|
-
return null;
|
|
41907
|
-
}, function(attributeName, shapeIndex) {
|
|
41908
|
-
var shapeAccessorIdx = gltfPrimitive.targets[shapeIndex];
|
|
41909
|
-
var attributeAccessorIdx = shapeAccessorIdx[attributeName];
|
|
41910
|
-
if (attributeAccessorIdx) {
|
|
41911
|
-
var accessor = glTF.accessors[attributeAccessorIdx];
|
|
41912
|
-
return GLTFUtils.getAccessorBuffer(context, context.glTF.bufferViews, accessor);
|
|
41913
|
-
} else {
|
|
41914
|
-
return null;
|
|
41915
|
-
}
|
|
41916
|
-
}, function() {
|
|
41917
|
-
var indexAccessor = glTF.accessors[gltfPrimitive.indices];
|
|
41918
|
-
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
41919
|
-
return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
|
|
41920
|
-
});
|
|
41921
|
-
}, context.params.keepMeshData).then(resolve);
|
|
41960
|
+
exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
|
|
41922
41961
|
}
|
|
41923
41962
|
});
|
|
41924
41963
|
};
|
|
41925
41964
|
var meshInfo = context.glTF.meshes[index];
|
|
41926
|
-
var glTF = context.glTF,
|
|
41965
|
+
var glTF = context.glTF, glTFResource = context.glTFResource;
|
|
41966
|
+
var engine = glTFResource.engine;
|
|
41927
41967
|
var primitivePromises = new Array();
|
|
41928
41968
|
for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
|
|
41929
41969
|
return Promise.all(primitivePromises);
|
|
41930
41970
|
};
|
|
41931
41971
|
/**
|
|
41932
41972
|
* @internal
|
|
41933
|
-
*/ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf,
|
|
41973
|
+
*/ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, keepMeshData) {
|
|
41934
41974
|
var _loop = function _loop(attribute) {
|
|
41935
41975
|
var accessor = accessors[attributes[attribute]];
|
|
41936
41976
|
var promise = GLTFUtils.getAccessorBuffer(context, gltf.bufferViews, accessor).then(function(accessorBuffer) {
|
|
@@ -42001,6 +42041,7 @@
|
|
|
42001
42041
|
});
|
|
42002
42042
|
promises.push(promise);
|
|
42003
42043
|
};
|
|
42044
|
+
var _this = this;
|
|
42004
42045
|
var accessors = gltf.accessors;
|
|
42005
42046
|
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
42006
42047
|
var engine = mesh.engine;
|
|
@@ -42025,61 +42066,68 @@
|
|
|
42025
42066
|
}
|
|
42026
42067
|
// BlendShapes
|
|
42027
42068
|
if (targets) {
|
|
42028
|
-
promises.push(exports.GLTFMeshParser._createBlendShape(mesh, meshRestoreInfo, gltfMesh,
|
|
42069
|
+
promises.push(exports.GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets, _this._getBlendShapeData));
|
|
42029
42070
|
}
|
|
42030
42071
|
return Promise.all(promises).then(function() {
|
|
42031
42072
|
mesh.uploadData(!keepMeshData);
|
|
42032
|
-
return
|
|
42073
|
+
return mesh;
|
|
42033
42074
|
});
|
|
42034
42075
|
});
|
|
42035
42076
|
};
|
|
42077
|
+
GLTFMeshParser1._getBlendShapeData = function _getBlendShapeData(context, glTF, accessor) {
|
|
42078
|
+
return GLTFUtils.getAccessorBuffer(context, glTF.bufferViews, accessor).then(function(bufferInfo) {
|
|
42079
|
+
var buffer = bufferInfo.data;
|
|
42080
|
+
var _accessor_byteOffset;
|
|
42081
|
+
var byteOffset = bufferInfo.interleaved ? ((_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0) % bufferInfo.stride : 0;
|
|
42082
|
+
var count = accessor.count, normalized = accessor.normalized, componentType = accessor.componentType;
|
|
42083
|
+
var vertices = GLTFUtils.bufferToVector3Array(buffer, byteOffset, count, normalized, componentType);
|
|
42084
|
+
var restoreInfo = new BlendShapeDataRestoreInfo(bufferInfo.restoreInfo, byteOffset, count, normalized, componentType);
|
|
42085
|
+
return {
|
|
42086
|
+
vertices: vertices,
|
|
42087
|
+
restoreInfo: restoreInfo
|
|
42088
|
+
};
|
|
42089
|
+
});
|
|
42090
|
+
};
|
|
42036
42091
|
/**
|
|
42037
42092
|
* @internal
|
|
42038
|
-
*/ GLTFMeshParser1._createBlendShape = function _createBlendShape(mesh, meshRestoreInfo, glTFMesh,
|
|
42039
|
-
var _loop = function _loop(i
|
|
42093
|
+
*/ GLTFMeshParser1._createBlendShape = function _createBlendShape(context, mesh, meshRestoreInfo, glTFMesh, gltfPrimitive, glTFTargets, getBlendShapeData) {
|
|
42094
|
+
var _loop = function _loop(i) {
|
|
42095
|
+
var blendShapeData = {};
|
|
42096
|
+
blendShapeCollection[i] = blendShapeData;
|
|
42040
42097
|
var name = blendShapeNames ? blendShapeNames[i] : "blendShape" + i;
|
|
42098
|
+
var targets = gltfPrimitive.targets[i];
|
|
42099
|
+
var normalTarget = targets["NORMAL"];
|
|
42100
|
+
var tangentTarget = targets["TANGENT"];
|
|
42101
|
+
var hasNormal = normalTarget !== undefined;
|
|
42102
|
+
var hasTangent = tangentTarget !== undefined;
|
|
42041
42103
|
var promise = Promise.all([
|
|
42042
|
-
getBlendShapeData("POSITION"
|
|
42043
|
-
getBlendShapeData(
|
|
42044
|
-
getBlendShapeData(
|
|
42045
|
-
]).then(function(
|
|
42046
|
-
var
|
|
42047
|
-
var
|
|
42048
|
-
var tanBufferInfo = infos[2];
|
|
42049
|
-
var target = glTFTargets[i];
|
|
42050
|
-
var posAccessor;
|
|
42051
|
-
var norAccessor;
|
|
42052
|
-
var tanAccessor;
|
|
42053
|
-
var positions = null;
|
|
42054
|
-
if (posBufferInfo) {
|
|
42055
|
-
posAccessor = accessors[target["POSITION"]];
|
|
42056
|
-
var _posAccessor_byteOffset;
|
|
42057
|
-
positions = GLTFUtils.bufferToVector3Array(posBufferInfo.data, posBufferInfo.stride, (_posAccessor_byteOffset = posAccessor.byteOffset) != null ? _posAccessor_byteOffset : 0, posAccessor.count);
|
|
42058
|
-
}
|
|
42059
|
-
var normals = null;
|
|
42060
|
-
if (norBufferInfo) {
|
|
42061
|
-
norAccessor = accessors[target["NORMAL"]];
|
|
42062
|
-
var _norAccessor_byteOffset;
|
|
42063
|
-
normals = GLTFUtils.bufferToVector3Array(norBufferInfo.data, norBufferInfo.stride, (_norAccessor_byteOffset = norAccessor.byteOffset) != null ? _norAccessor_byteOffset : 0, norAccessor.count);
|
|
42064
|
-
}
|
|
42065
|
-
var tangents = null;
|
|
42066
|
-
if (tanBufferInfo) {
|
|
42067
|
-
tanAccessor = accessors[target["NORMAL"]];
|
|
42068
|
-
var _tanAccessor_byteOffset;
|
|
42069
|
-
tangents = GLTFUtils.bufferToVector3Array(tanBufferInfo.data, tanBufferInfo.stride, (_tanAccessor_byteOffset = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset : 0, tanAccessor.count);
|
|
42070
|
-
}
|
|
42104
|
+
getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
|
|
42105
|
+
hasNormal ? getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
|
|
42106
|
+
hasTangent ? getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
|
|
42107
|
+
]).then(function(vertices) {
|
|
42108
|
+
var _tangentData;
|
|
42109
|
+
var positionData = vertices[0], normalData = vertices[1], tangentData = vertices[2];
|
|
42071
42110
|
var blendShape = new BlendShape(name);
|
|
42072
|
-
blendShape.addFrame(1.0,
|
|
42073
|
-
|
|
42074
|
-
|
|
42075
|
-
meshRestoreInfo.blendShapes.push(new BlendShapeRestoreInfo(blendShape, new BlendShapeDataRestoreInfo(posBufferInfo.restoreInfo, posBufferInfo.stride, (_posAccessor_byteOffset1 = posAccessor.byteOffset) != null ? _posAccessor_byteOffset1 : 0, posAccessor.count), norBufferInfo ? new BlendShapeDataRestoreInfo(norBufferInfo.restoreInfo, norBufferInfo.stride, (_norAccessor_byteOffset1 = norAccessor.byteOffset) != null ? _norAccessor_byteOffset1 : 0, norAccessor.count) : null, tanBufferInfo ? new BlendShapeDataRestoreInfo(tanBufferInfo.restoreInfo, tanBufferInfo.stride, (_tanAccessor_byteOffset1 = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset1 : 0, tanAccessor.count) : null));
|
|
42111
|
+
blendShape.addFrame(1.0, positionData.vertices, hasNormal ? normalData.vertices : null, hasTangent ? tangentData.vertices : null);
|
|
42112
|
+
blendShapeData.blendShape = blendShape;
|
|
42113
|
+
blendShapeData.restoreInfo = new BlendShapeRestoreInfo(blendShape, positionData.restoreInfo, hasNormal ? normalData.restoreInfo : null, hasTangent ? (_tangentData = tangentData) == null ? void 0 : _tangentData.restoreInfo : null);
|
|
42076
42114
|
});
|
|
42077
42115
|
promises.push(promise);
|
|
42078
42116
|
};
|
|
42117
|
+
var glTF = context.glTF;
|
|
42118
|
+
var accessors = glTF.accessors;
|
|
42079
42119
|
var blendShapeNames = glTFMesh.extras ? glTFMesh.extras.targetNames : null;
|
|
42080
42120
|
var promises = new Array();
|
|
42081
|
-
|
|
42082
|
-
|
|
42121
|
+
var blendShapeCount = glTFTargets.length;
|
|
42122
|
+
var blendShapeCollection = new Array(blendShapeCount);
|
|
42123
|
+
for(var i = 0; i < blendShapeCount; i++)_loop(i);
|
|
42124
|
+
return Promise.all(promises).then(function() {
|
|
42125
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
|
|
42126
|
+
var blendShape = _step.value;
|
|
42127
|
+
mesh.addBlendShape(blendShape.blendShape);
|
|
42128
|
+
meshRestoreInfo.blendShapes.push(blendShape.restoreInfo);
|
|
42129
|
+
}
|
|
42130
|
+
});
|
|
42083
42131
|
};
|
|
42084
42132
|
return GLTFMeshParser1;
|
|
42085
42133
|
}(GLTFParser), function() {
|
|
@@ -42455,6 +42503,24 @@
|
|
|
42455
42503
|
exports.GLTFValidator = __decorate([
|
|
42456
42504
|
registerGLTFParser(exports.GLTFParserType.Validator)
|
|
42457
42505
|
], exports.GLTFValidator);
|
|
42506
|
+
exports.GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
42507
|
+
var GLTFBufferViewParser = function GLTFBufferViewParser() {
|
|
42508
|
+
return GLTFParser1.apply(this, arguments);
|
|
42509
|
+
};
|
|
42510
|
+
_inherits(GLTFBufferViewParser, GLTFParser1);
|
|
42511
|
+
var _proto = GLTFBufferViewParser.prototype;
|
|
42512
|
+
_proto.parse = function parse(context, index) {
|
|
42513
|
+
var bufferView = context.glTF.bufferViews[index];
|
|
42514
|
+
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
42515
|
+
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(exports.GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
42516
|
+
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
42517
|
+
});
|
|
42518
|
+
};
|
|
42519
|
+
return GLTFBufferViewParser;
|
|
42520
|
+
}(GLTFParser);
|
|
42521
|
+
exports.GLTFBufferViewParser = __decorate([
|
|
42522
|
+
registerGLTFParser(exports.GLTFParserType.BufferView)
|
|
42523
|
+
], exports.GLTFBufferViewParser);
|
|
42458
42524
|
var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
42459
42525
|
var GLTFLoader = function GLTFLoader() {
|
|
42460
42526
|
return Loader1.apply(this, arguments);
|
|
@@ -42490,23 +42556,48 @@
|
|
|
42490
42556
|
var _this = this;
|
|
42491
42557
|
return new AssetPromise(function(resolve, reject) {
|
|
42492
42558
|
var engine = resourceManager.engine;
|
|
42493
|
-
_this.request
|
|
42559
|
+
var request = _this.request;
|
|
42560
|
+
_this.request(item.url, _extends({}, item, {
|
|
42494
42561
|
type: "arraybuffer"
|
|
42495
|
-
}).then(function(buffer) {
|
|
42496
|
-
var
|
|
42497
|
-
|
|
42498
|
-
|
|
42499
|
-
|
|
42500
|
-
|
|
42501
|
-
|
|
42502
|
-
|
|
42503
|
-
|
|
42504
|
-
|
|
42505
|
-
|
|
42562
|
+
})).then(function(buffer) {
|
|
42563
|
+
var texture = HDRLoader._setTextureByBuffer(engine, buffer);
|
|
42564
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
42565
|
+
var _class = function _class() {
|
|
42566
|
+
return ContentRestorer.apply(this, arguments);
|
|
42567
|
+
};
|
|
42568
|
+
_inherits(_class, ContentRestorer);
|
|
42569
|
+
var _proto = _class.prototype;
|
|
42570
|
+
_proto.restoreContent = function restoreContent() {
|
|
42571
|
+
return new AssetPromise(function(resolve, reject) {
|
|
42572
|
+
request(item.url, _extends({}, item, {
|
|
42573
|
+
type: "arraybuffer"
|
|
42574
|
+
})).then(function(buffer) {
|
|
42575
|
+
HDRLoader._setTextureByBuffer(engine, buffer, texture);
|
|
42576
|
+
resolve(texture);
|
|
42577
|
+
}).catch(reject);
|
|
42578
|
+
});
|
|
42579
|
+
};
|
|
42580
|
+
return _class;
|
|
42581
|
+
}(ContentRestorer))(texture));
|
|
42506
42582
|
resolve(texture);
|
|
42507
42583
|
}).catch(reject);
|
|
42508
42584
|
});
|
|
42509
42585
|
};
|
|
42586
|
+
/**
|
|
42587
|
+
* @internal
|
|
42588
|
+
*/ HDRLoader1._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
42589
|
+
var bufferArray = new Uint8Array(buffer);
|
|
42590
|
+
var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
|
|
42591
|
+
var cubeSize = height >> 1;
|
|
42592
|
+
texture || (texture = new TextureCube(engine, cubeSize));
|
|
42593
|
+
var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
|
|
42594
|
+
var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
|
|
42595
|
+
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
42596
|
+
texture.setPixelBuffer(exports.TextureCubeFace.PositiveX + faceIndex, cubeMapData[faceIndex], 0);
|
|
42597
|
+
}
|
|
42598
|
+
texture.generateMipmaps();
|
|
42599
|
+
return texture;
|
|
42600
|
+
};
|
|
42510
42601
|
HDRLoader1._convertToCubemap = function _convertToCubemap(pixels, inputWidth, inputHeight, size) {
|
|
42511
42602
|
if (!pixels) {
|
|
42512
42603
|
throw "ConvertPanoramaToCubemap: input cannot be null";
|
|
@@ -43039,7 +43130,8 @@
|
|
|
43039
43130
|
_proto.load = function load(item, resourceManager) {
|
|
43040
43131
|
var _this = this;
|
|
43041
43132
|
return new AssetPromise(function(resolve, reject) {
|
|
43042
|
-
_this.request
|
|
43133
|
+
var request = _this.request;
|
|
43134
|
+
request(item.url, _extends({}, item, {
|
|
43043
43135
|
type: "arraybuffer"
|
|
43044
43136
|
})).then(function(bin) {
|
|
43045
43137
|
var parsedData = parseSingleKTX(bin);
|
|
@@ -43050,6 +43142,32 @@
|
|
|
43050
43142
|
var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
43051
43143
|
texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
|
|
43052
43144
|
}
|
|
43145
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
43146
|
+
var _class = function _class() {
|
|
43147
|
+
return ContentRestorer.apply(this, arguments);
|
|
43148
|
+
};
|
|
43149
|
+
_inherits(_class, ContentRestorer);
|
|
43150
|
+
var _proto = _class.prototype;
|
|
43151
|
+
_proto.restoreContent = function restoreContent() {
|
|
43152
|
+
var _this = this;
|
|
43153
|
+
return new AssetPromise(function(resolve, reject) {
|
|
43154
|
+
request(item.url, _extends({}, item, {
|
|
43155
|
+
type: "arraybuffer"
|
|
43156
|
+
})).then(function(bin) {
|
|
43157
|
+
var mipmaps = parseSingleKTX(bin).mipmaps;
|
|
43158
|
+
var texture = _this.resource;
|
|
43159
|
+
for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
|
|
43160
|
+
var _mipmaps_miplevel = mipmaps[miplevel], width = _mipmaps_miplevel.width, height = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
43161
|
+
texture.setPixelBuffer(data, miplevel, 0, 0, width, height);
|
|
43162
|
+
}
|
|
43163
|
+
resolve(texture);
|
|
43164
|
+
}).catch(function(e) {
|
|
43165
|
+
reject(e);
|
|
43166
|
+
});
|
|
43167
|
+
});
|
|
43168
|
+
};
|
|
43169
|
+
return _class;
|
|
43170
|
+
}(ContentRestorer))(texture));
|
|
43053
43171
|
resolve(texture);
|
|
43054
43172
|
}).catch(function(e) {
|
|
43055
43173
|
reject(e);
|
|
@@ -43153,11 +43271,32 @@
|
|
|
43153
43271
|
_proto.load = function load(item, resourceManager) {
|
|
43154
43272
|
var _this = this;
|
|
43155
43273
|
return new AssetPromise(function(resolve, reject) {
|
|
43156
|
-
_this.request
|
|
43274
|
+
var request = _this.request;
|
|
43275
|
+
var engine = resourceManager.engine;
|
|
43276
|
+
request(item.url, _extends({}, item, {
|
|
43157
43277
|
type: "arraybuffer"
|
|
43158
43278
|
})).then(function(data) {
|
|
43159
|
-
return decode(data,
|
|
43279
|
+
return decode(data, engine);
|
|
43160
43280
|
}).then(function(mesh) {
|
|
43281
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
43282
|
+
var _class = function _class() {
|
|
43283
|
+
return ContentRestorer.apply(this, arguments);
|
|
43284
|
+
};
|
|
43285
|
+
_inherits(_class, ContentRestorer);
|
|
43286
|
+
var _proto = _class.prototype;
|
|
43287
|
+
_proto.restoreContent = function restoreContent() {
|
|
43288
|
+
return new AssetPromise(function(resolve, reject) {
|
|
43289
|
+
request(item.url, _extends({}, item, {
|
|
43290
|
+
type: "arraybuffer"
|
|
43291
|
+
})).then(function(data) {
|
|
43292
|
+
return decode(data, engine, mesh);
|
|
43293
|
+
}).then(function(mesh) {
|
|
43294
|
+
resolve(mesh);
|
|
43295
|
+
}).catch(reject);
|
|
43296
|
+
});
|
|
43297
|
+
};
|
|
43298
|
+
return _class;
|
|
43299
|
+
}(ContentRestorer))(mesh));
|
|
43161
43300
|
resolve(mesh);
|
|
43162
43301
|
}).catch(reject);
|
|
43163
43302
|
});
|
|
@@ -43681,14 +43820,17 @@
|
|
|
43681
43820
|
var buffer = GLTFUtils.getBufferViewData(bufferViews[bufferViewIndex], buffers);
|
|
43682
43821
|
return KHR_draco_mesh_compression._decoder.decode(buffer, taskConfig).then(function(decodedGeometry) {
|
|
43683
43822
|
var mesh = new ModelMesh(engine, glTFMesh.name);
|
|
43684
|
-
|
|
43823
|
+
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
43824
|
+
meshRestoreInfo.mesh = mesh;
|
|
43825
|
+
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
43826
|
+
return _this._parseMeshFromGLTFPrimitiveDraco(context, mesh, meshRestoreInfo, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
|
|
43685
43827
|
for(var j = 0; j < decodedGeometry.attributes.length; j++){
|
|
43686
43828
|
if (decodedGeometry.attributes[j].name === attributeSemantic) {
|
|
43687
43829
|
return decodedGeometry.attributes[j].array;
|
|
43688
43830
|
}
|
|
43689
43831
|
}
|
|
43690
43832
|
return null;
|
|
43691
|
-
}, function(
|
|
43833
|
+
}, function() {
|
|
43692
43834
|
throw "BlendShape animation is not supported when using draco.";
|
|
43693
43835
|
}, function() {
|
|
43694
43836
|
return decodedGeometry.index.array;
|
|
@@ -43701,7 +43843,7 @@
|
|
|
43701
43843
|
KHR_draco_mesh_compression._decoder = new DRACODecoder();
|
|
43702
43844
|
}
|
|
43703
43845
|
};
|
|
43704
|
-
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(mesh, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
43846
|
+
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
43705
43847
|
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
43706
43848
|
var vertexCount;
|
|
43707
43849
|
var accessors = gltf.accessors;
|
|
@@ -43797,7 +43939,7 @@
|
|
|
43797
43939
|
mesh.addSubMesh(0, vertexCount, mode);
|
|
43798
43940
|
}
|
|
43799
43941
|
// BlendShapes
|
|
43800
|
-
targets && exports.GLTFMeshParser._createBlendShape(mesh,
|
|
43942
|
+
targets && exports.GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets, getBlendShapeData);
|
|
43801
43943
|
mesh.uploadData(!keepMeshData);
|
|
43802
43944
|
return Promise.resolve(mesh);
|
|
43803
43945
|
};
|
|
@@ -44127,7 +44269,7 @@
|
|
|
44127
44269
|
], GALACEAN_animation_event);
|
|
44128
44270
|
|
|
44129
44271
|
//@ts-ignore
|
|
44130
|
-
var version = "1.1.
|
|
44272
|
+
var version = "1.1.6";
|
|
44131
44273
|
console.log("Galacean engine version: " + version);
|
|
44132
44274
|
for(var key in CoreObjects){
|
|
44133
44275
|
Loader.registerClass(key, CoreObjects[key]);
|
|
@@ -44160,6 +44302,7 @@
|
|
|
44160
44302
|
exports.BoxColliderShape = BoxColliderShape;
|
|
44161
44303
|
exports.BoxShape = BoxShape;
|
|
44162
44304
|
exports.Buffer = Buffer;
|
|
44305
|
+
exports.BufferInfo = BufferInfo;
|
|
44163
44306
|
exports.BufferMesh = BufferMesh;
|
|
44164
44307
|
exports.BufferUtil = BufferUtil;
|
|
44165
44308
|
exports.Burst = Burst;
|