@galacean/engine-loader 1.1.3 → 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/main.js +553 -404
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +553 -404
- package/dist/module.js +555 -406
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
- package/types/ktx2/KTX2Loader.d.ts +1 -1
- package/types/resource-deserialize/index.d.ts +8 -8
- package/types/resource-deserialize/resources/mesh/MeshDecoder.d.ts +1 -1
- package/types/resource-deserialize/resources/texture2D/TextureDecoder.d.ts +1 -1
- package/types/resource-deserialize/utils/Decorator.d.ts +1 -1
package/dist/main.js
CHANGED
|
@@ -284,11 +284,201 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
284
284
|
return FileHeader;
|
|
285
285
|
}();
|
|
286
286
|
|
|
287
|
+
var ComponentMap = {
|
|
288
|
+
Transform: engineCore.Transform,
|
|
289
|
+
Animator: engineCore.Animator,
|
|
290
|
+
DirectLight: engineCore.DirectLight,
|
|
291
|
+
Camera: engineCore.Camera,
|
|
292
|
+
MeshRenderer: engineCore.MeshRenderer,
|
|
293
|
+
ParticleRenderer: engineCore.ParticleRenderer,
|
|
294
|
+
PointLight: engineCore.PointLight,
|
|
295
|
+
SpotLight: engineCore.SpotLight,
|
|
296
|
+
Script: engineCore.Script,
|
|
297
|
+
SpriteMask: engineCore.SpriteMask,
|
|
298
|
+
SpriteRenderer: engineCore.SpriteRenderer,
|
|
299
|
+
TextRenderer: engineCore.TextRenderer
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
exports.InterpolableValueType = void 0;
|
|
303
|
+
(function(InterpolableValueType) {
|
|
304
|
+
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
305
|
+
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
306
|
+
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
307
|
+
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
308
|
+
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
309
|
+
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
310
|
+
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
311
|
+
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
312
|
+
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
313
|
+
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
314
|
+
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
315
|
+
})(exports.InterpolableValueType || (exports.InterpolableValueType = {}));
|
|
316
|
+
exports.AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
317
|
+
function AnimationClipDecoder() {}
|
|
318
|
+
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
319
|
+
return new Promise(function(resolve) {
|
|
320
|
+
var name = bufferReader.nextStr();
|
|
321
|
+
var clip = new engineCore.AnimationClip(name);
|
|
322
|
+
var eventsLen = bufferReader.nextUint16();
|
|
323
|
+
for(var i = 0; i < eventsLen; ++i){
|
|
324
|
+
var event = new engineCore.AnimationEvent();
|
|
325
|
+
event.time = bufferReader.nextFloat32();
|
|
326
|
+
event.functionName = bufferReader.nextStr();
|
|
327
|
+
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
328
|
+
clip.addEvent(event);
|
|
329
|
+
}
|
|
330
|
+
var curveBindingsLen = bufferReader.nextUint16();
|
|
331
|
+
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
332
|
+
var relativePath = bufferReader.nextStr();
|
|
333
|
+
var componentStr = bufferReader.nextStr();
|
|
334
|
+
var componentType = ComponentMap[componentStr];
|
|
335
|
+
var property = bufferReader.nextStr();
|
|
336
|
+
var curve = void 0;
|
|
337
|
+
var interpolation = bufferReader.nextUint8();
|
|
338
|
+
var keysLen = bufferReader.nextUint16();
|
|
339
|
+
var curveType = bufferReader.nextStr();
|
|
340
|
+
switch(curveType){
|
|
341
|
+
case "AnimationFloatCurve":
|
|
342
|
+
{
|
|
343
|
+
curve = new engineCore.AnimationFloatCurve();
|
|
344
|
+
curve.interpolation = interpolation;
|
|
345
|
+
for(var j = 0; j < keysLen; ++j){
|
|
346
|
+
var keyframe = new engineCore.Keyframe();
|
|
347
|
+
keyframe.time = bufferReader.nextFloat32();
|
|
348
|
+
keyframe.value = bufferReader.nextFloat32();
|
|
349
|
+
keyframe.inTangent = bufferReader.nextFloat32();
|
|
350
|
+
keyframe.outTangent = bufferReader.nextFloat32();
|
|
351
|
+
curve.addKey(keyframe);
|
|
352
|
+
}
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
case "AnimationArrayCurve":
|
|
356
|
+
{
|
|
357
|
+
curve = new engineCore.AnimationArrayCurve();
|
|
358
|
+
curve.interpolation = interpolation;
|
|
359
|
+
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
360
|
+
var keyframe1 = new engineCore.Keyframe();
|
|
361
|
+
keyframe1.time = bufferReader.nextFloat32();
|
|
362
|
+
var len = bufferReader.nextUint16();
|
|
363
|
+
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
364
|
+
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
365
|
+
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
366
|
+
curve.addKey(keyframe1);
|
|
367
|
+
}
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
case "AnimationFloatArrayCurve":
|
|
371
|
+
{
|
|
372
|
+
curve = new engineCore.AnimationFloatArrayCurve();
|
|
373
|
+
curve.interpolation = interpolation;
|
|
374
|
+
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
375
|
+
var keyframe2 = new engineCore.Keyframe();
|
|
376
|
+
keyframe2.time = bufferReader.nextFloat32();
|
|
377
|
+
var len1 = bufferReader.nextUint16();
|
|
378
|
+
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
379
|
+
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
380
|
+
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
381
|
+
curve.addKey(keyframe2);
|
|
382
|
+
}
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
case "AnimationVector2Curve":
|
|
386
|
+
{
|
|
387
|
+
curve = new engineCore.AnimationVector2Curve();
|
|
388
|
+
curve.interpolation = interpolation;
|
|
389
|
+
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
390
|
+
var keyframe3 = new engineCore.Keyframe();
|
|
391
|
+
keyframe3.time = bufferReader.nextFloat32();
|
|
392
|
+
keyframe3.value = new engineMath.Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
393
|
+
keyframe3.inTangent = new engineMath.Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
394
|
+
keyframe3.outTangent = new engineMath.Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
395
|
+
curve.addKey(keyframe3);
|
|
396
|
+
}
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
399
|
+
case "AnimationVector3Curve":
|
|
400
|
+
{
|
|
401
|
+
curve = new engineCore.AnimationVector3Curve();
|
|
402
|
+
curve.interpolation = interpolation;
|
|
403
|
+
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
404
|
+
var keyframe4 = new engineCore.Keyframe();
|
|
405
|
+
keyframe4.time = bufferReader.nextFloat32();
|
|
406
|
+
keyframe4.value = new engineMath.Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
407
|
+
keyframe4.inTangent = new engineMath.Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
408
|
+
keyframe4.outTangent = new engineMath.Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
409
|
+
curve.addKey(keyframe4);
|
|
410
|
+
}
|
|
411
|
+
break;
|
|
412
|
+
}
|
|
413
|
+
case "AnimationVector4Curve":
|
|
414
|
+
{
|
|
415
|
+
curve = new engineCore.AnimationVector4Curve();
|
|
416
|
+
curve.interpolation = interpolation;
|
|
417
|
+
var keyframe5 = new engineCore.Keyframe();
|
|
418
|
+
keyframe5.time = bufferReader.nextFloat32();
|
|
419
|
+
keyframe5.value = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
420
|
+
keyframe5.inTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
421
|
+
keyframe5.outTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
422
|
+
curve.addKey(keyframe5);
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
425
|
+
case "AnimationColorCurve":
|
|
426
|
+
{
|
|
427
|
+
curve = new engineCore.AnimationColorCurve();
|
|
428
|
+
curve.interpolation = interpolation;
|
|
429
|
+
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
430
|
+
var keyframe6 = new engineCore.Keyframe();
|
|
431
|
+
keyframe6.time = bufferReader.nextFloat32();
|
|
432
|
+
keyframe6.value = new engineMath.Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
433
|
+
keyframe6.inTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
434
|
+
keyframe6.outTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
435
|
+
curve.addKey(keyframe6);
|
|
436
|
+
}
|
|
437
|
+
break;
|
|
438
|
+
}
|
|
439
|
+
case "AnimationQuaternionCurve":
|
|
440
|
+
{
|
|
441
|
+
curve = new engineCore.AnimationQuaternionCurve();
|
|
442
|
+
curve.interpolation = interpolation;
|
|
443
|
+
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
444
|
+
var keyframe7 = new engineCore.Keyframe();
|
|
445
|
+
keyframe7.time = bufferReader.nextFloat32();
|
|
446
|
+
keyframe7.value = new engineMath.Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
447
|
+
keyframe7.inTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
448
|
+
keyframe7.outTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
449
|
+
curve.addKey(keyframe7);
|
|
450
|
+
}
|
|
451
|
+
break;
|
|
452
|
+
}
|
|
453
|
+
case "AnimationRefCurve":
|
|
454
|
+
{
|
|
455
|
+
curve = new engineCore.AnimationRefCurve();
|
|
456
|
+
curve.interpolation = interpolation;
|
|
457
|
+
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
458
|
+
var keyframe8 = new engineCore.Keyframe();
|
|
459
|
+
keyframe8.time = bufferReader.nextFloat32();
|
|
460
|
+
keyframe8.value = JSON.parse(bufferReader.nextStr());
|
|
461
|
+
curve.addKey(keyframe8);
|
|
462
|
+
}
|
|
463
|
+
break;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
clip.addCurveBinding(relativePath, componentType, property, curve);
|
|
467
|
+
}
|
|
468
|
+
resolve(clip);
|
|
469
|
+
});
|
|
470
|
+
};
|
|
471
|
+
return AnimationClipDecoder;
|
|
472
|
+
}();
|
|
473
|
+
exports.AnimationClipDecoder = __decorate([
|
|
474
|
+
decoder("AnimationClip")
|
|
475
|
+
], exports.AnimationClipDecoder);
|
|
476
|
+
|
|
287
477
|
exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
288
478
|
function MeshDecoder() {}
|
|
289
|
-
MeshDecoder.decode = function decode(engine, bufferReader) {
|
|
479
|
+
MeshDecoder.decode = function decode(engine, bufferReader, restoredMesh) {
|
|
290
480
|
return new Promise(function(resolve) {
|
|
291
|
-
var modelMesh = new engineCore.ModelMesh(engine);
|
|
481
|
+
var modelMesh = restoredMesh || new engineCore.ModelMesh(engine);
|
|
292
482
|
var jsonDataString = bufferReader.nextStr();
|
|
293
483
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
294
484
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
@@ -418,80 +608,22 @@ function float32ArrayToVector2(float32Array, vertexCount) {
|
|
|
418
608
|
return array;
|
|
419
609
|
}
|
|
420
610
|
|
|
421
|
-
|
|
422
|
-
function
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
var
|
|
427
|
-
var
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
var width = bufferReader.nextUint16();
|
|
433
|
-
var height = bufferReader.nextUint16();
|
|
434
|
-
var isPixelBuffer = bufferReader.nextUint8();
|
|
435
|
-
var mipCount = bufferReader.nextUint8();
|
|
436
|
-
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
437
|
-
var texture2D = new engineCore.Texture2D(engine, width, height, format, mipmap);
|
|
438
|
-
texture2D.filterMode = filterMode;
|
|
439
|
-
texture2D.anisoLevel = anisoLevel;
|
|
440
|
-
texture2D.wrapModeU = wrapModeU;
|
|
441
|
-
texture2D.wrapModeV = wrapModeV;
|
|
442
|
-
if (isPixelBuffer) {
|
|
443
|
-
var pixelBuffer = imagesData[0];
|
|
444
|
-
texture2D.setPixelBuffer(pixelBuffer);
|
|
445
|
-
if (mipmap) {
|
|
446
|
-
texture2D.generateMipmaps();
|
|
447
|
-
for(var i = 1; i < mipCount; i++){
|
|
448
|
-
var pixelBuffer1 = imagesData[i];
|
|
449
|
-
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
// @ts-ignore
|
|
453
|
-
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
454
|
-
resolve(texture2D);
|
|
455
|
-
} else {
|
|
456
|
-
var blob = new window.Blob([
|
|
457
|
-
imagesData[0]
|
|
458
|
-
]);
|
|
459
|
-
var img = new Image();
|
|
460
|
-
img.onload = function() {
|
|
461
|
-
texture2D.setImageSource(img);
|
|
462
|
-
var completedCount = 0;
|
|
463
|
-
var onComplete = function() {
|
|
464
|
-
completedCount++;
|
|
465
|
-
if (completedCount >= mipCount) {
|
|
466
|
-
resolve(texture2D);
|
|
467
|
-
}
|
|
468
|
-
};
|
|
469
|
-
onComplete();
|
|
470
|
-
if (mipmap) {
|
|
471
|
-
var _loop = function(i) {
|
|
472
|
-
var blob = new window.Blob([
|
|
473
|
-
imagesData[i]
|
|
474
|
-
]);
|
|
475
|
-
var img = new Image();
|
|
476
|
-
img.onload = function() {
|
|
477
|
-
texture2D.setImageSource(img, i);
|
|
478
|
-
onComplete();
|
|
479
|
-
};
|
|
480
|
-
img.src = URL.createObjectURL(blob);
|
|
481
|
-
};
|
|
482
|
-
texture2D.generateMipmaps();
|
|
483
|
-
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
484
|
-
}
|
|
485
|
-
};
|
|
486
|
-
img.src = URL.createObjectURL(blob);
|
|
611
|
+
var PrefabParser = /*#__PURE__*/ function() {
|
|
612
|
+
function PrefabParser() {}
|
|
613
|
+
PrefabParser.parseChildren = function parseChildren(entitiesConfig, entities, parentId) {
|
|
614
|
+
var children = entitiesConfig.get(parentId).children;
|
|
615
|
+
if (children && children.length > 0) {
|
|
616
|
+
var parent = entities.get(parentId);
|
|
617
|
+
for(var i = 0; i < children.length; i++){
|
|
618
|
+
var childId = children[i];
|
|
619
|
+
var entity = entities.get(childId);
|
|
620
|
+
parent.addChild(entity);
|
|
621
|
+
this.parseChildren(entitiesConfig, entities, childId);
|
|
487
622
|
}
|
|
488
|
-
}
|
|
623
|
+
}
|
|
489
624
|
};
|
|
490
|
-
return
|
|
625
|
+
return PrefabParser;
|
|
491
626
|
}();
|
|
492
|
-
exports.Texture2DDecoder = __decorate([
|
|
493
|
-
decoder("Texture2D")
|
|
494
|
-
], exports.Texture2DDecoder);
|
|
495
627
|
|
|
496
628
|
function _is_native_reflect_construct() {
|
|
497
629
|
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
@@ -655,236 +787,166 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
655
787
|
return Promise.resolve(entity);
|
|
656
788
|
}
|
|
657
789
|
};
|
|
658
|
-
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
659
|
-
this.customParseComponentHandles[componentType] = handle;
|
|
660
|
-
};
|
|
661
|
-
ReflectionParser._isClass = function _isClass(value) {
|
|
662
|
-
return value["class"] != undefined;
|
|
663
|
-
};
|
|
664
|
-
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
665
|
-
return value["refId"] != undefined;
|
|
666
|
-
};
|
|
667
|
-
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
668
|
-
return value["entityId"] != undefined;
|
|
669
|
-
};
|
|
670
|
-
return ReflectionParser;
|
|
671
|
-
}();
|
|
672
|
-
(function() {
|
|
673
|
-
ReflectionParser.customParseComponentHandles = new Map();
|
|
674
|
-
})();
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
function
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
var
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
};
|
|
707
|
-
|
|
708
|
-
exports.InterpolableValueType = void 0;
|
|
709
|
-
(function(InterpolableValueType) {
|
|
710
|
-
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
711
|
-
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
712
|
-
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
713
|
-
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
714
|
-
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
715
|
-
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
716
|
-
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
717
|
-
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
718
|
-
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
719
|
-
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
720
|
-
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
721
|
-
})(exports.InterpolableValueType || (exports.InterpolableValueType = {}));
|
|
722
|
-
exports.AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
723
|
-
function AnimationClipDecoder() {}
|
|
724
|
-
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
725
|
-
return new Promise(function(resolve) {
|
|
726
|
-
var name = bufferReader.nextStr();
|
|
727
|
-
var clip = new engineCore.AnimationClip(name);
|
|
728
|
-
var eventsLen = bufferReader.nextUint16();
|
|
729
|
-
for(var i = 0; i < eventsLen; ++i){
|
|
730
|
-
var event = new engineCore.AnimationEvent();
|
|
731
|
-
event.time = bufferReader.nextFloat32();
|
|
732
|
-
event.functionName = bufferReader.nextStr();
|
|
733
|
-
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
734
|
-
clip.addEvent(event);
|
|
735
|
-
}
|
|
736
|
-
var curveBindingsLen = bufferReader.nextUint16();
|
|
737
|
-
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
738
|
-
var relativePath = bufferReader.nextStr();
|
|
739
|
-
var componentStr = bufferReader.nextStr();
|
|
740
|
-
var componentType = ComponentMap[componentStr];
|
|
741
|
-
var property = bufferReader.nextStr();
|
|
742
|
-
var curve = void 0;
|
|
743
|
-
var interpolation = bufferReader.nextUint8();
|
|
744
|
-
var keysLen = bufferReader.nextUint16();
|
|
745
|
-
var curveType = bufferReader.nextStr();
|
|
746
|
-
switch(curveType){
|
|
747
|
-
case "AnimationFloatCurve":
|
|
748
|
-
{
|
|
749
|
-
curve = new engineCore.AnimationFloatCurve();
|
|
750
|
-
curve.interpolation = interpolation;
|
|
751
|
-
for(var j = 0; j < keysLen; ++j){
|
|
752
|
-
var keyframe = new engineCore.Keyframe();
|
|
753
|
-
keyframe.time = bufferReader.nextFloat32();
|
|
754
|
-
keyframe.value = bufferReader.nextFloat32();
|
|
755
|
-
keyframe.inTangent = bufferReader.nextFloat32();
|
|
756
|
-
keyframe.outTangent = bufferReader.nextFloat32();
|
|
757
|
-
curve.addKey(keyframe);
|
|
758
|
-
}
|
|
759
|
-
break;
|
|
760
|
-
}
|
|
761
|
-
case "AnimationArrayCurve":
|
|
762
|
-
{
|
|
763
|
-
curve = new engineCore.AnimationArrayCurve();
|
|
764
|
-
curve.interpolation = interpolation;
|
|
765
|
-
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
766
|
-
var keyframe1 = new engineCore.Keyframe();
|
|
767
|
-
keyframe1.time = bufferReader.nextFloat32();
|
|
768
|
-
var len = bufferReader.nextUint16();
|
|
769
|
-
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
770
|
-
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
771
|
-
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
772
|
-
curve.addKey(keyframe1);
|
|
773
|
-
}
|
|
774
|
-
break;
|
|
775
|
-
}
|
|
776
|
-
case "AnimationFloatArrayCurve":
|
|
777
|
-
{
|
|
778
|
-
curve = new engineCore.AnimationFloatArrayCurve();
|
|
779
|
-
curve.interpolation = interpolation;
|
|
780
|
-
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
781
|
-
var keyframe2 = new engineCore.Keyframe();
|
|
782
|
-
keyframe2.time = bufferReader.nextFloat32();
|
|
783
|
-
var len1 = bufferReader.nextUint16();
|
|
784
|
-
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
785
|
-
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
786
|
-
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
787
|
-
curve.addKey(keyframe2);
|
|
788
|
-
}
|
|
789
|
-
break;
|
|
790
|
-
}
|
|
791
|
-
case "AnimationVector2Curve":
|
|
792
|
-
{
|
|
793
|
-
curve = new engineCore.AnimationVector2Curve();
|
|
794
|
-
curve.interpolation = interpolation;
|
|
795
|
-
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
796
|
-
var keyframe3 = new engineCore.Keyframe();
|
|
797
|
-
keyframe3.time = bufferReader.nextFloat32();
|
|
798
|
-
keyframe3.value = new engineMath.Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
799
|
-
keyframe3.inTangent = new engineMath.Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
800
|
-
keyframe3.outTangent = new engineMath.Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
801
|
-
curve.addKey(keyframe3);
|
|
802
|
-
}
|
|
803
|
-
break;
|
|
804
|
-
}
|
|
805
|
-
case "AnimationVector3Curve":
|
|
806
|
-
{
|
|
807
|
-
curve = new engineCore.AnimationVector3Curve();
|
|
808
|
-
curve.interpolation = interpolation;
|
|
809
|
-
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
810
|
-
var keyframe4 = new engineCore.Keyframe();
|
|
811
|
-
keyframe4.time = bufferReader.nextFloat32();
|
|
812
|
-
keyframe4.value = new engineMath.Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
813
|
-
keyframe4.inTangent = new engineMath.Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
814
|
-
keyframe4.outTangent = new engineMath.Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
815
|
-
curve.addKey(keyframe4);
|
|
816
|
-
}
|
|
817
|
-
break;
|
|
818
|
-
}
|
|
819
|
-
case "AnimationVector4Curve":
|
|
820
|
-
{
|
|
821
|
-
curve = new engineCore.AnimationVector4Curve();
|
|
822
|
-
curve.interpolation = interpolation;
|
|
823
|
-
var keyframe5 = new engineCore.Keyframe();
|
|
824
|
-
keyframe5.time = bufferReader.nextFloat32();
|
|
825
|
-
keyframe5.value = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
826
|
-
keyframe5.inTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
827
|
-
keyframe5.outTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
828
|
-
curve.addKey(keyframe5);
|
|
829
|
-
break;
|
|
830
|
-
}
|
|
831
|
-
case "AnimationColorCurve":
|
|
832
|
-
{
|
|
833
|
-
curve = new engineCore.AnimationColorCurve();
|
|
834
|
-
curve.interpolation = interpolation;
|
|
835
|
-
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
836
|
-
var keyframe6 = new engineCore.Keyframe();
|
|
837
|
-
keyframe6.time = bufferReader.nextFloat32();
|
|
838
|
-
keyframe6.value = new engineMath.Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
839
|
-
keyframe6.inTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
840
|
-
keyframe6.outTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
841
|
-
curve.addKey(keyframe6);
|
|
842
|
-
}
|
|
843
|
-
break;
|
|
844
|
-
}
|
|
845
|
-
case "AnimationQuaternionCurve":
|
|
846
|
-
{
|
|
847
|
-
curve = new engineCore.AnimationQuaternionCurve();
|
|
848
|
-
curve.interpolation = interpolation;
|
|
849
|
-
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
850
|
-
var keyframe7 = new engineCore.Keyframe();
|
|
851
|
-
keyframe7.time = bufferReader.nextFloat32();
|
|
852
|
-
keyframe7.value = new engineMath.Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
853
|
-
keyframe7.inTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
854
|
-
keyframe7.outTangent = new engineMath.Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
855
|
-
curve.addKey(keyframe7);
|
|
856
|
-
}
|
|
857
|
-
break;
|
|
858
|
-
}
|
|
859
|
-
case "AnimationRefCurve":
|
|
860
|
-
{
|
|
861
|
-
curve = new engineCore.AnimationRefCurve();
|
|
862
|
-
curve.interpolation = interpolation;
|
|
863
|
-
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
864
|
-
var keyframe8 = new engineCore.Keyframe();
|
|
865
|
-
keyframe8.time = bufferReader.nextFloat32();
|
|
866
|
-
keyframe8.value = JSON.parse(bufferReader.nextStr());
|
|
867
|
-
curve.addKey(keyframe8);
|
|
868
|
-
}
|
|
869
|
-
break;
|
|
870
|
-
}
|
|
790
|
+
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
791
|
+
this.customParseComponentHandles[componentType] = handle;
|
|
792
|
+
};
|
|
793
|
+
ReflectionParser._isClass = function _isClass(value) {
|
|
794
|
+
return value["class"] != undefined;
|
|
795
|
+
};
|
|
796
|
+
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
797
|
+
return value["refId"] != undefined;
|
|
798
|
+
};
|
|
799
|
+
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
800
|
+
return value["entityId"] != undefined;
|
|
801
|
+
};
|
|
802
|
+
return ReflectionParser;
|
|
803
|
+
}();
|
|
804
|
+
(function() {
|
|
805
|
+
ReflectionParser.customParseComponentHandles = new Map();
|
|
806
|
+
})();
|
|
807
|
+
|
|
808
|
+
exports.Texture2DDecoder = /*#__PURE__*/ function() {
|
|
809
|
+
function Texture2DDecoder() {}
|
|
810
|
+
Texture2DDecoder.decode = function decode(engine, bufferReader, restoredTexture) {
|
|
811
|
+
return new Promise(function(resolve, reject) {
|
|
812
|
+
var objectId = bufferReader.nextStr();
|
|
813
|
+
var mipmap = !!bufferReader.nextUint8();
|
|
814
|
+
var filterMode = bufferReader.nextUint8();
|
|
815
|
+
var anisoLevel = bufferReader.nextUint8();
|
|
816
|
+
var wrapModeU = bufferReader.nextUint8();
|
|
817
|
+
var wrapModeV = bufferReader.nextUint8();
|
|
818
|
+
var format = bufferReader.nextUint8();
|
|
819
|
+
var width = bufferReader.nextUint16();
|
|
820
|
+
var height = bufferReader.nextUint16();
|
|
821
|
+
var isPixelBuffer = bufferReader.nextUint8();
|
|
822
|
+
var mipCount = bufferReader.nextUint8();
|
|
823
|
+
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
824
|
+
var texture2D = restoredTexture || new engineCore.Texture2D(engine, width, height, format, mipmap);
|
|
825
|
+
texture2D.filterMode = filterMode;
|
|
826
|
+
texture2D.anisoLevel = anisoLevel;
|
|
827
|
+
texture2D.wrapModeU = wrapModeU;
|
|
828
|
+
texture2D.wrapModeV = wrapModeV;
|
|
829
|
+
if (isPixelBuffer) {
|
|
830
|
+
var pixelBuffer = imagesData[0];
|
|
831
|
+
texture2D.setPixelBuffer(pixelBuffer);
|
|
832
|
+
if (mipmap) {
|
|
833
|
+
texture2D.generateMipmaps();
|
|
834
|
+
for(var i = 1; i < mipCount; i++){
|
|
835
|
+
var pixelBuffer1 = imagesData[i];
|
|
836
|
+
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
837
|
+
}
|
|
871
838
|
}
|
|
872
|
-
|
|
839
|
+
// @ts-ignore
|
|
840
|
+
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
841
|
+
resolve(texture2D);
|
|
842
|
+
} else {
|
|
843
|
+
var blob = new window.Blob([
|
|
844
|
+
imagesData[0]
|
|
845
|
+
]);
|
|
846
|
+
var img = new Image();
|
|
847
|
+
img.onload = function() {
|
|
848
|
+
texture2D.setImageSource(img);
|
|
849
|
+
var completedCount = 0;
|
|
850
|
+
var onComplete = function() {
|
|
851
|
+
completedCount++;
|
|
852
|
+
if (completedCount >= mipCount) {
|
|
853
|
+
resolve(texture2D);
|
|
854
|
+
}
|
|
855
|
+
};
|
|
856
|
+
onComplete();
|
|
857
|
+
if (mipmap) {
|
|
858
|
+
var _loop = function(i) {
|
|
859
|
+
var blob = new window.Blob([
|
|
860
|
+
imagesData[i]
|
|
861
|
+
]);
|
|
862
|
+
var img = new Image();
|
|
863
|
+
img.onload = function() {
|
|
864
|
+
texture2D.setImageSource(img, i);
|
|
865
|
+
onComplete();
|
|
866
|
+
};
|
|
867
|
+
img.src = URL.createObjectURL(blob);
|
|
868
|
+
};
|
|
869
|
+
texture2D.generateMipmaps();
|
|
870
|
+
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
871
|
+
}
|
|
872
|
+
};
|
|
873
|
+
img.src = URL.createObjectURL(blob);
|
|
873
874
|
}
|
|
874
|
-
resolve(clip);
|
|
875
875
|
});
|
|
876
876
|
};
|
|
877
|
-
return
|
|
877
|
+
return Texture2DDecoder;
|
|
878
878
|
}();
|
|
879
|
-
exports.
|
|
880
|
-
decoder("
|
|
881
|
-
], exports.
|
|
879
|
+
exports.Texture2DDecoder = __decorate([
|
|
880
|
+
decoder("Texture2D")
|
|
881
|
+
], exports.Texture2DDecoder);
|
|
882
882
|
|
|
883
|
-
exports.
|
|
884
|
-
(
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
}
|
|
883
|
+
exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
|
|
884
|
+
_inherits(EditorTextureLoader, Loader1);
|
|
885
|
+
function EditorTextureLoader() {
|
|
886
|
+
return Loader1.apply(this, arguments);
|
|
887
|
+
}
|
|
888
|
+
var _proto = EditorTextureLoader.prototype;
|
|
889
|
+
_proto.load = function load(item, resourceManager) {
|
|
890
|
+
var _this = this;
|
|
891
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
892
|
+
var request = _this.request;
|
|
893
|
+
request(item.url, _extends({}, item, {
|
|
894
|
+
type: "arraybuffer"
|
|
895
|
+
})).then(function(data) {
|
|
896
|
+
decode(data, resourceManager.engine).then(function(texture) {
|
|
897
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
898
|
+
_inherits(_class, ContentRestorer);
|
|
899
|
+
function _class() {
|
|
900
|
+
return ContentRestorer.apply(this, arguments);
|
|
901
|
+
}
|
|
902
|
+
var _proto = _class.prototype;
|
|
903
|
+
_proto.restoreContent = function restoreContent() {
|
|
904
|
+
return request(item.url, _extends({}, item, {
|
|
905
|
+
type: "arraybuffer"
|
|
906
|
+
})).then(function(data) {
|
|
907
|
+
return decode(data, resourceManager.engine, texture);
|
|
908
|
+
});
|
|
909
|
+
};
|
|
910
|
+
return _class;
|
|
911
|
+
}(engineCore.ContentRestorer))(texture));
|
|
912
|
+
resolve(texture);
|
|
913
|
+
});
|
|
914
|
+
}).catch(reject);
|
|
915
|
+
});
|
|
916
|
+
};
|
|
917
|
+
return EditorTextureLoader;
|
|
918
|
+
}(engineCore.Loader);
|
|
919
|
+
exports.EditorTextureLoader = __decorate([
|
|
920
|
+
engineCore.resourceLoader("EditorTexture2D", [
|
|
921
|
+
"prefab"
|
|
922
|
+
], true)
|
|
923
|
+
], exports.EditorTextureLoader);
|
|
924
|
+
|
|
925
|
+
exports.MeshLoader = /*#__PURE__*/ function(Loader1) {
|
|
926
|
+
_inherits(MeshLoader, Loader1);
|
|
927
|
+
function MeshLoader() {
|
|
928
|
+
return Loader1.apply(this, arguments);
|
|
929
|
+
}
|
|
930
|
+
var _proto = MeshLoader.prototype;
|
|
931
|
+
_proto.load = function load(item, resourceManager) {
|
|
932
|
+
var _this = this;
|
|
933
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
934
|
+
_this.request(item.url, {
|
|
935
|
+
type: "arraybuffer"
|
|
936
|
+
}).then(function(data) {
|
|
937
|
+
decode(data, resourceManager.engine).then(function(mesh) {
|
|
938
|
+
resolve(mesh);
|
|
939
|
+
});
|
|
940
|
+
}).catch(reject);
|
|
941
|
+
});
|
|
942
|
+
};
|
|
943
|
+
return MeshLoader;
|
|
944
|
+
}(engineCore.Loader);
|
|
945
|
+
exports.MeshLoader = __decorate([
|
|
946
|
+
engineCore.resourceLoader("Mesh", [
|
|
947
|
+
"prefab"
|
|
948
|
+
], true)
|
|
949
|
+
], exports.MeshLoader);
|
|
888
950
|
|
|
889
951
|
function _array_like_to_array(arr, len) {
|
|
890
952
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -1041,57 +1103,11 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
1041
1103
|
return SceneParser;
|
|
1042
1104
|
}();
|
|
1043
1105
|
|
|
1044
|
-
exports.
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
var _proto = MeshLoader.prototype;
|
|
1050
|
-
_proto.load = function load(item, resourceManager) {
|
|
1051
|
-
var _this = this;
|
|
1052
|
-
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
1053
|
-
_this.request(item.url, {
|
|
1054
|
-
type: "arraybuffer"
|
|
1055
|
-
}).then(function(data) {
|
|
1056
|
-
decode(data, resourceManager.engine).then(function(mesh) {
|
|
1057
|
-
resolve(mesh);
|
|
1058
|
-
});
|
|
1059
|
-
}).catch(reject);
|
|
1060
|
-
});
|
|
1061
|
-
};
|
|
1062
|
-
return MeshLoader;
|
|
1063
|
-
}(engineCore.Loader);
|
|
1064
|
-
exports.MeshLoader = __decorate([
|
|
1065
|
-
engineCore.resourceLoader("Mesh", [
|
|
1066
|
-
"prefab"
|
|
1067
|
-
], true)
|
|
1068
|
-
], exports.MeshLoader);
|
|
1069
|
-
|
|
1070
|
-
exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
|
|
1071
|
-
_inherits(EditorTextureLoader, Loader1);
|
|
1072
|
-
function EditorTextureLoader() {
|
|
1073
|
-
return Loader1.apply(this, arguments);
|
|
1074
|
-
}
|
|
1075
|
-
var _proto = EditorTextureLoader.prototype;
|
|
1076
|
-
_proto.load = function load(item, resourceManager) {
|
|
1077
|
-
var _this = this;
|
|
1078
|
-
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
1079
|
-
_this.request(item.url, {
|
|
1080
|
-
type: "arraybuffer"
|
|
1081
|
-
}).then(function(data) {
|
|
1082
|
-
decode(data, resourceManager.engine).then(function(texture) {
|
|
1083
|
-
resolve(texture);
|
|
1084
|
-
});
|
|
1085
|
-
}).catch(reject);
|
|
1086
|
-
});
|
|
1087
|
-
};
|
|
1088
|
-
return EditorTextureLoader;
|
|
1089
|
-
}(engineCore.Loader);
|
|
1090
|
-
exports.EditorTextureLoader = __decorate([
|
|
1091
|
-
engineCore.resourceLoader("EditorTexture2D", [
|
|
1092
|
-
"prefab"
|
|
1093
|
-
], true)
|
|
1094
|
-
], exports.EditorTextureLoader);
|
|
1106
|
+
exports.SpecularMode = void 0;
|
|
1107
|
+
(function(SpecularMode) {
|
|
1108
|
+
SpecularMode["Sky"] = "Sky";
|
|
1109
|
+
SpecularMode["Custom"] = "Custom";
|
|
1110
|
+
})(exports.SpecularMode || (exports.SpecularMode = {}));
|
|
1095
1111
|
|
|
1096
1112
|
/**
|
|
1097
1113
|
* Decode engine binary resource.
|
|
@@ -1099,9 +1115,13 @@ exports.EditorTextureLoader = __decorate([
|
|
|
1099
1115
|
* @param engine - engine
|
|
1100
1116
|
* @returns
|
|
1101
1117
|
*/ function decode(arrayBuffer, engine) {
|
|
1118
|
+
for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
1119
|
+
args[_key - 2] = arguments[_key];
|
|
1120
|
+
}
|
|
1121
|
+
var _decoderMap_header_type;
|
|
1102
1122
|
var header = FileHeader.decode(arrayBuffer);
|
|
1103
1123
|
var bufferReader = new BufferReader(new Uint8Array(arrayBuffer), header.headerLength, header.dataLength);
|
|
1104
|
-
return decoderMap[header.type].decode(engine, bufferReader).then(function(object) {
|
|
1124
|
+
return (_decoderMap_header_type = decoderMap[header.type]).decode.apply(_decoderMap_header_type, [].concat(engine, bufferReader, args)).then(function(object) {
|
|
1105
1125
|
object.name = header.name;
|
|
1106
1126
|
return object;
|
|
1107
1127
|
});
|
|
@@ -1269,39 +1289,42 @@ BufferLoader = __decorate([
|
|
|
1269
1289
|
], BufferLoader);
|
|
1270
1290
|
|
|
1271
1291
|
var EnvLoader = /*#__PURE__*/ function(Loader1) {
|
|
1272
|
-
_inherits(
|
|
1273
|
-
function
|
|
1292
|
+
_inherits(EnvLoader1, Loader1);
|
|
1293
|
+
function EnvLoader1() {
|
|
1274
1294
|
return Loader1.apply(this, arguments);
|
|
1275
1295
|
}
|
|
1276
|
-
var _proto =
|
|
1296
|
+
var _proto = EnvLoader1.prototype;
|
|
1277
1297
|
_proto.load = function load(item, resourceManager) {
|
|
1278
1298
|
var _this = this;
|
|
1279
1299
|
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
1280
|
-
|
|
1300
|
+
var engine = resourceManager.engine;
|
|
1301
|
+
var request = _this.request;
|
|
1302
|
+
request(item.url, _extends({}, item, {
|
|
1281
1303
|
type: "arraybuffer"
|
|
1282
|
-
}).then(function(arraybuffer) {
|
|
1283
|
-
var
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
var texture = new engineCore.TextureCube(engine, size);
|
|
1289
|
-
texture.filterMode = engineCore.TextureFilterMode.Trilinear;
|
|
1290
|
-
var mipmapCount = texture.mipmapCount;
|
|
1291
|
-
var offset = shByteLength + 2;
|
|
1292
|
-
for(var mipLevel = 0; mipLevel < mipmapCount; mipLevel++){
|
|
1293
|
-
var mipSize = size >> mipLevel;
|
|
1294
|
-
for(var face = 0; face < 6; face++){
|
|
1295
|
-
var dataSize = mipSize * mipSize * 4;
|
|
1296
|
-
var data = new Uint8Array(arraybuffer, offset, dataSize);
|
|
1297
|
-
offset += dataSize;
|
|
1298
|
-
texture.setPixelBuffer(engineCore.TextureCubeFace.PositiveX + face, data, mipLevel);
|
|
1304
|
+
})).then(function(arraybuffer) {
|
|
1305
|
+
var texture = EnvLoader._setTextureByBuffer(engine, arraybuffer);
|
|
1306
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
1307
|
+
_inherits(_class, ContentRestorer);
|
|
1308
|
+
function _class() {
|
|
1309
|
+
return ContentRestorer.apply(this, arguments);
|
|
1299
1310
|
}
|
|
1300
|
-
|
|
1311
|
+
var _proto = _class.prototype;
|
|
1312
|
+
_proto.restoreContent = function restoreContent() {
|
|
1313
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
1314
|
+
request(item.url, _extends({}, item, {
|
|
1315
|
+
type: "arraybuffer"
|
|
1316
|
+
})).then(function(buffer) {
|
|
1317
|
+
EnvLoader._setTextureByBuffer(engine, buffer, texture);
|
|
1318
|
+
resolve(texture);
|
|
1319
|
+
}).catch(reject);
|
|
1320
|
+
});
|
|
1321
|
+
};
|
|
1322
|
+
return _class;
|
|
1323
|
+
}(engineCore.ContentRestorer))(texture));
|
|
1301
1324
|
var ambientLight = new engineCore.AmbientLight(engine);
|
|
1302
1325
|
var sh = new engineMath.SphericalHarmonics3();
|
|
1303
1326
|
ambientLight.diffuseMode = engineCore.DiffuseMode.SphericalHarmonics;
|
|
1304
|
-
sh.copyFromArray(
|
|
1327
|
+
sh.copyFromArray(new Float32Array(arraybuffer, 0, 27));
|
|
1305
1328
|
ambientLight.diffuseSphericalHarmonics = sh;
|
|
1306
1329
|
ambientLight.specularTexture = texture;
|
|
1307
1330
|
ambientLight.specularTextureDecodeRGBM = true;
|
|
@@ -1311,7 +1334,28 @@ var EnvLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
1311
1334
|
});
|
|
1312
1335
|
});
|
|
1313
1336
|
};
|
|
1314
|
-
|
|
1337
|
+
/**
|
|
1338
|
+
* @internal
|
|
1339
|
+
*/ EnvLoader1._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
1340
|
+
var _this;
|
|
1341
|
+
var shByteLength = 27 * 4;
|
|
1342
|
+
var size = (_this = new Uint16Array(buffer, shByteLength, 1)) == null ? void 0 : _this[0];
|
|
1343
|
+
texture || (texture = new engineCore.TextureCube(engine, size));
|
|
1344
|
+
texture.filterMode = engineCore.TextureFilterMode.Trilinear;
|
|
1345
|
+
var mipmapCount = texture.mipmapCount;
|
|
1346
|
+
var offset = shByteLength + 2;
|
|
1347
|
+
for(var mipLevel = 0; mipLevel < mipmapCount; mipLevel++){
|
|
1348
|
+
var mipSize = size >> mipLevel;
|
|
1349
|
+
for(var face = 0; face < 6; face++){
|
|
1350
|
+
var dataSize = mipSize * mipSize * 4;
|
|
1351
|
+
var data = new Uint8Array(buffer, offset, dataSize);
|
|
1352
|
+
offset += dataSize;
|
|
1353
|
+
texture.setPixelBuffer(engineCore.TextureCubeFace.PositiveX + face, data, mipLevel);
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
return texture;
|
|
1357
|
+
};
|
|
1358
|
+
return EnvLoader1;
|
|
1315
1359
|
}(engineCore.Loader);
|
|
1316
1360
|
EnvLoader = __decorate([
|
|
1317
1361
|
engineCore.resourceLoader(engineCore.AssetType.Env, [
|
|
@@ -2031,28 +2075,29 @@ function registerGLTFParser(pipeline) {
|
|
|
2031
2075
|
BIN: 0x004e4942
|
|
2032
2076
|
};
|
|
2033
2077
|
var dataView = new DataView(originBuffer);
|
|
2034
|
-
//
|
|
2078
|
+
// Read header
|
|
2035
2079
|
var header = {
|
|
2036
2080
|
magic: dataView.getUint32(0, true),
|
|
2037
2081
|
version: dataView.getUint32(UINT32_LENGTH, true),
|
|
2038
2082
|
length: dataView.getUint32(2 * UINT32_LENGTH, true)
|
|
2039
2083
|
};
|
|
2084
|
+
// Return the original buffer if it is not a glb
|
|
2040
2085
|
if (header.magic !== GLB_HEADER_MAGIC) {
|
|
2041
2086
|
return {
|
|
2042
2087
|
originBuffer: originBuffer
|
|
2043
2088
|
};
|
|
2044
2089
|
}
|
|
2045
|
-
//
|
|
2090
|
+
// Read main data
|
|
2046
2091
|
var chunkLength = dataView.getUint32(GLB_HEADER_LENGTH, true);
|
|
2047
2092
|
var chunkType = dataView.getUint32(GLB_HEADER_LENGTH + UINT32_LENGTH, true);
|
|
2048
|
-
//
|
|
2093
|
+
// Read glTF json
|
|
2049
2094
|
if (chunkType !== GLB_CHUNK_TYPES.JSON) {
|
|
2050
2095
|
console.error("Invalid glb chunk type. Expected 0x4E4F534A, found 0x" + chunkType.toString(16));
|
|
2051
2096
|
return null;
|
|
2052
2097
|
}
|
|
2053
2098
|
var glTFData = new Uint8Array(originBuffer, GLB_HEADER_LENGTH + 2 * UINT32_LENGTH, chunkLength);
|
|
2054
2099
|
var glTF = JSON.parse(engineCore.Utils.decodeText(glTFData));
|
|
2055
|
-
//
|
|
2100
|
+
// Read all buffers
|
|
2056
2101
|
var buffers = [];
|
|
2057
2102
|
var byteOffset = GLB_HEADER_LENGTH + 2 * UINT32_LENGTH + chunkLength;
|
|
2058
2103
|
var restoreGLBBufferSlice = context.contentRestorer.glbBufferSlices;
|
|
@@ -2943,13 +2988,39 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2943
2988
|
/**
|
|
2944
2989
|
* @internal
|
|
2945
2990
|
*/ _proto.load = function load(item, resourceManager) {
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2991
|
+
var _this = this;
|
|
2992
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
2993
|
+
var request = _this.request;
|
|
2994
|
+
request(item.url, _extends({}, item, {
|
|
2995
|
+
type: "arraybuffer"
|
|
2996
|
+
})).then(function(buffer) {
|
|
2997
|
+
return exports.KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
2998
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
2999
|
+
return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
3000
|
+
}).then(function(texture) {
|
|
3001
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
3002
|
+
_inherits(_class, ContentRestorer);
|
|
3003
|
+
function _class() {
|
|
3004
|
+
return ContentRestorer.apply(this, arguments);
|
|
3005
|
+
}
|
|
3006
|
+
var _proto = _class.prototype;
|
|
3007
|
+
_proto.restoreContent = function restoreContent() {
|
|
3008
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
3009
|
+
request(item.url, _extends({}, item, {
|
|
3010
|
+
type: "arraybuffer"
|
|
3011
|
+
})).then(function(buffer) {
|
|
3012
|
+
return exports.KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
3013
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3014
|
+
return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params, texture);
|
|
3015
|
+
});
|
|
3016
|
+
}).then(resolve).catch(reject);
|
|
3017
|
+
});
|
|
3018
|
+
};
|
|
3019
|
+
return _class;
|
|
3020
|
+
}(engineCore.ContentRestorer))(texture));
|
|
3021
|
+
resolve(texture);
|
|
3022
|
+
});
|
|
3023
|
+
}).catch(reject);
|
|
2953
3024
|
});
|
|
2954
3025
|
};
|
|
2955
3026
|
/**
|
|
@@ -2988,7 +3059,7 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2988
3059
|
};
|
|
2989
3060
|
});
|
|
2990
3061
|
};
|
|
2991
|
-
/** @internal */ KTX2Loader1._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
|
|
3062
|
+
/** @internal */ KTX2Loader1._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params, restoredTexture) {
|
|
2992
3063
|
var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
|
|
2993
3064
|
var faceCount = faces.length;
|
|
2994
3065
|
var mipmaps = faces[0];
|
|
@@ -2996,13 +3067,13 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2996
3067
|
var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
|
|
2997
3068
|
var texture;
|
|
2998
3069
|
if (faceCount !== 6) {
|
|
2999
|
-
texture = new engineCore.Texture2D(engine, width, height, engineFormat, mipmap);
|
|
3070
|
+
texture = restoredTexture || new engineCore.Texture2D(engine, width, height, engineFormat, mipmap);
|
|
3000
3071
|
for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
|
|
3001
3072
|
var data = mipmaps[mipLevel].data;
|
|
3002
3073
|
texture.setPixelBuffer(data, mipLevel);
|
|
3003
3074
|
}
|
|
3004
3075
|
} else {
|
|
3005
|
-
texture = new engineCore.TextureCube(engine, height, engineFormat, mipmap);
|
|
3076
|
+
texture = restoredTexture || new engineCore.TextureCube(engine, height, engineFormat, mipmap);
|
|
3006
3077
|
for(var i = 0; i < faces.length; i++){
|
|
3007
3078
|
var faceData = faces[i];
|
|
3008
3079
|
for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
|
|
@@ -3481,8 +3552,13 @@ exports.GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3481
3552
|
type: "arraybuffer"
|
|
3482
3553
|
};
|
|
3483
3554
|
return engineCore.request(url, requestConfig).then(function(buffer) {
|
|
3484
|
-
|
|
3485
|
-
|
|
3555
|
+
var _parseResult;
|
|
3556
|
+
var parseResult = GLTFUtils.parseGLB(context, buffer);
|
|
3557
|
+
// If the buffer is a GLB file, we need to restore the buffer data
|
|
3558
|
+
if ((_parseResult = parseResult) == null ? void 0 : _parseResult.glTF) {
|
|
3559
|
+
restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
|
|
3560
|
+
}
|
|
3561
|
+
return parseResult;
|
|
3486
3562
|
}).then(function(result) {
|
|
3487
3563
|
var _result;
|
|
3488
3564
|
if ((_result = result) == null ? void 0 : _result.glTF) {
|
|
@@ -4514,23 +4590,48 @@ var HDRLoader = (_HDRLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4514
4590
|
var _this = this;
|
|
4515
4591
|
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
4516
4592
|
var engine = resourceManager.engine;
|
|
4517
|
-
_this.request
|
|
4593
|
+
var request = _this.request;
|
|
4594
|
+
_this.request(item.url, _extends({}, item, {
|
|
4518
4595
|
type: "arraybuffer"
|
|
4519
|
-
}).then(function(buffer) {
|
|
4520
|
-
var
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4596
|
+
})).then(function(buffer) {
|
|
4597
|
+
var texture = HDRLoader._setTextureByBuffer(engine, buffer);
|
|
4598
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
4599
|
+
_inherits(_class, ContentRestorer);
|
|
4600
|
+
function _class() {
|
|
4601
|
+
return ContentRestorer.apply(this, arguments);
|
|
4602
|
+
}
|
|
4603
|
+
var _proto = _class.prototype;
|
|
4604
|
+
_proto.restoreContent = function restoreContent() {
|
|
4605
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
4606
|
+
request(item.url, _extends({}, item, {
|
|
4607
|
+
type: "arraybuffer"
|
|
4608
|
+
})).then(function(buffer) {
|
|
4609
|
+
HDRLoader._setTextureByBuffer(engine, buffer, texture);
|
|
4610
|
+
resolve(texture);
|
|
4611
|
+
}).catch(reject);
|
|
4612
|
+
});
|
|
4613
|
+
};
|
|
4614
|
+
return _class;
|
|
4615
|
+
}(engineCore.ContentRestorer))(texture));
|
|
4530
4616
|
resolve(texture);
|
|
4531
4617
|
}).catch(reject);
|
|
4532
4618
|
});
|
|
4533
4619
|
};
|
|
4620
|
+
/**
|
|
4621
|
+
* @internal
|
|
4622
|
+
*/ HDRLoader1._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
4623
|
+
var bufferArray = new Uint8Array(buffer);
|
|
4624
|
+
var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
|
|
4625
|
+
var cubeSize = height >> 1;
|
|
4626
|
+
texture || (texture = new engineCore.TextureCube(engine, cubeSize));
|
|
4627
|
+
var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
|
|
4628
|
+
var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
|
|
4629
|
+
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
4630
|
+
texture.setPixelBuffer(engineCore.TextureCubeFace.PositiveX + faceIndex, cubeMapData[faceIndex], 0);
|
|
4631
|
+
}
|
|
4632
|
+
texture.generateMipmaps();
|
|
4633
|
+
return texture;
|
|
4634
|
+
};
|
|
4534
4635
|
HDRLoader1._convertToCubemap = function _convertToCubemap(pixels, inputWidth, inputHeight, size) {
|
|
4535
4636
|
if (!pixels) {
|
|
4536
4637
|
throw "ConvertPanoramaToCubemap: input cannot be null";
|
|
@@ -5068,7 +5169,8 @@ var KTXLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5068
5169
|
_proto.load = function load(item, resourceManager) {
|
|
5069
5170
|
var _this = this;
|
|
5070
5171
|
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
5071
|
-
_this.request
|
|
5172
|
+
var request = _this.request;
|
|
5173
|
+
request(item.url, _extends({}, item, {
|
|
5072
5174
|
type: "arraybuffer"
|
|
5073
5175
|
})).then(function(bin) {
|
|
5074
5176
|
var parsedData = parseSingleKTX(bin);
|
|
@@ -5079,6 +5181,32 @@ var KTXLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5079
5181
|
var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5080
5182
|
texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
|
|
5081
5183
|
}
|
|
5184
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
5185
|
+
_inherits(_class, ContentRestorer);
|
|
5186
|
+
function _class() {
|
|
5187
|
+
return ContentRestorer.apply(this, arguments);
|
|
5188
|
+
}
|
|
5189
|
+
var _proto = _class.prototype;
|
|
5190
|
+
_proto.restoreContent = function restoreContent() {
|
|
5191
|
+
var _this = this;
|
|
5192
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
5193
|
+
request(item.url, _extends({}, item, {
|
|
5194
|
+
type: "arraybuffer"
|
|
5195
|
+
})).then(function(bin) {
|
|
5196
|
+
var mipmaps = parseSingleKTX(bin).mipmaps;
|
|
5197
|
+
var texture = _this.resource;
|
|
5198
|
+
for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
|
|
5199
|
+
var _mipmaps_miplevel = mipmaps[miplevel], width = _mipmaps_miplevel.width, height = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5200
|
+
texture.setPixelBuffer(data, miplevel, 0, 0, width, height);
|
|
5201
|
+
}
|
|
5202
|
+
resolve(texture);
|
|
5203
|
+
}).catch(function(e) {
|
|
5204
|
+
reject(e);
|
|
5205
|
+
});
|
|
5206
|
+
});
|
|
5207
|
+
};
|
|
5208
|
+
return _class;
|
|
5209
|
+
}(engineCore.ContentRestorer))(texture));
|
|
5082
5210
|
resolve(texture);
|
|
5083
5211
|
}).catch(function(e) {
|
|
5084
5212
|
reject(e);
|
|
@@ -5185,11 +5313,32 @@ var MeshLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5185
5313
|
_proto.load = function load(item, resourceManager) {
|
|
5186
5314
|
var _this = this;
|
|
5187
5315
|
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
5188
|
-
_this.request
|
|
5316
|
+
var request = _this.request;
|
|
5317
|
+
var engine = resourceManager.engine;
|
|
5318
|
+
request(item.url, _extends({}, item, {
|
|
5189
5319
|
type: "arraybuffer"
|
|
5190
5320
|
})).then(function(data) {
|
|
5191
|
-
return decode(data,
|
|
5321
|
+
return decode(data, engine);
|
|
5192
5322
|
}).then(function(mesh) {
|
|
5323
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
5324
|
+
_inherits(_class, ContentRestorer);
|
|
5325
|
+
function _class() {
|
|
5326
|
+
return ContentRestorer.apply(this, arguments);
|
|
5327
|
+
}
|
|
5328
|
+
var _proto = _class.prototype;
|
|
5329
|
+
_proto.restoreContent = function restoreContent() {
|
|
5330
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
5331
|
+
request(item.url, _extends({}, item, {
|
|
5332
|
+
type: "arraybuffer"
|
|
5333
|
+
})).then(function(data) {
|
|
5334
|
+
return decode(data, engine, mesh);
|
|
5335
|
+
}).then(function(mesh) {
|
|
5336
|
+
resolve(mesh);
|
|
5337
|
+
}).catch(reject);
|
|
5338
|
+
});
|
|
5339
|
+
};
|
|
5340
|
+
return _class;
|
|
5341
|
+
}(engineCore.ContentRestorer))(mesh));
|
|
5193
5342
|
resolve(mesh);
|
|
5194
5343
|
}).catch(reject);
|
|
5195
5344
|
});
|