@galacean/engine 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +193 -213
- package/dist/browser.min.js +1 -1
- package/dist/main.js +1 -1
- package/dist/miniprogram.js +1 -1
- package/dist/module.js +1 -1
- package/package.json +5 -5
- package/dist/.DS_Store +0 -0
package/dist/browser.js
CHANGED
|
@@ -39579,7 +39579,7 @@
|
|
|
39579
39579
|
var glTFItems = this.glTF[glTFSchemaMap[type]];
|
|
39580
39580
|
if (glTFItems && (index === undefined || glTFItems[index])) {
|
|
39581
39581
|
if (index === undefined) {
|
|
39582
|
-
resource = type ===
|
|
39582
|
+
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
39583
39583
|
return _this.get(type, index);
|
|
39584
39584
|
}) : Promise.all(glTFItems.map(function(_, index) {
|
|
39585
39585
|
return _this.get(type, index);
|
|
@@ -39601,11 +39601,11 @@
|
|
|
39601
39601
|
_this.glTF = json;
|
|
39602
39602
|
return Promise.all([
|
|
39603
39603
|
_this.get(1),
|
|
39604
|
-
_this.get(4),
|
|
39605
39604
|
_this.get(5),
|
|
39606
39605
|
_this.get(6),
|
|
39607
|
-
_this.get(
|
|
39606
|
+
_this.get(7),
|
|
39608
39607
|
_this.get(9),
|
|
39608
|
+
_this.get(10),
|
|
39609
39609
|
_this.get(2)
|
|
39610
39610
|
]).then(function() {
|
|
39611
39611
|
var glTFResource = _this.glTFResource;
|
|
@@ -39643,7 +39643,7 @@
|
|
|
39643
39643
|
var _this = this;
|
|
39644
39644
|
var glTFResourceKey = glTFResourceMap[type];
|
|
39645
39645
|
if (!glTFResourceKey) return;
|
|
39646
|
-
if (type ===
|
|
39646
|
+
if (type === 8) {
|
|
39647
39647
|
var _this_glTFResource, _glTFResourceKey;
|
|
39648
39648
|
((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
|
|
39649
39649
|
} else {
|
|
@@ -39651,7 +39651,7 @@
|
|
|
39651
39651
|
resource.then(function(item) {
|
|
39652
39652
|
var _this_glTFResource, _glTFResourceKey;
|
|
39653
39653
|
((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
|
|
39654
|
-
if (type ===
|
|
39654
|
+
if (type === 7) {
|
|
39655
39655
|
for(var i = 0, length = item.length; i < length; i++){
|
|
39656
39656
|
var mesh = item[i];
|
|
39657
39657
|
// @ts-ignore
|
|
@@ -39691,17 +39691,18 @@
|
|
|
39691
39691
|
GLTFParserType[GLTFParserType["Validator"] = 1] = "Validator";
|
|
39692
39692
|
GLTFParserType[GLTFParserType["Scene"] = 2] = "Scene";
|
|
39693
39693
|
GLTFParserType[GLTFParserType["Buffer"] = 3] = "Buffer";
|
|
39694
|
-
GLTFParserType[GLTFParserType["
|
|
39695
|
-
GLTFParserType[GLTFParserType["
|
|
39696
|
-
GLTFParserType[GLTFParserType["
|
|
39697
|
-
GLTFParserType[GLTFParserType["
|
|
39698
|
-
GLTFParserType[GLTFParserType["
|
|
39699
|
-
GLTFParserType[GLTFParserType["
|
|
39694
|
+
GLTFParserType[GLTFParserType["BufferView"] = 4] = "BufferView";
|
|
39695
|
+
GLTFParserType[GLTFParserType["Texture"] = 5] = "Texture";
|
|
39696
|
+
GLTFParserType[GLTFParserType["Material"] = 6] = "Material";
|
|
39697
|
+
GLTFParserType[GLTFParserType["Mesh"] = 7] = "Mesh";
|
|
39698
|
+
GLTFParserType[GLTFParserType["Entity"] = 8] = "Entity";
|
|
39699
|
+
GLTFParserType[GLTFParserType["Skin"] = 9] = "Skin";
|
|
39700
|
+
GLTFParserType[GLTFParserType["Animation"] = 10] = "Animation";
|
|
39700
39701
|
})(exports.GLTFParserType || (exports.GLTFParserType = {}));
|
|
39701
39702
|
var _obj;
|
|
39702
|
-
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[
|
|
39703
|
+
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[5] = "textures", _obj[6] = "materials", _obj[7] = "meshes", _obj[8] = "nodes", _obj[9] = "skins", _obj[10] = "animations", _obj[4] = "bufferViews", _obj);
|
|
39703
39704
|
var _obj1;
|
|
39704
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "sceneRoots", _obj1[
|
|
39705
|
+
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1);
|
|
39705
39706
|
function registerGLTFParser(pipeline) {
|
|
39706
39707
|
return function(Parser) {
|
|
39707
39708
|
var parser = new Parser();
|
|
@@ -39805,113 +39806,68 @@
|
|
|
39805
39806
|
};
|
|
39806
39807
|
GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
|
|
39807
39808
|
var componentType = accessor.componentType;
|
|
39808
|
-
var
|
|
39809
|
-
var
|
|
39810
|
-
var
|
|
39811
|
-
|
|
39812
|
-
|
|
39813
|
-
|
|
39814
|
-
|
|
39815
|
-
var
|
|
39816
|
-
var
|
|
39817
|
-
|
|
39818
|
-
|
|
39819
|
-
|
|
39820
|
-
|
|
39821
|
-
|
|
39822
|
-
|
|
39823
|
-
|
|
39824
|
-
|
|
39825
|
-
|
|
39826
|
-
|
|
39827
|
-
|
|
39828
|
-
|
|
39829
|
-
|
|
39830
|
-
|
|
39831
|
-
|
|
39832
|
-
|
|
39833
|
-
|
|
39834
|
-
|
|
39835
|
-
|
|
39836
|
-
|
|
39809
|
+
var TypedArray = GLTFUtils.getComponentType(componentType);
|
|
39810
|
+
var dataElementSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
39811
|
+
var dataElementBytes = TypedArray.BYTES_PER_ELEMENT;
|
|
39812
|
+
var elementStride = dataElementSize * dataElementBytes;
|
|
39813
|
+
var accessorCount = accessor.count;
|
|
39814
|
+
var promise;
|
|
39815
|
+
if (accessor.bufferView !== undefined) {
|
|
39816
|
+
var bufferViewIndex = accessor.bufferView;
|
|
39817
|
+
var bufferView = bufferViews[bufferViewIndex];
|
|
39818
|
+
promise = context.get(exports.GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
|
|
39819
|
+
var bufferIndex = bufferView.buffer;
|
|
39820
|
+
var _bufferViewData_byteOffset;
|
|
39821
|
+
var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
|
|
39822
|
+
var _accessor_byteOffset;
|
|
39823
|
+
var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
|
|
39824
|
+
var bufferStride = bufferView.byteStride;
|
|
39825
|
+
var bufferInfo;
|
|
39826
|
+
// According to the glTF official documentation only byteStride not undefined is allowed
|
|
39827
|
+
if (bufferStride !== undefined && bufferStride !== elementStride) {
|
|
39828
|
+
var bufferSlice = Math.floor(byteOffset / bufferStride);
|
|
39829
|
+
var bufferCacheKey = bufferViewIndex + ":" + componentType + ":" + bufferSlice + ":" + accessorCount;
|
|
39830
|
+
var accessorBufferCache = context.accessorBufferCache;
|
|
39831
|
+
bufferInfo = accessorBufferCache[bufferCacheKey];
|
|
39832
|
+
if (!bufferInfo) {
|
|
39833
|
+
var offset = bufferByteOffset + bufferSlice * bufferStride;
|
|
39834
|
+
var count = accessorCount * (bufferStride / dataElementBytes);
|
|
39835
|
+
var data = new TypedArray(bufferViewData.buffer, offset, count);
|
|
39836
|
+
accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
|
|
39837
|
+
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
|
|
39838
|
+
}
|
|
39839
|
+
} else {
|
|
39840
|
+
var offset1 = bufferByteOffset + byteOffset;
|
|
39841
|
+
var count1 = accessorCount * dataElementSize;
|
|
39842
|
+
var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
|
|
39843
|
+
bufferInfo = new BufferInfo(data1, false, elementStride);
|
|
39844
|
+
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
39837
39845
|
}
|
|
39838
|
-
|
|
39839
|
-
|
|
39840
|
-
|
|
39841
|
-
|
|
39842
|
-
|
|
39843
|
-
|
|
39844
|
-
|
|
39845
|
-
|
|
39846
|
-
|
|
39847
|
-
|
|
39848
|
-
return bufferInfo
|
|
39849
|
-
|
|
39846
|
+
return bufferInfo;
|
|
39847
|
+
});
|
|
39848
|
+
} else {
|
|
39849
|
+
var count = accessorCount * dataElementSize;
|
|
39850
|
+
var data = new TypedArray(count);
|
|
39851
|
+
var bufferInfo = new BufferInfo(data, false, elementStride);
|
|
39852
|
+
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
|
|
39853
|
+
promise = Promise.resolve(bufferInfo);
|
|
39854
|
+
}
|
|
39855
|
+
return accessor.sparse ? promise.then(function(bufferInfo) {
|
|
39856
|
+
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
39857
|
+
return bufferInfo;
|
|
39858
|
+
});
|
|
39859
|
+
}) : promise;
|
|
39850
39860
|
};
|
|
39851
|
-
GLTFUtils.bufferToVector3Array = function bufferToVector3Array(
|
|
39852
|
-
var
|
|
39853
|
-
var
|
|
39854
|
-
var
|
|
39855
|
-
var
|
|
39861
|
+
GLTFUtils.bufferToVector3Array = function bufferToVector3Array(buffer, byteOffset, count, normalized, componentType) {
|
|
39862
|
+
var baseOffset = byteOffset / buffer.BYTES_PER_ELEMENT;
|
|
39863
|
+
var stride = buffer.length / count;
|
|
39864
|
+
var vertices = new Array(count);
|
|
39865
|
+
var factor = normalized ? GLTFUtils.getNormalizedComponentScale(componentType) : 1;
|
|
39856
39866
|
for(var i = 0; i < count; i++){
|
|
39857
|
-
var index =
|
|
39858
|
-
|
|
39859
|
-
}
|
|
39860
|
-
return vector3s;
|
|
39861
|
-
};
|
|
39862
|
-
/**
|
|
39863
|
-
* @deprecated
|
|
39864
|
-
* Get accessor data.
|
|
39865
|
-
*/ GLTFUtils.getAccessorData = function getAccessorData(glTF, accessor, buffers) {
|
|
39866
|
-
var bufferViews = glTF.bufferViews;
|
|
39867
|
-
var _accessor_bufferView;
|
|
39868
|
-
var bufferView = bufferViews[(_accessor_bufferView = accessor.bufferView) != null ? _accessor_bufferView : 0];
|
|
39869
|
-
var arrayBuffer = buffers[bufferView.buffer];
|
|
39870
|
-
var accessorByteOffset = accessor.hasOwnProperty("byteOffset") ? accessor.byteOffset : 0;
|
|
39871
|
-
var bufferViewByteOffset = bufferView.hasOwnProperty("byteOffset") ? bufferView.byteOffset : 0;
|
|
39872
|
-
var byteOffset = accessorByteOffset + bufferViewByteOffset;
|
|
39873
|
-
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
39874
|
-
var length = accessorTypeSize * accessor.count;
|
|
39875
|
-
var _bufferView_byteStride;
|
|
39876
|
-
var byteStride = (_bufferView_byteStride = bufferView.byteStride) != null ? _bufferView_byteStride : 0;
|
|
39877
|
-
var arrayType = GLTFUtils.getComponentType(accessor.componentType);
|
|
39878
|
-
var uint8Array;
|
|
39879
|
-
if (byteStride) {
|
|
39880
|
-
var accessorByteSize = accessorTypeSize * arrayType.BYTES_PER_ELEMENT;
|
|
39881
|
-
uint8Array = new Uint8Array(accessor.count * accessorByteSize);
|
|
39882
|
-
var originalBufferView = new Uint8Array(arrayBuffer, bufferViewByteOffset, bufferView.byteLength);
|
|
39883
|
-
for(var i = 0; i < accessor.count; i++){
|
|
39884
|
-
for(var j = 0; j < accessorByteSize; j++){
|
|
39885
|
-
uint8Array[i * accessorByteSize + j] = originalBufferView[i * byteStride + accessorByteOffset + j];
|
|
39886
|
-
}
|
|
39887
|
-
}
|
|
39888
|
-
} else {
|
|
39889
|
-
uint8Array = new Uint8Array(arrayBuffer.slice(byteOffset, byteOffset + length * arrayType.BYTES_PER_ELEMENT));
|
|
39890
|
-
}
|
|
39891
|
-
var typedArray = new arrayType(uint8Array.buffer);
|
|
39892
|
-
if (accessor.sparse) {
|
|
39893
|
-
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
39894
|
-
var indicesBufferView = bufferViews[indices.bufferView];
|
|
39895
|
-
var valuesBufferView = bufferViews[values.bufferView];
|
|
39896
|
-
var indicesArrayBuffer = buffers[indicesBufferView.buffer];
|
|
39897
|
-
var valuesArrayBuffer = buffers[valuesBufferView.buffer];
|
|
39898
|
-
var _indices_byteOffset, _indicesBufferView_byteOffset;
|
|
39899
|
-
var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesBufferView_byteOffset = indicesBufferView.byteOffset) != null ? _indicesBufferView_byteOffset : 0);
|
|
39900
|
-
var indicesByteLength = indicesBufferView.byteLength;
|
|
39901
|
-
var _values_byteOffset, _valuesBufferView_byteOffset;
|
|
39902
|
-
var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesBufferView_byteOffset = valuesBufferView.byteOffset) != null ? _valuesBufferView_byteOffset : 0);
|
|
39903
|
-
var valuesByteLength = valuesBufferView.byteLength;
|
|
39904
|
-
var indicesType = GLTFUtils.getComponentType(indices.componentType);
|
|
39905
|
-
var indicesArray = new indicesType(indicesArrayBuffer, indicesByteOffset, indicesByteLength / indicesType.BYTES_PER_ELEMENT);
|
|
39906
|
-
var valuesArray = new arrayType(valuesArrayBuffer, valuesByteOffset, valuesByteLength / arrayType.BYTES_PER_ELEMENT);
|
|
39907
|
-
for(var i1 = 0; i1 < count; i1++){
|
|
39908
|
-
var replaceIndex = indicesArray[i1];
|
|
39909
|
-
for(var j1 = 0; j1 < accessorTypeSize; j1++){
|
|
39910
|
-
typedArray[replaceIndex * accessorTypeSize + j1] = valuesArray[i1 * accessorTypeSize + j1];
|
|
39911
|
-
}
|
|
39912
|
-
}
|
|
39867
|
+
var index = baseOffset + i * stride;
|
|
39868
|
+
vertices[i] = new Vector3(buffer[index] * factor, buffer[index + 1] * factor, buffer[index + 2] * factor);
|
|
39913
39869
|
}
|
|
39914
|
-
return
|
|
39870
|
+
return vertices;
|
|
39915
39871
|
};
|
|
39916
39872
|
GLTFUtils.getBufferViewData = function getBufferViewData(bufferView, buffers) {
|
|
39917
39873
|
var _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset;
|
|
@@ -39920,40 +39876,43 @@
|
|
|
39920
39876
|
};
|
|
39921
39877
|
/**
|
|
39922
39878
|
* Get accessor data.
|
|
39923
|
-
*/ GLTFUtils.processingSparseData = function processingSparseData(
|
|
39879
|
+
*/ GLTFUtils.processingSparseData = function processingSparseData(context, accessor, bufferInfo) {
|
|
39924
39880
|
var restoreInfo = bufferInfo.restoreInfo;
|
|
39881
|
+
var bufferViews = context.glTF.bufferViews;
|
|
39925
39882
|
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
39926
39883
|
var TypedArray = GLTFUtils.getComponentType(accessor.componentType);
|
|
39927
39884
|
var data = bufferInfo.data.slice();
|
|
39928
39885
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
39929
39886
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
39930
39887
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
39931
|
-
|
|
39932
|
-
|
|
39933
|
-
|
|
39934
|
-
|
|
39935
|
-
|
|
39936
|
-
|
|
39937
|
-
|
|
39938
|
-
|
|
39939
|
-
|
|
39940
|
-
|
|
39941
|
-
|
|
39942
|
-
|
|
39943
|
-
|
|
39944
|
-
|
|
39945
|
-
|
|
39946
|
-
|
|
39947
|
-
|
|
39948
|
-
|
|
39949
|
-
|
|
39950
|
-
|
|
39951
|
-
var
|
|
39952
|
-
|
|
39953
|
-
|
|
39888
|
+
return Promise.all([
|
|
39889
|
+
context.get(exports.GLTFParserType.BufferView, indices.bufferView),
|
|
39890
|
+
context.get(exports.GLTFParserType.BufferView, values.bufferView)
|
|
39891
|
+
]).then(function(param) {
|
|
39892
|
+
var indicesUint8Array = param[0], valuesUin8Array = param[1];
|
|
39893
|
+
var _indices_byteOffset, _indicesUint8Array_byteOffset;
|
|
39894
|
+
var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesUint8Array_byteOffset = indicesUint8Array.byteOffset) != null ? _indicesUint8Array_byteOffset : 0);
|
|
39895
|
+
var indicesByteLength = indicesUint8Array.byteLength;
|
|
39896
|
+
var _values_byteOffset, _valuesUin8Array_byteOffset;
|
|
39897
|
+
var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesUin8Array_byteOffset = valuesUin8Array.byteOffset) != null ? _valuesUin8Array_byteOffset : 0);
|
|
39898
|
+
var valuesByteLength = valuesUin8Array.byteLength;
|
|
39899
|
+
restoreInfo.typeSize = accessorTypeSize;
|
|
39900
|
+
restoreInfo.sparseCount = count;
|
|
39901
|
+
var IndexTypeArray = GLTFUtils.getComponentType(indices.componentType);
|
|
39902
|
+
var indexLength = indicesByteLength / IndexTypeArray.BYTES_PER_ELEMENT;
|
|
39903
|
+
var indicesArray = new IndexTypeArray(indicesUint8Array.buffer, indicesByteOffset, indexLength);
|
|
39904
|
+
restoreInfo.sparseIndices = new RestoreDataAccessor(indicesBufferView.buffer, IndexTypeArray, indicesByteOffset, indexLength);
|
|
39905
|
+
var valueLength = valuesByteLength / TypedArray.BYTES_PER_ELEMENT;
|
|
39906
|
+
var valuesArray = new TypedArray(valuesUin8Array.buffer, valuesByteOffset, valueLength);
|
|
39907
|
+
restoreInfo.sparseValues = new RestoreDataAccessor(valuesBufferView.buffer, TypedArray, valuesByteOffset, valueLength);
|
|
39908
|
+
for(var i = 0; i < count; i++){
|
|
39909
|
+
var replaceIndex = indicesArray[i];
|
|
39910
|
+
for(var j = 0; j < accessorTypeSize; j++){
|
|
39911
|
+
data[replaceIndex * accessorTypeSize + j] = valuesArray[i * accessorTypeSize + j];
|
|
39912
|
+
}
|
|
39954
39913
|
}
|
|
39955
|
-
|
|
39956
|
-
|
|
39914
|
+
bufferInfo.data = data;
|
|
39915
|
+
});
|
|
39957
39916
|
};
|
|
39958
39917
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
39959
39918
|
switch(type){
|
|
@@ -41208,16 +41167,16 @@
|
|
|
41208
41167
|
var frame = restoreInfo.blendShape.frames[0];
|
|
41209
41168
|
var position = restoreInfo.position;
|
|
41210
41169
|
var positionData = _this._getBufferData(buffers, position.buffer);
|
|
41211
|
-
frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.
|
|
41170
|
+
frame.deltaPositions = GLTFUtils.bufferToVector3Array(positionData, position.byteOffset, position.count, position.normalized, position.componentType);
|
|
41212
41171
|
if (restoreInfo.normal) {
|
|
41213
41172
|
var normal = restoreInfo.normal;
|
|
41214
41173
|
var normalData = _this._getBufferData(buffers, normal.buffer);
|
|
41215
|
-
frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.
|
|
41174
|
+
frame.deltaNormals = GLTFUtils.bufferToVector3Array(normalData, normal.byteOffset, normal.count, normal.normalized, normal.componentType);
|
|
41216
41175
|
}
|
|
41217
41176
|
if (restoreInfo.tangent) {
|
|
41218
41177
|
var tangent = restoreInfo.tangent;
|
|
41219
41178
|
var tangentData = _this._getBufferData(buffers, tangent.buffer);
|
|
41220
|
-
frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.
|
|
41179
|
+
frame.deltaTangents = GLTFUtils.bufferToVector3Array(tangentData, tangent.byteOffset, tangent.count, tangent.normalized, tangent.componentType);
|
|
41221
41180
|
}
|
|
41222
41181
|
}
|
|
41223
41182
|
mesh.uploadData(true);
|
|
@@ -41229,8 +41188,13 @@
|
|
|
41229
41188
|
};
|
|
41230
41189
|
_proto._getBufferData = function _getBufferData(buffers, restoreInfo) {
|
|
41231
41190
|
var main = restoreInfo.main;
|
|
41232
|
-
var
|
|
41233
|
-
|
|
41191
|
+
var data;
|
|
41192
|
+
if (main) {
|
|
41193
|
+
var buffer = buffers[main.bufferIndex];
|
|
41194
|
+
data = new main.TypedArray(buffer, main.byteOffset, main.length);
|
|
41195
|
+
} else {
|
|
41196
|
+
data = new main.TypedArray(main.length);
|
|
41197
|
+
}
|
|
41234
41198
|
var sparseCount = restoreInfo.sparseCount;
|
|
41235
41199
|
if (sparseCount) {
|
|
41236
41200
|
var sparseIndex = restoreInfo.sparseIndices;
|
|
@@ -41303,11 +41267,12 @@
|
|
|
41303
41267
|
};
|
|
41304
41268
|
/**
|
|
41305
41269
|
* @internal
|
|
41306
|
-
*/ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer,
|
|
41270
|
+
*/ var BlendShapeDataRestoreInfo = function BlendShapeDataRestoreInfo(buffer, byteOffset, count, normalized, componentType) {
|
|
41307
41271
|
this.buffer = buffer;
|
|
41308
|
-
this.stride = stride;
|
|
41309
41272
|
this.byteOffset = byteOffset;
|
|
41310
41273
|
this.count = count;
|
|
41274
|
+
this.normalized = normalized;
|
|
41275
|
+
this.componentType = componentType;
|
|
41311
41276
|
};
|
|
41312
41277
|
/**
|
|
41313
41278
|
* Base class of glTF extension parser.
|
|
@@ -41894,7 +41859,7 @@
|
|
|
41894
41859
|
resolve(mesh);
|
|
41895
41860
|
} else {
|
|
41896
41861
|
mesh.then(function(mesh) {
|
|
41897
|
-
|
|
41862
|
+
resolve(mesh);
|
|
41898
41863
|
});
|
|
41899
41864
|
}
|
|
41900
41865
|
} else {
|
|
@@ -41902,35 +41867,20 @@
|
|
|
41902
41867
|
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
41903
41868
|
meshRestoreInfo.mesh = mesh1;
|
|
41904
41869
|
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
41905
|
-
exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF,
|
|
41906
|
-
return null;
|
|
41907
|
-
}, function(attributeName, shapeIndex) {
|
|
41908
|
-
var shapeAccessorIdx = gltfPrimitive.targets[shapeIndex];
|
|
41909
|
-
var attributeAccessorIdx = shapeAccessorIdx[attributeName];
|
|
41910
|
-
if (attributeAccessorIdx) {
|
|
41911
|
-
var accessor = glTF.accessors[attributeAccessorIdx];
|
|
41912
|
-
return GLTFUtils.getAccessorBuffer(context, context.glTF.bufferViews, accessor);
|
|
41913
|
-
} else {
|
|
41914
|
-
return null;
|
|
41915
|
-
}
|
|
41916
|
-
}, function() {
|
|
41917
|
-
var indexAccessor = glTF.accessors[gltfPrimitive.indices];
|
|
41918
|
-
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
41919
|
-
return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
|
|
41920
|
-
});
|
|
41921
|
-
}, context.params.keepMeshData).then(resolve);
|
|
41870
|
+
exports.GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
|
|
41922
41871
|
}
|
|
41923
41872
|
});
|
|
41924
41873
|
};
|
|
41925
41874
|
var meshInfo = context.glTF.meshes[index];
|
|
41926
|
-
var glTF = context.glTF,
|
|
41875
|
+
var glTF = context.glTF, glTFResource = context.glTFResource;
|
|
41876
|
+
var engine = glTFResource.engine;
|
|
41927
41877
|
var primitivePromises = new Array();
|
|
41928
41878
|
for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
|
|
41929
41879
|
return Promise.all(primitivePromises);
|
|
41930
41880
|
};
|
|
41931
41881
|
/**
|
|
41932
41882
|
* @internal
|
|
41933
|
-
*/ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf,
|
|
41883
|
+
*/ GLTFMeshParser1._parseMeshFromGLTFPrimitive = function _parseMeshFromGLTFPrimitive(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, keepMeshData) {
|
|
41934
41884
|
var _loop = function _loop(attribute) {
|
|
41935
41885
|
var accessor = accessors[attributes[attribute]];
|
|
41936
41886
|
var promise = GLTFUtils.getAccessorBuffer(context, gltf.bufferViews, accessor).then(function(accessorBuffer) {
|
|
@@ -42001,6 +41951,7 @@
|
|
|
42001
41951
|
});
|
|
42002
41952
|
promises.push(promise);
|
|
42003
41953
|
};
|
|
41954
|
+
var _this = this;
|
|
42004
41955
|
var accessors = gltf.accessors;
|
|
42005
41956
|
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
42006
41957
|
var engine = mesh.engine;
|
|
@@ -42025,61 +41976,68 @@
|
|
|
42025
41976
|
}
|
|
42026
41977
|
// BlendShapes
|
|
42027
41978
|
if (targets) {
|
|
42028
|
-
promises.push(exports.GLTFMeshParser._createBlendShape(mesh, meshRestoreInfo, gltfMesh,
|
|
41979
|
+
promises.push(exports.GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets, _this._getBlendShapeData));
|
|
42029
41980
|
}
|
|
42030
41981
|
return Promise.all(promises).then(function() {
|
|
42031
41982
|
mesh.uploadData(!keepMeshData);
|
|
42032
|
-
return
|
|
41983
|
+
return mesh;
|
|
42033
41984
|
});
|
|
42034
41985
|
});
|
|
42035
41986
|
};
|
|
41987
|
+
GLTFMeshParser1._getBlendShapeData = function _getBlendShapeData(context, glTF, accessor) {
|
|
41988
|
+
return GLTFUtils.getAccessorBuffer(context, glTF.bufferViews, accessor).then(function(bufferInfo) {
|
|
41989
|
+
var buffer = bufferInfo.data;
|
|
41990
|
+
var _accessor_byteOffset;
|
|
41991
|
+
var byteOffset = bufferInfo.interleaved ? ((_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0) % bufferInfo.stride : 0;
|
|
41992
|
+
var count = accessor.count, normalized = accessor.normalized, componentType = accessor.componentType;
|
|
41993
|
+
var vertices = GLTFUtils.bufferToVector3Array(buffer, byteOffset, count, normalized, componentType);
|
|
41994
|
+
var restoreInfo = new BlendShapeDataRestoreInfo(bufferInfo.restoreInfo, byteOffset, count, normalized, componentType);
|
|
41995
|
+
return {
|
|
41996
|
+
vertices: vertices,
|
|
41997
|
+
restoreInfo: restoreInfo
|
|
41998
|
+
};
|
|
41999
|
+
});
|
|
42000
|
+
};
|
|
42036
42001
|
/**
|
|
42037
42002
|
* @internal
|
|
42038
|
-
*/ GLTFMeshParser1._createBlendShape = function _createBlendShape(mesh, meshRestoreInfo, glTFMesh,
|
|
42039
|
-
var _loop = function _loop(i
|
|
42003
|
+
*/ GLTFMeshParser1._createBlendShape = function _createBlendShape(context, mesh, meshRestoreInfo, glTFMesh, gltfPrimitive, glTFTargets, getBlendShapeData) {
|
|
42004
|
+
var _loop = function _loop(i) {
|
|
42005
|
+
var blendShapeData = {};
|
|
42006
|
+
blendShapeCollection[i] = blendShapeData;
|
|
42040
42007
|
var name = blendShapeNames ? blendShapeNames[i] : "blendShape" + i;
|
|
42008
|
+
var targets = gltfPrimitive.targets[i];
|
|
42009
|
+
var normalTarget = targets["NORMAL"];
|
|
42010
|
+
var tangentTarget = targets["TANGENT"];
|
|
42011
|
+
var hasNormal = normalTarget !== undefined;
|
|
42012
|
+
var hasTangent = tangentTarget !== undefined;
|
|
42041
42013
|
var promise = Promise.all([
|
|
42042
|
-
getBlendShapeData("POSITION"
|
|
42043
|
-
getBlendShapeData(
|
|
42044
|
-
getBlendShapeData(
|
|
42045
|
-
]).then(function(
|
|
42046
|
-
var
|
|
42047
|
-
var
|
|
42048
|
-
var tanBufferInfo = infos[2];
|
|
42049
|
-
var target = glTFTargets[i];
|
|
42050
|
-
var posAccessor;
|
|
42051
|
-
var norAccessor;
|
|
42052
|
-
var tanAccessor;
|
|
42053
|
-
var positions = null;
|
|
42054
|
-
if (posBufferInfo) {
|
|
42055
|
-
posAccessor = accessors[target["POSITION"]];
|
|
42056
|
-
var _posAccessor_byteOffset;
|
|
42057
|
-
positions = GLTFUtils.bufferToVector3Array(posBufferInfo.data, posBufferInfo.stride, (_posAccessor_byteOffset = posAccessor.byteOffset) != null ? _posAccessor_byteOffset : 0, posAccessor.count);
|
|
42058
|
-
}
|
|
42059
|
-
var normals = null;
|
|
42060
|
-
if (norBufferInfo) {
|
|
42061
|
-
norAccessor = accessors[target["NORMAL"]];
|
|
42062
|
-
var _norAccessor_byteOffset;
|
|
42063
|
-
normals = GLTFUtils.bufferToVector3Array(norBufferInfo.data, norBufferInfo.stride, (_norAccessor_byteOffset = norAccessor.byteOffset) != null ? _norAccessor_byteOffset : 0, norAccessor.count);
|
|
42064
|
-
}
|
|
42065
|
-
var tangents = null;
|
|
42066
|
-
if (tanBufferInfo) {
|
|
42067
|
-
tanAccessor = accessors[target["NORMAL"]];
|
|
42068
|
-
var _tanAccessor_byteOffset;
|
|
42069
|
-
tangents = GLTFUtils.bufferToVector3Array(tanBufferInfo.data, tanBufferInfo.stride, (_tanAccessor_byteOffset = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset : 0, tanAccessor.count);
|
|
42070
|
-
}
|
|
42014
|
+
getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
|
|
42015
|
+
hasNormal ? getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
|
|
42016
|
+
hasTangent ? getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
|
|
42017
|
+
]).then(function(vertices) {
|
|
42018
|
+
var _tangentData;
|
|
42019
|
+
var positionData = vertices[0], normalData = vertices[1], tangentData = vertices[2];
|
|
42071
42020
|
var blendShape = new BlendShape(name);
|
|
42072
|
-
blendShape.addFrame(1.0,
|
|
42073
|
-
|
|
42074
|
-
|
|
42075
|
-
meshRestoreInfo.blendShapes.push(new BlendShapeRestoreInfo(blendShape, new BlendShapeDataRestoreInfo(posBufferInfo.restoreInfo, posBufferInfo.stride, (_posAccessor_byteOffset1 = posAccessor.byteOffset) != null ? _posAccessor_byteOffset1 : 0, posAccessor.count), norBufferInfo ? new BlendShapeDataRestoreInfo(norBufferInfo.restoreInfo, norBufferInfo.stride, (_norAccessor_byteOffset1 = norAccessor.byteOffset) != null ? _norAccessor_byteOffset1 : 0, norAccessor.count) : null, tanBufferInfo ? new BlendShapeDataRestoreInfo(tanBufferInfo.restoreInfo, tanBufferInfo.stride, (_tanAccessor_byteOffset1 = tanAccessor.byteOffset) != null ? _tanAccessor_byteOffset1 : 0, tanAccessor.count) : null));
|
|
42021
|
+
blendShape.addFrame(1.0, positionData.vertices, hasNormal ? normalData.vertices : null, hasTangent ? tangentData.vertices : null);
|
|
42022
|
+
blendShapeData.blendShape = blendShape;
|
|
42023
|
+
blendShapeData.restoreInfo = new BlendShapeRestoreInfo(blendShape, positionData.restoreInfo, hasNormal ? normalData.restoreInfo : null, hasTangent ? (_tangentData = tangentData) == null ? void 0 : _tangentData.restoreInfo : null);
|
|
42076
42024
|
});
|
|
42077
42025
|
promises.push(promise);
|
|
42078
42026
|
};
|
|
42027
|
+
var glTF = context.glTF;
|
|
42028
|
+
var accessors = glTF.accessors;
|
|
42079
42029
|
var blendShapeNames = glTFMesh.extras ? glTFMesh.extras.targetNames : null;
|
|
42080
42030
|
var promises = new Array();
|
|
42081
|
-
|
|
42082
|
-
|
|
42031
|
+
var blendShapeCount = glTFTargets.length;
|
|
42032
|
+
var blendShapeCollection = new Array(blendShapeCount);
|
|
42033
|
+
for(var i = 0; i < blendShapeCount; i++)_loop(i);
|
|
42034
|
+
return Promise.all(promises).then(function() {
|
|
42035
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
|
|
42036
|
+
var blendShape = _step.value;
|
|
42037
|
+
mesh.addBlendShape(blendShape.blendShape);
|
|
42038
|
+
meshRestoreInfo.blendShapes.push(blendShape.restoreInfo);
|
|
42039
|
+
}
|
|
42040
|
+
});
|
|
42083
42041
|
};
|
|
42084
42042
|
return GLTFMeshParser1;
|
|
42085
42043
|
}(GLTFParser), function() {
|
|
@@ -42455,6 +42413,24 @@
|
|
|
42455
42413
|
exports.GLTFValidator = __decorate([
|
|
42456
42414
|
registerGLTFParser(exports.GLTFParserType.Validator)
|
|
42457
42415
|
], exports.GLTFValidator);
|
|
42416
|
+
exports.GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
42417
|
+
var GLTFBufferViewParser = function GLTFBufferViewParser() {
|
|
42418
|
+
return GLTFParser1.apply(this, arguments);
|
|
42419
|
+
};
|
|
42420
|
+
_inherits(GLTFBufferViewParser, GLTFParser1);
|
|
42421
|
+
var _proto = GLTFBufferViewParser.prototype;
|
|
42422
|
+
_proto.parse = function parse(context, index) {
|
|
42423
|
+
var bufferView = context.glTF.bufferViews[index];
|
|
42424
|
+
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
42425
|
+
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(exports.GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
42426
|
+
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
42427
|
+
});
|
|
42428
|
+
};
|
|
42429
|
+
return GLTFBufferViewParser;
|
|
42430
|
+
}(GLTFParser);
|
|
42431
|
+
exports.GLTFBufferViewParser = __decorate([
|
|
42432
|
+
registerGLTFParser(exports.GLTFParserType.BufferView)
|
|
42433
|
+
], exports.GLTFBufferViewParser);
|
|
42458
42434
|
var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
42459
42435
|
var GLTFLoader = function GLTFLoader() {
|
|
42460
42436
|
return Loader1.apply(this, arguments);
|
|
@@ -43681,14 +43657,17 @@
|
|
|
43681
43657
|
var buffer = GLTFUtils.getBufferViewData(bufferViews[bufferViewIndex], buffers);
|
|
43682
43658
|
return KHR_draco_mesh_compression._decoder.decode(buffer, taskConfig).then(function(decodedGeometry) {
|
|
43683
43659
|
var mesh = new ModelMesh(engine, glTFMesh.name);
|
|
43684
|
-
|
|
43660
|
+
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
43661
|
+
meshRestoreInfo.mesh = mesh;
|
|
43662
|
+
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
43663
|
+
return _this._parseMeshFromGLTFPrimitiveDraco(context, mesh, meshRestoreInfo, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
|
|
43685
43664
|
for(var j = 0; j < decodedGeometry.attributes.length; j++){
|
|
43686
43665
|
if (decodedGeometry.attributes[j].name === attributeSemantic) {
|
|
43687
43666
|
return decodedGeometry.attributes[j].array;
|
|
43688
43667
|
}
|
|
43689
43668
|
}
|
|
43690
43669
|
return null;
|
|
43691
|
-
}, function(
|
|
43670
|
+
}, function() {
|
|
43692
43671
|
throw "BlendShape animation is not supported when using draco.";
|
|
43693
43672
|
}, function() {
|
|
43694
43673
|
return decodedGeometry.index.array;
|
|
@@ -43701,7 +43680,7 @@
|
|
|
43701
43680
|
KHR_draco_mesh_compression._decoder = new DRACODecoder();
|
|
43702
43681
|
}
|
|
43703
43682
|
};
|
|
43704
|
-
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(mesh, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
43683
|
+
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
43705
43684
|
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
43706
43685
|
var vertexCount;
|
|
43707
43686
|
var accessors = gltf.accessors;
|
|
@@ -43797,7 +43776,7 @@
|
|
|
43797
43776
|
mesh.addSubMesh(0, vertexCount, mode);
|
|
43798
43777
|
}
|
|
43799
43778
|
// BlendShapes
|
|
43800
|
-
targets && exports.GLTFMeshParser._createBlendShape(mesh,
|
|
43779
|
+
targets && exports.GLTFMeshParser._createBlendShape(context, mesh, meshRestoreInfo, gltfMesh, gltfPrimitive, targets, getBlendShapeData);
|
|
43801
43780
|
mesh.uploadData(!keepMeshData);
|
|
43802
43781
|
return Promise.resolve(mesh);
|
|
43803
43782
|
};
|
|
@@ -44127,7 +44106,7 @@
|
|
|
44127
44106
|
], GALACEAN_animation_event);
|
|
44128
44107
|
|
|
44129
44108
|
//@ts-ignore
|
|
44130
|
-
var version = "1.1.
|
|
44109
|
+
var version = "1.1.3";
|
|
44131
44110
|
console.log("Galacean engine version: " + version);
|
|
44132
44111
|
for(var key in CoreObjects){
|
|
44133
44112
|
Loader.registerClass(key, CoreObjects[key]);
|
|
@@ -44160,6 +44139,7 @@
|
|
|
44160
44139
|
exports.BoxColliderShape = BoxColliderShape;
|
|
44161
44140
|
exports.BoxShape = BoxShape;
|
|
44162
44141
|
exports.Buffer = Buffer;
|
|
44142
|
+
exports.BufferInfo = BufferInfo;
|
|
44163
44143
|
exports.BufferMesh = BufferMesh;
|
|
44164
44144
|
exports.BufferUtil = BufferUtil;
|
|
44165
44145
|
exports.Burst = Burst;
|