@galacean/engine-loader 1.5.0-alpha.0 → 1.5.0-alpha.2
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 +492 -372
- package/dist/main.js.map +1 -1
- package/dist/module.js +494 -374
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/ktx2/KTX2Loader.d.ts +1 -1
- package/types/resource-deserialize/index.d.ts +7 -7
- package/types/resource-deserialize/resources/mesh/MeshDecoder.d.ts +2 -3
- package/types/resource-deserialize/resources/texture2D/TextureDecoder.d.ts +1 -1
- package/types/resource-deserialize/utils/Decorator.d.ts +1 -1
package/dist/module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Utils, AssetPromise,
|
|
2
|
-
import {
|
|
1
|
+
import { Utils, AssetPromise, AnimationClip, AnimationEvent, Loader, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ModelMesh, BlendShape, Entity, Transform, Texture2D, resourceLoader, ContentRestorer, ReferResource, Scene, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, AmbientLight, DiffuseMode, TextureCube, TextureFilterMode, TextureCubeFace, Font, SystemInfo, Animator, Logger, IndexFormat, VertexElementFormat, GLCapabilityType, TextureFormat, request, InterpolationType, SkinnedMeshRenderer, PBRMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, Shader, Material, PrimitiveMesh, SpriteAtlas, Sprite, TextureUtils, AudioClip, AudioManager, ShaderFactory, ShaderLib, PhysicsMaterial, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
|
|
2
|
+
import { Quaternion, Vector4, Color, Vector3, Vector2, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
|
|
3
3
|
import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
|
|
4
4
|
|
|
5
5
|
function _extends() {
|
|
@@ -285,11 +285,216 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
285
285
|
return FileHeader;
|
|
286
286
|
}();
|
|
287
287
|
|
|
288
|
+
var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
|
|
289
|
+
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
290
|
+
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
291
|
+
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
292
|
+
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
293
|
+
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
294
|
+
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
295
|
+
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
296
|
+
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
297
|
+
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
298
|
+
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
299
|
+
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
300
|
+
return InterpolableValueType;
|
|
301
|
+
}({});
|
|
302
|
+
var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
303
|
+
function AnimationClipDecoder() {}
|
|
304
|
+
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
305
|
+
return new AssetPromise(function(resolve) {
|
|
306
|
+
var name = bufferReader.nextStr();
|
|
307
|
+
var clip = new AnimationClip(name);
|
|
308
|
+
var eventsLen = bufferReader.nextUint16();
|
|
309
|
+
for(var i = 0; i < eventsLen; ++i){
|
|
310
|
+
var event = new AnimationEvent();
|
|
311
|
+
event.time = bufferReader.nextFloat32();
|
|
312
|
+
event.functionName = bufferReader.nextStr();
|
|
313
|
+
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
314
|
+
clip.addEvent(event);
|
|
315
|
+
}
|
|
316
|
+
var curveBindingsLen = bufferReader.nextUint16();
|
|
317
|
+
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
318
|
+
var relativePath = bufferReader.nextStr();
|
|
319
|
+
var componentStr = bufferReader.nextStr();
|
|
320
|
+
var componentType = Loader.getClass(componentStr);
|
|
321
|
+
var property = bufferReader.nextStr();
|
|
322
|
+
var getProperty = bufferReader.nextStr();
|
|
323
|
+
var curve = void 0;
|
|
324
|
+
var interpolation = bufferReader.nextUint8();
|
|
325
|
+
var keysLen = bufferReader.nextUint16();
|
|
326
|
+
var curveType = bufferReader.nextStr();
|
|
327
|
+
switch(curveType){
|
|
328
|
+
case "AnimationFloatCurve":
|
|
329
|
+
{
|
|
330
|
+
curve = new AnimationFloatCurve();
|
|
331
|
+
curve.interpolation = interpolation;
|
|
332
|
+
for(var j = 0; j < keysLen; ++j){
|
|
333
|
+
var keyframe = new Keyframe();
|
|
334
|
+
keyframe.time = bufferReader.nextFloat32();
|
|
335
|
+
keyframe.value = bufferReader.nextFloat32();
|
|
336
|
+
keyframe.inTangent = bufferReader.nextFloat32();
|
|
337
|
+
keyframe.outTangent = bufferReader.nextFloat32();
|
|
338
|
+
curve.addKey(keyframe);
|
|
339
|
+
}
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
case "AnimationArrayCurve":
|
|
343
|
+
{
|
|
344
|
+
curve = new AnimationArrayCurve();
|
|
345
|
+
curve.interpolation = interpolation;
|
|
346
|
+
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
347
|
+
var keyframe1 = new Keyframe();
|
|
348
|
+
keyframe1.time = bufferReader.nextFloat32();
|
|
349
|
+
var len = bufferReader.nextUint16();
|
|
350
|
+
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
351
|
+
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
352
|
+
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
353
|
+
curve.addKey(keyframe1);
|
|
354
|
+
}
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
case "AnimationFloatArrayCurve":
|
|
358
|
+
{
|
|
359
|
+
curve = new AnimationFloatArrayCurve();
|
|
360
|
+
curve.interpolation = interpolation;
|
|
361
|
+
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
362
|
+
var keyframe2 = new Keyframe();
|
|
363
|
+
keyframe2.time = bufferReader.nextFloat32();
|
|
364
|
+
var len1 = bufferReader.nextUint16();
|
|
365
|
+
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
366
|
+
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
367
|
+
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
368
|
+
curve.addKey(keyframe2);
|
|
369
|
+
}
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
case "AnimationVector2Curve":
|
|
373
|
+
{
|
|
374
|
+
curve = new AnimationVector2Curve();
|
|
375
|
+
curve.interpolation = interpolation;
|
|
376
|
+
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
377
|
+
var keyframe3 = new Keyframe();
|
|
378
|
+
keyframe3.time = bufferReader.nextFloat32();
|
|
379
|
+
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
380
|
+
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
381
|
+
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
382
|
+
curve.addKey(keyframe3);
|
|
383
|
+
}
|
|
384
|
+
break;
|
|
385
|
+
}
|
|
386
|
+
case "AnimationVector3Curve":
|
|
387
|
+
{
|
|
388
|
+
curve = new AnimationVector3Curve();
|
|
389
|
+
curve.interpolation = interpolation;
|
|
390
|
+
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
391
|
+
var keyframe4 = new Keyframe();
|
|
392
|
+
keyframe4.time = bufferReader.nextFloat32();
|
|
393
|
+
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
394
|
+
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
395
|
+
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
396
|
+
curve.addKey(keyframe4);
|
|
397
|
+
}
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
case "AnimationVector4Curve":
|
|
401
|
+
{
|
|
402
|
+
curve = new AnimationVector4Curve();
|
|
403
|
+
curve.interpolation = interpolation;
|
|
404
|
+
var keyframe5 = new Keyframe();
|
|
405
|
+
keyframe5.time = bufferReader.nextFloat32();
|
|
406
|
+
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
407
|
+
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
408
|
+
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
409
|
+
curve.addKey(keyframe5);
|
|
410
|
+
break;
|
|
411
|
+
}
|
|
412
|
+
case "AnimationColorCurve":
|
|
413
|
+
{
|
|
414
|
+
curve = new AnimationColorCurve();
|
|
415
|
+
curve.interpolation = interpolation;
|
|
416
|
+
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
417
|
+
var keyframe6 = new Keyframe();
|
|
418
|
+
keyframe6.time = bufferReader.nextFloat32();
|
|
419
|
+
keyframe6.value = new Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
420
|
+
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
421
|
+
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
422
|
+
curve.addKey(keyframe6);
|
|
423
|
+
}
|
|
424
|
+
break;
|
|
425
|
+
}
|
|
426
|
+
case "AnimationQuaternionCurve":
|
|
427
|
+
{
|
|
428
|
+
curve = new AnimationQuaternionCurve();
|
|
429
|
+
curve.interpolation = interpolation;
|
|
430
|
+
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
431
|
+
var keyframe7 = new Keyframe();
|
|
432
|
+
keyframe7.time = bufferReader.nextFloat32();
|
|
433
|
+
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
434
|
+
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
435
|
+
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
436
|
+
curve.addKey(keyframe7);
|
|
437
|
+
}
|
|
438
|
+
break;
|
|
439
|
+
}
|
|
440
|
+
case "AnimationRefCurve":
|
|
441
|
+
{
|
|
442
|
+
curve = new AnimationRefCurve();
|
|
443
|
+
curve.interpolation = interpolation;
|
|
444
|
+
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
445
|
+
var keyframe8 = new Keyframe();
|
|
446
|
+
keyframe8.time = bufferReader.nextFloat32();
|
|
447
|
+
var str = bufferReader.nextStr();
|
|
448
|
+
if (str) {
|
|
449
|
+
keyframe8.value = JSON.parse(str);
|
|
450
|
+
} else {
|
|
451
|
+
keyframe8.value = null;
|
|
452
|
+
}
|
|
453
|
+
curve.addKey(keyframe8);
|
|
454
|
+
}
|
|
455
|
+
break;
|
|
456
|
+
}
|
|
457
|
+
case "AnimationBoolCurve":
|
|
458
|
+
{
|
|
459
|
+
curve = new AnimationBoolCurve();
|
|
460
|
+
curve.interpolation = interpolation;
|
|
461
|
+
for(var j8 = 0; j8 < keysLen; ++j8){
|
|
462
|
+
var keyframe9 = new Keyframe();
|
|
463
|
+
keyframe9.time = bufferReader.nextFloat32();
|
|
464
|
+
keyframe9.value = bufferReader.nextUint8() === 1;
|
|
465
|
+
curve.addKey(keyframe9);
|
|
466
|
+
}
|
|
467
|
+
break;
|
|
468
|
+
}
|
|
469
|
+
case "AnimationStringCurve":
|
|
470
|
+
{
|
|
471
|
+
curve = new AnimationStringCurve();
|
|
472
|
+
curve.interpolation = interpolation;
|
|
473
|
+
for(var j9 = 0; j9 < keysLen; ++j9){
|
|
474
|
+
var keyframe10 = new Keyframe();
|
|
475
|
+
keyframe10.time = bufferReader.nextFloat32();
|
|
476
|
+
keyframe10.value = bufferReader.nextStr();
|
|
477
|
+
curve.addKey(keyframe10);
|
|
478
|
+
}
|
|
479
|
+
break;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
clip.addCurveBinding(relativePath, componentType, property, getProperty, curve);
|
|
483
|
+
}
|
|
484
|
+
resolve(clip);
|
|
485
|
+
});
|
|
486
|
+
};
|
|
487
|
+
return AnimationClipDecoder;
|
|
488
|
+
}();
|
|
489
|
+
AnimationClipDecoder = __decorate([
|
|
490
|
+
decoder("AnimationClip")
|
|
491
|
+
], AnimationClipDecoder);
|
|
492
|
+
|
|
288
493
|
var MeshDecoder = /*#__PURE__*/ function() {
|
|
289
494
|
function MeshDecoder() {}
|
|
290
|
-
MeshDecoder.decode = function decode(engine, bufferReader) {
|
|
495
|
+
MeshDecoder.decode = function decode(engine, bufferReader, restoredMesh) {
|
|
291
496
|
return new AssetPromise(function(resolve) {
|
|
292
|
-
var modelMesh = new ModelMesh(engine);
|
|
497
|
+
var modelMesh = restoredMesh || new ModelMesh(engine);
|
|
293
498
|
var jsonDataString = bufferReader.nextStr();
|
|
294
499
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
295
500
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
@@ -419,82 +624,6 @@ function float32ArrayToVector2(float32Array, vertexCount) {
|
|
|
419
624
|
return array;
|
|
420
625
|
}
|
|
421
626
|
|
|
422
|
-
var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
423
|
-
function Texture2DDecoder() {}
|
|
424
|
-
Texture2DDecoder.decode = function decode(engine, bufferReader) {
|
|
425
|
-
return new AssetPromise(function(resolve, reject) {
|
|
426
|
-
var objectId = bufferReader.nextStr();
|
|
427
|
-
var mipmap = !!bufferReader.nextUint8();
|
|
428
|
-
var filterMode = bufferReader.nextUint8();
|
|
429
|
-
var anisoLevel = bufferReader.nextUint8();
|
|
430
|
-
var wrapModeU = bufferReader.nextUint8();
|
|
431
|
-
var wrapModeV = bufferReader.nextUint8();
|
|
432
|
-
var format = bufferReader.nextUint8();
|
|
433
|
-
var width = bufferReader.nextUint16();
|
|
434
|
-
var height = bufferReader.nextUint16();
|
|
435
|
-
var isPixelBuffer = bufferReader.nextUint8();
|
|
436
|
-
var isSRGBColorSpace = !!bufferReader.nextUint8();
|
|
437
|
-
var mipCount = bufferReader.nextUint8();
|
|
438
|
-
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
439
|
-
var texture2D = new Texture2D(engine, width, height, format, mipmap, isSRGBColorSpace);
|
|
440
|
-
texture2D.filterMode = filterMode;
|
|
441
|
-
texture2D.anisoLevel = anisoLevel;
|
|
442
|
-
texture2D.wrapModeU = wrapModeU;
|
|
443
|
-
texture2D.wrapModeV = wrapModeV;
|
|
444
|
-
if (isPixelBuffer) {
|
|
445
|
-
var pixelBuffer = imagesData[0];
|
|
446
|
-
texture2D.setPixelBuffer(pixelBuffer);
|
|
447
|
-
if (mipmap) {
|
|
448
|
-
texture2D.generateMipmaps();
|
|
449
|
-
for(var i = 1; i < mipCount; i++){
|
|
450
|
-
var pixelBuffer1 = imagesData[i];
|
|
451
|
-
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
// @ts-ignore
|
|
455
|
-
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
456
|
-
resolve(texture2D);
|
|
457
|
-
} else {
|
|
458
|
-
var blob = new window.Blob([
|
|
459
|
-
imagesData[0]
|
|
460
|
-
]);
|
|
461
|
-
var img = new Image();
|
|
462
|
-
img.onload = function() {
|
|
463
|
-
texture2D.setImageSource(img);
|
|
464
|
-
var completedCount = 0;
|
|
465
|
-
var onComplete = function() {
|
|
466
|
-
completedCount++;
|
|
467
|
-
if (completedCount >= mipCount) {
|
|
468
|
-
resolve(texture2D);
|
|
469
|
-
}
|
|
470
|
-
};
|
|
471
|
-
onComplete();
|
|
472
|
-
if (mipmap) {
|
|
473
|
-
var _loop = function(i) {
|
|
474
|
-
var blob = new window.Blob([
|
|
475
|
-
imagesData[i]
|
|
476
|
-
]);
|
|
477
|
-
var img = new Image();
|
|
478
|
-
img.onload = function() {
|
|
479
|
-
texture2D.setImageSource(img, i);
|
|
480
|
-
onComplete();
|
|
481
|
-
};
|
|
482
|
-
img.src = URL.createObjectURL(blob);
|
|
483
|
-
};
|
|
484
|
-
texture2D.generateMipmaps();
|
|
485
|
-
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
486
|
-
}
|
|
487
|
-
};
|
|
488
|
-
img.src = URL.createObjectURL(blob);
|
|
489
|
-
}
|
|
490
|
-
});
|
|
491
|
-
};
|
|
492
|
-
return Texture2DDecoder;
|
|
493
|
-
}();
|
|
494
|
-
Texture2DDecoder = __decorate([
|
|
495
|
-
decoder("Texture2D")
|
|
496
|
-
], Texture2DDecoder);
|
|
497
|
-
|
|
498
627
|
function _is_native_reflect_construct() {
|
|
499
628
|
// Since Reflect.construct can't be properly polyfilled, some
|
|
500
629
|
// implementations (e.g. core-js@2) don't set the correct internal slots.
|
|
@@ -757,249 +886,149 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
757
886
|
this.customParseComponentHandles[componentType] = handle;
|
|
758
887
|
};
|
|
759
888
|
ReflectionParser._isClass = function _isClass(value) {
|
|
760
|
-
return value["class"] !== undefined;
|
|
761
|
-
};
|
|
762
|
-
ReflectionParser._isClassType = function _isClassType(value) {
|
|
763
|
-
return value["classType"] !== undefined;
|
|
764
|
-
};
|
|
765
|
-
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
766
|
-
return value["refId"] !== undefined;
|
|
767
|
-
};
|
|
768
|
-
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
769
|
-
return value["entityId"] !== undefined;
|
|
770
|
-
};
|
|
771
|
-
ReflectionParser._isComponentRef = function _isComponentRef(value) {
|
|
772
|
-
return value["ownerId"] !== undefined && value["componentId"] !== undefined;
|
|
773
|
-
};
|
|
774
|
-
ReflectionParser._isMethodObject = function _isMethodObject(value) {
|
|
775
|
-
return Array.isArray(value == null ? void 0 : value.params);
|
|
776
|
-
};
|
|
777
|
-
return ReflectionParser;
|
|
778
|
-
}();
|
|
779
|
-
ReflectionParser.customParseComponentHandles = new Map();
|
|
780
|
-
|
|
781
|
-
var
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
var
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
var componentStr = bufferReader.nextStr();
|
|
813
|
-
var componentType = Loader.getClass(componentStr);
|
|
814
|
-
var property = bufferReader.nextStr();
|
|
815
|
-
var getProperty = bufferReader.nextStr();
|
|
816
|
-
var curve = void 0;
|
|
817
|
-
var interpolation = bufferReader.nextUint8();
|
|
818
|
-
var keysLen = bufferReader.nextUint16();
|
|
819
|
-
var curveType = bufferReader.nextStr();
|
|
820
|
-
switch(curveType){
|
|
821
|
-
case "AnimationFloatCurve":
|
|
822
|
-
{
|
|
823
|
-
curve = new AnimationFloatCurve();
|
|
824
|
-
curve.interpolation = interpolation;
|
|
825
|
-
for(var j = 0; j < keysLen; ++j){
|
|
826
|
-
var keyframe = new Keyframe();
|
|
827
|
-
keyframe.time = bufferReader.nextFloat32();
|
|
828
|
-
keyframe.value = bufferReader.nextFloat32();
|
|
829
|
-
keyframe.inTangent = bufferReader.nextFloat32();
|
|
830
|
-
keyframe.outTangent = bufferReader.nextFloat32();
|
|
831
|
-
curve.addKey(keyframe);
|
|
832
|
-
}
|
|
833
|
-
break;
|
|
834
|
-
}
|
|
835
|
-
case "AnimationArrayCurve":
|
|
836
|
-
{
|
|
837
|
-
curve = new AnimationArrayCurve();
|
|
838
|
-
curve.interpolation = interpolation;
|
|
839
|
-
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
840
|
-
var keyframe1 = new Keyframe();
|
|
841
|
-
keyframe1.time = bufferReader.nextFloat32();
|
|
842
|
-
var len = bufferReader.nextUint16();
|
|
843
|
-
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
844
|
-
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
845
|
-
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
846
|
-
curve.addKey(keyframe1);
|
|
847
|
-
}
|
|
848
|
-
break;
|
|
849
|
-
}
|
|
850
|
-
case "AnimationFloatArrayCurve":
|
|
851
|
-
{
|
|
852
|
-
curve = new AnimationFloatArrayCurve();
|
|
853
|
-
curve.interpolation = interpolation;
|
|
854
|
-
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
855
|
-
var keyframe2 = new Keyframe();
|
|
856
|
-
keyframe2.time = bufferReader.nextFloat32();
|
|
857
|
-
var len1 = bufferReader.nextUint16();
|
|
858
|
-
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
859
|
-
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
860
|
-
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
861
|
-
curve.addKey(keyframe2);
|
|
862
|
-
}
|
|
863
|
-
break;
|
|
864
|
-
}
|
|
865
|
-
case "AnimationVector2Curve":
|
|
866
|
-
{
|
|
867
|
-
curve = new AnimationVector2Curve();
|
|
868
|
-
curve.interpolation = interpolation;
|
|
869
|
-
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
870
|
-
var keyframe3 = new Keyframe();
|
|
871
|
-
keyframe3.time = bufferReader.nextFloat32();
|
|
872
|
-
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
873
|
-
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
874
|
-
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
875
|
-
curve.addKey(keyframe3);
|
|
876
|
-
}
|
|
877
|
-
break;
|
|
878
|
-
}
|
|
879
|
-
case "AnimationVector3Curve":
|
|
880
|
-
{
|
|
881
|
-
curve = new AnimationVector3Curve();
|
|
882
|
-
curve.interpolation = interpolation;
|
|
883
|
-
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
884
|
-
var keyframe4 = new Keyframe();
|
|
885
|
-
keyframe4.time = bufferReader.nextFloat32();
|
|
886
|
-
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
887
|
-
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
888
|
-
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
889
|
-
curve.addKey(keyframe4);
|
|
890
|
-
}
|
|
891
|
-
break;
|
|
892
|
-
}
|
|
893
|
-
case "AnimationVector4Curve":
|
|
894
|
-
{
|
|
895
|
-
curve = new AnimationVector4Curve();
|
|
896
|
-
curve.interpolation = interpolation;
|
|
897
|
-
var keyframe5 = new Keyframe();
|
|
898
|
-
keyframe5.time = bufferReader.nextFloat32();
|
|
899
|
-
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
900
|
-
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
901
|
-
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
902
|
-
curve.addKey(keyframe5);
|
|
903
|
-
break;
|
|
904
|
-
}
|
|
905
|
-
case "AnimationColorCurve":
|
|
906
|
-
{
|
|
907
|
-
curve = new AnimationColorCurve();
|
|
908
|
-
curve.interpolation = interpolation;
|
|
909
|
-
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
910
|
-
var keyframe6 = new Keyframe();
|
|
911
|
-
keyframe6.time = bufferReader.nextFloat32();
|
|
912
|
-
keyframe6.value = new Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
913
|
-
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
914
|
-
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
915
|
-
curve.addKey(keyframe6);
|
|
916
|
-
}
|
|
917
|
-
break;
|
|
918
|
-
}
|
|
919
|
-
case "AnimationQuaternionCurve":
|
|
920
|
-
{
|
|
921
|
-
curve = new AnimationQuaternionCurve();
|
|
922
|
-
curve.interpolation = interpolation;
|
|
923
|
-
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
924
|
-
var keyframe7 = new Keyframe();
|
|
925
|
-
keyframe7.time = bufferReader.nextFloat32();
|
|
926
|
-
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
927
|
-
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
928
|
-
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
929
|
-
curve.addKey(keyframe7);
|
|
930
|
-
}
|
|
931
|
-
break;
|
|
932
|
-
}
|
|
933
|
-
case "AnimationRefCurve":
|
|
934
|
-
{
|
|
935
|
-
curve = new AnimationRefCurve();
|
|
936
|
-
curve.interpolation = interpolation;
|
|
937
|
-
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
938
|
-
var keyframe8 = new Keyframe();
|
|
939
|
-
keyframe8.time = bufferReader.nextFloat32();
|
|
940
|
-
var str = bufferReader.nextStr();
|
|
941
|
-
if (str) {
|
|
942
|
-
keyframe8.value = JSON.parse(str);
|
|
943
|
-
} else {
|
|
944
|
-
keyframe8.value = null;
|
|
945
|
-
}
|
|
946
|
-
curve.addKey(keyframe8);
|
|
947
|
-
}
|
|
948
|
-
break;
|
|
949
|
-
}
|
|
950
|
-
case "AnimationBoolCurve":
|
|
951
|
-
{
|
|
952
|
-
curve = new AnimationBoolCurve();
|
|
953
|
-
curve.interpolation = interpolation;
|
|
954
|
-
for(var j8 = 0; j8 < keysLen; ++j8){
|
|
955
|
-
var keyframe9 = new Keyframe();
|
|
956
|
-
keyframe9.time = bufferReader.nextFloat32();
|
|
957
|
-
keyframe9.value = bufferReader.nextUint8() === 1;
|
|
958
|
-
curve.addKey(keyframe9);
|
|
959
|
-
}
|
|
960
|
-
break;
|
|
961
|
-
}
|
|
962
|
-
case "AnimationStringCurve":
|
|
963
|
-
{
|
|
964
|
-
curve = new AnimationStringCurve();
|
|
965
|
-
curve.interpolation = interpolation;
|
|
966
|
-
for(var j9 = 0; j9 < keysLen; ++j9){
|
|
967
|
-
var keyframe10 = new Keyframe();
|
|
968
|
-
keyframe10.time = bufferReader.nextFloat32();
|
|
969
|
-
keyframe10.value = bufferReader.nextStr();
|
|
970
|
-
curve.addKey(keyframe10);
|
|
971
|
-
}
|
|
972
|
-
break;
|
|
973
|
-
}
|
|
889
|
+
return value["class"] !== undefined;
|
|
890
|
+
};
|
|
891
|
+
ReflectionParser._isClassType = function _isClassType(value) {
|
|
892
|
+
return value["classType"] !== undefined;
|
|
893
|
+
};
|
|
894
|
+
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
895
|
+
return value["refId"] !== undefined;
|
|
896
|
+
};
|
|
897
|
+
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
898
|
+
return value["entityId"] !== undefined;
|
|
899
|
+
};
|
|
900
|
+
ReflectionParser._isComponentRef = function _isComponentRef(value) {
|
|
901
|
+
return value["ownerId"] !== undefined && value["componentId"] !== undefined;
|
|
902
|
+
};
|
|
903
|
+
ReflectionParser._isMethodObject = function _isMethodObject(value) {
|
|
904
|
+
return Array.isArray(value == null ? void 0 : value.params);
|
|
905
|
+
};
|
|
906
|
+
return ReflectionParser;
|
|
907
|
+
}();
|
|
908
|
+
ReflectionParser.customParseComponentHandles = new Map();
|
|
909
|
+
|
|
910
|
+
var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
911
|
+
function Texture2DDecoder() {}
|
|
912
|
+
Texture2DDecoder.decode = function decode(engine, bufferReader, restoredTexture) {
|
|
913
|
+
return new AssetPromise(function(resolve, reject) {
|
|
914
|
+
var objectId = bufferReader.nextStr();
|
|
915
|
+
var mipmap = !!bufferReader.nextUint8();
|
|
916
|
+
var filterMode = bufferReader.nextUint8();
|
|
917
|
+
var anisoLevel = bufferReader.nextUint8();
|
|
918
|
+
var wrapModeU = bufferReader.nextUint8();
|
|
919
|
+
var wrapModeV = bufferReader.nextUint8();
|
|
920
|
+
var format = bufferReader.nextUint8();
|
|
921
|
+
var width = bufferReader.nextUint16();
|
|
922
|
+
var height = bufferReader.nextUint16();
|
|
923
|
+
var isPixelBuffer = bufferReader.nextUint8();
|
|
924
|
+
var isSRGBColorSpace = !!bufferReader.nextUint8();
|
|
925
|
+
var mipCount = bufferReader.nextUint8();
|
|
926
|
+
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
927
|
+
var texture2D = restoredTexture || new Texture2D(engine, width, height, format, mipmap, isSRGBColorSpace);
|
|
928
|
+
texture2D.filterMode = filterMode;
|
|
929
|
+
texture2D.anisoLevel = anisoLevel;
|
|
930
|
+
texture2D.wrapModeU = wrapModeU;
|
|
931
|
+
texture2D.wrapModeV = wrapModeV;
|
|
932
|
+
if (isPixelBuffer) {
|
|
933
|
+
var pixelBuffer = imagesData[0];
|
|
934
|
+
texture2D.setPixelBuffer(pixelBuffer);
|
|
935
|
+
if (mipmap) {
|
|
936
|
+
texture2D.generateMipmaps();
|
|
937
|
+
for(var i = 1; i < mipCount; i++){
|
|
938
|
+
var pixelBuffer1 = imagesData[i];
|
|
939
|
+
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
940
|
+
}
|
|
974
941
|
}
|
|
975
|
-
|
|
942
|
+
// @ts-ignore
|
|
943
|
+
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
944
|
+
resolve(texture2D);
|
|
945
|
+
} else {
|
|
946
|
+
var blob = new window.Blob([
|
|
947
|
+
imagesData[0]
|
|
948
|
+
]);
|
|
949
|
+
var img = new Image();
|
|
950
|
+
img.onload = function() {
|
|
951
|
+
texture2D.setImageSource(img);
|
|
952
|
+
var completedCount = 0;
|
|
953
|
+
var onComplete = function() {
|
|
954
|
+
completedCount++;
|
|
955
|
+
if (completedCount >= mipCount) {
|
|
956
|
+
resolve(texture2D);
|
|
957
|
+
}
|
|
958
|
+
};
|
|
959
|
+
onComplete();
|
|
960
|
+
if (mipmap) {
|
|
961
|
+
var _loop = function(i) {
|
|
962
|
+
var blob = new window.Blob([
|
|
963
|
+
imagesData[i]
|
|
964
|
+
]);
|
|
965
|
+
var img = new Image();
|
|
966
|
+
img.onload = function() {
|
|
967
|
+
texture2D.setImageSource(img, i);
|
|
968
|
+
onComplete();
|
|
969
|
+
};
|
|
970
|
+
img.src = URL.createObjectURL(blob);
|
|
971
|
+
};
|
|
972
|
+
texture2D.generateMipmaps();
|
|
973
|
+
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
974
|
+
}
|
|
975
|
+
};
|
|
976
|
+
img.src = URL.createObjectURL(blob);
|
|
976
977
|
}
|
|
977
|
-
resolve(clip);
|
|
978
978
|
});
|
|
979
979
|
};
|
|
980
|
-
return
|
|
980
|
+
return Texture2DDecoder;
|
|
981
981
|
}();
|
|
982
|
-
|
|
983
|
-
decoder("
|
|
984
|
-
],
|
|
985
|
-
|
|
986
|
-
var MaterialLoaderType = /*#__PURE__*/ function(MaterialLoaderType) {
|
|
987
|
-
MaterialLoaderType["Vector2"] = "Vector2";
|
|
988
|
-
MaterialLoaderType["Vector3"] = "Vector3";
|
|
989
|
-
MaterialLoaderType["Vector4"] = "Vector4";
|
|
990
|
-
MaterialLoaderType["Color"] = "Color";
|
|
991
|
-
MaterialLoaderType["Float"] = "Float";
|
|
992
|
-
MaterialLoaderType["Texture"] = "Texture";
|
|
993
|
-
MaterialLoaderType["Boolean"] = "Boolean";
|
|
994
|
-
MaterialLoaderType["Integer"] = "Integer";
|
|
995
|
-
return MaterialLoaderType;
|
|
996
|
-
}({});
|
|
982
|
+
Texture2DDecoder = __decorate([
|
|
983
|
+
decoder("Texture2D")
|
|
984
|
+
], Texture2DDecoder);
|
|
997
985
|
|
|
998
|
-
var
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
}
|
|
986
|
+
var EditorTextureLoader = /*#__PURE__*/ function(Loader) {
|
|
987
|
+
_inherits(EditorTextureLoader, Loader);
|
|
988
|
+
function EditorTextureLoader() {
|
|
989
|
+
return Loader.apply(this, arguments) || this;
|
|
990
|
+
}
|
|
991
|
+
var _proto = EditorTextureLoader.prototype;
|
|
992
|
+
_proto.load = function load(item, resourceManager) {
|
|
993
|
+
var requestConfig = _extends({}, item, {
|
|
994
|
+
type: "arraybuffer"
|
|
995
|
+
});
|
|
996
|
+
var url = item.url;
|
|
997
|
+
return new AssetPromise(function(resolve, reject) {
|
|
998
|
+
resourceManager// @ts-ignore
|
|
999
|
+
._request(url, requestConfig).then(function(data) {
|
|
1000
|
+
decode(data, resourceManager.engine).then(function(texture) {
|
|
1001
|
+
resourceManager.addContentRestorer(new EditorTexture2DContentRestorer(texture, url, requestConfig));
|
|
1002
|
+
resolve(texture);
|
|
1003
|
+
});
|
|
1004
|
+
}).catch(reject);
|
|
1005
|
+
});
|
|
1006
|
+
};
|
|
1007
|
+
return EditorTextureLoader;
|
|
1008
|
+
}(Loader);
|
|
1009
|
+
EditorTextureLoader = __decorate([
|
|
1010
|
+
resourceLoader("EditorTexture2D", [
|
|
1011
|
+
"prefab"
|
|
1012
|
+
], true)
|
|
1013
|
+
], EditorTextureLoader);
|
|
1014
|
+
var EditorTexture2DContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
1015
|
+
_inherits(EditorTexture2DContentRestorer, ContentRestorer);
|
|
1016
|
+
function EditorTexture2DContentRestorer(resource, url, requestConfig) {
|
|
1017
|
+
var _this;
|
|
1018
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
1019
|
+
return _this;
|
|
1020
|
+
}
|
|
1021
|
+
var _proto = EditorTexture2DContentRestorer.prototype;
|
|
1022
|
+
_proto.restoreContent = function restoreContent() {
|
|
1023
|
+
var texture = this.resource;
|
|
1024
|
+
var engine = texture.engine;
|
|
1025
|
+
return engine.resourceManager// @ts-ignore
|
|
1026
|
+
._request(this.url, this.requestConfig).then(function(data) {
|
|
1027
|
+
return decode(data, engine, texture);
|
|
1028
|
+
});
|
|
1029
|
+
};
|
|
1030
|
+
return EditorTexture2DContentRestorer;
|
|
1031
|
+
}(ContentRestorer);
|
|
1003
1032
|
|
|
1004
1033
|
function _instanceof(left, right) {
|
|
1005
1034
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
@@ -1414,31 +1443,23 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
1414
1443
|
return SceneParser;
|
|
1415
1444
|
}(HierarchyParser);
|
|
1416
1445
|
|
|
1417
|
-
var
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
};
|
|
1435
|
-
return EditorTextureLoader;
|
|
1436
|
-
}(Loader);
|
|
1437
|
-
EditorTextureLoader = __decorate([
|
|
1438
|
-
resourceLoader("EditorTexture2D", [
|
|
1439
|
-
"prefab"
|
|
1440
|
-
], true)
|
|
1441
|
-
], EditorTextureLoader);
|
|
1446
|
+
var MaterialLoaderType = /*#__PURE__*/ function(MaterialLoaderType) {
|
|
1447
|
+
MaterialLoaderType["Vector2"] = "Vector2";
|
|
1448
|
+
MaterialLoaderType["Vector3"] = "Vector3";
|
|
1449
|
+
MaterialLoaderType["Vector4"] = "Vector4";
|
|
1450
|
+
MaterialLoaderType["Color"] = "Color";
|
|
1451
|
+
MaterialLoaderType["Float"] = "Float";
|
|
1452
|
+
MaterialLoaderType["Texture"] = "Texture";
|
|
1453
|
+
MaterialLoaderType["Boolean"] = "Boolean";
|
|
1454
|
+
MaterialLoaderType["Integer"] = "Integer";
|
|
1455
|
+
return MaterialLoaderType;
|
|
1456
|
+
}({});
|
|
1457
|
+
|
|
1458
|
+
var SpecularMode = /*#__PURE__*/ function(SpecularMode) {
|
|
1459
|
+
SpecularMode["Sky"] = "Sky";
|
|
1460
|
+
SpecularMode["Custom"] = "Custom";
|
|
1461
|
+
return SpecularMode;
|
|
1462
|
+
}({});
|
|
1442
1463
|
|
|
1443
1464
|
/**
|
|
1444
1465
|
* Decode engine binary resource.
|
|
@@ -1446,9 +1467,16 @@ EditorTextureLoader = __decorate([
|
|
|
1446
1467
|
* @param engine - engine
|
|
1447
1468
|
* @returns
|
|
1448
1469
|
*/ function decode(arrayBuffer, engine) {
|
|
1470
|
+
for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
1471
|
+
args[_key - 2] = arguments[_key];
|
|
1472
|
+
}
|
|
1473
|
+
var _decoderMap_header_type;
|
|
1449
1474
|
var header = FileHeader.decode(arrayBuffer);
|
|
1450
1475
|
var bufferReader = new BufferReader(new Uint8Array(arrayBuffer), header.headerLength, header.dataLength);
|
|
1451
|
-
return decoderMap[header.type].decode(
|
|
1476
|
+
return (_decoderMap_header_type = decoderMap[header.type]).decode.apply(_decoderMap_header_type, [].concat([
|
|
1477
|
+
engine,
|
|
1478
|
+
bufferReader
|
|
1479
|
+
], args)).then(function(object) {
|
|
1452
1480
|
object.name = header.name;
|
|
1453
1481
|
return object;
|
|
1454
1482
|
});
|
|
@@ -1664,10 +1692,11 @@ var EnvLoader = /*#__PURE__*/ function(Loader) {
|
|
|
1664
1692
|
type: "arraybuffer"
|
|
1665
1693
|
});
|
|
1666
1694
|
var engine = resourceManager.engine;
|
|
1695
|
+
var url = item.url;
|
|
1667
1696
|
resourceManager// @ts-ignore
|
|
1668
|
-
._request(
|
|
1697
|
+
._request(url, requestConfig).then(function(arraybuffer) {
|
|
1669
1698
|
var texture = EnvLoader._setTextureByBuffer(engine, arraybuffer);
|
|
1670
|
-
engine.resourceManager.addContentRestorer(new EnvContentRestorer(texture,
|
|
1699
|
+
engine.resourceManager.addContentRestorer(new EnvContentRestorer(texture, url, requestConfig));
|
|
1671
1700
|
var ambientLight = new AmbientLight(engine);
|
|
1672
1701
|
var sh = new SphericalHarmonics3();
|
|
1673
1702
|
ambientLight.diffuseMode = DiffuseMode.SphericalHarmonics;
|
|
@@ -1722,9 +1751,12 @@ EnvLoader = __decorate([
|
|
|
1722
1751
|
_proto.restoreContent = function restoreContent() {
|
|
1723
1752
|
var _this = this;
|
|
1724
1753
|
return new AssetPromise(function(resolve, reject) {
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1754
|
+
var resource = _this.resource;
|
|
1755
|
+
var engine = resource.engine;
|
|
1756
|
+
engine.resourceManager// @ts-ignore
|
|
1757
|
+
._request(_this.url, _this.requestConfig).then(function(buffer) {
|
|
1758
|
+
EnvLoader._setTextureByBuffer(engine, buffer, resource);
|
|
1759
|
+
resolve(resource);
|
|
1728
1760
|
}).catch(reject);
|
|
1729
1761
|
});
|
|
1730
1762
|
};
|
|
@@ -3608,15 +3640,20 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3608
3640
|
* @internal
|
|
3609
3641
|
*/ _proto.load = function load(item, resourceManager) {
|
|
3610
3642
|
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
3611
|
-
|
|
3612
|
-
._request(item.url, {
|
|
3643
|
+
var requestConfig = _extends({}, item, {
|
|
3613
3644
|
type: "arraybuffer"
|
|
3614
|
-
})
|
|
3645
|
+
});
|
|
3646
|
+
var url = item.url;
|
|
3647
|
+
resourceManager// @ts-ignore
|
|
3648
|
+
._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
|
|
3615
3649
|
return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
3616
3650
|
var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3617
3651
|
return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
|
|
3652
|
+
}).then(function(texture) {
|
|
3653
|
+
resourceManager.addContentRestorer(new KTX2ContentRestorer(texture, url, requestConfig));
|
|
3654
|
+
resolve(texture);
|
|
3618
3655
|
});
|
|
3619
|
-
}).
|
|
3656
|
+
}).catch(reject);
|
|
3620
3657
|
});
|
|
3621
3658
|
};
|
|
3622
3659
|
/**
|
|
@@ -3656,7 +3693,7 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3656
3693
|
};
|
|
3657
3694
|
});
|
|
3658
3695
|
};
|
|
3659
|
-
/** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, isSRGB, transcodeResult, targetFormat, params) {
|
|
3696
|
+
/** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, isSRGB, transcodeResult, targetFormat, params, restoredTexture) {
|
|
3660
3697
|
var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
|
|
3661
3698
|
var faceCount = faces.length;
|
|
3662
3699
|
var mipmaps = faces[0];
|
|
@@ -3664,13 +3701,13 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3664
3701
|
var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
|
|
3665
3702
|
var texture;
|
|
3666
3703
|
if (faceCount !== 6) {
|
|
3667
|
-
texture = new Texture2D(engine, width, height, engineFormat, mipmap, isSRGB);
|
|
3704
|
+
texture = restoredTexture || new Texture2D(engine, width, height, engineFormat, mipmap, isSRGB);
|
|
3668
3705
|
for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
|
|
3669
3706
|
var data = mipmaps[mipLevel].data;
|
|
3670
3707
|
texture.setPixelBuffer(data, mipLevel);
|
|
3671
3708
|
}
|
|
3672
3709
|
} else {
|
|
3673
|
-
texture = new TextureCube(engine, height, engineFormat, mipmap, isSRGB);
|
|
3710
|
+
texture = restoredTexture || new TextureCube(engine, height, engineFormat, mipmap, isSRGB);
|
|
3674
3711
|
for(var i = 0; i < faces.length; i++){
|
|
3675
3712
|
var faceData = faces[i];
|
|
3676
3713
|
for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
|
|
@@ -3800,6 +3837,30 @@ KTX2Loader = __decorate([
|
|
|
3800
3837
|
"ktx2"
|
|
3801
3838
|
])
|
|
3802
3839
|
], KTX2Loader);
|
|
3840
|
+
var KTX2ContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
3841
|
+
_inherits(KTX2ContentRestorer, ContentRestorer);
|
|
3842
|
+
function KTX2ContentRestorer(resource, url, requestConfig) {
|
|
3843
|
+
var _this;
|
|
3844
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
3845
|
+
return _this;
|
|
3846
|
+
}
|
|
3847
|
+
var _proto = KTX2ContentRestorer.prototype;
|
|
3848
|
+
_proto.restoreContent = function restoreContent() {
|
|
3849
|
+
var _this = this;
|
|
3850
|
+
var _this1 = this, resource = _this1.resource, requestConfig = _this1.requestConfig;
|
|
3851
|
+
var engine = resource.engine;
|
|
3852
|
+
return new AssetPromise(function(resolve, reject) {
|
|
3853
|
+
engine.resourceManager// @ts-ignore
|
|
3854
|
+
._request(_this.url, requestConfig).then(function(buffer) {
|
|
3855
|
+
return KTX2Loader._parseBuffer(new Uint8Array(buffer), engine, requestConfig.params).then(function(param) {
|
|
3856
|
+
var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3857
|
+
return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params, resource);
|
|
3858
|
+
});
|
|
3859
|
+
}).then(resolve).catch(reject);
|
|
3860
|
+
});
|
|
3861
|
+
};
|
|
3862
|
+
return KTX2ContentRestorer;
|
|
3863
|
+
}(ContentRestorer);
|
|
3803
3864
|
/** Used for initialize KTX2 transcoder. */ var KTX2Transcoder = /*#__PURE__*/ function(KTX2Transcoder) {
|
|
3804
3865
|
/** BinomialLLC transcoder. */ KTX2Transcoder[KTX2Transcoder["BinomialLLC"] = 0] = "BinomialLLC";
|
|
3805
3866
|
/** Khronos transcoder. */ KTX2Transcoder[KTX2Transcoder["Khronos"] = 1] = "Khronos";
|
|
@@ -4513,7 +4574,7 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4513
4574
|
if (pbrMetallicRoughness) {
|
|
4514
4575
|
var baseColorFactor = pbrMetallicRoughness.baseColorFactor, baseColorTexture = pbrMetallicRoughness.baseColorTexture, metallicFactor = pbrMetallicRoughness.metallicFactor, roughnessFactor = pbrMetallicRoughness.roughnessFactor, metallicRoughnessTexture = pbrMetallicRoughness.metallicRoughnessTexture;
|
|
4515
4576
|
if (baseColorFactor) {
|
|
4516
|
-
material.baseColor
|
|
4577
|
+
material.baseColor.copyFromArray(baseColorFactor);
|
|
4517
4578
|
}
|
|
4518
4579
|
if (baseColorTexture) {
|
|
4519
4580
|
context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
|
|
@@ -4546,7 +4607,7 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4546
4607
|
});
|
|
4547
4608
|
}
|
|
4548
4609
|
if (emissiveFactor) {
|
|
4549
|
-
material.emissiveColor
|
|
4610
|
+
material.emissiveColor.set(emissiveFactor[0], emissiveFactor[1], emissiveFactor[2], 1.0);
|
|
4550
4611
|
}
|
|
4551
4612
|
if (normalTexture) {
|
|
4552
4613
|
var index = normalTexture.index, scale = normalTexture.scale;
|
|
@@ -5398,10 +5459,11 @@ var HDRLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5398
5459
|
var requestConfig = _extends({}, item, {
|
|
5399
5460
|
type: "arraybuffer"
|
|
5400
5461
|
});
|
|
5462
|
+
var url = item.url;
|
|
5401
5463
|
resourceManager// @ts-ignore
|
|
5402
|
-
._request(
|
|
5464
|
+
._request(url, requestConfig).then(function(buffer) {
|
|
5403
5465
|
var texture = HDRLoader._setTextureByBuffer(engine, buffer);
|
|
5404
|
-
engine.resourceManager.addContentRestorer(new HDRContentRestorer(texture,
|
|
5466
|
+
engine.resourceManager.addContentRestorer(new HDRContentRestorer(texture, url, requestConfig));
|
|
5405
5467
|
resolve(texture);
|
|
5406
5468
|
}).catch(reject);
|
|
5407
5469
|
});
|
|
@@ -5706,9 +5768,12 @@ HDRLoader = __decorate([
|
|
|
5706
5768
|
_proto.restoreContent = function restoreContent() {
|
|
5707
5769
|
var _this = this;
|
|
5708
5770
|
return new AssetPromise(function(resolve, reject) {
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
|
|
5771
|
+
var resource = _this.resource;
|
|
5772
|
+
var engine = resource.engine;
|
|
5773
|
+
engine.resourceManager// @ts-ignore
|
|
5774
|
+
._request(_this.url, _this.requestConfig).then(function(buffer) {
|
|
5775
|
+
HDRLoader._setTextureByBuffer(engine, buffer, resource);
|
|
5776
|
+
resolve(resource);
|
|
5712
5777
|
}).catch(reject);
|
|
5713
5778
|
});
|
|
5714
5779
|
};
|
|
@@ -5964,11 +6029,12 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5964
6029
|
}
|
|
5965
6030
|
var _proto = KTXLoader.prototype;
|
|
5966
6031
|
_proto.load = function load(item, resourceManager) {
|
|
6032
|
+
var requestConfig = _extends({}, item, {
|
|
6033
|
+
type: "arraybuffer"
|
|
6034
|
+
});
|
|
5967
6035
|
return new AssetPromise(function(resolve, reject) {
|
|
5968
6036
|
resourceManager// @ts-ignore
|
|
5969
|
-
._request(item.url,
|
|
5970
|
-
type: "arraybuffer"
|
|
5971
|
-
})).then(function(bin) {
|
|
6037
|
+
._request(item.url, requestConfig).then(function(bin) {
|
|
5972
6038
|
var parsedData = parseSingleKTX(bin);
|
|
5973
6039
|
var width = parsedData.width, height = parsedData.height, mipmaps = parsedData.mipmaps, engineFormat = parsedData.engineFormat;
|
|
5974
6040
|
var mipmap = mipmaps.length > 1;
|
|
@@ -5977,6 +6043,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5977
6043
|
var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5978
6044
|
texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
|
|
5979
6045
|
}
|
|
6046
|
+
resourceManager.addContentRestorer(new KTXContentRestorer(texture, item.url, requestConfig));
|
|
5980
6047
|
resolve(texture);
|
|
5981
6048
|
}).catch(function(e) {
|
|
5982
6049
|
reject(e);
|
|
@@ -5990,6 +6057,34 @@ KTXLoader = __decorate([
|
|
|
5990
6057
|
"ktx"
|
|
5991
6058
|
])
|
|
5992
6059
|
], KTXLoader);
|
|
6060
|
+
var KTXContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
6061
|
+
_inherits(KTXContentRestorer, ContentRestorer);
|
|
6062
|
+
function KTXContentRestorer(resource, url, requestConfig) {
|
|
6063
|
+
var _this;
|
|
6064
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
6065
|
+
return _this;
|
|
6066
|
+
}
|
|
6067
|
+
var _proto = KTXContentRestorer.prototype;
|
|
6068
|
+
_proto.restoreContent = function restoreContent() {
|
|
6069
|
+
var _this = this;
|
|
6070
|
+
var resource = this.resource;
|
|
6071
|
+
var engine = resource.engine;
|
|
6072
|
+
return new AssetPromise(function(resolve, reject) {
|
|
6073
|
+
engine.resourceManager// @ts-ignore
|
|
6074
|
+
._request(_this.url, _this.requestConfig).then(function(bin) {
|
|
6075
|
+
var mipmaps = parseSingleKTX(bin).mipmaps;
|
|
6076
|
+
for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
|
|
6077
|
+
var _mipmaps_miplevel = mipmaps[miplevel], width = _mipmaps_miplevel.width, height = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
6078
|
+
resource.setPixelBuffer(data, miplevel, 0, 0, width, height);
|
|
6079
|
+
}
|
|
6080
|
+
resolve(resource);
|
|
6081
|
+
}).catch(function(e) {
|
|
6082
|
+
reject(e);
|
|
6083
|
+
});
|
|
6084
|
+
});
|
|
6085
|
+
};
|
|
6086
|
+
return KTXContentRestorer;
|
|
6087
|
+
}(ContentRestorer);
|
|
5993
6088
|
|
|
5994
6089
|
function parseProperty(object, key, value) {
|
|
5995
6090
|
if ((typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
|
|
@@ -6094,13 +6189,16 @@ var MeshLoader = /*#__PURE__*/ function(Loader) {
|
|
|
6094
6189
|
}
|
|
6095
6190
|
var _proto = MeshLoader.prototype;
|
|
6096
6191
|
_proto.load = function load(item, resourceManager) {
|
|
6192
|
+
var requestConfig = _extends({}, item, {
|
|
6193
|
+
type: "arraybuffer"
|
|
6194
|
+
});
|
|
6195
|
+
var url = item.url;
|
|
6097
6196
|
return new AssetPromise(function(resolve, reject) {
|
|
6098
6197
|
resourceManager// @ts-ignore
|
|
6099
|
-
._request(
|
|
6100
|
-
type: "arraybuffer"
|
|
6101
|
-
})).then(function(data) {
|
|
6198
|
+
._request(url, requestConfig).then(function(data) {
|
|
6102
6199
|
return decode(data, resourceManager.engine);
|
|
6103
6200
|
}).then(function(mesh) {
|
|
6201
|
+
resourceManager.addContentRestorer(new MeshContentRestorer(mesh, url, requestConfig));
|
|
6104
6202
|
resolve(mesh);
|
|
6105
6203
|
}).catch(reject);
|
|
6106
6204
|
});
|
|
@@ -6112,6 +6210,29 @@ MeshLoader = __decorate([
|
|
|
6112
6210
|
"mesh"
|
|
6113
6211
|
])
|
|
6114
6212
|
], MeshLoader);
|
|
6213
|
+
var MeshContentRestorer = /*#__PURE__*/ function(ContentRestorer) {
|
|
6214
|
+
_inherits(MeshContentRestorer, ContentRestorer);
|
|
6215
|
+
function MeshContentRestorer(resource, url, requestConfig) {
|
|
6216
|
+
var _this;
|
|
6217
|
+
_this = ContentRestorer.call(this, resource) || this, _this.url = url, _this.requestConfig = requestConfig;
|
|
6218
|
+
return _this;
|
|
6219
|
+
}
|
|
6220
|
+
var _proto = MeshContentRestorer.prototype;
|
|
6221
|
+
_proto.restoreContent = function restoreContent() {
|
|
6222
|
+
var _this = this;
|
|
6223
|
+
var resource = this.resource;
|
|
6224
|
+
var engine = resource.engine;
|
|
6225
|
+
return new AssetPromise(function(resolve, reject) {
|
|
6226
|
+
engine.resourceManager// @ts-ignore
|
|
6227
|
+
._request(_this.url, _this.requestConfig).then(function(data) {
|
|
6228
|
+
return decode(data, engine, resource);
|
|
6229
|
+
}).then(function(mesh) {
|
|
6230
|
+
resolve(mesh);
|
|
6231
|
+
}).catch(reject);
|
|
6232
|
+
});
|
|
6233
|
+
};
|
|
6234
|
+
return MeshContentRestorer;
|
|
6235
|
+
}(ContentRestorer);
|
|
6115
6236
|
|
|
6116
6237
|
var PrimitiveMeshLoader = /*#__PURE__*/ function(Loader) {
|
|
6117
6238
|
_inherits(PrimitiveMeshLoader, Loader);
|
|
@@ -6837,9 +6958,8 @@ var KHR_lights_punctual = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6837
6958
|
light = entity.addComponent(SpotLight);
|
|
6838
6959
|
}
|
|
6839
6960
|
if (color) {
|
|
6840
|
-
light.color.set(color[0], color[1], color[2], 1);
|
|
6961
|
+
light.color.set(color[0] * intensity, color[1] * intensity, color[2] * intensity, 1);
|
|
6841
6962
|
}
|
|
6842
|
-
light.intensity = intensity;
|
|
6843
6963
|
if (range && !_instanceof(light, DirectLight)) {
|
|
6844
6964
|
light.distance = range;
|
|
6845
6965
|
}
|
|
@@ -6925,7 +7045,7 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
|
|
|
6925
7045
|
var material = new PBRSpecularMaterial(engine);
|
|
6926
7046
|
var diffuseFactor = schema.diffuseFactor, diffuseTexture = schema.diffuseTexture, specularFactor = schema.specularFactor, glossinessFactor = schema.glossinessFactor, specularGlossinessTexture = schema.specularGlossinessTexture;
|
|
6927
7047
|
if (diffuseFactor) {
|
|
6928
|
-
material.baseColor
|
|
7048
|
+
material.baseColor.copyFromArray(diffuseFactor);
|
|
6929
7049
|
}
|
|
6930
7050
|
if (diffuseTexture) {
|
|
6931
7051
|
context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
|
|
@@ -6936,7 +7056,7 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
|
|
|
6936
7056
|
});
|
|
6937
7057
|
}
|
|
6938
7058
|
if (specularFactor) {
|
|
6939
|
-
material.specularColor
|
|
7059
|
+
material.specularColor.set(specularFactor[0], specularFactor[1], specularFactor[2], 1.0);
|
|
6940
7060
|
}
|
|
6941
7061
|
if (glossinessFactor !== undefined) {
|
|
6942
7062
|
material.glossiness = glossinessFactor;
|
|
@@ -6968,7 +7088,7 @@ var KHR_materials_sheen = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6968
7088
|
_proto.additiveParse = function additiveParse(context, material, schema) {
|
|
6969
7089
|
var sheenColorFactor = schema.sheenColorFactor, sheenColorTexture = schema.sheenColorTexture, _schema_sheenRoughnessFactor = schema.sheenRoughnessFactor, sheenRoughnessFactor = _schema_sheenRoughnessFactor === void 0 ? 0 : _schema_sheenRoughnessFactor, sheenRoughnessTexture = schema.sheenRoughnessTexture;
|
|
6970
7090
|
if (sheenColorFactor) {
|
|
6971
|
-
material.sheenColor.set(
|
|
7091
|
+
material.sheenColor.set(sheenColorFactor[0], sheenColorFactor[1], sheenColorFactor[2], undefined);
|
|
6972
7092
|
}
|
|
6973
7093
|
material.sheenRoughness = sheenRoughnessFactor;
|
|
6974
7094
|
if (sheenColorTexture) {
|
|
@@ -7083,7 +7203,7 @@ var KHR_materials_volume = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7083
7203
|
material.thickness = thicknessFactor;
|
|
7084
7204
|
material.attenuationDistance = attenuationDistance;
|
|
7085
7205
|
if (attenuationColor) {
|
|
7086
|
-
material.attenuationColor.set(
|
|
7206
|
+
material.attenuationColor.set(attenuationColor[0], attenuationColor[1], attenuationColor[2], undefined);
|
|
7087
7207
|
}
|
|
7088
7208
|
if (thicknessTexture) {
|
|
7089
7209
|
GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
|