get_skinned_vertex_positions now returns skin transform array.
This commit is contained in:
@@ -33,7 +33,8 @@ PackedVector3Array MeshEditingLibrary::slice_mesh(const MeshInstance3D *original
|
||||
const Mesh *original_mesh = original_mesh_instance->get_mesh().ptr();
|
||||
const uint8_t num_surfaces = original_mesh->get_surface_count();
|
||||
|
||||
const SkinnedSurfaces &skinned_vertex_positions = MeshEditingLibrary::get_skinned_vertex_positions(original_mesh, original_skeleton);
|
||||
TypedArray<Transform3D> bone_transforms;
|
||||
const SkinnedSurfaces &skinned_vertex_positions = MeshEditingLibrary::get_skinned_vertex_positions(original_mesh, original_skeleton, bone_transforms);
|
||||
|
||||
UtilityFunctions::print("Got skinned vertices at ", time->get_ticks_msec(), "ms");
|
||||
|
||||
@@ -594,7 +595,7 @@ PackedVector3Array MeshEditingLibrary::slice_mesh(const MeshInstance3D *original
|
||||
return impact_points;
|
||||
}
|
||||
|
||||
SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mesh, const Skeleton3D *skeleton)
|
||||
SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mesh, const Skeleton3D *skeleton, TypedArray<Transform3D> &bone_transforms)
|
||||
{
|
||||
const uint8_t num_surfaces = mesh->get_surface_count();
|
||||
SkinnedSurfaces skinned_vertex_surfaces;
|
||||
@@ -603,7 +604,6 @@ SkinnedSurfaces MeshEditingLibrary::get_skinned_vertex_positions(const Mesh *mes
|
||||
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++)
|
||||
{
|
||||
|
||||
@@ -79,7 +79,7 @@ protected:
|
||||
private:
|
||||
static const Vector2 calculate_planar_uv(const Vector3 &vertex, const Vector3 &mesh_bounds, const MeshSlicePlaneOrientation &axis);
|
||||
|
||||
static SkinnedSurfaces get_skinned_vertex_positions(const Mesh *mesh, const Skeleton3D *skeleton = nullptr);
|
||||
static SkinnedSurfaces get_skinned_vertex_positions(const Mesh *mesh, const Skeleton3D *skeleton = nullptr, TypedArray<Transform3D> &bone_transforms = TypedArray<Transform3D>());
|
||||
|
||||
static void project_edges(std::vector<MeshEditEdge2D> &out_2d_edges, const Transform3D &to_node_space, const std::vector<MeshEditEdge3D> &in_3d_edges, const Plane &plane);
|
||||
static void build_2d_polygons_from_edges(std::vector<MeshEditPolygon2D> &out_polygons, const std::vector<MeshEditEdge2D> &in_edges, std::vector<MeshEditPolygon2D> &error_polygons);
|
||||
|
||||
Reference in New Issue
Block a user