@galacean/engine 1.2.0-beta.0 → 1.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -11760,6 +11760,7 @@
11760
11760
  this._isContentLost = false;
11761
11761
  };
11762
11762
  _proto._onDestroy = function _onDestroy() {
11763
+ GraphicsResource1.prototype._onDestroy.call(this);
11763
11764
  this._platformPrimitive.destroy();
11764
11765
  this._vertexElementMap = null;
11765
11766
  };
@@ -40472,114 +40473,68 @@
40472
40473
  };
40473
40474
  GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
40474
40475
  var componentType = accessor.componentType;
40475
- var _accessor_bufferView;
40476
- var bufferViewIndex = (_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0;
40477
- var bufferView = bufferViews[bufferViewIndex];
40478
- return context.get(exports.GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
40479
- var bufferIndex = bufferView.buffer;
40480
- var _bufferViewData_byteOffset;
40481
- var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
40482
- var _accessor_byteOffset;
40483
- var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
40484
- var TypedArray = GLTFUtils.getComponentType(componentType);
40485
- var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
40486
- var dataElementBytes = TypedArray.BYTES_PER_ELEMENT;
40487
- var elementStride = dataElementSize * dataElementBytes;
40488
- var accessorCount = accessor.count;
40489
- var bufferStride = bufferView.byteStride;
40490
- var bufferInfo;
40491
- // According to the glTF official documentation only byteStride not undefined is allowed
40492
- if (bufferStride !== undefined && bufferStride !== elementStride) {
40493
- var bufferSlice = Math.floor(byteOffset / bufferStride);
40494
- var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
40495
- var accessorBufferCache = context.accessorBufferCache;
40496
- bufferInfo = accessorBufferCache[bufferCacheKey];
40497
- if (!bufferInfo) {
40498
- var offset = bufferByteOffset + bufferSlice * bufferStride;
40499
- var count = accessorCount * (bufferStride / dataElementBytes);
40500
- var data = new TypedArray(bufferViewData.buffer, offset, count);
40501
- accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
40502
- bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
40476
+ var TypedArray = GLTFUtils.getComponentType(componentType);
40477
+ var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
40478
+ var dataElementBytes = TypedArray.BYTES_PER_ELEMENT;
40479
+ var elementStride = dataElementSize * dataElementBytes;
40480
+ var accessorCount = accessor.count;
40481
+ var promise;
40482
+ if (accessor.bufferView !== undefined) {
40483
+ var bufferViewIndex = accessor.bufferView;
40484
+ var bufferView = bufferViews[bufferViewIndex];
40485
+ promise = context.get(exports.GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
40486
+ var bufferIndex = bufferView.buffer;
40487
+ var _bufferViewData_byteOffset;
40488
+ var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
40489
+ var _accessor_byteOffset;
40490
+ var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
40491
+ var bufferStride = bufferView.byteStride;
40492
+ var bufferInfo;
40493
+ // According to the glTF official documentation only byteStride not undefined is allowed
40494
+ if (bufferStride !== undefined && bufferStride !== elementStride) {
40495
+ var bufferSlice = Math.floor(byteOffset / bufferStride);
40496
+ var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
40497
+ var accessorBufferCache = context.accessorBufferCache;
40498
+ bufferInfo = accessorBufferCache[bufferCacheKey];
40499
+ if (!bufferInfo) {
40500
+ var offset = bufferByteOffset + bufferSlice * bufferStride;
40501
+ var count = accessorCount * (bufferStride / dataElementBytes);
40502
+ var data = new TypedArray(bufferViewData.buffer, offset, count);
40503
+ accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
40504
+ bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
40505
+ }
40506
+ } else {
40507
+ var offset1 = bufferByteOffset + byteOffset;
40508
+ var count1 = accessorCount * dataElementSize;
40509
+ var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
40510
+ bufferInfo = new BufferInfo(data1, false, elementStride);
40511
+ bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
40503
40512
  }
40504
- } else {
40505
- var offset1 = bufferByteOffset + byteOffset;
40506
- var count1 = accessorCount * dataElementSize;
40507
- var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
40508
- bufferInfo = new BufferInfo(data1, false, elementStride);
40509
- bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
40510
- }
40511
- if (accessor.sparse) {
40512
- return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
40513
- return bufferInfo;
40514
- });
40515
- }
40516
- return bufferInfo;
40517
- });
40513
+ return bufferInfo;
40514
+ });
40515
+ } else {
40516
+ var count = accessorCount * dataElementSize;
40517
+ var data = new TypedArray(count);
40518
+ var bufferInfo = new BufferInfo(data, false, elementStride);
40519
+ bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
40520
+ promise = Promise.resolve(bufferInfo);
40521
+ }
40522
+ return accessor.sparse ? promise.then(function(bufferInfo) {
40523
+ return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
40524
+ return bufferInfo;
40525
+ });
40526
+ }) : promise;
40518
40527
  };
