[Curve: With Hooks] Curve Object doesn't persist #171

Closed
opened 2024-10-02 08:23:07 +02:00 by tone-watson · 2 comments

System Information
Operating system: macos 14.5

Blender Version: 4.2.2
CloudRig Version: latest

@demeter i dont know if this is a wider blender issue, but are you experiencing a situation where Curve: With Hooks bones aren't saving the curve object relationship? Any time i open a file it no longer has the associated curve object and rig build fails until i reassociate all curve objects

**System Information** Operating system: macos 14.5 Blender Version: 4.2.2 CloudRig Version: latest @demeter i dont know if this is a wider blender issue, but are you experiencing a situation where `Curve: With Hooks` bones aren't saving the curve object relationship? Any time i open a file it no longer has the associated curve object and rig build fails until i reassociate all curve objects
tone-watson added the
bug
label 2024-10-02 08:23:07 +02:00
Author

I think the same happens with Curve: Spline IK

I think the same happens with `Curve: Spline IK`

Tracing back, it was found that it came from Demeter's (@Mets) commit on September 4 (see commit 071c0b6f65), specifically from the changes of the class method update_all_metarigs in versioning.py, and the purpose of the overall commit was to fix issue #164 (potential bug in skeleton setting UI drawing).

Demeter move the following lines from the bottom of the method up to the line before the conditional statements for a purpose:

for pb in metarig.pose.bones:
    pb.cloudrig_component.component_type = pb.cloudrig_component.component_type

Originally, if the metarig version is greater than or equal to the current version, the method will skip these lines, and it seems that the component needs to skip this statement to retain the settings, but Demeter's modification prevents this statement from being skipped.

Moving this statement to the bottom of the two if statements would temporarily fix the problem, but I have no idea what Demeter is doing with this change, so it's probably best to let Demeter take over the fix.

Tracing back, it was found that it came from Demeter's (@Mets) commit on September 4 (see commit [071c0b6f65](https://projects.blender.org/Mets/CloudRig/commit/071c0b6f6514f53db6c6c014db04df718393538a#diff-ddd9c48220a76048597a0e575ae3ff10e48b7b3b)), specifically from the changes of the class method `update_all_metarigs` in **versioning.py**, and the purpose of the overall commit was to fix issue #164 (potential bug in skeleton setting UI drawing). Demeter move the following [lines](https://projects.blender.org/Mets/CloudRig/src/commit/071c0b6f6514f53db6c6c014db04df718393538a/metarigs/versioning.py#L235-L236) from the bottom of the method up to the line before the conditional statements for a purpose: ```py for pb in metarig.pose.bones: pb.cloudrig_component.component_type = pb.cloudrig_component.component_type ``` Originally, if the metarig version is greater than or equal to the current version, the method will skip these lines, and it seems that the component needs to skip this statement to retain the settings, but Demeter's modification prevents this statement from being skipped. Moving this statement to the bottom of the two if statements would temporarily fix the problem, but I have no idea what Demeter is doing with this change, so it's probably best to let Demeter take over the fix.
Sign in to join this conversation.
No description provided.