@galacean/engine 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +64 -24
- 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/browser.js
CHANGED
|
@@ -33126,21 +33126,31 @@
|
|
|
33126
33126
|
var vertexCount;
|
|
33127
33127
|
var bufferBindIndex = 0;
|
|
33128
33128
|
var positions;
|
|
33129
|
-
|
|
33129
|
+
var boneIndices;
|
|
33130
|
+
var boneWeights;
|
|
33131
|
+
if (keepMeshData) {
|
|
33132
|
+
positions = new Array(vertexCount);
|
|
33133
|
+
boneIndices = new Array(vertexCount);
|
|
33134
|
+
boneWeights = new Array(vertexCount);
|
|
33135
|
+
}
|
|
33130
33136
|
for(var attribute in attributes){
|
|
33131
33137
|
var accessor = accessors[attributes[attribute]];
|
|
33132
33138
|
var accessorBuffer = GLTFUtil.getAccessorBuffer(context, gltf, accessor);
|
|
33133
|
-
var
|
|
33134
|
-
var
|
|
33139
|
+
var dataElementSize = GLTFUtil.getAccessorTypeSize(accessor.type);
|
|
33140
|
+
var accessorCount = accessor.count;
|
|
33135
33141
|
var vertices = accessorBuffer.data;
|
|
33136
33142
|
var vertexElement = void 0;
|
|
33137
33143
|
var meshId = mesh.instanceId;
|
|
33138
33144
|
var vertexBindingInfos = accessorBuffer.vertexBindingInfos;
|
|
33139
|
-
var
|
|
33145
|
+
var elementNormalized = accessor.normalized;
|
|
33146
|
+
var elementFormat = GLTFUtil.getElementFormat(accessor.componentType, dataElementSize, elementNormalized);
|
|
33147
|
+
var scaleFactor = void 0;
|
|
33148
|
+
elementNormalized && (scaleFactor = GLTFUtil.getNormalizedComponentScale(accessor.componentType));
|
|
33149
|
+
var elementOffset = void 0;
|
|
33140
33150
|
if (accessorBuffer.interleaved) {
|
|
33141
33151
|
var byteOffset = accessor.byteOffset || 0;
|
|
33142
33152
|
var stride = accessorBuffer.stride;
|
|
33143
|
-
|
|
33153
|
+
elementOffset = byteOffset % stride;
|
|
33144
33154
|
if (vertexBindingInfos[meshId] === undefined) {
|
|
33145
33155
|
vertexElement = new VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
|
|
33146
33156
|
var vertexBuffer = accessorBuffer.vertexBuffer;
|
|
@@ -33155,7 +33165,8 @@
|
|
|
33155
33165
|
vertexElement = new VertexElement(attribute, elementOffset, elementFormat, vertexBindingInfos[meshId]);
|
|
33156
33166
|
}
|
|
33157
33167
|
} else {
|
|
33158
|
-
|
|
33168
|
+
elementOffset = 0;
|
|
33169
|
+
vertexElement = new VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
|
|
33159
33170
|
var vertexBuffer1 = new Buffer(engine, exports.BufferBindFlag.VertexBuffer, vertices.byteLength, exports.BufferUsage.Static);
|
|
33160
33171
|
vertexBuffer1.setData(vertices);
|
|
33161
33172
|
mesh.setVertexBufferBinding(vertexBuffer1, accessorBuffer.stride, bufferBindIndex);
|
|
@@ -33163,35 +33174,60 @@
|
|
|
33163
33174
|
}
|
|
33164
33175
|
vertexElements.push(vertexElement);
|
|
33165
33176
|
if (attribute === "POSITION") {
|
|
33166
|
-
vertexCount =
|
|
33177
|
+
vertexCount = accessorCount;
|
|
33167
33178
|
var _mesh_bounds = mesh.bounds, min = _mesh_bounds.min, max = _mesh_bounds.max;
|
|
33168
33179
|
if (accessor.min && accessor.max) {
|
|
33169
33180
|
min.copyFromArray(accessor.min);
|
|
33170
33181
|
max.copyFromArray(accessor.max);
|
|
33171
33182
|
if (keepMeshData) {
|
|
33172
|
-
var
|
|
33173
|
-
|
|
33174
|
-
|
|
33175
|
-
|
|
33183
|
+
var baseOffset = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
33184
|
+
var stride1 = vertices.length / accessorCount;
|
|
33185
|
+
for(var j = 0; j < accessorCount; j++){
|
|
33186
|
+
var offset = baseOffset + j * stride1;
|
|
33187
|
+
var position = new Vector3(vertices[offset], vertices[offset + 1], vertices[offset + 2]);
|
|
33188
|
+
elementNormalized && position.scale(scaleFactor);
|
|
33189
|
+
positions[j] = position;
|
|
33176
33190
|
}
|
|
33177
33191
|
}
|
|
33178
33192
|
} else {
|
|
33179
|
-
var
|
|
33193
|
+
var position1 = MeshParser._tempVector3;
|
|
33180
33194
|
min.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
33181
33195
|
max.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
33182
|
-
var
|
|
33183
|
-
|
|
33184
|
-
|
|
33185
|
-
|
|
33186
|
-
|
|
33187
|
-
Vector3.
|
|
33188
|
-
|
|
33196
|
+
var baseOffset1 = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
33197
|
+
var stride2 = vertices.length / accessorCount;
|
|
33198
|
+
for(var j1 = 0; j1 < accessorCount; j1++){
|
|
33199
|
+
var offset1 = baseOffset1 + j1 * stride2;
|
|
33200
|
+
position1.copyFromArray(vertices, offset1);
|
|
33201
|
+
Vector3.min(min, position1, min);
|
|
33202
|
+
Vector3.max(max, position1, max);
|
|
33203
|
+
if (keepMeshData) {
|
|
33204
|
+
var clonePosition = position1.clone();
|
|
33205
|
+
elementNormalized && clonePosition.scale(scaleFactor);
|
|
33206
|
+
positions[j1] = clonePosition;
|
|
33207
|
+
}
|
|
33189
33208
|
}
|
|
33190
33209
|
}
|
|
33191
|
-
if (
|
|
33192
|
-
|
|
33193
|
-
|
|
33194
|
-
|
|
33210
|
+
if (elementNormalized) {
|
|
33211
|
+
min.scale(scaleFactor);
|
|
33212
|
+
max.scale(scaleFactor);
|
|
33213
|
+
}
|
|
33214
|
+
} else if (attribute === "JOINTS_0" && keepMeshData) {
|
|
33215
|
+
var baseOffset2 = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
33216
|
+
var stride3 = vertices.length / accessorCount;
|
|
33217
|
+
for(var j2 = 0; j2 < accessorCount; j2++){
|
|
33218
|
+
var offset2 = baseOffset2 + j2 * stride3;
|
|
33219
|
+
var boneIndex = new Vector4(vertices[offset2], vertices[offset2 + 1], vertices[offset2 + 2], vertices[offset2 + 3]);
|
|
33220
|
+
elementNormalized && boneIndex.scale(scaleFactor);
|
|
33221
|
+
boneIndices[j2] = boneIndex;
|
|
33222
|
+
}
|
|
33223
|
+
} else if (attribute === "WEIGHTS_0" && keepMeshData) {
|
|
33224
|
+
var baseOffset3 = elementOffset / vertices.BYTES_PER_ELEMENT;
|
|
33225
|
+
var stride4 = vertices.length / accessorCount;
|
|
33226
|
+
for(var j3 = 0; j3 < accessorCount; j3++){
|
|
33227
|
+
var offset3 = baseOffset3 + j3 * stride4;
|
|
33228
|
+
var boneWeight = new Vector4(vertices[offset3], vertices[offset3 + 1], vertices[offset3 + 2], vertices[offset3 + 3]);
|
|
33229
|
+
elementNormalized && boneWeight.scale(scaleFactor);
|
|
33230
|
+
boneWeights[j3] = boneWeight;
|
|
33195
33231
|
}
|
|
33196
33232
|
}
|
|
33197
33233
|
}
|
|
@@ -33210,6 +33246,10 @@
|
|
|
33210
33246
|
mesh.uploadData(!keepMeshData);
|
|
33211
33247
|
//@ts-ignore
|
|
33212
33248
|
mesh._positions = positions;
|
|
33249
|
+
//@ts-ignore
|
|
33250
|
+
mesh._boneIndices = boneIndices;
|
|
33251
|
+
//@ts-ignore
|
|
33252
|
+
mesh._boneWeights = boneWeights;
|
|
33213
33253
|
return Promise.resolve(mesh);
|
|
33214
33254
|
};
|
|
33215
33255
|
_proto._createBlendShape = function _createBlendShape(mesh, glTFMesh, glTFTargets, getBlendShapeData) {
|
|
@@ -35737,7 +35777,7 @@
|
|
|
35737
35777
|
}));
|
|
35738
35778
|
|
|
35739
35779
|
//@ts-ignore
|
|
35740
|
-
var version = "0.9.
|
|
35780
|
+
var version = "0.9.1";
|
|
35741
35781
|
console.log("Galacean engine version: " + version);
|
|
35742
35782
|
for(var key in CoreObjects){
|
|
35743
35783
|
Loader.registerClass(key, CoreObjects[key]);
|