40519
- GLTFUtils.bufferToVector3Array = function bufferToVector3Array(data, byteStride, accessorByteOffset, count) {
40520
- var bytesPerElement = data.BYTES_PER_ELEMENT;
40521
- var offset = accessorByteOffset % byteStride / bytesPerElement;
40522
- var stride = byteStride / bytesPerElement;
40523
- var vector3s = new Array(count);
40528
+ GLTFUtils.bufferToVector3Array = function bufferToVector3Array(buffer, byteOffset, count, normalized, componentType) {
40529
+ var baseOffset = byteOffset / buffer.BYTES_PER_ELEMENT;
40530
+ var stride = buffer.length / count;
40531
+ var vertices = new Array(count);
40532
+ var factor = normalized ? GLTFUtils.getNormalizedComponentScale(componentType) : 1;
40524
40533
  for(var i = 0; i < count; i++){
40525
- var index = offset + i * stride;
40526
- vector3s[i] = new Vector3(data[index], data[index + 1], data[index + 2]);
40534
+ var index = baseOffset + i * stride;
40535
+ vertices[i] = new Vector3(buffer[index] * factor, buffer[index + 1] * factor, buffer[index + 2] * factor);
40527
40536
  }
40528
- return vector3s;
40529
- };
40530
- /**
40531
- * @deprecated
40532
- * Get accessor data.
40533
- */ GLTFUtils.getAccessorData = function getAccessorData(glTF, accessor, buffers) {
40534
- var bufferViews = glTF.bufferViews;
40535
- var _accessor_bufferView;
40536
- var bufferView = bufferViews[(_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0];
40537
- var arrayBuffer = buffers[bufferView.buffer];
40538
- var accessorByteOffset = accessor.hasOwnProperty("byteOffset") ? accessor.byteOffset : 0;
40539
- var bufferViewByteOffset = bufferView.hasOwnProperty("byteOffset") ? bufferView.byteOffset : 0;
40540
- var byteOffset = accessorByteOffset + bufferViewByteOffset;
40541
- var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
40542
- var length = accessorTypeSize * accessor.count;
40543
- var _bufferView_byteStride;
40544
- var byteStride = (_bufferView_byteStride = bufferView.byteStride) != null ? _bufferView_byteStride : 0;
40545
- var arrayType = GLTFUtils.getComponentType(accessor.componentType);
40546
- var uint8Array;
40547
- if (byteStride) {
40548
- var accessorByteSize = accessorTypeSize * arrayType.BYTES_PER_ELEMENT;
40549
- uint8Array = new Uint8Array(accessor.count * accessorByteSize);
40550
- var originalBufferView = new Uint8Array(arrayBuffer, bufferViewByteOffset, bufferView.byteLength);
40551
- for(var i = 0; i < accessor.count; i++){
40552
- for(var j = 0; j < accessorByteSize; j++){
40553
- uint8Array[i * accessorByteSize + j] = originalBufferView[i * byteStride + accessorByteOffset + j];
40554
- }
40555
- }
40556
- } else {
40557
- uint8Array = new Uint8Array(arrayBuffer.slice(byteOffset, byteOffset + length * arrayType.BYTES_PER_ELEMENT));
40558
- }
40559
- var typedArray = new arrayType(uint8Array.buffer);
40560
- if (accessor.sparse) {
40561
- var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
40562
- var indicesBufferView = bufferViews[indices.bufferView];
40563
- var valuesBufferView = bufferViews[values.bufferView];
40564
- var indicesArrayBuffer = buffers[indicesBufferView.buffer];
40565
- var valuesArrayBuffer = buffers[valuesBufferView.buffer];
40566
- var _indices_byteOffset, _indicesBufferView_byteOffset;
40567
- var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesBufferView_byteOffset = indicesBufferView.byteOffset) != null ? _indicesBufferView_byteOffset : 0);
40568
- var indicesByteLength = indicesBufferView.byteLength;
40569
- var _values_byteOffset, _valuesBufferView_byteOffset;
40570
- var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesBufferView_byteOffset = valuesBufferView.byteOffset) != null ? _valuesBufferView_byteOffset : 0);
40571
- var valuesByteLength = valuesBufferView.byteLength;
40572
- var indicesType = GLTFUtils.getComponentType(indices.componentType);
40573
- var indicesArray = new indicesType(indicesArrayBuffer, indicesByteOffset, indicesByteLength / indicesType.BYTES_PER_ELEMENT);
40574
- var valuesArray = new arrayType(valuesArrayBuffer, valuesByteOffset, valuesByteLength / arrayType.BYTES_PER_ELEMENT);
40575
- for(var i1 = 0; i1 < count; i1++){
40576
- var replaceIndex = indicesArray[i1];
40577
- for(var j1 = 0; j1 < accessorTypeSize; j1++){
40578
- typedArray[replaceIndex * accessorTypeSize + j1] = valuesArray[i1 * accessorTypeSize + j1];
40579
- }
40580
- }
40581
- }
40582
- return typedArray;
40537
+ return vertices;
40583
40538
  };
40584
40539
  GLTFUtils.getBufferViewData = function getBufferViewData(bufferView, buffers) {
40585
40540
  var _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset;
@@ -41883,16 +41838,16 @@
41883
41838
  var frame = restoreInfo.blendShape.frames[0];
41884
41839
  var position = restoreInfo.position;
41885
41840
  var positionData = _this._getBufferData(buffers, position.buffer);
41886
- frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.stride, position.byteOffset, position.count);
41841
+ frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.byteOffset, position.count, position.normalized, position.componentType);
41887
41842
  if (restoreInfo.normal) {
41888
41843
  var normal = restoreInfo.normal;
41889
41844
  var normalData = _this._getBufferData(buffers, normal.buffer);
41890
- frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.stride, normal.byteOffset, normal.count);
41845
+ frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.byteOffset, normal.count, normal.normalized, normal.componentType);
41891
41846
  }
41892
41847
  if (restoreInfo.tangent) {
41893
41848
  var tangent = restoreInfo.tangent;
41894
41849
  var tangentData = _this._getBufferData(buffers, tangent.buffer);
41895
- frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.stride, tangent.byteOffset, tangent.count);
41850
+ frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.byteOffset, tangent.count, tangent.normalized, tangent.componentType);
41896
41851
  }
41897
41852
  }
41898
41853
  mesh.uploadData(true);
@@ -41904,8 +41859,13 @@
41904
41859
  };
41905
41860
  _proto._getBufferData = function _getBufferData(buffers, restoreInfo) {
41906
41861
  var main = restoreInfo.main;
41907
- var buffer = buffers[main.bufferIndex];
41908
- var data = new main.TypedArray(buffer, main.byteOffset, main.length);
41862
+ var data;
41863
+ if (main) {
41864
+ var buffer = buffers[main.bufferIndex];
41865
+ data = new main.TypedArray(buffer, main.byteOffset, main.length);
41866
+ } else {
41867
+ data = new main.TypedArray(main.length);
41868
+ }
41909
41869
  var sparseCount = restoreInfo.sparseCount;
41910
41870
  if (sparseCount) {
41911
41871
  var sparseIndex = restoreInfo.sparseIndices;
@@ -41978,11 +41938,12 @@
41978
41938
  };
41979
41939
  /**
41980
41940
  * @internal
41981
- */ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer, stride, byteOffset, count) {
41941
+ */ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer, byteOffset, count, normalized, componentType) {
41982
41942
  this.buffer = buffer;
41983
- this.stride = stride;
41984
41943
  this.byteOffset = byteOffset;
41985
41944
  this.count = count;
41945
+ this.normalized = normalized;
41946
+ this.componentType = componentType;
41986
41947
  };
41987
41948
  /**
41988
41949
  * Base class of glTF extension parser.
@@ -42599,23 +42560,7 @@
42599
42560
  var meshRestoreInfo = new ModelMeshRestoreInfo();
42600
42561
  meshRestoreInfo.mesh = mesh1;
42601
42562
  context.contentRestorer.meshes.push(meshRestoreInfo);
42602
- exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, function(attributeSemantic) {
42603
- return null;
42604
- }, function(attributeName, shapeIndex) {
42605
- var shapeAccessorIdx = gltfPrimitive.targets[shapeIndex];
42606
- var attributeAccessorIdx = shapeAccessorIdx[attributeName];
42607
- if (attributeAccessorIdx) {
42608
- var accessor = glTF.accessors[attributeAccessorIdx];
42609
- return GLTFUtils.getAccessorBuffer(context, context.glTF.bufferViews, accessor);
42610
- } else {
42611
- return null;
42612
- }
42613
- }, function() {
42614
- var indexAccessor = glTF.accessors[gltfPrimitive.indices];
42615
- return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
42616
- return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
42617
- });
42618
- }, context.params.keepMeshData).then(resolve);
42563
+ exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
42619
42564
  }
42620
42565
  });
42621
42566
  };
@@ -42628,7 +42573,7 @@
42628
42573
  };
42629
42574
  /**
42630
42575
  * @internal
42631
- */ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
42576
+ */ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, keepMeshData) {
42632
42577
  var _loop = function _loop(attribute) {
42633
42578
  var accessor = accessors[attributes[attribute]];
42634
42579
  var promise = GLTFUtils.getAccessorBuffer(context, gltf.bufferViews, accessor).then(function(accessorBuffer) {
@@ -42723,61 +42668,68 @@
42723
42668
  }
42724
42669
  // BlendShapes
42725
42670
  if (targets) {
42726
- promises.push(exports.GLTFMeshParser._createBlendShape(mesh, meshRestoreInfo, gltfMesh, accessors, targets, getBlendShapeData));
42671
+ promises.push(exports.GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets));
42727
42672
  }
42728
42673
  return Promise.all(promises).then(function() {
42729
42674
  mesh.uploadData(!keepMeshData);
42730
- return Promise.resolve(mesh);
42675
+ return mesh;
42731
42676
  });
42732
42677
  });
42733
42678
  };
