@galacean/engine-physics-physx 0.9.0 → 0.9.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.
@@ -26229,21 +26229,31 @@ var MeshParser = /*#__PURE__*/ function(Parser1) {
26229
26229
  var vertexCount;
26230
26230
  var bufferBindIndex = 0;
26231
26231
  var positions;
26232
- keepMeshData && (positions = new Array(vertexCount));
26232
+ var boneIndices;
26233
+ var boneWeights;
26234
+ if (keepMeshData) {
26235
+ positions = new Array(vertexCount);
26236
+ boneIndices = new Array(vertexCount);
26237
+ boneWeights = new Array(vertexCount);
26238
+ }
26233
26239
  for(var attribute in attributes){
26234
26240
  var accessor = accessors[attributes[attribute]];
26235
26241
  var accessorBuffer = GLTFUtil.getAccessorBuffer(context, gltf, accessor);
26236
- var dataElmentSize = GLTFUtil.getAccessorTypeSize(accessor.type);
26237
- var attributeCount = accessor.count;
26242
+ var dataElementSize = GLTFUtil.getAccessorTypeSize(accessor.type);
26243
+ var accessorCount = accessor.count;
26238
26244
  var vertices = accessorBuffer.data;
26239
26245
  var vertexElement = void 0;
26240
26246
  var meshId = mesh.instanceId;
26241
26247
  var vertexBindingInfos = accessorBuffer.vertexBindingInfos;
26242
- var elementFormat = GLTFUtil.getElementFormat(accessor.componentType, dataElmentSize, accessor.normalized);
26248
+ var elementNormalized = accessor.normalized;
26249
+ var elementFormat = GLTFUtil.getElementFormat(accessor.componentType, dataElementSize, elementNormalized);
26250
+ var scaleFactor = void 0;
26251
+ elementNormalized && (scaleFactor = GLTFUtil.getNormalizedComponentScale(accessor.componentType));
26252
+ var elementOffset = void 0;
26243
26253
  if (accessorBuffer.interleaved) {
26244
26254
  var byteOffset = accessor.byteOffset || 0;
26245
26255
  var stride = accessorBuffer.stride;
26246
- var elementOffset = byteOffset % stride;
26256
+ elementOffset = byteOffset % stride;
26247
26257
  if (vertexBindingInfos[meshId] === undefined) {
26248
26258
  vertexElement = new miniprogram$5.VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
26249
26259
  var vertexBuffer = accessorBuffer.vertexBuffer;
@@ -26258,7 +26268,8 @@ var MeshParser = /*#__PURE__*/ function(Parser1) {
26258
26268
  vertexElement = new miniprogram$5.VertexElement(attribute, elementOffset, elementFormat, vertexBindingInfos[meshId]);
26259
26269
  }
26260
26270
  } else {
26261
- vertexElement = new miniprogram$5.VertexElement(attribute, 0, elementFormat, bufferBindIndex);
26271
+ elementOffset = 0;
26272
+ vertexElement = new miniprogram$5.VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
26262
26273
  var vertexBuffer1 = new miniprogram$5.Buffer(engine, miniprogram$5.BufferBindFlag.VertexBuffer, vertices.byteLength, miniprogram$5.BufferUsage.Static);
26263
26274
  vertexBuffer1.setData(vertices);
26264
26275
  mesh.setVertexBufferBinding(vertexBuffer1, accessorBuffer.stride, bufferBindIndex);
@@ -26266,35 +26277,60 @@ var MeshParser = /*#__PURE__*/ function(Parser1) {
26266
26277
  }
26267
26278
  vertexElements.push(vertexElement);
26268
26279
  if (attribute === "POSITION") {
26269
- vertexCount = attributeCount;
26280
+ vertexCount = accessorCount;
26270
26281
  var _mesh_bounds = mesh.bounds, min = _mesh_bounds.min, max = _mesh_bounds.max;
26271
26282
  if (accessor.min && accessor.max) {
26272
26283
  min.copyFromArray(accessor.min);
26273
26284
  max.copyFromArray(accessor.max);
26274
26285
  if (keepMeshData) {
26275
- var stride1 = vertices.length / attributeCount;
26276
- for(var j = 0; j < attributeCount; j++){
26277
- var offset = j * stride1;
26278
- positions[j] = new miniprogram$1$2.Vector3(vertices[offset], vertices[offset + 1], vertices[offset + 2]);
26286
+ var baseOffset = elementOffset / vertices.BYTES_PER_ELEMENT;
26287
+ var stride1 = vertices.length / accessorCount;
26288
+ for(var j = 0; j < accessorCount; j++){
26289
+ var offset = baseOffset + j * stride1;
26290
+ var position = new miniprogram$1$2.Vector3(vertices[offset], vertices[offset + 1], vertices[offset + 2]);
26291
+ elementNormalized && position.scale(scaleFactor);
26292
+ positions[j] = position;
26279
26293
  }
26280
26294
  }
26281
26295
  } else {
26282
- var position = MeshParser._tempVector3;
26296
+ var position1 = MeshParser._tempVector3;
26283
26297
  min.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
26284
26298
  max.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
26285
- var stride2 = vertices.length / attributeCount;
26286
- for(var j1 = 0; j1 < attributeCount; j1++){
26287
- var offset1 = j1 * stride2;
26288
- position.copyFromArray(vertices, offset1);
26289
- miniprogram$1$2.Vector3.min(min, position, min);
26290
- miniprogram$1$2.Vector3.max(max, position, max);
26291
- keepMeshData && (positions[j1] = position.clone());
26299
+ var baseOffset1 = elementOffset / vertices.BYTES_PER_ELEMENT;
26300
+ var stride2 = vertices.length / accessorCount;
26301
+ for(var j1 = 0; j1 < accessorCount; j1++){
26302
+ var offset1 = baseOffset1 + j1 * stride2;
26303
+ position1.copyFromArray(vertices, offset1);
26304
+ miniprogram$1$2.Vector3.min(min, position1, min);
26305
+ miniprogram$1$2.Vector3.max(max, position1, max);
26306
+ if (keepMeshData) {
26307
+ var clonePosition = position1.clone();
26308
+ elementNormalized && clonePosition.scale(scaleFactor);
26309
+ positions[j1] = clonePosition;
26310
+ }
26292
26311
  }
26293
26312
  }
26294
- if (accessor.normalized) {
26295
- var sacleFactor = GLTFUtil.getNormalizedComponentScale(accessor.componentType);
26296
- min.scale(sacleFactor);
26297
- max.scale(sacleFactor);
26313
+ if (elementNormalized) {
26314
+ min.scale(scaleFactor);
26315
+ max.scale(scaleFactor);
26316
+ }
26317
+ } else if (attribute === "JOINTS_0" && keepMeshData) {
26318
+ var baseOffset2 = elementOffset / vertices.BYTES_PER_ELEMENT;
26319
+ var stride3 = vertices.length / accessorCount;
26320
+ for(var j2 = 0; j2 < accessorCount; j2++){
26321
+ var offset2 = baseOffset2 + j2 * stride3;
26322
+ var boneIndex = new miniprogram$1$2.Vector4(vertices[offset2], vertices[offset2 + 1], vertices[offset2 + 2], vertices[offset2 + 3]);
26323
+ elementNormalized && boneIndex.scale(scaleFactor);
26324
+ boneIndices[j2] = boneIndex;
26325
+ }
26326
+ } else if (attribute === "WEIGHTS_0" && keepMeshData) {
26327
+ var baseOffset3 = elementOffset / vertices.BYTES_PER_ELEMENT;
26328
+ var stride4 = vertices.length / accessorCount;
26329
+ for(var j3 = 0; j3 < accessorCount; j3++){
26330
+ var offset3 = baseOffset3 + j3 * stride4;
26331
+ var boneWeight = new miniprogram$1$2.Vector4(vertices[offset3], vertices[offset3 + 1], vertices[offset3 + 2], vertices[offset3 + 3]);
26332
+ elementNormalized && boneWeight.scale(scaleFactor);
26333
+ boneWeights[j3] = boneWeight;
26298
26334
  }
26299
26335
  }
26300
26336
  }
@@ -26313,6 +26349,10 @@ var MeshParser = /*#__PURE__*/ function(Parser1) {
26313
26349
  mesh.uploadData(!keepMeshData);
26314
26350
  //@ts-ignore
26315
26351
  mesh._positions = positions;
26352
+ //@ts-ignore
26353
+ mesh._boneIndices = boneIndices;
26354
+ //@ts-ignore
26355
+ mesh._boneWeights = boneWeights;
26316
26356
  return Promise.resolve(mesh);
26317
26357
  };
26318
26358
  _proto._createBlendShape = function _createBlendShape(mesh, glTFMesh, glTFTargets, getBlendShapeData) {
@@ -35604,7 +35644,7 @@ function _interopNamespace(e) {
35604
35644
  }
35605
35645
  var CoreObjects__namespace = /*#__PURE__*/ _interopNamespace(CoreObjects);
35606
35646
  //@ts-ignore
35607
- var version = "0.9.0";
35647
+ var version = "0.9.1";
35608
35648
  console.log("Galacean engine version: " + version);
35609
35649
  for(var key in CoreObjects__namespace){
35610
35650
  CoreObjects.Loader.registerClass(key, CoreObjects__namespace[key]);