@galacean/engine-loader 1.1.0-beta.4 → 1.1.0-beta.45
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 +393 -256
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +393 -256
- package/dist/module.js +395 -258
- 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/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/index.d.ts +2 -1
- package/types/ktx2/KTX2Loader.d.ts +16 -5
- package/types/ktx2/transcoder/AbstractTranscoder.d.ts +1 -1
- package/types/ktx2/transcoder/BinomialLLCTranscoder.d.ts +1 -1
- package/types/ktx2/transcoder/BinomialLLCWorkerCode.d.ts +1 -1
- 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 +12 -8
- 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/scene/SceneParser.d.ts +1 -0
- package/types/resource-deserialize/resources/scene/SceneParserContext.d.ts +3 -1
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +20 -15
- 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/miniprogram.js
CHANGED
|
@@ -121,116 +121,116 @@ var BufferReader = /*#__PURE__*/ function() {
|
|
|
121
121
|
this.data = data;
|
|
122
122
|
this._dataView = new DataView(data.buffer, data.byteOffset + byteOffset, byteLength != null ? byteLength : data.byteLength - byteOffset);
|
|
123
123
|
this._littleEndian = littleEndian;
|
|
124
|
-
this.
|
|
124
|
+
this._position = 0;
|
|
125
125
|
this._baseOffset = byteOffset;
|
|
126
126
|
}
|
|
127
127
|
var _proto = BufferReader.prototype;
|
|
128
128
|
_proto.nextUint8 = function nextUint8() {
|
|
129
|
-
var value = this._dataView.getUint8(this.
|
|
130
|
-
this.
|
|
129
|
+
var value = this._dataView.getUint8(this._position);
|
|
130
|
+
this._position += 1;
|
|
131
131
|
return value;
|
|
132
132
|
};
|
|
133
133
|
_proto.nextUint16 = function nextUint16() {
|
|
134
|
-
var value = this._dataView.getUint16(this.
|
|
135
|
-
this.
|
|
134
|
+
var value = this._dataView.getUint16(this._position, this._littleEndian);
|
|
135
|
+
this._position += 2;
|
|
136
136
|
return value;
|
|
137
137
|
};
|
|
138
138
|
_proto.nextUint32 = function nextUint32() {
|
|
139
|
-
var value = this._dataView.getUint32(this.
|
|
140
|
-
this.
|
|
139
|
+
var value = this._dataView.getUint32(this._position, this._littleEndian);
|
|
140
|
+
this._position += 4;
|
|
141
141
|
return value;
|
|
142
142
|
};
|
|
143
143
|
_proto.nextInt32 = function nextInt32() {
|
|
144
|
-
var value = this._dataView.getInt32(this.
|
|
145
|
-
this.
|
|
144
|
+
var value = this._dataView.getInt32(this._position, this._littleEndian);
|
|
145
|
+
this._position += 4;
|
|
146
146
|
return value;
|
|
147
147
|
};
|
|
148
148
|
_proto.nextInt32Array = function nextInt32Array(len) {
|
|
149
|
-
var value = new Int32Array(this.data.buffer, this.
|
|
150
|
-
this.
|
|
149
|
+
var value = new Int32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
150
|
+
this._position += 4 * len;
|
|
151
151
|
return value;
|
|
152
152
|
};
|
|
153
153
|
_proto.nextFloat32 = function nextFloat32() {
|
|
154
|
-
var value = this._dataView.getFloat32(this.
|
|
155
|
-
this.
|
|
154
|
+
var value = this._dataView.getFloat32(this._position, this._littleEndian);
|
|
155
|
+
this._position += 4;
|
|
156
156
|
return value;
|
|
157
157
|
};
|
|
158
158
|
_proto.nextFloat32Array = function nextFloat32Array(len) {
|
|
159
|
-
var value = new Float32Array(this.data.buffer, this.
|
|
160
|
-
this.
|
|
159
|
+
var value = new Float32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
160
|
+
this._position += 4 * len;
|
|
161
161
|
return value;
|
|
162
162
|
};
|
|
163
163
|
_proto.nextUint32Array = function nextUint32Array(len) {
|
|
164
|
-
var value = new Uint32Array(this.data.buffer, this.
|
|
165
|
-
this.
|
|
164
|
+
var value = new Uint32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
165
|
+
this._position += 4 * len;
|
|
166
166
|
return value;
|
|
167
167
|
};
|
|
168
168
|
_proto.nextUint8Array = function nextUint8Array(len) {
|
|
169
|
-
var value = new Uint8Array(this.data.buffer, this.
|
|
170
|
-
this.
|
|
169
|
+
var value = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
170
|
+
this._position += len;
|
|
171
171
|
return value;
|
|
172
172
|
};
|
|
173
173
|
_proto.nextUint64 = function nextUint64() {
|
|
174
|
-
var left = this._dataView.getUint32(this.
|
|
175
|
-
var right = this._dataView.getUint32(this.
|
|
174
|
+
var left = this._dataView.getUint32(this._position, this._littleEndian);
|
|
175
|
+
var right = this._dataView.getUint32(this._position + 4, this._littleEndian);
|
|
176
176
|
var value = left + Math.pow(2, 32) * right;
|
|
177
|
-
this.
|
|
177
|
+
this._position += 8;
|
|
178
178
|
return value;
|
|
179
179
|
};
|
|
180
180
|
_proto.nextStr = function nextStr() {
|
|
181
181
|
var strByteLength = this.nextUint16();
|
|
182
|
-
var uint8Array = new Uint8Array(this.data.buffer, this.
|
|
183
|
-
this.
|
|
182
|
+
var uint8Array = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, strByteLength);
|
|
183
|
+
this._position += strByteLength;
|
|
184
184
|
return miniprogram.Utils.decodeText(uint8Array);
|
|
185
185
|
};
|
|
186
186
|
/**
|
|
187
187
|
* image data 放在最后
|
|
188
188
|
*/ _proto.nextImageData = function nextImageData(count) {
|
|
189
|
-
return new Uint8Array(this.data.buffer, this.data.byteOffset + this.
|
|
189
|
+
return new Uint8Array(this.data.buffer, this.data.byteOffset + this._position);
|
|
190
190
|
};
|
|
191
191
|
_proto.nextImagesData = function nextImagesData(count) {
|
|
192
192
|
var imagesLen = new Array(count);
|
|
193
193
|
// 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
|
|
194
194
|
for(var i = 0; i < count; i++){
|
|
195
|
-
var len = this._dataView.getUint32(this.
|
|
195
|
+
var len = this._dataView.getUint32(this._position, this._littleEndian);
|
|
196
196
|
imagesLen[i] = len;
|
|
197
|
-
this.
|
|
197
|
+
this._position += 4;
|
|
198
198
|
}
|
|
199
199
|
var imagesData = [];
|
|
200
200
|
for(var i1 = 0; i1 < count; i1++){
|
|
201
201
|
var len1 = imagesLen[i1];
|
|
202
|
-
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this.
|
|
203
|
-
this.
|
|
202
|
+
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this._position, len1);
|
|
203
|
+
this._position += len1;
|
|
204
204
|
imagesData.push(buffer);
|
|
205
205
|
}
|
|
206
206
|
return imagesData;
|
|
207
207
|
};
|
|
208
208
|
_proto.skip = function skip(bytes) {
|
|
209
|
-
this.
|
|
209
|
+
this._position += bytes;
|
|
210
210
|
return this;
|
|
211
211
|
};
|
|
212
212
|
_proto.scan = function scan(maxByteLength, term) {
|
|
213
213
|
if (term === void 0) term = 0x00;
|
|
214
|
-
var byteOffset = this.
|
|
214
|
+
var byteOffset = this._position;
|
|
215
215
|
var byteLength = 0;
|
|
216
|
-
while(this._dataView.getUint8(this.
|
|
216
|
+
while(this._dataView.getUint8(this._position) !== term && byteLength < maxByteLength){
|
|
217
217
|
byteLength++;
|
|
218
|
-
this.
|
|
218
|
+
this._position++;
|
|
219
219
|
}
|
|
220
|
-
if (byteLength < maxByteLength) this.
|
|
220
|
+
if (byteLength < maxByteLength) this._position++;
|
|
221
221
|
return new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + byteOffset, byteLength);
|
|
222
222
|
};
|
|
223
223
|
_create_class(BufferReader, [
|
|
224
224
|
{
|
|
225
225
|
key: "position",
|
|
226
226
|
get: function get() {
|
|
227
|
-
return this.
|
|
227
|
+
return this._position;
|
|
228
228
|
}
|
|
229
229
|
},
|
|
230
230
|
{
|
|
231
231
|
key: "offset",
|
|
232
232
|
get: function get() {
|
|
233
|
-
return this.
|
|
233
|
+
return this._position + this._baseOffset;
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
]);
|
|
@@ -294,75 +294,74 @@ exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
|
294
294
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
295
295
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
296
296
|
encodedMeshData.bounds && modelMesh.bounds.copyFrom(encodedMeshData.bounds);
|
|
297
|
-
var offset = Math.ceil(bufferReader.offset / 4) * 4;
|
|
297
|
+
var offset = Math.ceil(bufferReader.offset / 4) * 4 + bufferReader.data.byteOffset;
|
|
298
298
|
var buffer = bufferReader.data.buffer;
|
|
299
|
-
var
|
|
300
|
-
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset + byteOffset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
299
|
+
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
301
300
|
var vertexCount = float32Array.length / 3;
|
|
302
301
|
var positions = float32ArrayToVector3(float32Array, vertexCount);
|
|
303
302
|
modelMesh.setPositions(positions);
|
|
304
303
|
if (encodedMeshData.normals) {
|
|
305
|
-
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset
|
|
304
|
+
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset, (encodedMeshData.normals.end - encodedMeshData.normals.start) / 4);
|
|
306
305
|
var normals = float32ArrayToVector3(float32Array1, vertexCount);
|
|
307
306
|
modelMesh.setNormals(normals);
|
|
308
307
|
}
|
|
309
308
|
if (encodedMeshData.uvs) {
|
|
310
|
-
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset
|
|
309
|
+
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset, (encodedMeshData.uvs.end - encodedMeshData.uvs.start) / 4);
|
|
311
310
|
modelMesh.setUVs(float32ArrayToVector2(float32Array2, vertexCount));
|
|
312
311
|
}
|
|
313
312
|
if (encodedMeshData.uv1) {
|
|
314
|
-
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset
|
|
313
|
+
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset, (encodedMeshData.uv1.end - encodedMeshData.uv1.start) / 4);
|
|
315
314
|
modelMesh.setUVs(float32ArrayToVector2(float32Array3, vertexCount), 1);
|
|
316
315
|
}
|
|
317
316
|
if (encodedMeshData.uv2) {
|
|
318
|
-
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset
|
|
317
|
+
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset, (encodedMeshData.uv2.end - encodedMeshData.uv2.start) / 4);
|
|
319
318
|
modelMesh.setUVs(float32ArrayToVector2(float32Array4, vertexCount), 2);
|
|
320
319
|
}
|
|
321
320
|
if (encodedMeshData.uv3) {
|
|
322
|
-
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset
|
|
321
|
+
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset, (encodedMeshData.uv3.end - encodedMeshData.uv3.start) / 4);
|
|
323
322
|
modelMesh.setUVs(float32ArrayToVector2(float32Array5, vertexCount), 3);
|
|
324
323
|
}
|
|
325
324
|
if (encodedMeshData.uv4) {
|
|
326
|
-
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset
|
|
325
|
+
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset, (encodedMeshData.uv4.end - encodedMeshData.uv4.start) / 4);
|
|
327
326
|
modelMesh.setUVs(float32ArrayToVector2(float32Array6, vertexCount), 4);
|
|
328
327
|
}
|
|
329
328
|
if (encodedMeshData.uv5) {
|
|
330
|
-
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset
|
|
329
|
+
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset, (encodedMeshData.uv5.end - encodedMeshData.uv5.start) / 4);
|
|
331
330
|
modelMesh.setUVs(float32ArrayToVector2(float32Array7, vertexCount), 5);
|
|
332
331
|
}
|
|
333
332
|
if (encodedMeshData.uv6) {
|
|
334
|
-
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset
|
|
333
|
+
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset, (encodedMeshData.uv6.end - encodedMeshData.uv6.start) / 4);
|
|
335
334
|
modelMesh.setUVs(float32ArrayToVector2(float32Array8, vertexCount), 6);
|
|
336
335
|
}
|
|
337
336
|
if (encodedMeshData.uv7) {
|
|
338
|
-
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset
|
|
337
|
+
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset, (encodedMeshData.uv7.end - encodedMeshData.uv7.start) / 4);
|
|
339
338
|
modelMesh.setUVs(float32ArrayToVector2(float32Array9, vertexCount), 7);
|
|
340
339
|
}
|
|
341
340
|
if (encodedMeshData.colors) {
|
|
342
|
-
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset
|
|
341
|
+
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset, (encodedMeshData.colors.end - encodedMeshData.colors.start) / 4);
|
|
343
342
|
modelMesh.setColors(float32ArrayToVColor(float32Array10, vertexCount));
|
|
344
343
|
}
|
|
345
344
|
if (encodedMeshData.boneWeights) {
|
|
346
|
-
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset
|
|
345
|
+
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset, (encodedMeshData.boneWeights.end - encodedMeshData.boneWeights.start) / 4);
|
|
347
346
|
modelMesh.setBoneWeights(float32ArrayToVector4(float32Array11, vertexCount));
|
|
348
347
|
}
|
|
349
348
|
if (encodedMeshData.boneIndices) {
|
|
350
|
-
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset
|
|
349
|
+
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset, (encodedMeshData.boneIndices.end - encodedMeshData.boneIndices.start) / 4);
|
|
351
350
|
modelMesh.setBoneIndices(float32ArrayToVector4(float32Array12, vertexCount));
|
|
352
351
|
}
|
|
353
352
|
if (encodedMeshData.blendShapes) {
|
|
354
353
|
encodedMeshData.blendShapes.forEach(function(blendShapeData) {
|
|
355
354
|
var blendShape = new miniprogram.BlendShape(blendShapeData.name);
|
|
356
355
|
blendShapeData.frames.forEach(function(frameData) {
|
|
357
|
-
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset
|
|
356
|
+
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset, (frameData.deltaPosition.end - frameData.deltaPosition.start) / 4);
|
|
358
357
|
var count = positionArray.length / 3;
|
|
359
358
|
var deltaPosition = float32ArrayToVector3(positionArray, count);
|
|
360
359
|
if (frameData.deltaNormals) {
|
|
361
|
-
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset
|
|
360
|
+
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset, (frameData.deltaNormals.end - frameData.deltaNormals.start) / 4);
|
|
362
361
|
float32ArrayToVector3(normalsArray, count);
|
|
363
362
|
}
|
|
364
363
|
if (frameData.deltaTangents) {
|
|
365
|
-
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset
|
|
364
|
+
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset, (frameData.deltaTangents.end - frameData.deltaTangents.start) / 4);
|
|
366
365
|
float32ArrayToVector4(tangentsArray, count);
|
|
367
366
|
}
|
|
368
367
|
blendShape.addFrame(frameData.weight, deltaPosition);
|
|
@@ -373,9 +372,9 @@ exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
|
373
372
|
if (encodedMeshData.indices) {
|
|
374
373
|
var indices = null;
|
|
375
374
|
if (encodedMeshData.indices.type === 0) {
|
|
376
|
-
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset
|
|
375
|
+
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 2);
|
|
377
376
|
} else {
|
|
378
|
-
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset
|
|
377
|
+
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 4);
|
|
379
378
|
}
|
|
380
379
|
modelMesh.setIndices(indices);
|
|
381
380
|
}
|
|
@@ -528,87 +527,50 @@ function _construct(Parent, args, Class) {
|
|
|
528
527
|
}
|
|
529
528
|
|
|
530
529
|
var ReflectionParser = /*#__PURE__*/ function() {
|
|
531
|
-
function ReflectionParser() {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
return
|
|
530
|
+
function ReflectionParser(_context) {
|
|
531
|
+
this._context = _context;
|
|
532
|
+
}
|
|
533
|
+
var _proto = ReflectionParser.prototype;
|
|
534
|
+
_proto.parseEntity = function parseEntity(entityConfig) {
|
|
535
|
+
return this._getEntityByConfig(entityConfig).then(function(entity) {
|
|
537
536
|
var _entityConfig_isActive;
|
|
538
537
|
entity.isActive = (_entityConfig_isActive = entityConfig.isActive) != null ? _entityConfig_isActive : true;
|
|
539
538
|
var position = entityConfig.position, rotation = entityConfig.rotation, scale = entityConfig.scale;
|
|
540
539
|
if (position) entity.transform.position.copyFrom(position);
|
|
541
540
|
if (rotation) entity.transform.rotation.copyFrom(rotation);
|
|
542
541
|
if (scale) entity.transform.scale.copyFrom(scale);
|
|
542
|
+
var _entityConfig_layer;
|
|
543
|
+
entity.layer = (_entityConfig_layer = entityConfig.layer) != null ? _entityConfig_layer : entity.layer;
|
|
543
544
|
return entity;
|
|
544
545
|
});
|
|
545
546
|
};
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
var assetRefId = entityConfig.assetRefId;
|
|
549
|
-
if (assetRefId) {
|
|
550
|
-
return engine.resourceManager// @ts-ignore
|
|
551
|
-
.getResourceByRef({
|
|
552
|
-
refId: assetRefId,
|
|
553
|
-
key: entityConfig.key,
|
|
554
|
-
isClone: entityConfig.isClone
|
|
555
|
-
}).then(function(entity) {
|
|
556
|
-
entity.name = entityConfig.name;
|
|
557
|
-
return entity;
|
|
558
|
-
});
|
|
559
|
-
} else {
|
|
560
|
-
var entity = new miniprogram.Entity(engine, entityConfig.name);
|
|
561
|
-
return Promise.resolve(entity);
|
|
562
|
-
}
|
|
563
|
-
};
|
|
564
|
-
ReflectionParser.parseClassObject = function parseClassObject(item, engine, resourceManager) {
|
|
565
|
-
if (resourceManager === void 0) resourceManager = engine.resourceManager;
|
|
547
|
+
_proto.parseClassObject = function parseClassObject(item) {
|
|
548
|
+
var _this = this;
|
|
566
549
|
var Class = miniprogram.Loader.getClass(item.class);
|
|
567
550
|
var _item_constructParams;
|
|
568
551
|
var params = (_item_constructParams = item.constructParams) != null ? _item_constructParams : [];
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
return Promise.all(value.map(function(item) {
|
|
577
|
-
return _this.parseBasicType(item, engine, resourceManager);
|
|
578
|
-
}));
|
|
579
|
-
} else if (typeof value === "object" && value != null) {
|
|
580
|
-
if (this._isClass(value)) {
|
|
581
|
-
// class object
|
|
582
|
-
return this.parseClassObject(value, engine, resourceManager);
|
|
583
|
-
} else if (this._isRef(value)) {
|
|
584
|
-
// reference object
|
|
585
|
-
return resourceManager.getResourceByRef(value);
|
|
586
|
-
} else {
|
|
587
|
-
// basic type
|
|
588
|
-
return Promise.resolve(value);
|
|
589
|
-
}
|
|
590
|
-
} else {
|
|
591
|
-
return Promise.resolve(value);
|
|
592
|
-
}
|
|
552
|
+
return Promise.all(params.map(function(param) {
|
|
553
|
+
return _this.parseBasicType(param);
|
|
554
|
+
})).then(function(resultParams) {
|
|
555
|
+
return _construct(Class, [].concat(resultParams));
|
|
556
|
+
}).then(function(instance) {
|
|
557
|
+
return _this.parsePropsAndMethods(instance, item);
|
|
558
|
+
});
|
|
593
559
|
};
|
|
594
|
-
|
|
595
|
-
if (resourceManager === void 0) resourceManager = engine.resourceManager;
|
|
596
|
-
var _this = this;
|
|
560
|
+
_proto.parsePropsAndMethods = function parsePropsAndMethods(instance, item) {
|
|
597
561
|
var promises = [];
|
|
598
562
|
if (item.methods) {
|
|
599
563
|
for(var methodName in item.methods){
|
|
600
564
|
var methodParams = item.methods[methodName];
|
|
601
565
|
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
602
|
-
|
|
603
|
-
var promise = this.parseMethod(instance, methodName, params, engine, resourceManager);
|
|
604
|
-
promises.push(promise);
|
|
566
|
+
promises.push(this.parseMethod(instance, methodName, methodParams[i]));
|
|
605
567
|
}
|
|
606
568
|
}
|
|
607
569
|
}
|
|
608
570
|
if (item.props) {
|
|
609
|
-
var
|
|
571
|
+
var _this = this, _loop = function(key) {
|
|
610
572
|
var value = item.props[key];
|
|
611
|
-
var promise =
|
|
573
|
+
var promise = _this.parseBasicType(value, instance[key]).then(function(v) {
|
|
612
574
|
return instance[key] = v;
|
|
613
575
|
});
|
|
614
576
|
promises.push(promise);
|
|
@@ -616,27 +578,96 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
616
578
|
for(var key in item.props)_loop(key);
|
|
617
579
|
}
|
|
618
580
|
return Promise.all(promises).then(function() {
|
|
619
|
-
var handle =
|
|
620
|
-
if (handle) return handle(instance, item
|
|
581
|
+
var handle = ReflectionParser.customParseComponentHandles[instance.constructor.name];
|
|
582
|
+
if (handle) return handle(instance, item);
|
|
621
583
|
else return instance;
|
|
622
584
|
});
|
|
623
585
|
};
|
|
624
|
-
|
|
625
|
-
if (resourceManager === void 0) resourceManager = engine.resourceManager;
|
|
586
|
+
_proto.parseMethod = function parseMethod(instance, methodName, methodParams) {
|
|
626
587
|
var _this = this;
|
|
627
588
|
return Promise.all(methodParams.map(function(param) {
|
|
628
|
-
return _this.parseBasicType(param
|
|
589
|
+
return _this.parseBasicType(param);
|
|
629
590
|
})).then(function(result) {
|
|
630
591
|
var _instance;
|
|
631
592
|
return (_instance = instance)[methodName].apply(_instance, [].concat(result));
|
|
632
593
|
});
|
|
633
594
|
};
|
|
595
|
+
_proto.parseBasicType = function parseBasicType(value, originValue) {
|
|
596
|
+
var _this = this;
|
|
597
|
+
if (Array.isArray(value)) {
|
|
598
|
+
return Promise.all(value.map(function(item) {
|
|
599
|
+
return _this.parseBasicType(item);
|
|
600
|
+
}));
|
|
601
|
+
} else if (typeof value === "object" && value != null) {
|
|
602
|
+
if (ReflectionParser._isClass(value)) {
|
|
603
|
+
// class object
|
|
604
|
+
return this.parseClassObject(value);
|
|
605
|
+
} else if (ReflectionParser._isAssetRef(value)) {
|
|
606
|
+
// reference object
|
|
607
|
+
// @ts-ignore
|
|
608
|
+
return this._context.resourceManager.getResourceByRef(value);
|
|
609
|
+
} else if (ReflectionParser._isEntityRef(value)) {
|
|
610
|
+
// entity reference
|
|
611
|
+
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
612
|
+
} else if (originValue) {
|
|
613
|
+
var _this1 = this, _loop = function(key) {
|
|
614
|
+
if (key === "methods") {
|
|
615
|
+
var methods = value[key];
|
|
616
|
+
for(var methodName in methods){
|
|
617
|
+
var methodParams = methods[methodName];
|
|
618
|
+
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
619
|
+
var params = methodParams[i];
|
|
620
|
+
var promise = _this1.parseMethod(originValue, methodName, params);
|
|
621
|
+
promises.push(promise);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
} else {
|
|
625
|
+
promises.push(_this1.parseBasicType(value[key], originValue[key]).then(function(v) {
|
|
626
|
+
return originValue[key] = v;
|
|
627
|
+
}));
|
|
628
|
+
}
|
|
629
|
+
};
|
|
630
|
+
var promises = [];
|
|
631
|
+
for(var key in value)_loop(key);
|
|
632
|
+
return Promise.all(promises).then(function() {
|
|
633
|
+
return originValue;
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
// primitive type
|
|
638
|
+
return Promise.resolve(value);
|
|
639
|
+
};
|
|
640
|
+
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
641
|
+
// @ts-ignore
|
|
642
|
+
var assetRefId = entityConfig.assetRefId;
|
|
643
|
+
var engine = this._context.engine;
|
|
644
|
+
if (assetRefId) {
|
|
645
|
+
return engine.resourceManager// @ts-ignore
|
|
646
|
+
.getResourceByRef({
|
|
647
|
+
refId: assetRefId,
|
|
648
|
+
key: entityConfig.key,
|
|
649
|
+
isClone: entityConfig.isClone
|
|
650
|
+
}).then(function(entity) {
|
|
651
|
+
entity.name = entityConfig.name;
|
|
652
|
+
return entity;
|
|
653
|
+
});
|
|
654
|
+
} else {
|
|
655
|
+
var entity = new miniprogram.Entity(engine, entityConfig.name);
|
|
656
|
+
return Promise.resolve(entity);
|
|
657
|
+
}
|
|
658
|
+
};
|
|
659
|
+
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
660
|
+
this.customParseComponentHandles[componentType] = handle;
|
|
661
|
+
};
|
|
634
662
|
ReflectionParser._isClass = function _isClass(value) {
|
|
635
663
|
return value["class"] != undefined;
|
|
636
664
|
};
|
|
637
|
-
ReflectionParser.
|
|
665
|
+
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
638
666
|
return value["refId"] != undefined;
|
|
639
667
|
};
|
|
668
|
+
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
669
|
+
return value["entityId"] != undefined;
|
|
670
|
+
};
|
|
640
671
|
return ReflectionParser;
|
|
641
672
|
}();
|
|
642
673
|
(function() {
|
|
@@ -904,6 +935,8 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
904
935
|
this.assets = new Map();
|
|
905
936
|
this.entityConfigMap = new Map();
|
|
906
937
|
this.rootIds = [];
|
|
938
|
+
this.engine = scene.engine;
|
|
939
|
+
this.resourceManager = scene.engine.resourceManager;
|
|
907
940
|
}
|
|
908
941
|
var _proto = SceneParserContext.prototype;
|
|
909
942
|
_proto.destroy = function destroy() {
|
|
@@ -920,7 +953,7 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
920
953
|
function SceneParser(context) {
|
|
921
954
|
var _this = this;
|
|
922
955
|
this.context = context;
|
|
923
|
-
this._engine =
|
|
956
|
+
this._engine = context.scene.engine;
|
|
924
957
|
this._organizeEntities = this._organizeEntities.bind(this);
|
|
925
958
|
this._parseComponents = this._parseComponents.bind(this);
|
|
926
959
|
this._clearAndResolveScene = this._clearAndResolveScene.bind(this);
|
|
@@ -928,22 +961,24 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
928
961
|
_this._reject = reject;
|
|
929
962
|
_this._resolve = resolve;
|
|
930
963
|
});
|
|
964
|
+
this._reflectionParser = new ReflectionParser(context);
|
|
931
965
|
}
|
|
932
966
|
var _proto = SceneParser.prototype;
|
|
933
967
|
/** start parse the scene */ _proto.start = function start() {
|
|
934
968
|
this._parseEntities().then(this._organizeEntities).then(this._parseComponents).then(this._clearAndResolveScene).then(this._resolve).catch(this._reject);
|
|
935
969
|
};
|
|
936
970
|
_proto._parseEntities = function _parseEntities() {
|
|
971
|
+
var _this = this;
|
|
937
972
|
var entitiesConfig = this.context.originalData.entities;
|
|
938
973
|
var entityConfigMap = this.context.entityConfigMap;
|
|
939
974
|
var entitiesMap = this.context.entityMap;
|
|
940
975
|
var rootIds = this.context.rootIds;
|
|
941
|
-
|
|
976
|
+
this._engine;
|
|
942
977
|
var promises = entitiesConfig.map(function(entityConfig) {
|
|
943
978
|
entityConfigMap.set(entityConfig.id, entityConfig);
|
|
944
979
|
// record root entities
|
|
945
980
|
if (!entityConfig.parent) rootIds.push(entityConfig.id);
|
|
946
|
-
return
|
|
981
|
+
return _this._reflectionParser.parseEntity(entityConfig);
|
|
947
982
|
});
|
|
948
983
|
return Promise.all(promises).then(function(entities) {
|
|
949
984
|
for(var i = 0, l = entities.length; i < l; i++){
|
|
@@ -981,7 +1016,7 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
981
1016
|
component = entity.getComponent(miniprogram.Loader.getClass(key));
|
|
982
1017
|
}
|
|
983
1018
|
component = component || entity.addComponent(miniprogram.Loader.getClass(key));
|
|
984
|
-
var promise =
|
|
1019
|
+
var promise = this._reflectionParser.parsePropsAndMethods(component, componentConfig);
|
|
985
1020
|
promises.push(promise);
|
|
986
1021
|
}
|
|
987
1022
|
}
|
|
@@ -1537,10 +1572,10 @@ var TextureWrapMode;
|
|
|
1537
1572
|
/**
|
|
1538
1573
|
* @internal
|
|
1539
1574
|
*/ var GLTFParserContext = /*#__PURE__*/ function() {
|
|
1540
|
-
function GLTFParserContext(glTFResource, resourceManager,
|
|
1575
|
+
function GLTFParserContext(glTFResource, resourceManager, params) {
|
|
1541
1576
|
this.glTFResource = glTFResource;
|
|
1542
1577
|
this.resourceManager = resourceManager;
|
|
1543
|
-
this.
|
|
1578
|
+
this.params = params;
|
|
1544
1579
|
this.accessorBufferCache = {};
|
|
1545
1580
|
this._resourceCache = new Map();
|
|
1546
1581
|
this.contentRestorer = new GLTFContentRestorer(glTFResource);
|
|
@@ -1594,11 +1629,37 @@ var TextureWrapMode;
|
|
|
1594
1629
|
_this.get(9),
|
|
1595
1630
|
_this.get(2)
|
|
1596
1631
|
]).then(function() {
|
|
1632
|
+
var glTFResource = _this.glTFResource;
|
|
1633
|
+
if (glTFResource.skins || glTFResource.animations) {
|
|
1634
|
+
_this._createAnimator(_this, glTFResource.animations);
|
|
1635
|
+
}
|
|
1597
1636
|
_this.resourceManager.addContentRestorer(_this.contentRestorer);
|
|
1598
|
-
return
|
|
1637
|
+
return glTFResource;
|
|
1599
1638
|
});
|
|
1600
1639
|
});
|
|
1601
1640
|
};
|
|
1641
|
+
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
1642
|
+
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
1643
|
+
var animator = defaultSceneRoot.addComponent(miniprogram.Animator);
|
|
1644
|
+
var animatorController = new miniprogram.AnimatorController();
|
|
1645
|
+
var layer = new miniprogram.AnimatorControllerLayer("layer");
|
|
1646
|
+
var animatorStateMachine = new miniprogram.AnimatorStateMachine();
|
|
1647
|
+
animatorController.addLayer(layer);
|
|
1648
|
+
animator.animatorController = animatorController;
|
|
1649
|
+
layer.stateMachine = animatorStateMachine;
|
|
1650
|
+
if (animations) {
|
|
1651
|
+
for(var i = 0; i < animations.length; i++){
|
|
1652
|
+
var animationClip = animations[i];
|
|
1653
|
+
var name = animationClip.name;
|
|
1654
|
+
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
1655
|
+
if (uniqueName !== name) {
|
|
1656
|
+
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
1657
|
+
}
|
|
1658
|
+
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
1659
|
+
animatorState.clip = animationClip;
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
};
|
|
1602
1663
|
_proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
|
|
1603
1664
|
var _this = this;
|
|
1604
1665
|
var glTFResourceKey = glTFResourceMap[type];
|
|
@@ -2238,7 +2299,7 @@ var SupercompressionScheme;
|
|
|
2238
2299
|
alphaSliceByteLength: sgdReader.nextUint32()
|
|
2239
2300
|
};
|
|
2240
2301
|
}
|
|
2241
|
-
var endpointsByteOffset = sgdByteOffset + sgdReader.
|
|
2302
|
+
var endpointsByteOffset = sgdByteOffset + sgdReader.position;
|
|
2242
2303
|
var selectorsByteOffset = endpointsByteOffset + endpointsByteLength;
|
|
2243
2304
|
var tablesByteOffset = selectorsByteOffset + selectorsByteLength;
|
|
2244
2305
|
var extendedByteOffset = tablesByteOffset + tablesByteLength;
|
|
@@ -2430,6 +2491,25 @@ var AbstractTranscoder = /*#__PURE__*/ function() {
|
|
|
2430
2491
|
}();
|
|
2431
2492
|
|
|
2432
2493
|
/** @internal */ function TranscodeWorkerCode$1() {
|
|
2494
|
+
var initPromise;
|
|
2495
|
+
var init = function init(wasmBinary) {
|
|
2496
|
+
if (!initPromise) {
|
|
2497
|
+
initPromise = new Promise(function(resolve, reject) {
|
|
2498
|
+
var BasisModule = {
|
|
2499
|
+
wasmBinary: wasmBinary,
|
|
2500
|
+
onRuntimeInitialized: function() {
|
|
2501
|
+
return resolve(BasisModule);
|
|
2502
|
+
},
|
|
2503
|
+
onAbort: reject
|
|
2504
|
+
};
|
|
2505
|
+
self["BASIS"](BasisModule);
|
|
2506
|
+
}).then(function(BasisModule) {
|
|
2507
|
+
BasisModule.initializeBasis();
|
|
2508
|
+
return BasisModule.KTX2File;
|
|
2509
|
+
});
|
|
2510
|
+
}
|
|
2511
|
+
return initPromise;
|
|
2512
|
+
};
|
|
2433
2513
|
self.onmessage = function onmessage(event) {
|
|
2434
2514
|
var message = event.data;
|
|
2435
2515
|
switch(message.type){
|
|
@@ -2544,6 +2624,10 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2544
2624
|
cleanup();
|
|
2545
2625
|
throw new Error("Invalid or unsupported .ktx2 file");
|
|
2546
2626
|
}
|
|
2627
|
+
if (!ktx2File.startTranscoding()) {
|
|
2628
|
+
cleanup();
|
|
2629
|
+
throw new Error("KTX2 startTranscoding failed");
|
|
2630
|
+
}
|
|
2547
2631
|
var width = ktx2File.getWidth();
|
|
2548
2632
|
var height = ktx2File.getHeight();
|
|
2549
2633
|
var layerCount = ktx2File.getLayers() || 1;
|
|
@@ -2552,6 +2636,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2552
2636
|
var faceCount = ktx2File.getFaces();
|
|
2553
2637
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2554
2638
|
var faces = new Array(faceCount);
|
|
2639
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2555
2640
|
for(var face = 0; face < faceCount; face++){
|
|
2556
2641
|
var mipmaps = new Array(levelCount);
|
|
2557
2642
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2559,8 +2644,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2559
2644
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2560
2645
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2561
2646
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2562
|
-
|
|
2563
|
-
|
|
2647
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2648
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2649
|
+
width = mipWidth = levelInfo.width;
|
|
2650
|
+
height = mipHeight = levelInfo.height;
|
|
2651
|
+
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.");
|
|
2652
|
+
} else {
|
|
2653
|
+
mipWidth = levelInfo.origWidth;
|
|
2654
|
+
mipHeight = levelInfo.origHeight;
|
|
2655
|
+
}
|
|
2564
2656
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2565
2657
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2566
2658
|
if (!status) {
|
|
@@ -2626,7 +2718,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2626
2718
|
} else {
|
|
2627
2719
|
var funcCode = TranscodeWorkerCode$1.toString();
|
|
2628
2720
|
var transcodeString = funcCode.substring(funcCode.indexOf("{"), funcCode.lastIndexOf("}") + 1);
|
|
2629
|
-
var workerCode = "\n " + jsCode + "\n
|
|
2721
|
+
var workerCode = "\n " + jsCode + "\n " + transcode.toString() + "\n " + transcodeString + "\n ";
|
|
2630
2722
|
var workerURL = engineMiniprogramAdapter.URL.createObjectURL(new engineMiniprogramAdapter.Blob([
|
|
2631
2723
|
workerCode
|
|
2632
2724
|
], {
|
|
@@ -2872,10 +2964,14 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2872
2964
|
return Loader1.apply(this, arguments);
|
|
2873
2965
|
}
|
|
2874
2966
|
var _proto = KTX2Loader1.prototype;
|
|
2875
|
-
_proto.initialize = function initialize(
|
|
2967
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
2876
2968
|
if (configuration.ktx2Loader) {
|
|
2877
2969
|
var options = configuration.ktx2Loader;
|
|
2878
|
-
if (
|
|
2970
|
+
if (options.priorityFormats) {
|
|
2971
|
+
exports.KTX2Loader._priorityFormats["etc1s"] = options.priorityFormats;
|
|
2972
|
+
exports.KTX2Loader._priorityFormats["uastc"] = options.priorityFormats;
|
|
2973
|
+
}
|
|
2974
|
+
if (options.transcoder === /** Khronos transcoder. */ 1) {
|
|
2879
2975
|
return exports.KTX2Loader._getKhronosTranscoder(options.workerCount).init();
|
|
2880
2976
|
} else {
|
|
2881
2977
|
return exports.KTX2Loader._getBinomialLLCTranscoder(options.workerCount).init();
|
|
@@ -2894,27 +2990,6 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2894
2990
|
});
|
|
2895
2991
|
});
|
|
2896
2992
|
};
|
|
2897
|
-
_proto._isKhronosSupported = function _isKhronosSupported(priorityFormats, engine) {
|
|
2898
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2899
|
-
exports.KTX2TargetFormat.ASTC,
|
|
2900
|
-
exports.KTX2TargetFormat.ETC,
|
|
2901
|
-
exports.KTX2TargetFormat.BC7,
|
|
2902
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
2903
|
-
exports.KTX2TargetFormat.PVRTC,
|
|
2904
|
-
exports.KTX2TargetFormat.R8G8B8A8
|
|
2905
|
-
];
|
|
2906
|
-
var supportedList = new Array();
|
|
2907
|
-
if (Array.isArray(priorityFormats[0])) {
|
|
2908
|
-
for(var i = 0; i < priorityFormats.length; i++){
|
|
2909
|
-
supportedList.push(exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats[i]));
|
|
2910
|
-
}
|
|
2911
|
-
} else {
|
|
2912
|
-
supportedList.push(exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats));
|
|
2913
|
-
}
|
|
2914
|
-
return supportedList.every(function(format) {
|
|
2915
|
-
return KhronosTranscoder.transcoderMap[format];
|
|
2916
|
-
});
|
|
2917
|
-
};
|
|
2918
2993
|
/**
|
|
2919
2994
|
* Destroy ktx2 transcoder worker.
|
|
2920
2995
|
*/ KTX2Loader1.destroy = function destroy() {
|
|
@@ -2927,7 +3002,8 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2927
3002
|
/** @internal */ KTX2Loader1._parseBuffer = function _parseBuffer(buffer, engine, params) {
|
|
2928
3003
|
var _params;
|
|
2929
3004
|
var ktx2Container = new KTX2Container(buffer);
|
|
2930
|
-
var
|
|
3005
|
+
var _params_priorityFormats;
|
|
3006
|
+
var formatPriorities = (_params_priorityFormats = (_params = params) == null ? void 0 : _params.priorityFormats) != null ? _params_priorityFormats : exports.KTX2Loader._priorityFormats[ktx2Container.isUASTC ? "uastc" : "etc1s"];
|
|
2931
3007
|
var targetFormat = exports.KTX2Loader._decideTargetFormat(engine, ktx2Container, formatPriorities);
|
|
2932
3008
|
var transcodeResultPromise;
|
|
2933
3009
|
if (exports.KTX2Loader._isBinomialInit || !KhronosTranscoder.transcoderMap[targetFormat] || !ktx2Container.isUASTC) {
|
|
@@ -2994,18 +3070,22 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2994
3070
|
return targetFormat;
|
|
2995
3071
|
};
|
|
2996
3072
|
KTX2Loader1._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
|
|
2997
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2998
|
-
exports.KTX2TargetFormat.ASTC,
|
|
2999
|
-
exports.KTX2TargetFormat.ETC,
|
|
3000
|
-
exports.KTX2TargetFormat.BC7,
|
|
3001
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
3002
|
-
exports.KTX2TargetFormat.PVRTC
|
|
3003
|
-
];
|
|
3004
3073
|
for(var i = 0; i < priorityFormats.length; i++){
|
|
3005
|
-
var
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3074
|
+
var format = priorityFormats[i];
|
|
3075
|
+
var capabilities = this._supportedMap[format];
|
|
3076
|
+
if (capabilities) {
|
|
3077
|
+
for(var j = 0; j < capabilities.length; j++){
|
|
3078
|
+
if (renderer.canIUse(capabilities[j])) {
|
|
3079
|
+
return format;
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3082
|
+
} else {
|
|
3083
|
+
switch(priorityFormats[i]){
|
|
3084
|
+
case exports.KTX2TargetFormat.R8G8B8A8:
|
|
3085
|
+
return format;
|
|
3086
|
+
case exports.KTX2TargetFormat.R8:
|
|
3087
|
+
case exports.KTX2TargetFormat.R8G8:
|
|
3088
|
+
if (renderer.isWebGL2) return format;
|
|
3009
3089
|
}
|
|
3010
3090
|
}
|
|
3011
3091
|
}
|
|
@@ -3042,6 +3122,23 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3042
3122
|
return KTX2Loader1;
|
|
3043
3123
|
}(miniprogram.Loader), function() {
|
|
3044
3124
|
_KTX2Loader._isBinomialInit = false;
|
|
3125
|
+
}(), function() {
|
|
3126
|
+
_KTX2Loader._priorityFormats = {
|
|
3127
|
+
etc1s: [
|
|
3128
|
+
exports.KTX2TargetFormat.ETC,
|
|
3129
|
+
exports.KTX2TargetFormat.BC7,
|
|
3130
|
+
exports.KTX2TargetFormat.ASTC,
|
|
3131
|
+
exports.KTX2TargetFormat.BC1_BC3,
|
|
3132
|
+
exports.KTX2TargetFormat.PVRTC
|
|
3133
|
+
],
|
|
3134
|
+
uastc: [
|
|
3135
|
+
exports.KTX2TargetFormat.ASTC,
|
|
3136
|
+
exports.KTX2TargetFormat.BC7,
|
|
3137
|
+
exports.KTX2TargetFormat.ETC,
|
|
3138
|
+
exports.KTX2TargetFormat.BC1_BC3,
|
|
3139
|
+
exports.KTX2TargetFormat.PVRTC
|
|
3140
|
+
]
|
|
3141
|
+
};
|
|
3045
3142
|
}(), function() {
|
|
3046
3143
|
var _obj;
|
|
3047
3144
|
_KTX2Loader._supportedMap = (_obj = {}, _obj[exports.KTX2TargetFormat.ASTC] = [
|
|
@@ -3062,6 +3159,11 @@ exports.KTX2Loader = __decorate([
|
|
|
3062
3159
|
"ktx2"
|
|
3063
3160
|
])
|
|
3064
3161
|
], exports.KTX2Loader);
|
|
3162
|
+
exports.KTX2Transcoder = void 0;
|
|
3163
|
+
(function(KTX2Transcoder) {
|
|
3164
|
+
KTX2Transcoder[KTX2Transcoder[/** BinomialLLC transcoder. */ "BinomialLLC"] = 0] = "BinomialLLC";
|
|
3165
|
+
KTX2Transcoder[KTX2Transcoder["Khronos"] = 1] = "Khronos";
|
|
3166
|
+
})(exports.KTX2Transcoder || (exports.KTX2Transcoder = {}));
|
|
3065
3167
|
|
|
3066
3168
|
/**
|
|
3067
3169
|
* @internal
|
|
@@ -3505,6 +3607,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3505
3607
|
var promises = new Array();
|
|
3506
3608
|
// parse samplers
|
|
3507
3609
|
for(var j = 0, m = samplers.length; j < m; j++)_loop(j);
|
|
3610
|
+
promises.push(context.get(exports.GLTFParserType.Scene));
|
|
3508
3611
|
return Promise.all(promises).then(function() {
|
|
3509
3612
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
3510
3613
|
var gltfChannel = channels[j];
|
|
@@ -3516,6 +3619,10 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3516
3619
|
relativePath = relativePath === "" ? "" + entity.name : entity.name + "/" + relativePath;
|
|
3517
3620
|
entity = entity.parent;
|
|
3518
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
|
+
}
|
|
3519
3626
|
var ComponentType = void 0;
|
|
3520
3627
|
var propertyName = void 0;
|
|
3521
3628
|
switch(target.path){
|
|
@@ -3852,7 +3959,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
|
|
|
3852
3959
|
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
3853
3960
|
return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
|
|
3854
3961
|
});
|
|
3855
|
-
}, context.keepMeshData).then(resolve);
|
|
3962
|
+
}, context.params.keepMeshData).then(resolve);
|
|
3856
3963
|
}
|
|
3857
3964
|
});
|
|
3858
3965
|
};
|
|
@@ -4030,9 +4137,9 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4030
4137
|
}
|
|
4031
4138
|
var _proto = GLTFSceneParser.prototype;
|
|
4032
4139
|
_proto.parse = function parse(context, index) {
|
|
4033
|
-
var _this = this;
|
|
4034
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;
|
|
4035
4141
|
var sceneInfo = scenes[index];
|
|
4142
|
+
var sceneExtensions = sceneInfo.extensions;
|
|
4036
4143
|
var engine = glTFResource.engine;
|
|
4037
4144
|
var isDefaultScene = scene === index;
|
|
4038
4145
|
var sceneNodes = sceneInfo.nodes;
|
|
@@ -4058,18 +4165,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4058
4165
|
promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
|
|
4059
4166
|
}
|
|
4060
4167
|
return Promise.all(promises).then(function() {
|
|
4061
|
-
|
|
4062
|
-
return Promise.all([
|
|
4063
|
-
context.get(exports.GLTFParserType.Skin),
|
|
4064
|
-
context.get(exports.GLTFParserType.Animation)
|
|
4065
|
-
]).then(function(param) {
|
|
4066
|
-
var skins = param[0], animations = param[1];
|
|
4067
|
-
if (skins || animations) {
|
|
4068
|
-
_this._createAnimator(context, animations);
|
|
4069
|
-
}
|
|
4070
|
-
return sceneRoot;
|
|
4071
|
-
});
|
|
4072
|
-
}
|
|
4168
|
+
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4073
4169
|
return sceneRoot;
|
|
4074
4170
|
});
|
|
4075
4171
|
};
|
|
@@ -4181,28 +4277,6 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4181
4277
|
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
4182
4278
|
return Promise.all(promises);
|
|
4183
4279
|
};
|
|
4184
|
-
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
4185
|
-
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
4186
|
-
var animator = defaultSceneRoot.addComponent(miniprogram.Animator);
|
|
4187
|
-
var animatorController = new miniprogram.AnimatorController();
|
|
4188
|
-
var layer = new miniprogram.AnimatorControllerLayer("layer");
|
|
4189
|
-
var animatorStateMachine = new miniprogram.AnimatorStateMachine();
|
|
4190
|
-
animatorController.addLayer(layer);
|
|
4191
|
-
animator.animatorController = animatorController;
|
|
4192
|
-
layer.stateMachine = animatorStateMachine;
|
|
4193
|
-
if (animations) {
|
|
4194
|
-
for(var i = 0; i < animations.length; i++){
|
|
4195
|
-
var animationClip = animations[i];
|
|
4196
|
-
var name = animationClip.name;
|
|
4197
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4198
|
-
if (uniqueName !== name) {
|
|
4199
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4200
|
-
}
|
|
4201
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4202
|
-
animatorState.clip = animationClip;
|
|
4203
|
-
}
|
|
4204
|
-
}
|
|
4205
|
-
};
|
|
4206
4280
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
4207
4281
|
var rootBoneIndex = bones.indexOf(rootBone);
|
|
4208
4282
|
if (rootBoneIndex !== -1) {
|
|
@@ -4352,8 +4426,7 @@ exports.GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFPar
|
|
|
4352
4426
|
mipmap: (_samplerInfo = samplerInfo) == null ? void 0 : _samplerInfo.mipmap
|
|
4353
4427
|
}
|
|
4354
4428
|
}).then(function(texture) {
|
|
4355
|
-
|
|
4356
|
-
(_texture = texture).name || (_texture.name = textureName || imageName || "texture_" + index);
|
|
4429
|
+
texture.name = textureName || imageName || texture.name || "texture_" + index;
|
|
4357
4430
|
useSampler && GLTFUtils.parseSampler(texture, samplerInfo);
|
|
4358
4431
|
return texture;
|
|
4359
4432
|
});
|
|
@@ -4435,11 +4508,12 @@ var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4435
4508
|
}
|
|
4436
4509
|
var _proto = GLTFLoader.prototype;
|
|
4437
4510
|
_proto.load = function load(item, resourceManager) {
|
|
4438
|
-
var _params;
|
|
4439
4511
|
var url = item.url;
|
|
4440
4512
|
var params = item.params;
|
|
4441
4513
|
var glTFResource = new GLTFResource(resourceManager.engine, url);
|
|
4442
|
-
var context = new GLTFParserContext(glTFResource, resourceManager,
|
|
4514
|
+
var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
|
|
4515
|
+
keepMeshData: false
|
|
4516
|
+
}, params));
|
|
4443
4517
|
return context.parse();
|
|
4444
4518
|
};
|
|
4445
4519
|
return GLTFLoader;
|
|
@@ -5087,6 +5161,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5087
5161
|
materialShaderData.setTexture(key, texture);
|
|
5088
5162
|
}));
|
|
5089
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;
|
|
5090
5170
|
}
|
|
5091
5171
|
};
|
|
5092
5172
|
var engine = resourceManager.engine;
|
|
@@ -5222,9 +5302,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5222
5302
|
var _loop = function(i) {
|
|
5223
5303
|
var atlasItem = atlasItems[i];
|
|
5224
5304
|
if (atlasItem.img) {
|
|
5305
|
+
var _atlasItem_type;
|
|
5225
5306
|
chainPromises.push(resourceManager.load({
|
|
5226
5307
|
url: miniprogram.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5227
|
-
type: miniprogram.AssetType.Texture2D,
|
|
5308
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : miniprogram.AssetType.Texture2D,
|
|
5228
5309
|
params: {
|
|
5229
5310
|
format: format,
|
|
5230
5311
|
mipmap: mipmap
|
|
@@ -5264,7 +5345,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5264
5345
|
};
|
|
5265
5346
|
_proto._makeSprite = function _makeSprite(engine, config, texture) {
|
|
5266
5347
|
// Generate a SpriteAtlas object.
|
|
5267
|
-
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;
|
|
5268
5349
|
var sprite = new miniprogram.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);
|
|
5269
5350
|
if (texture) {
|
|
5270
5351
|
var invW = 1 / texture.width;
|
|
@@ -5276,6 +5357,8 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5276
5357
|
}
|
|
5277
5358
|
config.atlasRotated && (sprite.atlasRotated = true);
|
|
5278
5359
|
}
|
|
5360
|
+
isNaN(width) || (sprite.width = width);
|
|
5361
|
+
isNaN(height) || (sprite.height = height);
|
|
5279
5362
|
return sprite;
|
|
5280
5363
|
};
|
|
5281
5364
|
return SpriteAtlasLoader;
|
|
@@ -5294,26 +5377,39 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5294
5377
|
var _proto = SpriteLoader.prototype;
|
|
5295
5378
|
_proto.load = function load(item, resourceManager) {
|
|
5296
5379
|
var _this = this;
|
|
5297
|
-
return
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5309
|
-
resolve(new miniprogram.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5310
|
-
}).catch(reject);
|
|
5311
|
-
} else {
|
|
5312
|
-
resolve(new miniprogram.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5313
|
-
}
|
|
5314
|
-
}).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);
|
|
5315
5391
|
});
|
|
5316
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 miniprogram.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 miniprogram.AssetPromise(function(resolve) {
|
|
5405
|
+
var sprite = new miniprogram.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
|
+
};
|
|
5317
5413
|
return SpriteLoader;
|
|
5318
5414
|
}(miniprogram.Loader);
|
|
5319
5415
|
SpriteLoader = __decorate([
|
|
@@ -5360,9 +5456,13 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5360
5456
|
type: "image"
|
|
5361
5457
|
});
|
|
5362
5458
|
_this.request(url, requestConfig).then(function(image) {
|
|
5363
|
-
var
|
|
5364
|
-
var
|
|
5365
|
-
var texture = new miniprogram.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 miniprogram.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;
|
|
5366
5466
|
texture.setImageSource(image);
|
|
5367
5467
|
texture.generateMipmaps();
|
|
5368
5468
|
if (url.indexOf("data:") !== 0) {
|
|
@@ -5460,6 +5560,39 @@ TextureCubeLoader = __decorate([
|
|
|
5460
5560
|
])
|
|
5461
5561
|
], TextureCubeLoader);
|
|
5462
5562
|
|
|
5563
|
+
var ProjectLoader = /*#__PURE__*/ function(Loader1) {
|
|
5564
|
+
_inherits(ProjectLoader, Loader1);
|
|
5565
|
+
function ProjectLoader() {
|
|
5566
|
+
return Loader1.apply(this, arguments);
|
|
5567
|
+
}
|
|
5568
|
+
var _proto = ProjectLoader.prototype;
|
|
5569
|
+
_proto.load = function load(item, resourceManager) {
|
|
5570
|
+
var _this = this;
|
|
5571
|
+
var engine = resourceManager.engine;
|
|
5572
|
+
return new miniprogram.AssetPromise(function(resolve, reject) {
|
|
5573
|
+
_this.request(item.url, {
|
|
5574
|
+
type: "json"
|
|
5575
|
+
}).then(function(data) {
|
|
5576
|
+
// @ts-ignore
|
|
5577
|
+
engine.resourceManager.initVirtualResources(data.files);
|
|
5578
|
+
return resourceManager.load({
|
|
5579
|
+
type: miniprogram.AssetType.Scene,
|
|
5580
|
+
url: data.scene
|
|
5581
|
+
}).then(function(scene) {
|
|
5582
|
+
engine.sceneManager.activeScene = scene;
|
|
5583
|
+
resolve();
|
|
5584
|
+
});
|
|
5585
|
+
}).catch(reject);
|
|
5586
|
+
});
|
|
5587
|
+
};
|
|
5588
|
+
return ProjectLoader;
|
|
5589
|
+
}(miniprogram.Loader);
|
|
5590
|
+
ProjectLoader = __decorate([
|
|
5591
|
+
miniprogram.resourceLoader(miniprogram.AssetType.Project, [
|
|
5592
|
+
"proj"
|
|
5593
|
+
], false)
|
|
5594
|
+
], ProjectLoader);
|
|
5595
|
+
|
|
5463
5596
|
var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
5464
5597
|
_inherits(SceneLoader, Loader1);
|
|
5465
5598
|
function SceneLoader() {
|
|
@@ -5477,33 +5610,34 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5477
5610
|
var promises = [];
|
|
5478
5611
|
// parse ambient light
|
|
5479
5612
|
var ambient = data.scene.ambient;
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
// prettier-ignore
|
|
5484
|
-
var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
5485
|
-
scene.ambientLight = ambientLight;
|
|
5486
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5487
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5488
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5489
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5490
|
-
});
|
|
5491
|
-
promises.push(customAmbientPromise);
|
|
5492
|
-
} else if (!useCustomAmbient && ambient.ambientLight) {
|
|
5493
|
-
// @ts-ignore
|
|
5494
|
-
// prettier-ignore
|
|
5495
|
-
var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
5496
|
-
scene.ambientLight = ambientLight;
|
|
5497
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5498
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5499
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5500
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5501
|
-
});
|
|
5502
|
-
promises.push(ambientLightPromise);
|
|
5503
|
-
} else {
|
|
5613
|
+
if (ambient) {
|
|
5614
|
+
var useCustomAmbient = ambient.specularMode === "Custom";
|
|
5615
|
+
var useSH = ambient.diffuseMode === miniprogram.DiffuseMode.SphericalHarmonics;
|
|
5504
5616
|
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5505
5617
|
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5618
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5506
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
|
+
}
|
|
5507
5641
|
}
|
|
5508
5642
|
var background = data.scene.background;
|
|
5509
5643
|
scene.background.mode = background.mode;
|
|
@@ -5545,6 +5679,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5545
5679
|
if (shadow.shadowResolution != undefined) scene.shadowResolution = shadow.shadowResolution;
|
|
5546
5680
|
if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
|
|
5547
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);
|
|
5548
5685
|
}
|
|
5549
5686
|
return Promise.all(promises).then(function() {
|
|
5550
5687
|
resolve(scene);
|
|
@@ -5560,13 +5697,13 @@ SceneLoader = __decorate([
|
|
|
5560
5697
|
"scene"
|
|
5561
5698
|
], true)
|
|
5562
5699
|
], SceneLoader);
|
|
5563
|
-
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item
|
|
5700
|
+
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
|
|
5564
5701
|
var props;
|
|
5565
5702
|
return __generator(this, function(_state) {
|
|
5566
5703
|
props = item.props;
|
|
5567
5704
|
if (!props.font) {
|
|
5568
5705
|
// @ts-ignore
|
|
5569
|
-
instance.font = miniprogram.Font.createFromOS(engine, props.fontFamily || "Arial");
|
|
5706
|
+
instance.font = miniprogram.Font.createFromOS(instance.engine, props.fontFamily || "Arial");
|
|
5570
5707
|
}
|
|
5571
5708
|
return [
|
|
5572
5709
|
2,
|
|
@@ -5622,7 +5759,7 @@ var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ fu
|
|
|
5622
5759
|
throw "BlendShape animation is not supported when using draco.";
|
|
5623
5760
|
}, function() {
|
|
5624
5761
|
return decodedGeometry.index.array;
|
|
5625
|
-
}, context.keepMeshData);
|
|
5762
|
+
}, context.params.keepMeshData);
|
|
5626
5763
|
});
|
|
5627
5764
|
});
|
|
5628
5765
|
};
|