42679
+ GLTFMeshParser1._getBlendShapeData = function _getBlendShapeData(context, glTF, accessor) {
42680
+ return GLTFUtils.getAccessorBuffer(context, glTF.bufferViews, accessor).then(function(bufferInfo) {
42681
+ var buffer = bufferInfo.data;
42682
+ var _accessor_byteOffset;
42683
+ var byteOffset = bufferInfo.interleaved ? ((_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0) % bufferInfo.stride : 0;
42684
+ var count = accessor.count, normalized = accessor.normalized, componentType = accessor.componentType;
42685
+ var vertices = GLTFUtils.bufferToVector3Array(buffer, byteOffset, count, normalized, componentType);
42686
+ var restoreInfo = new BlendShapeDataRestoreInfo(bufferInfo.restoreInfo, byteOffset, count, normalized, componentType);
42687
+ return {
42688
+ vertices: vertices,
42689
+ restoreInfo: restoreInfo
42690
+ };
42691
+ });
42692
+ };
42734
42693
  /**
42735
42694
  * @internal
42736
- */ GLTFMeshParser1._createBlendShape = function _createBlendShape(mesh, meshRestoreInfo, glTFMesh, accessors, glTFTargets, getBlendShapeData) {
42737
- var _loop = function _loop(i, n) {
42695
+ */ GLTFMeshParser1._createBlendShape = function _createBlendShape(context, mesh, meshRestoreInfo, glTFMesh, gltfPrimitive, glTFTargets) {
42696
+ var _this = this, _loop = function _loop(i) {
42697
+ var blendShapeData = {};
42698
+ blendShapeCollection[i] = blendShapeData;
42738
42699
  var name = blendShapeNames ? blendShapeNames[i] : "blendShape" + i;
42700
+ var targets = gltfPrimitive.targets[i];
42701
+ var normalTarget = targets["NORMAL"];
42702
+ var tangentTarget = targets["TANGENT"];
42703
+ var hasNormal = normalTarget !== undefined;
42704
+ var hasTangent = tangentTarget !== undefined;
42739
42705
  var promise = Promise.all([
42740
- getBlendShapeData("POSITION", i),
42741
- getBlendShapeData("NORMAL", i),
42742
- getBlendShapeData("TANGENT", i)
42743
- ]).then(function(infos) {
42744
- var posBufferInfo = infos[0];
42745
- var norBufferInfo = infos[1];
42746
- var tanBufferInfo = infos[2];
42747
- var target = glTFTargets[i];
42748
- var posAccessor;
42749
- var norAccessor;
42750
- var tanAccessor;
42751
- var positions = null;
42752
- if (posBufferInfo) {
42753
- posAccessor = accessors[target["POSITION"]];
42754
- var _posAccessor_byteOffset;
42755
- positions = GLTFUtils.bufferToVector3Array(posBufferInfo.data, posBufferInfo.stride, (_posAccessor_byteOffset = posAccessor.byteOffset) != null ? _posAccessor_byteOffset : 0, posAccessor.count);
42756
- }
42757
- var normals = null;
42758
- if (norBufferInfo) {
42759
- norAccessor = accessors[target["NORMAL"]];
42760
- var _norAccessor_byteOffset;
42761
- normals = GLTFUtils.bufferToVector3Array(norBufferInfo.data, norBufferInfo.stride, (_norAccessor_byteOffset = norAccessor.byteOffset) != null ? _norAccessor_byteOffset : 0, norAccessor.count);
42762
- }
42763
- var tangents = null;
42764
- if (tanBufferInfo) {
42765
- tanAccessor = accessors[target["NORMAL"]];
42766
- var _tanAccessor_byteOffset;
42767
- tangents = GLTFUtils.bufferToVector3Array(tanBufferInfo.data, tanBufferInfo.stride, (_tanAccessor_byteOffset = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset : 0, tanAccessor.count);
42768
- }
42706
+ _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
42707
+ hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
42708
+ hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
42709
+ ]).then(function(vertices) {
42710
+ var _tangentData;
42711
+ var positionData = vertices[0], normalData = vertices[1], tangentData = vertices[2];
42769
42712
  var blendShape = new BlendShape(name);
42770
- blendShape.addFrame(1.0, positions, normals, tangents);
42771
- mesh.addBlendShape(blendShape);
42772
- var _posAccessor_byteOffset1, _norAccessor_byteOffset1, _tanAccessor_byteOffset1;
42773
- meshRestoreInfo.blendShapes.push(new BlendShapeRestoreInfo(blendShape, new BlendShapeDataRestoreInfo(posBufferInfo.restoreInfo, posBufferInfo.stride, (_posAccessor_byteOffset1 = posAccessor.byteOffset) != null ? _posAccessor_byteOffset1 : 0, posAccessor.count), norBufferInfo ? new BlendShapeDataRestoreInfo(norBufferInfo.restoreInfo, norBufferInfo.stride, (_norAccessor_byteOffset1 = norAccessor.byteOffset) != null ? _norAccessor_byteOffset1 : 0, norAccessor.count) : null, tanBufferInfo ? new BlendShapeDataRestoreInfo(tanBufferInfo.restoreInfo, tanBufferInfo.stride, (_tanAccessor_byteOffset1 = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset1 : 0, tanAccessor.count) : null));
42713
+ blendShape.addFrame(1.0, positionData.vertices, hasNormal ? normalData.vertices : null, hasTangent ? tangentData.vertices : null);
42714
+ blendShapeData.blendShape = blendShape;
42715
+ blendShapeData.restoreInfo = new BlendShapeRestoreInfo(blendShape, positionData.restoreInfo, hasNormal ? normalData.restoreInfo : null, hasTangent ? (_tangentData = tangentData) == null ? void 0 : _tangentData.restoreInfo : null);
42774
42716
  });
42775
42717
  promises.push(promise);
42776
42718
  };
42719
+ var glTF = context.glTF;
42720
+ var accessors = glTF.accessors;
42777
42721
  var blendShapeNames = glTFMesh.extras ? glTFMesh.extras.targetNames : null;
42778
42722
  var promises = new Array();
42779
- for(var i = 0, n = glTFTargets.length; i < n; i++)_loop(i);
42780
- return Promise.all(promises);
42723
+ var blendShapeCount = glTFTargets.length;
42724
+ var blendShapeCollection = new Array(blendShapeCount);
42725
+ for(var i = 0; i < blendShapeCount; i++)_loop(i);
42726
+ return Promise.all(promises).then(function() {
42727
+ for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
42728
+ var blendShape = _step.value;
42729
+ mesh.addBlendShape(blendShape.blendShape);
42730
+ meshRestoreInfo.blendShapes.push(blendShape.restoreInfo);
42731
+ }
42732
+ });
42781
42733
  };
42782
42734
  return GLTFMeshParser1;
42783
42735
  }(GLTFParser), function() {
@@ -44989,7 +44941,7 @@
44989
44941
  ], KHR_materials_anisotropy);
44990
44942
 
44991
44943
  //@ts-ignore
44992
- var version = "1.2.0-beta.0";
44944
+ var version = "1.2.0-beta.1";
44993
44945
  console.log("Galacean engine version: " + version);
44994
44946
  for(var key in CoreObjects){
44995
44947
  Loader.registerClass(key, CoreObjects[key]);