@galacean/engine-loader 1.1.0-beta.9 → 1.1.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 +314 -222
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +314 -222
- package/dist/module.js +315 -223
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
- package/types/GLTFLoader.d.ts +1 -0
- package/types/PrimitiveMeshLoader.d.ts +1 -0
- package/types/Texture2DLoader.d.ts +9 -1
- package/types/gltf/GLTFUtils.d.ts +4 -3
- package/types/gltf/extensions/EXT_meshopt_compression.d.ts +13 -0
- package/types/gltf/extensions/KHR_materials_anisotropy.d.ts +1 -0
- package/types/gltf/extensions/MeshoptDecoder.d.ts +8 -0
- package/types/gltf/parser/GLTFBufferViewParser.d.ts +5 -0
- package/types/gltf/parser/GLTFParserContext.d.ts +4 -2
- package/types/gltf/parser/GLTFSceneParser.d.ts +0 -1
- package/types/gltf/parser/GLTFSchemaParser.d.ts +0 -1
- package/types/index.d.ts +1 -1
- package/types/ktx2/KTX2Loader.d.ts +16 -5
- package/types/resource-deserialize/resources/parser/HierarchyParser.d.ts +36 -0
- package/types/resource-deserialize/resources/parser/ParserContext.d.ts +29 -0
- package/types/resource-deserialize/resources/parser/ReflectionParser.d.ts +1 -1
- package/types/resource-deserialize/resources/prefab/PrefabParser.d.ts +13 -4
- package/types/resource-deserialize/resources/prefab/PrefabParserContext.d.ts +5 -0
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +2 -0
- package/types/resource-deserialize/resources/schema/MaterialSchema.d.ts +1 -1
- package/types/resource-deserialize/resources/schema/SceneSchema.d.ts +3 -1
- package/types/resource-deserialize/utils/BufferReader.d.ts +1 -1
package/dist/main.js
CHANGED
|
@@ -120,116 +120,116 @@ var BufferReader = /*#__PURE__*/ function() {
|
|
|
120
120
|
this.data = data;
|
|
121
121
|
this._dataView = new DataView(data.buffer, data.byteOffset + byteOffset, byteLength != null ? byteLength : data.byteLength - byteOffset);
|
|
122
122
|
this._littleEndian = littleEndian;
|
|
123
|
-
this.
|
|
123
|
+
this._position = 0;
|
|
124
124
|
this._baseOffset = byteOffset;
|
|
125
125
|
}
|
|
126
126
|
var _proto = BufferReader.prototype;
|
|
127
127
|
_proto.nextUint8 = function nextUint8() {
|
|
128
|
-
var value = this._dataView.getUint8(this.
|
|
129
|
-
this.
|
|
128
|
+
var value = this._dataView.getUint8(this._position);
|
|
129
|
+
this._position += 1;
|
|
130
130
|
return value;
|
|
131
131
|
};
|
|
132
132
|
_proto.nextUint16 = function nextUint16() {
|
|
133
|
-
var value = this._dataView.getUint16(this.
|
|
134
|
-
this.
|
|
133
|
+
var value = this._dataView.getUint16(this._position, this._littleEndian);
|
|
134
|
+
this._position += 2;
|
|
135
135
|
return value;
|
|
136
136
|
};
|
|
137
137
|
_proto.nextUint32 = function nextUint32() {
|
|
138
|
-
var value = this._dataView.getUint32(this.
|
|
139
|
-
this.
|
|
138
|
+
var value = this._dataView.getUint32(this._position, this._littleEndian);
|
|
139
|
+
this._position += 4;
|
|
140
140
|
return value;
|
|
141
141
|
};
|
|
142
142
|
_proto.nextInt32 = function nextInt32() {
|
|
143
|
-
var value = this._dataView.getInt32(this.
|
|
144
|
-
this.
|
|
143
|
+
var value = this._dataView.getInt32(this._position, this._littleEndian);
|
|
144
|
+
this._position += 4;
|
|
145
145
|
return value;
|
|
146
146
|
};
|
|
147
147
|
_proto.nextInt32Array = function nextInt32Array(len) {
|
|
148
|
-
var value = new Int32Array(this.data.buffer, this.
|
|
149
|
-
this.
|
|
148
|
+
var value = new Int32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
149
|
+
this._position += 4 * len;
|
|
150
150
|
return value;
|
|
151
151
|
};
|
|
152
152
|
_proto.nextFloat32 = function nextFloat32() {
|
|
153
|
-
var value = this._dataView.getFloat32(this.
|
|
154
|
-
this.
|
|
153
|
+
var value = this._dataView.getFloat32(this._position, this._littleEndian);
|
|
154
|
+
this._position += 4;
|
|
155
155
|
return value;
|
|
156
156
|
};
|
|
157
157
|
_proto.nextFloat32Array = function nextFloat32Array(len) {
|
|
158
|
-
var value = new Float32Array(this.data.buffer, this.
|
|
159
|
-
this.
|
|
158
|
+
var value = new Float32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
159
|
+
this._position += 4 * len;
|
|
160
160
|
return value;
|
|
161
161
|
};
|
|
162
162
|
_proto.nextUint32Array = function nextUint32Array(len) {
|
|
163
|
-
var value = new Uint32Array(this.data.buffer, this.
|
|
164
|
-
this.
|
|
163
|
+
var value = new Uint32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
164
|
+
this._position += 4 * len;
|
|
165
165
|
return value;
|
|
166
166
|
};
|
|
167
167
|
_proto.nextUint8Array = function nextUint8Array(len) {
|
|
168
|
-
var value = new Uint8Array(this.data.buffer, this.
|
|
169
|
-
this.
|
|
168
|
+
var value = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
169
|
+
this._position += len;
|
|
170
170
|
return value;
|
|
171
171
|
};
|
|
172
172
|
_proto.nextUint64 = function nextUint64() {
|
|
173
|
-
var left = this._dataView.getUint32(this.
|
|
174
|
-
var right = this._dataView.getUint32(this.
|
|
173
|
+
var left = this._dataView.getUint32(this._position, this._littleEndian);
|
|
174
|
+
var right = this._dataView.getUint32(this._position + 4, this._littleEndian);
|
|
175
175
|
var value = left + Math.pow(2, 32) * right;
|
|
176
|
-
this.
|
|
176
|
+
this._position += 8;
|
|
177
177
|
return value;
|
|
178
178
|
};
|
|
179
179
|
_proto.nextStr = function nextStr() {
|
|
180
180
|
var strByteLength = this.nextUint16();
|
|
181
|
-
var uint8Array = new Uint8Array(this.data.buffer, this.
|
|
182
|
-
this.
|
|
181
|
+
var uint8Array = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, strByteLength);
|
|
182
|
+
this._position += strByteLength;
|
|
183
183
|
return engineCore.Utils.decodeText(uint8Array);
|
|
184
184
|
};
|
|
185
185
|
/**
|
|
186
186
|
* image data 放在最后
|
|
187
187
|
*/ _proto.nextImageData = function nextImageData(count) {
|
|
188
|
-
return new Uint8Array(this.data.buffer, this.data.byteOffset + this.
|
|
188
|
+
return new Uint8Array(this.data.buffer, this.data.byteOffset + this._position);
|
|
189
189
|
};
|
|
190
190
|
_proto.nextImagesData = function nextImagesData(count) {
|
|
191
191
|
var imagesLen = new Array(count);
|
|
192
192
|
// Start offset of Uint32Array should be a multiple of 4. ref: https://stackoverflow.com/questions/15417310/why-typed-array-constructors-require-offset-to-be-multiple-of-underlying-type-si
|
|
193
193
|
for(var i = 0; i < count; i++){
|
|
194
|
-
var len = this._dataView.getUint32(this.
|
|
194
|
+
var len = this._dataView.getUint32(this._position, this._littleEndian);
|
|
195
195
|
imagesLen[i] = len;
|
|
196
|
-
this.
|
|
196
|
+
this._position += 4;
|
|
197
197
|
}
|
|
198
198
|
var imagesData = [];
|
|
199
199
|
for(var i1 = 0; i1 < count; i1++){
|
|
200
200
|
var len1 = imagesLen[i1];
|
|
201
|
-
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this.
|
|
202
|
-
this.
|
|
201
|
+
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this._position, len1);
|
|
202
|
+
this._position += len1;
|
|
203
203
|
imagesData.push(buffer);
|
|
204
204
|
}
|
|
205
205
|
return imagesData;
|
|
206
206
|
};
|
|
207
207
|
_proto.skip = function skip(bytes) {
|
|
208
|
-
this.
|
|
208
|
+
this._position += bytes;
|
|
209
209
|
return this;
|
|
210
210
|
};
|
|
211
211
|
_proto.scan = function scan(maxByteLength, term) {
|
|
212
212
|
if (term === void 0) term = 0x00;
|
|
213
|
-
var byteOffset = this.
|
|
213
|
+
var byteOffset = this._position;
|
|
214
214
|
var byteLength = 0;
|
|
215
|
-
while(this._dataView.getUint8(this.
|
|
215
|
+
while(this._dataView.getUint8(this._position) !== term && byteLength < maxByteLength){
|
|
216
216
|
byteLength++;
|
|
217
|
-
this.
|
|
217
|
+
this._position++;
|
|
218
218
|
}
|
|
219
|
-
if (byteLength < maxByteLength) this.
|
|
219
|
+
if (byteLength < maxByteLength) this._position++;
|
|
220
220
|
return new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + byteOffset, byteLength);
|
|
221
221
|
};
|
|
222
222
|
_create_class(BufferReader, [
|
|
223
223
|
{
|
|
224
224
|
key: "position",
|
|
225
225
|
get: function get() {
|
|
226
|
-
return this.
|
|
226
|
+
return this._position;
|
|
227
227
|
}
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
230
|
key: "offset",
|
|
231
231
|
get: function get() {
|
|
232
|
-
return this.
|
|
232
|
+
return this._position + this._baseOffset;
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
]);
|
|
@@ -293,75 +293,74 @@ exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
|
293
293
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
294
294
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
295
295
|
encodedMeshData.bounds && modelMesh.bounds.copyFrom(encodedMeshData.bounds);
|
|
296
|
-
var offset = Math.ceil(bufferReader.offset / 4) * 4;
|
|
296
|
+
var offset = Math.ceil(bufferReader.offset / 4) * 4 + bufferReader.data.byteOffset;
|
|
297
297
|
var buffer = bufferReader.data.buffer;
|
|
298
|
-
var
|
|
299
|
-
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset + byteOffset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
298
|
+
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
300
299
|
var vertexCount = float32Array.length / 3;
|
|
301
300
|
var positions = float32ArrayToVector3(float32Array, vertexCount);
|
|
302
301
|
modelMesh.setPositions(positions);
|
|
303
302
|
if (encodedMeshData.normals) {
|
|
304
|
-
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset
|
|
303
|
+
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset, (encodedMeshData.normals.end - encodedMeshData.normals.start) / 4);
|
|
305
304
|
var normals = float32ArrayToVector3(float32Array1, vertexCount);
|
|
306
305
|
modelMesh.setNormals(normals);
|
|
307
306
|
}
|
|
308
307
|
if (encodedMeshData.uvs) {
|
|
309
|
-
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset
|
|
308
|
+
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset, (encodedMeshData.uvs.end - encodedMeshData.uvs.start) / 4);
|
|
310
309
|
modelMesh.setUVs(float32ArrayToVector2(float32Array2, vertexCount));
|
|
311
310
|
}
|
|
312
311
|
if (encodedMeshData.uv1) {
|
|
313
|
-
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset
|
|
312
|
+
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset, (encodedMeshData.uv1.end - encodedMeshData.uv1.start) / 4);
|
|
314
313
|
modelMesh.setUVs(float32ArrayToVector2(float32Array3, vertexCount), 1);
|
|
315
314
|
}
|
|
316
315
|
if (encodedMeshData.uv2) {
|
|
317
|
-
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset
|
|
316
|
+
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset, (encodedMeshData.uv2.end - encodedMeshData.uv2.start) / 4);
|
|
318
317
|
modelMesh.setUVs(float32ArrayToVector2(float32Array4, vertexCount), 2);
|
|
319
318
|
}
|
|
320
319
|
if (encodedMeshData.uv3) {
|
|
321
|
-
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset
|
|
320
|
+
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset, (encodedMeshData.uv3.end - encodedMeshData.uv3.start) / 4);
|
|
322
321
|
modelMesh.setUVs(float32ArrayToVector2(float32Array5, vertexCount), 3);
|
|
323
322
|
}
|
|
324
323
|
if (encodedMeshData.uv4) {
|
|
325
|
-
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset
|
|
324
|
+
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset, (encodedMeshData.uv4.end - encodedMeshData.uv4.start) / 4);
|
|
326
325
|
modelMesh.setUVs(float32ArrayToVector2(float32Array6, vertexCount), 4);
|
|
327
326
|
}
|
|
328
327
|
if (encodedMeshData.uv5) {
|
|
329
|
-
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset
|
|
328
|
+
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset, (encodedMeshData.uv5.end - encodedMeshData.uv5.start) / 4);
|
|
330
329
|
modelMesh.setUVs(float32ArrayToVector2(float32Array7, vertexCount), 5);
|
|
331
330
|
}
|
|
332
331
|
if (encodedMeshData.uv6) {
|
|
333
|
-
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset
|
|
332
|
+
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset, (encodedMeshData.uv6.end - encodedMeshData.uv6.start) / 4);
|
|
334
333
|
modelMesh.setUVs(float32ArrayToVector2(float32Array8, vertexCount), 6);
|
|
335
334
|
}
|
|
336
335
|
if (encodedMeshData.uv7) {
|
|
337
|
-
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset
|
|
336
|
+
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset, (encodedMeshData.uv7.end - encodedMeshData.uv7.start) / 4);
|
|
338
337
|
modelMesh.setUVs(float32ArrayToVector2(float32Array9, vertexCount), 7);
|
|
339
338
|
}
|
|
340
339
|
if (encodedMeshData.colors) {
|
|
341
|
-
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset
|
|
340
|
+
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset, (encodedMeshData.colors.end - encodedMeshData.colors.start) / 4);
|
|
342
341
|
modelMesh.setColors(float32ArrayToVColor(float32Array10, vertexCount));
|
|
343
342
|
}
|
|
344
343
|
if (encodedMeshData.boneWeights) {
|
|
345
|
-
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset
|
|
344
|
+
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset, (encodedMeshData.boneWeights.end - encodedMeshData.boneWeights.start) / 4);
|
|
346
345
|
modelMesh.setBoneWeights(float32ArrayToVector4(float32Array11, vertexCount));
|
|
347
346
|
}
|
|
348
347
|
if (encodedMeshData.boneIndices) {
|
|
349
|
-
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset
|
|
348
|
+
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset, (encodedMeshData.boneIndices.end - encodedMeshData.boneIndices.start) / 4);
|
|
350
349
|
modelMesh.setBoneIndices(float32ArrayToVector4(float32Array12, vertexCount));
|
|
351
350
|
}
|
|
352
351
|
if (encodedMeshData.blendShapes) {
|
|
353
352
|
encodedMeshData.blendShapes.forEach(function(blendShapeData) {
|
|
354
353
|
var blendShape = new engineCore.BlendShape(blendShapeData.name);
|
|
355
354
|
blendShapeData.frames.forEach(function(frameData) {
|
|
356
|
-
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset
|
|
355
|
+
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset, (frameData.deltaPosition.end - frameData.deltaPosition.start) / 4);
|
|
357
356
|
var count = positionArray.length / 3;
|
|
358
357
|
var deltaPosition = float32ArrayToVector3(positionArray, count);
|
|
359
358
|
if (frameData.deltaNormals) {
|
|
360
|
-
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset
|
|
359
|
+
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset, (frameData.deltaNormals.end - frameData.deltaNormals.start) / 4);
|
|
361
360
|
float32ArrayToVector3(normalsArray, count);
|
|
362
361
|
}
|
|
363
362
|
if (frameData.deltaTangents) {
|
|
364
|
-
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset
|
|
363
|
+
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset, (frameData.deltaTangents.end - frameData.deltaTangents.start) / 4);
|
|
365
364
|
float32ArrayToVector4(tangentsArray, count);
|
|
366
365
|
}
|
|
367
366
|
blendShape.addFrame(frameData.weight, deltaPosition);
|
|
@@ -372,9 +371,9 @@ exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
|
372
371
|
if (encodedMeshData.indices) {
|
|
373
372
|
var indices = null;
|
|
374
373
|
if (encodedMeshData.indices.type === 0) {
|
|
375
|
-
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset
|
|
374
|
+
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 2);
|
|
376
375
|
} else {
|
|
377
|
-
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset
|
|
376
|
+
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 4);
|
|
378
377
|
}
|
|
379
378
|
modelMesh.setIndices(indices);
|
|
380
379
|
}
|
|
@@ -539,15 +538,23 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
539
538
|
if (position) entity.transform.position.copyFrom(position);
|
|
540
539
|
if (rotation) entity.transform.rotation.copyFrom(rotation);
|
|
541
540
|
if (scale) entity.transform.scale.copyFrom(scale);
|
|
541
|
+
var _entityConfig_layer;
|
|
542
|
+
entity.layer = (_entityConfig_layer = entityConfig.layer) != null ? _entityConfig_layer : entity.layer;
|
|
542
543
|
return entity;
|
|
543
544
|
});
|
|
544
545
|
};
|
|
545
546
|
_proto.parseClassObject = function parseClassObject(item) {
|
|
547
|
+
var _this = this;
|
|
546
548
|
var Class = engineCore.Loader.getClass(item.class);
|
|
547
549
|
var _item_constructParams;
|
|
548
550
|
var params = (_item_constructParams = item.constructParams) != null ? _item_constructParams : [];
|
|
549
|
-
|
|
550
|
-
|
|
551
|
+
return Promise.all(params.map(function(param) {
|
|
552
|
+
return _this.parseBasicType(param);
|
|
553
|
+
})).then(function(resultParams) {
|
|
554
|
+
return _construct(Class, [].concat(resultParams));
|
|
555
|
+
}).then(function(instance) {
|
|
556
|
+
return _this.parsePropsAndMethods(instance, item);
|
|
557
|
+
});
|
|
551
558
|
};
|
|
552
559
|
_proto.parsePropsAndMethods = function parsePropsAndMethods(instance, item) {
|
|
553
560
|
var promises = [];
|
|
@@ -555,16 +562,14 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
555
562
|
for(var methodName in item.methods){
|
|
556
563
|
var methodParams = item.methods[methodName];
|
|
557
564
|
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
558
|
-
|
|
559
|
-
var promise = this.parseMethod(instance, methodName, params);
|
|
560
|
-
promises.push(promise);
|
|
565
|
+
promises.push(this.parseMethod(instance, methodName, methodParams[i]));
|
|
561
566
|
}
|
|
562
567
|
}
|
|
563
568
|
}
|
|
564
569
|
if (item.props) {
|
|
565
570
|
var _this = this, _loop = function(key) {
|
|
566
571
|
var value = item.props[key];
|
|
567
|
-
var promise = _this.parseBasicType(value).then(function(v) {
|
|
572
|
+
var promise = _this.parseBasicType(value, instance[key]).then(function(v) {
|
|
568
573
|
return instance[key] = v;
|
|
569
574
|
});
|
|
570
575
|
promises.push(promise);
|
|
@@ -586,7 +591,7 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
586
591
|
return (_instance = instance)[methodName].apply(_instance, [].concat(result));
|
|
587
592
|
});
|
|
588
593
|
};
|
|
589
|
-
_proto.parseBasicType = function parseBasicType(value) {
|
|
594
|
+
_proto.parseBasicType = function parseBasicType(value, originValue) {
|
|
590
595
|
var _this = this;
|
|
591
596
|
if (Array.isArray(value)) {
|
|
592
597
|
return Promise.all(value.map(function(item) {
|
|
@@ -603,13 +608,33 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
603
608
|
} else if (ReflectionParser._isEntityRef(value)) {
|
|
604
609
|
// entity reference
|
|
605
610
|
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
606
|
-
} else {
|
|
607
|
-
|
|
608
|
-
|
|
611
|
+
} else if (originValue) {
|
|
612
|
+
var _this1 = this, _loop = function(key) {
|
|
613
|
+
if (key === "methods") {
|
|
614
|
+
var methods = value[key];
|
|
615
|
+
for(var methodName in methods){
|
|
616
|
+
var methodParams = methods[methodName];
|
|
617
|
+
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
618
|
+
var params = methodParams[i];
|
|
619
|
+
var promise = _this1.parseMethod(originValue, methodName, params);
|
|
620
|
+
promises.push(promise);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
} else {
|
|
624
|
+
promises.push(_this1.parseBasicType(value[key], originValue[key]).then(function(v) {
|
|
625
|
+
return originValue[key] = v;
|
|
626
|
+
}));
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
var promises = [];
|
|
630
|
+
for(var key in value)_loop(key);
|
|
631
|
+
return Promise.all(promises).then(function() {
|
|
632
|
+
return originValue;
|
|
633
|
+
});
|
|
609
634
|
}
|
|
610
|
-
} else {
|
|
611
|
-
return Promise.resolve(value);
|
|
612
635
|
}
|
|
636
|
+
// primitive type
|
|
637
|
+
return Promise.resolve(value);
|
|
613
638
|
};
|
|
614
639
|
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
615
640
|
// @ts-ignore
|
|
@@ -1546,10 +1571,10 @@ var TextureWrapMode;
|
|
|
1546
1571
|
/**
|
|
1547
1572
|
* @internal
|
|
1548
1573
|
*/ var GLTFParserContext = /*#__PURE__*/ function() {
|
|
1549
|
-
function GLTFParserContext(glTFResource, resourceManager,
|
|
1574
|
+
function GLTFParserContext(glTFResource, resourceManager, params) {
|
|
1550
1575
|
this.glTFResource = glTFResource;
|
|
1551
1576
|
this.resourceManager = resourceManager;
|
|
1552
|
-
this.
|
|
1577
|
+
this.params = params;
|
|
1553
1578
|
this.accessorBufferCache = {};
|
|
1554
1579
|
this._resourceCache = new Map();
|
|
1555
1580
|
this.contentRestorer = new GLTFContentRestorer(glTFResource);
|
|
@@ -1603,11 +1628,37 @@ var TextureWrapMode;
|
|
|
1603
1628
|
_this.get(9),
|
|
1604
1629
|
_this.get(2)
|
|
1605
1630
|
]).then(function() {
|
|
1631
|
+
var glTFResource = _this.glTFResource;
|
|
1632
|
+
if (glTFResource.skins || glTFResource.animations) {
|
|
1633
|
+
_this._createAnimator(_this, glTFResource.animations);
|
|
1634
|
+
}
|
|
1606
1635
|
_this.resourceManager.addContentRestorer(_this.contentRestorer);
|
|
1607
|
-
return
|
|
1636
|
+
return glTFResource;
|
|
1608
1637
|
});
|
|
1609
1638
|
});
|
|
1610
1639
|
};
|
|
1640
|
+
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
1641
|
+
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
1642
|
+
var animator = defaultSceneRoot.addComponent(engineCore.Animator);
|
|
1643
|
+
var animatorController = new engineCore.AnimatorController();
|
|
1644
|
+
var layer = new engineCore.AnimatorControllerLayer("layer");
|
|
1645
|
+
var animatorStateMachine = new engineCore.AnimatorStateMachine();
|
|
1646
|
+
animatorController.addLayer(layer);
|
|
1647
|
+
animator.animatorController = animatorController;
|
|
1648
|
+
layer.stateMachine = animatorStateMachine;
|
|
1649
|
+
if (animations) {
|
|
1650
|
+
for(var i = 0; i < animations.length; i++){
|
|
1651
|
+
var animationClip = animations[i];
|
|
1652
|
+
var name = animationClip.name;
|
|
1653
|
+
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
1654
|
+
if (uniqueName !== name) {
|
|
1655
|
+
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
1656
|
+
}
|
|
1657
|
+
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
1658
|
+
animatorState.clip = animationClip;
|
|
1659
|
+
}
|
|
1660
|
+
}
|
|
1661
|
+
};
|
|
1611
1662
|
_proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
|
|
1612
1663
|
var _this = this;
|
|
1613
1664
|
var glTFResourceKey = glTFResourceMap[type];
|
|
@@ -1775,7 +1826,9 @@ function registerGLTFParser(pipeline) {
|
|
|
1775
1826
|
};
|
|
1776
1827
|
GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
|
|
1777
1828
|
var componentType = accessor.componentType;
|
|
1778
|
-
var
|
|
1829
|
+
var _accessor_bufferView;
|
|
1830
|
+
var bufferViewIndex = (_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0;
|
|
1831
|
+
var bufferView = bufferViews[bufferViewIndex];
|
|
1779
1832
|
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
1780
1833
|
var bufferIndex = bufferView.buffer;
|
|
1781
1834
|
var buffer = buffers[bufferIndex];
|
|
@@ -1793,7 +1846,7 @@ function registerGLTFParser(pipeline) {
|
|
|
1793
1846
|
// According to the glTF official documentation only byteStride not undefined is allowed
|
|
1794
1847
|
if (bufferStride !== undefined && bufferStride !== elementStride) {
|
|
1795
1848
|
var bufferSlice = Math.floor(byteOffset / bufferStride);
|
|
1796
|
-
var bufferCacheKey =
|
|
1849
|
+
var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
|
|
1797
1850
|
var accessorBufferCache = context.accessorBufferCache;
|
|
1798
1851
|
bufferInfo = accessorBufferCache[bufferCacheKey];
|
|
1799
1852
|
if (!bufferInfo) {
|
|
@@ -1832,7 +1885,8 @@ function registerGLTFParser(pipeline) {
|
|
|
1832
1885
|
* Get accessor data.
|
|
1833
1886
|
*/ GLTFUtils.getAccessorData = function getAccessorData(glTF, accessor, buffers) {
|
|
1834
1887
|
var bufferViews = glTF.bufferViews;
|
|
1835
|
-
var
|
|
1888
|
+
var _accessor_bufferView;
|
|
1889
|
+
var bufferView = bufferViews[(_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0];
|
|
1836
1890
|
var arrayBuffer = buffers[bufferView.buffer];
|
|
1837
1891
|
var accessorByteOffset = accessor.hasOwnProperty("byteOffset") ? accessor.byteOffset : 0;
|
|
1838
1892
|
var bufferViewByteOffset = bufferView.hasOwnProperty("byteOffset") ? bufferView.byteOffset : 0;
|
|
@@ -2009,7 +2063,7 @@ function registerGLTFParser(pipeline) {
|
|
|
2009
2063
|
};
|
|
2010
2064
|
/**
|
|
2011
2065
|
* Parse the glb format.
|
|
2012
|
-
*/ GLTFUtils.parseGLB = function parseGLB(context,
|
|
2066
|
+
*/ GLTFUtils.parseGLB = function parseGLB(context, originBuffer) {
|
|
2013
2067
|
var UINT32_LENGTH = 4;
|
|
2014
2068
|
var GLB_HEADER_MAGIC = 0x46546c67; // 'glTF'
|
|
2015
2069
|
var GLB_HEADER_LENGTH = 12;
|
|
@@ -2017,7 +2071,7 @@ function registerGLTFParser(pipeline) {
|
|
|
2017
2071
|
JSON: 0x4e4f534a,
|
|
2018
2072
|
BIN: 0x004e4942
|
|
2019
2073
|
};
|
|
2020
|
-
var dataView = new DataView(
|
|
2074
|
+
var dataView = new DataView(originBuffer);
|
|
2021
2075
|
// read header
|
|
2022
2076
|
var header = {
|
|
2023
2077
|
magic: dataView.getUint32(0, true),
|
|
@@ -2025,8 +2079,9 @@ function registerGLTFParser(pipeline) {
|
|
|
2025
2079
|
length: dataView.getUint32(2 * UINT32_LENGTH, true)
|
|
2026
2080
|
};
|
|
2027
2081
|
if (header.magic !== GLB_HEADER_MAGIC) {
|
|
2028
|
-
|
|
2029
|
-
|
|
2082
|
+
return {
|
|
2083
|
+
originBuffer: originBuffer
|
|
2084
|
+
};
|
|
2030
2085
|
}
|
|
2031
2086
|
// read main data
|
|
2032
2087
|
var chunkLength = dataView.getUint32(GLB_HEADER_LENGTH, true);
|
|
@@ -2036,7 +2091,7 @@ function registerGLTFParser(pipeline) {
|
|
|
2036
2091
|
console.error("Invalid glb chunk type. Expected 0x4E4F534A, found 0x" + chunkType.toString(16));
|
|
2037
2092
|
return null;
|
|
2038
2093
|
}
|
|
2039
|
-
var glTFData = new Uint8Array(
|
|
2094
|
+
var glTFData = new Uint8Array(originBuffer, GLB_HEADER_LENGTH + 2 * UINT32_LENGTH, chunkLength);
|
|
2040
2095
|
var glTF = JSON.parse(engineCore.Utils.decodeText(glTFData));
|
|
2041
2096
|
// read all buffers
|
|
2042
2097
|
var buffers = [];
|
|
@@ -2050,7 +2105,7 @@ function registerGLTFParser(pipeline) {
|
|
|
2050
2105
|
return null;
|
|
2051
2106
|
}
|
|
2052
2107
|
var currentOffset = byteOffset + 2 * UINT32_LENGTH;
|
|
2053
|
-
var buffer =
|
|
2108
|
+
var buffer = originBuffer.slice(currentOffset, currentOffset + chunkLength);
|
|
2054
2109
|
buffers.push(buffer);
|
|
2055
2110
|
restoreGLBBufferSlice.push(new engineMath.Vector2(currentOffset, chunkLength));
|
|
2056
2111
|
byteOffset += chunkLength + 2 * UINT32_LENGTH;
|
|
@@ -2247,7 +2302,7 @@ var SupercompressionScheme;
|
|
|
2247
2302
|
alphaSliceByteLength: sgdReader.nextUint32()
|
|
2248
2303
|
};
|
|
2249
2304
|
}
|
|
2250
|
-
var endpointsByteOffset = sgdByteOffset + sgdReader.
|
|
2305
|
+
var endpointsByteOffset = sgdByteOffset + sgdReader.position;
|
|
2251
2306
|
var selectorsByteOffset = endpointsByteOffset + endpointsByteLength;
|
|
2252
2307
|
var tablesByteOffset = selectorsByteOffset + selectorsByteLength;
|
|
2253
2308
|
var extendedByteOffset = tablesByteOffset + tablesByteLength;
|
|
@@ -2439,6 +2494,25 @@ var AbstractTranscoder = /*#__PURE__*/ function() {
|
|
|
2439
2494
|
}();
|
|
2440
2495
|
|
|
2441
2496
|
/** @internal */ function TranscodeWorkerCode$1() {
|
|
2497
|
+
var initPromise;
|
|
2498
|
+
var init = function init(wasmBinary) {
|
|
2499
|
+
if (!initPromise) {
|
|
2500
|
+
initPromise = new Promise(function(resolve, reject) {
|
|
2501
|
+
var BasisModule = {
|
|
2502
|
+
wasmBinary: wasmBinary,
|
|
2503
|
+
onRuntimeInitialized: function() {
|
|
2504
|
+
return resolve(BasisModule);
|
|
2505
|
+
},
|
|
2506
|
+
onAbort: reject
|
|
2507
|
+
};
|
|
2508
|
+
self["BASIS"](BasisModule);
|
|
2509
|
+
}).then(function(BasisModule) {
|
|
2510
|
+
BasisModule.initializeBasis();
|
|
2511
|
+
return BasisModule.KTX2File;
|
|
2512
|
+
});
|
|
2513
|
+
}
|
|
2514
|
+
return initPromise;
|
|
2515
|
+
};
|
|
2442
2516
|
self.onmessage = function onmessage(event) {
|
|
2443
2517
|
var message = event.data;
|
|
2444
2518
|
switch(message.type){
|
|
@@ -2565,6 +2639,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2565
2639
|
var faceCount = ktx2File.getFaces();
|
|
2566
2640
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2567
2641
|
var faces = new Array(faceCount);
|
|
2642
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2568
2643
|
for(var face = 0; face < faceCount; face++){
|
|
2569
2644
|
var mipmaps = new Array(levelCount);
|
|
2570
2645
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2572,8 +2647,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2572
2647
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2573
2648
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2574
2649
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2575
|
-
|
|
2576
|
-
|
|
2650
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2651
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2652
|
+
width = mipWidth = levelInfo.width;
|
|
2653
|
+
height = mipHeight = levelInfo.height;
|
|
2654
|
+
console.warn("KTX2 transcode to BC will resize to width: " + width + ", height: " + height + ". You'd better use an image whose size if multiple of 4.");
|
|
2655
|
+
} else {
|
|
2656
|
+
mipWidth = levelInfo.origWidth;
|
|
2657
|
+
mipHeight = levelInfo.origHeight;
|
|
2658
|
+
}
|
|
2577
2659
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2578
2660
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2579
2661
|
if (!status) {
|
|
@@ -2639,7 +2721,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2639
2721
|
} else {
|
|
2640
2722
|
var funcCode = TranscodeWorkerCode$1.toString();
|
|
2641
2723
|
var transcodeString = funcCode.substring(funcCode.indexOf("{"), funcCode.lastIndexOf("}") + 1);
|
|
2642
|
-
var workerCode = "\n " + jsCode + "\n
|
|
2724
|
+
var workerCode = "\n " + jsCode + "\n " + transcode.toString() + "\n " + transcodeString + "\n ";
|
|
2643
2725
|
var workerURL = URL.createObjectURL(new Blob([
|
|
2644
2726
|
workerCode
|
|
2645
2727
|
], {
|
|
@@ -2885,10 +2967,14 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2885
2967
|
return Loader1.apply(this, arguments);
|
|
2886
2968
|
}
|
|
2887
2969
|
var _proto = KTX2Loader1.prototype;
|
|
2888
|
-
_proto.initialize = function initialize(
|
|
2970
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
2889
2971
|
if (configuration.ktx2Loader) {
|
|
2890
2972
|
var options = configuration.ktx2Loader;
|
|
2891
|
-
if (
|
|
2973
|
+
if (options.priorityFormats) {
|
|
2974
|
+
exports.KTX2Loader._priorityFormats["etc1s"] = options.priorityFormats;
|
|
2975
|
+
exports.KTX2Loader._priorityFormats["uastc"] = options.priorityFormats;
|
|
2976
|
+
}
|
|
2977
|
+
if (options.transcoder === /** Khronos transcoder. */ 1) {
|
|
2892
2978
|
return exports.KTX2Loader._getKhronosTranscoder(options.workerCount).init();
|
|
2893
2979
|
} else {
|
|
2894
2980
|
return exports.KTX2Loader._getBinomialLLCTranscoder(options.workerCount).init();
|
|
@@ -2907,27 +2993,6 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2907
2993
|
});
|
|
2908
2994
|
});
|
|
2909
2995
|
};
|
|
2910
|
-
_proto._isKhronosSupported = function _isKhronosSupported(priorityFormats, engine) {
|
|
2911
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2912
|
-
exports.KTX2TargetFormat.ASTC,
|
|
2913
|
-
exports.KTX2TargetFormat.ETC,
|
|
2914
|
-
exports.KTX2TargetFormat.BC7,
|
|
2915
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
2916
|
-
exports.KTX2TargetFormat.PVRTC,
|
|
2917
|
-
exports.KTX2TargetFormat.R8G8B8A8
|
|
2918
|
-
];
|
|
2919
|
-
var supportedList = new Array();
|
|
2920
|
-
if (Array.isArray(priorityFormats[0])) {
|
|
2921
|
-
for(var i = 0; i < priorityFormats.length; i++){
|
|
2922
|
-
supportedList.push(exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats[i]));
|
|
2923
|
-
}
|
|
2924
|
-
} else {
|
|
2925
|
-
supportedList.push(exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats));
|
|
2926
|
-
}
|
|
2927
|
-
return supportedList.every(function(format) {
|
|
2928
|
-
return KhronosTranscoder.transcoderMap[format];
|
|
2929
|
-
});
|
|
2930
|
-
};
|
|
2931
2996
|
/**
|
|
2932
2997
|
* Destroy ktx2 transcoder worker.
|
|
2933
2998
|
*/ KTX2Loader1.destroy = function destroy() {
|
|
@@ -2940,7 +3005,8 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2940
3005
|
/** @internal */ KTX2Loader1._parseBuffer = function _parseBuffer(buffer, engine, params) {
|
|
2941
3006
|
var _params;
|
|
2942
3007
|
var ktx2Container = new KTX2Container(buffer);
|
|
2943
|
-
var
|
|
3008
|
+
var _params_priorityFormats;
|
|
3009
|
+
var formatPriorities = (_params_priorityFormats = (_params = params) == null ? void 0 : _params.priorityFormats) != null ? _params_priorityFormats : exports.KTX2Loader._priorityFormats[ktx2Container.isUASTC ? "uastc" : "etc1s"];
|
|
2944
3010
|
var targetFormat = exports.KTX2Loader._decideTargetFormat(engine, ktx2Container, formatPriorities);
|
|
2945
3011
|
var transcodeResultPromise;
|
|
2946
3012
|
if (exports.KTX2Loader._isBinomialInit || !KhronosTranscoder.transcoderMap[targetFormat] || !ktx2Container.isUASTC) {
|
|
@@ -3007,18 +3073,22 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3007
3073
|
return targetFormat;
|
|
3008
3074
|
};
|
|
3009
3075
|
KTX2Loader1._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
|
|
3010
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
3011
|
-
exports.KTX2TargetFormat.ASTC,
|
|
3012
|
-
exports.KTX2TargetFormat.ETC,
|
|
3013
|
-
exports.KTX2TargetFormat.BC7,
|
|
3014
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
3015
|
-
exports.KTX2TargetFormat.PVRTC
|
|
3016
|
-
];
|
|
3017
3076
|
for(var i = 0; i < priorityFormats.length; i++){
|
|
3018
|
-
var
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3077
|
+
var format = priorityFormats[i];
|
|
3078
|
+
var capabilities = this._supportedMap[format];
|
|
3079
|
+
if (capabilities) {
|
|
3080
|
+
for(var j = 0; j < capabilities.length; j++){
|
|
3081
|
+
if (renderer.canIUse(capabilities[j])) {
|
|
3082
|
+
return format;
|
|
3083
|
+
}
|
|
3084
|
+
}
|
|
3085
|
+
} else {
|
|
3086
|
+
switch(priorityFormats[i]){
|
|
3087
|
+
case exports.KTX2TargetFormat.R8G8B8A8:
|
|
3088
|
+
return format;
|
|
3089
|
+
case exports.KTX2TargetFormat.R8:
|
|
3090
|
+
case exports.KTX2TargetFormat.R8G8:
|
|
3091
|
+
if (renderer.isWebGL2) return format;
|
|
3022
3092
|
}
|
|
3023
3093
|
}
|
|
3024
3094
|
}
|
|
@@ -3055,6 +3125,23 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3055
3125
|
return KTX2Loader1;
|
|
3056
3126
|
}(engineCore.Loader), function() {
|
|
3057
3127
|
_KTX2Loader._isBinomialInit = false;
|
|
3128
|
+
}(), function() {
|
|
3129
|
+
_KTX2Loader._priorityFormats = {
|
|
3130
|
+
etc1s: [
|
|
3131
|
+
exports.KTX2TargetFormat.ETC,
|
|
3132
|
+
exports.KTX2TargetFormat.BC7,
|
|
3133
|
+
exports.KTX2TargetFormat.ASTC,
|
|
3134
|
+
exports.KTX2TargetFormat.BC1_BC3,
|
|
3135
|
+
exports.KTX2TargetFormat.PVRTC
|
|
3136
|
+
],
|
|
3137
|
+
uastc: [
|
|
3138
|
+
exports.KTX2TargetFormat.ASTC,
|
|
3139
|
+
exports.KTX2TargetFormat.BC7,
|
|
3140
|
+
exports.KTX2TargetFormat.ETC,
|
|
3141
|
+
exports.KTX2TargetFormat.BC1_BC3,
|
|
3142
|
+
exports.KTX2TargetFormat.PVRTC
|
|
3143
|
+
]
|
|
3144
|
+
};
|
|
3058
3145
|
}(), function() {
|
|
3059
3146
|
var _obj;
|
|
3060
3147
|
_KTX2Loader._supportedMap = (_obj = {}, _obj[exports.KTX2TargetFormat.ASTC] = [
|
|
@@ -3075,6 +3162,11 @@ exports.KTX2Loader = __decorate([
|
|
|
3075
3162
|
"ktx2"
|
|
3076
3163
|
])
|
|
3077
3164
|
], exports.KTX2Loader);
|
|
3165
|
+
exports.KTX2Transcoder = void 0;
|
|
3166
|
+
(function(KTX2Transcoder) {
|
|
3167
|
+
KTX2Transcoder[KTX2Transcoder[/** BinomialLLC transcoder. */ "BinomialLLC"] = 0] = "BinomialLLC";
|
|
3168
|
+
KTX2Transcoder[KTX2Transcoder["Khronos"] = 1] = "Khronos";
|
|
3169
|
+
})(exports.KTX2Transcoder || (exports.KTX2Transcoder = {}));
|
|
3078
3170
|
|
|
3079
3171
|
/**
|
|
3080
3172
|
* @internal
|
|
@@ -3423,23 +3515,20 @@ exports.GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3423
3515
|
var requestConfig = {
|
|
3424
3516
|
type: "arraybuffer"
|
|
3425
3517
|
};
|
|
3426
|
-
|
|
3427
|
-
contentRestorer.isGLB = isGLB;
|
|
3428
|
-
var promise = isGLB ? engineCore.request(url, requestConfig).then(function(glb) {
|
|
3518
|
+
return engineCore.request(url, requestConfig).then(function(buffer) {
|
|
3429
3519
|
restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
|
|
3430
|
-
return GLTFUtils.parseGLB(context,
|
|
3431
|
-
}).then(function(
|
|
3432
|
-
var
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3520
|
+
return GLTFUtils.parseGLB(context, buffer);
|
|
3521
|
+
}).then(function(result) {
|
|
3522
|
+
var _result;
|
|
3523
|
+
if ((_result = result) == null ? void 0 : _result.glTF) {
|
|
3524
|
+
contentRestorer.isGLB = true;
|
|
3525
|
+
context.buffers = result.buffers;
|
|
3526
|
+
return result.glTF;
|
|
3527
|
+
} else {
|
|
3528
|
+
contentRestorer.isGLB = false;
|
|
3529
|
+
return JSON.parse(engineCore.Utils.decodeText(new Uint8Array(result.originBuffer)));
|
|
3530
|
+
}
|
|
3437
3531
|
});
|
|
3438
|
-
return promise;
|
|
3439
|
-
};
|
|
3440
|
-
_proto._isGLB = function _isGLB(url) {
|
|
3441
|
-
var index = url.lastIndexOf(".");
|
|
3442
|
-
return url.substring(index + 1, index + 4) === "glb";
|
|
3443
3532
|
};
|
|
3444
3533
|
return GLTFSchemaParser;
|
|
3445
3534
|
}(GLTFParser);
|
|
@@ -3518,6 +3607,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3518
3607
|
var promises = new Array();
|
|
3519
3608
|
// parse samplers
|
|
3520
3609
|
for(var j = 0, m = samplers.length; j < m; j++)_loop(j);
|
|
3610
|
+
promises.push(context.get(exports.GLTFParserType.Scene));
|
|
3521
3611
|
return Promise.all(promises).then(function() {
|
|
3522
3612
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
3523
3613
|
var gltfChannel = channels[j];
|
|
@@ -3529,6 +3619,10 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3529
3619
|
relativePath = relativePath === "" ? "" + entity.name : entity.name + "/" + relativePath;
|
|
3530
3620
|
entity = entity.parent;
|
|
3531
3621
|
}
|
|
3622
|
+
// If the target node is in the default scene, relativePath will be empty
|
|
3623
|
+
if (context.glTFResource.sceneRoots.indexOf(entity) === -1) {
|
|
3624
|
+
continue;
|
|
3625
|
+
}
|
|
3532
3626
|
var ComponentType = void 0;
|
|
3533
3627
|
var propertyName = void 0;
|
|
3534
3628
|
switch(target.path){
|
|
@@ -3865,7 +3959,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
|
|
|
3865
3959
|
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
3866
3960
|
return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
|
|
3867
3961
|
});
|
|
3868
|
-
}, context.keepMeshData).then(resolve);
|
|
3962
|
+
}, context.params.keepMeshData).then(resolve);
|
|
3869
3963
|
}
|
|
3870
3964
|
});
|
|
3871
3965
|
};
|
|
@@ -4043,9 +4137,9 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4043
4137
|
}
|
|
4044
4138
|
var _proto = GLTFSceneParser.prototype;
|
|
4045
4139
|
_proto.parse = function parse(context, index) {
|
|
4046
|
-
var _this = this;
|
|
4047
4140
|
var _context_glTF = context.glTF, scenes = _context_glTF.scenes, _context_glTF_scene = _context_glTF.scene, scene = _context_glTF_scene === void 0 ? 0 : _context_glTF_scene, glTFResource = context.glTFResource;
|
|
4048
4141
|
var sceneInfo = scenes[index];
|
|
4142
|
+
var sceneExtensions = sceneInfo.extensions;
|
|
4049
4143
|
var engine = glTFResource.engine;
|
|
4050
4144
|
var isDefaultScene = scene === index;
|
|
4051
4145
|
var sceneNodes = sceneInfo.nodes;
|
|
@@ -4071,18 +4165,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4071
4165
|
promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
|
|
4072
4166
|
}
|
|
4073
4167
|
return Promise.all(promises).then(function() {
|
|
4074
|
-
|
|
4075
|
-
return Promise.all([
|
|
4076
|
-
context.get(exports.GLTFParserType.Skin),
|
|
4077
|
-
context.get(exports.GLTFParserType.Animation)
|
|
4078
|
-
]).then(function(param) {
|
|
4079
|
-
var skins = param[0], animations = param[1];
|
|
4080
|
-
if (skins || animations) {
|
|
4081
|
-
_this._createAnimator(context, animations);
|
|
4082
|
-
}
|
|
4083
|
-
return sceneRoot;
|
|
4084
|
-
});
|
|
4085
|
-
}
|
|
4168
|
+
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4086
4169
|
return sceneRoot;
|
|
4087
4170
|
});
|
|
4088
4171
|
};
|
|
@@ -4194,28 +4277,6 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4194
4277
|
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
4195
4278
|
return Promise.all(promises);
|
|
4196
4279
|
};
|
|
4197
|
-
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
4198
|
-
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
4199
|
-
var animator = defaultSceneRoot.addComponent(engineCore.Animator);
|
|
4200
|
-
var animatorController = new engineCore.AnimatorController();
|
|
4201
|
-
var layer = new engineCore.AnimatorControllerLayer("layer");
|
|
4202
|
-
var animatorStateMachine = new engineCore.AnimatorStateMachine();
|
|
4203
|
-
animatorController.addLayer(layer);
|
|
4204
|
-
animator.animatorController = animatorController;
|
|
4205
|
-
layer.stateMachine = animatorStateMachine;
|
|
4206
|
-
if (animations) {
|
|
4207
|
-
for(var i = 0; i < animations.length; i++){
|
|
4208
|
-
var animationClip = animations[i];
|
|
4209
|
-
var name = animationClip.name;
|
|
4210
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4211
|
-
if (uniqueName !== name) {
|
|
4212
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4213
|
-
}
|
|
4214
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4215
|
-
animatorState.clip = animationClip;
|
|
4216
|
-
}
|
|
4217
|
-
}
|
|
4218
|
-
};
|
|
4219
4280
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
4220
4281
|
var rootBoneIndex = bones.indexOf(rootBone);
|
|
4221
4282
|
if (rootBoneIndex !== -1) {
|
|
@@ -4447,11 +4508,12 @@ var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4447
4508
|
}
|
|
4448
4509
|
var _proto = GLTFLoader.prototype;
|
|
4449
4510
|
_proto.load = function load(item, resourceManager) {
|
|
4450
|
-
var _params;
|
|
4451
4511
|
var url = item.url;
|
|
4452
4512
|
var params = item.params;
|
|
4453
4513
|
var glTFResource = new GLTFResource(resourceManager.engine, url);
|
|
4454
|
-
var context = new GLTFParserContext(glTFResource, resourceManager,
|
|
4514
|
+
var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
|
|
4515
|
+
keepMeshData: false
|
|
4516
|
+
}, params));
|
|
4455
4517
|
return context.parse();
|
|
4456
4518
|
};
|
|
4457
4519
|
return GLTFLoader;
|
|
@@ -5099,6 +5161,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5099
5161
|
materialShaderData.setTexture(key, texture);
|
|
5100
5162
|
}));
|
|
5101
5163
|
break;
|
|
5164
|
+
case "Boolean":
|
|
5165
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5166
|
+
break;
|
|
5167
|
+
case "Integer":
|
|
5168
|
+
materialShaderData.setInt(key, Number(value));
|
|
5169
|
+
break;
|
|
5102
5170
|
}
|
|
5103
5171
|
};
|
|
5104
5172
|
var engine = resourceManager.engine;
|
|
@@ -5234,9 +5302,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5234
5302
|
var _loop = function(i) {
|
|
5235
5303
|
var atlasItem = atlasItems[i];
|
|
5236
5304
|
if (atlasItem.img) {
|
|
5305
|
+
var _atlasItem_type;
|
|
5237
5306
|
chainPromises.push(resourceManager.load({
|
|
5238
5307
|
url: engineCore.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5239
|
-
type: engineCore.AssetType.Texture2D,
|
|
5308
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : engineCore.AssetType.Texture2D,
|
|
5240
5309
|
params: {
|
|
5241
5310
|
format: format,
|
|
5242
5311
|
mipmap: mipmap
|
|
@@ -5276,7 +5345,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5276
5345
|
};
|
|
5277
5346
|
_proto._makeSprite = function _makeSprite(engine, config, texture) {
|
|
5278
5347
|
// Generate a SpriteAtlas object.
|
|
5279
|
-
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border;
|
|
5348
|
+
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border, width = config.width, height = config.height;
|
|
5280
5349
|
var sprite = new engineCore.Sprite(engine, texture, region ? this._tempRect.set(region.x, region.y, region.w, region.h) : undefined, pivot ? this._tempVec2.set(pivot.x, pivot.y) : undefined, border ? this._tempVec4.set(border.x, border.y, border.z, border.w) : undefined, config.name);
|
|
5281
5350
|
if (texture) {
|
|
5282
5351
|
var invW = 1 / texture.width;
|
|
@@ -5288,6 +5357,8 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5288
5357
|
}
|
|
5289
5358
|
config.atlasRotated && (sprite.atlasRotated = true);
|
|
5290
5359
|
}
|
|
5360
|
+
isNaN(width) || (sprite.width = width);
|
|
5361
|
+
isNaN(height) || (sprite.height = height);
|
|
5291
5362
|
return sprite;
|
|
5292
5363
|
};
|
|
5293
5364
|
return SpriteAtlasLoader;
|
|
@@ -5306,26 +5377,39 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5306
5377
|
var _proto = SpriteLoader.prototype;
|
|
5307
5378
|
_proto.load = function load(item, resourceManager) {
|
|
5308
5379
|
var _this = this;
|
|
5309
|
-
return
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5321
|
-
resolve(new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5322
|
-
}).catch(reject);
|
|
5323
|
-
} else {
|
|
5324
|
-
resolve(new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5325
|
-
}
|
|
5326
|
-
}).catch(reject);
|
|
5380
|
+
return this.request(item.url, _extends({}, item, {
|
|
5381
|
+
type: "json"
|
|
5382
|
+
})).then(function(data) {
|
|
5383
|
+
return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
|
|
5384
|
+
});
|
|
5385
|
+
};
|
|
5386
|
+
_proto._loadFromAtlas = function _loadFromAtlas(resourceManager, data) {
|
|
5387
|
+
var _this = this;
|
|
5388
|
+
return resourceManager// @ts-ignore
|
|
5389
|
+
.getResourceByRef(data.belongToAtlas).then(function(atlas) {
|
|
5390
|
+
return atlas.getSprite(data.fullPath) || _this._loadFromTexture(resourceManager, data);
|
|
5327
5391
|
});
|
|
5328
5392
|
};
|
|
5393
|
+
_proto._loadFromTexture = function _loadFromTexture(resourceManager, data) {
|
|
5394
|
+
if (data.texture) {
|
|
5395
|
+
return resourceManager// @ts-ignore
|
|
5396
|
+
.getResourceByRef(data.texture).then(function(texture) {
|
|
5397
|
+
var sprite = new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border);
|
|
5398
|
+
var width = data.width, height = data.height;
|
|
5399
|
+
isNaN(width) || (sprite.width = width);
|
|
5400
|
+
isNaN(height) || (sprite.height = height);
|
|
5401
|
+
return sprite;
|
|
5402
|
+
});
|
|
5403
|
+
} else {
|
|
5404
|
+
return new engineCore.AssetPromise(function(resolve) {
|
|
5405
|
+
var sprite = new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border);
|
|
5406
|
+
var width = data.width, height = data.height;
|
|
5407
|
+
isNaN(width) || (sprite.width = width);
|
|
5408
|
+
isNaN(height) || (sprite.height = height);
|
|
5409
|
+
resolve(sprite);
|
|
5410
|
+
});
|
|
5411
|
+
}
|
|
5412
|
+
};
|
|
5329
5413
|
return SpriteLoader;
|
|
5330
5414
|
}(engineCore.Loader);
|
|
5331
5415
|
SpriteLoader = __decorate([
|
|
@@ -5372,9 +5456,13 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5372
5456
|
type: "image"
|
|
5373
5457
|
});
|
|
5374
5458
|
_this.request(url, requestConfig).then(function(image) {
|
|
5375
|
-
var
|
|
5376
|
-
var
|
|
5377
|
-
var texture = new engineCore.Texture2D(resourceManager.engine, image.width, image.height,
|
|
5459
|
+
var _item_params;
|
|
5460
|
+
var _ref = (_item_params = item.params) != null ? _item_params : {}, format = _ref.format, mipmap = _ref.mipmap, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode;
|
|
5461
|
+
var texture = new engineCore.Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
|
|
5462
|
+
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
5463
|
+
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
5464
|
+
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
5465
|
+
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
5378
5466
|
texture.setImageSource(image);
|
|
5379
5467
|
texture.generateMipmaps();
|
|
5380
5468
|
if (url.indexOf("data:") !== 0) {
|
|
@@ -5522,33 +5610,34 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5522
5610
|
var promises = [];
|
|
5523
5611
|
// parse ambient light
|
|
5524
5612
|
var ambient = data.scene.ambient;
|
|
5525
|
-
|
|
5526
|
-
|
|
5527
|
-
|
|
5528
|
-
// prettier-ignore
|
|
5529
|
-
var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
5530
|
-
scene.ambientLight = ambientLight;
|
|
5531
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5532
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5533
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5534
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5535
|
-
});
|
|
5536
|
-
promises.push(customAmbientPromise);
|
|
5537
|
-
} else if (!useCustomAmbient && ambient.ambientLight) {
|
|
5538
|
-
// @ts-ignore
|
|
5539
|
-
// prettier-ignore
|
|
5540
|
-
var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
5541
|
-
scene.ambientLight = ambientLight;
|
|
5542
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5543
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5544
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5545
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5546
|
-
});
|
|
5547
|
-
promises.push(ambientLightPromise);
|
|
5548
|
-
} else {
|
|
5613
|
+
if (ambient) {
|
|
5614
|
+
var useCustomAmbient = ambient.specularMode === "Custom";
|
|
5615
|
+
var useSH = ambient.diffuseMode === engineCore.DiffuseMode.SphericalHarmonics;
|
|
5549
5616
|
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5550
5617
|
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5618
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5551
5619
|
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5620
|
+
scene.ambientLight.specularTextureDecodeRGBM = true;
|
|
5621
|
+
if (useCustomAmbient && ambient.customAmbientLight) {
|
|
5622
|
+
promises.push(// @ts-ignore
|
|
5623
|
+
resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
5624
|
+
var _ambientLight;
|
|
5625
|
+
scene.ambientLight.specularTexture = (_ambientLight = ambientLight) == null ? void 0 : _ambientLight.specularTexture;
|
|
5626
|
+
}));
|
|
5627
|
+
}
|
|
5628
|
+
if (ambient.ambientLight && (!useCustomAmbient || useSH)) {
|
|
5629
|
+
promises.push(// @ts-ignore
|
|
5630
|
+
resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
5631
|
+
if (!useCustomAmbient) {
|
|
5632
|
+
var _ambientLight;
|
|
5633
|
+
scene.ambientLight.specularTexture = (_ambientLight = ambientLight) == null ? void 0 : _ambientLight.specularTexture;
|
|
5634
|
+
}
|
|
5635
|
+
if (useSH) {
|
|
5636
|
+
var _ambientLight1;
|
|
5637
|
+
scene.ambientLight.diffuseSphericalHarmonics = (_ambientLight1 = ambientLight) == null ? void 0 : _ambientLight1.diffuseSphericalHarmonics;
|
|
5638
|
+
}
|
|
5639
|
+
}));
|
|
5640
|
+
}
|
|
5552
5641
|
}
|
|
5553
5642
|
var background = data.scene.background;
|
|
5554
5643
|
scene.background.mode = background.mode;
|
|
@@ -5590,6 +5679,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5590
5679
|
if (shadow.shadowResolution != undefined) scene.shadowResolution = shadow.shadowResolution;
|
|
5591
5680
|
if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
|
|
5592
5681
|
if (shadow.shadowCascades != undefined) scene.shadowCascades = shadow.shadowCascades;
|
|
5682
|
+
var _shadow_shadowTwoCascadeSplits;
|
|
5683
|
+
scene.shadowTwoCascadeSplits = (_shadow_shadowTwoCascadeSplits = shadow.shadowTwoCascadeSplits) != null ? _shadow_shadowTwoCascadeSplits : scene.shadowTwoCascadeSplits;
|
|
5684
|
+
shadow.shadowFourCascadeSplits && scene.shadowFourCascadeSplits.copyFrom(shadow.shadowFourCascadeSplits);
|
|
5593
5685
|
}
|
|
5594
5686
|
return Promise.all(promises).then(function() {
|
|
5595
5687
|
resolve(scene);
|
|
@@ -5605,13 +5697,13 @@ SceneLoader = __decorate([
|
|
|
5605
5697
|
"scene"
|
|
5606
5698
|
], true)
|
|
5607
5699
|
], SceneLoader);
|
|
5608
|
-
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item
|
|
5700
|
+
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
|
|
5609
5701
|
var props;
|
|
5610
5702
|
return __generator(this, function(_state) {
|
|
5611
5703
|
props = item.props;
|
|
5612
5704
|
if (!props.font) {
|
|
5613
5705
|
// @ts-ignore
|
|
5614
|
-
instance.font = engineCore.Font.createFromOS(engine, props.fontFamily || "Arial");
|
|
5706
|
+
instance.font = engineCore.Font.createFromOS(instance.engine, props.fontFamily || "Arial");
|
|
5615
5707
|
}
|
|
5616
5708
|
return [
|
|
5617
5709
|
2,
|
|
@@ -5667,7 +5759,7 @@ var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ fu
|
|
|
5667
5759
|
throw "BlendShape animation is not supported when using draco.";
|
|
5668
5760
|
}, function() {
|
|
5669
5761
|
return decodedGeometry.index.array;
|
|
5670
|
-
}, context.keepMeshData);
|
|
5762
|
+
}, context.params.keepMeshData);
|
|
5671
5763
|
});
|
|
5672
5764
|
});
|
|
5673
5765
|
};
|