- Removed superfluous check for a valid skeleton.
- Fixed getting mesh vertices on meshes with no skeleton.
This commit is contained in:
@@ -600,10 +600,10 @@ SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mes
|
||||
SkinnedSurfaces skinned_vertex_surfaces;
|
||||
skinned_vertex_surfaces.resize(num_surfaces);
|
||||
|
||||
TypedArray<Transform3D> bone_transforms;
|
||||
if (skeleton)
|
||||
if (!skeleton)
|
||||
{
|
||||
const uint16_t bone_count = skeleton->get_bone_count();
|
||||
TypedArray<Transform3D> bone_transforms;
|
||||
bone_transforms.resize(bone_count);
|
||||
for (uint8_t bone_index = 0; bone_index < bone_count; bone_index++)
|
||||
{
|
||||
@@ -620,8 +620,6 @@ SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mes
|
||||
SkinnedVertices skinned_vertex_array;
|
||||
skinned_vertex_array.resize(mesh_vertex_array_size);
|
||||
|
||||
if (skeleton)
|
||||
{
|
||||
const PackedInt32Array &mesh_bones_array = mesh_arrays[ArrayMesh::ARRAY_BONES];
|
||||
const PackedFloat32Array &mesh_weights_array = mesh_arrays[ArrayMesh::ARRAY_WEIGHTS];
|
||||
const uint8_t num_bones_per_vertex = mesh_bones_array.size() / mesh_vertex_array_size;
|
||||
@@ -659,7 +657,6 @@ SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mes
|
||||
|
||||
delete transforms;
|
||||
}
|
||||
}
|
||||
|
||||
skinned_vertex_surfaces[surface] = skinned_vertex_array;
|
||||
}
|
||||
@@ -682,6 +679,8 @@ SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mes
|
||||
{
|
||||
skinned_vertex_array[vertex_index] = mesh_vertex_array[vertex_index];
|
||||
}
|
||||
|
||||
skinned_vertex_surfaces[surface] = skinned_vertex_array;
|
||||
}
|
||||
|
||||
return skinned_vertex_surfaces;
|
||||
|
||||
Reference in New Issue
Block a user