Skip to content

SkeletonModification2DCCDIK chain rotates with multiple skeleton instances if target node is out of reach #107466

Open
@Calamander

Description

@Calamander

Tested versions

Reproducible in Godot 4.4.1 stable

System information

Godot v4.4.1.stable - Windows 10 (build 19045) - Multi-window, 2 monitors - OpenGL 3 (Compatibility) - NVIDIA GeForce RTX 3060 Laptop GPU (NVIDIA; 32.0.15.5612) - Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz (16 threads)

Issue description

In Skeleton2D node with at least one active SkeletonModification2DCCDIK with modification target node placed outside of IK chain length reach

Image

upon instantiating skeleton scene more then once instances' (from the first to the second last) IK chains start to spin endlessly or position itself in a wrong way with respect to target node. Last instance behaves as intended.

Image

Expected behavior is for all instances to work the same way, for chains to position itself properly wrt to target no matter the number of instances. Making resources unique doesn't help. Also with multiple instances later ones are affected stronger (rotate faster) then previous one. Changing instance nodes order in a scene (~2 times) affects which one will work properly (last one) and which will bug (previous ones).

Steps to reproduce

  1. Create Skeleton2D node
  2. Add some Bone2D and target node for modification
  3. Create SkeletonModification2DCCDIK with the bones and a target
  4. Place target farther then resulting IK chain length
  5. Save scene with a Skeleton2D
  6. Create new scene and place at least 2 instances of the skeleton scene and observe bug

Minimal reproduction project (MRP)

skeleteonmodification2dbug.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions