Bone drivers do not copy when duplicated #49182

Open
opened 2016-08-28 09:22:40 +02:00 by Wayne Dixon · 14 comments

System Information
Mac OSX 10.9.5 and NVIDIA GeForce GTX 470

Blender Version
Broken: 2.77 (sub 3)
Worked: ?

If a bone has any driver (on constraint or property) and it is duplicated (shift D in edit mode or "symmetrize") the drivers are not copied.

Bone constraints, however, copy perfectly and also try to find the correct .L or .R target if applicable.
This would save a lot of time if the drivers worked in the same way.

**System Information** Mac OSX 10.9.5 and NVIDIA GeForce GTX 470 **Blender Version** Broken: 2.77 (sub 3) Worked: ? If a bone has any driver (on constraint or property) and it is duplicated (shift D in edit mode or "symmetrize") the drivers are not copied. Bone constraints, however, copy perfectly and also try to find the correct .L or .R target if applicable. This would save a lot of time if the drivers worked in the same way.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @WayneDixon

Added subscriber: @WayneDixon

#87415 was marked as duplicate of this issue

#87415 was marked as duplicate of this issue
Joshua Leung self-assigned this 2016-08-28 14:30:29 +02:00
Member

This is definitely feature request territory, so I've reclassified this as such.

I agree that this sort of thing would be really handy. However, it's not done now because it's not trivial. With constraints, you've got the set of constraints per bone stored on the bones themselves, while with drivers, there's only a big list of them per datablock. It's doable, but just not dead-easy to do, hence why it hasn't been done.

This is definitely feature request territory, so I've reclassified this as such. I agree that this sort of thing would be really handy. However, it's not done now because it's not trivial. With constraints, you've got the set of constraints per bone stored on the bones themselves, while with drivers, there's only a big list of them per datablock. It's doable, but just not dead-easy to do, hence why it hasn't been done.
Joshua Leung was unassigned by Sybren A. Stüvel 2020-11-09 18:31:30 +01:00

Added subscriber: @JoshuaLeung

Added subscriber: @JoshuaLeung
Member

Added subscriber: @Mets

Added subscriber: @Mets
Member

Even if this were done, it would be nice not to just hack it in for this one case but to actually have something that is consistent across all of Blender. There are already quite some inconsistencies when it comes to what I would describe as "object content drivers", that is, drivers that are on shape keys/materials/bones/custom properties.

  • Duplication of modifiers and constraints are also possible, so if we want to support driver duplication for bones, these should be supported as well. It would be nice if shape keys and custom properties could also be duplicated, and the same would apply there.

This task only mentioned duplication, so just tackling this would already be nice, but there are other cases where the resulting state of drivers is hard to predict:

  • Renaming bones, constraints, modifiers or key blocks will preserve the drivers on them, but renaming custom properties does not.
  • Renaming bones or custom properties does not preserve data paths of drivers that are relying on them, but renaming constraints, key blocks and modifiers does.
  • Deleting any object contents does not delete their corresponding drivers, which can be confusing sometimes, and result in console spam. There is a good way to clean these up with the graph editor, but it's not super clear or intuitive to new users, so maybe worth considering tackling this as a long-term, although separate goal.
Even if this were done, it would be nice not to just hack it in for this one case but to actually have something that is consistent across all of Blender. There are already quite some inconsistencies when it comes to what I would describe as "object content drivers", that is, drivers that are on shape keys/materials/bones/custom properties. - **Duplication** of modifiers and constraints are also possible, so if we want to support driver duplication for bones, these should be supported as well. It would be nice if shape keys and custom properties could also be duplicated, and the same would apply there. This task only mentioned duplication, so just tackling this would already be nice, but there are other cases where the resulting state of drivers is hard to predict: - **Renaming** bones, constraints, modifiers or key blocks will preserve the drivers on them, but renaming custom properties does not. - **Renaming** bones or custom properties does not preserve data paths of drivers that are relying on them, but renaming constraints, key blocks and modifiers does. - **Deleting** any object contents does not delete their corresponding drivers, which can be confusing sometimes, and result in console spam. There is a good way to clean these up with the graph editor, but it's not super clear or intuitive to new users, so maybe worth considering tackling this as a long-term, although separate goal.

Added subscriber: @Delano762

Added subscriber: @Delano762

Wanted to add three things:

  1. This issue applies to object constraints as well.
  2. This can be replicated just by using the "Copy Constraints to Selected Objects/Bones" option between objects/bones, as shown in the attached video. At this moment, it is impossible to copy constraints along with their drivers - you can copy constraints, but if you want the drivers too, you are forced to copy the drivers manually, one by one.
  3. I believe #87415 is a duplicate issue.
    2021-09-20 18-23-48.mp4
Wanted to add three things: 1. This issue applies to object constraints as well. 2. This can be replicated just by using the *"Copy Constraints to Selected Objects/Bones"* option between objects/bones, as shown in the attached video. At this moment, it is impossible to copy constraints along with their drivers - you can copy constraints, but if you want the drivers too, you are forced to copy the drivers manually, one by one. 3. I believe #87415 is a duplicate issue. [2021-09-20 18-23-48.mp4](https://archive.blender.org/developer/F10516421/2021-09-20_18-23-48.mp4)

Added subscriber: @pauanyu_blender

Added subscriber: @pauanyu_blender

Added subscriber: @AnnaCelarek

Added subscriber: @AnnaCelarek

I have 3 major use cases:

  1. Mirror bones from the finished .L rig to .R
    then usually I copy all drivers by hand and change .L to .R in their driver path
  2. Duplicate bones into similar position (e.g. in a chain)
  3. Duplicate constraints to bones with similar function
    for 2. and 3. usually there's no editing or renaming of the drivers, just straight forward copy paste.

It would really save a lot of time if this copying happened automatically.

I have 3 major use cases: 1. Mirror bones from the finished .L rig to .R then usually I copy all drivers by hand and change .L to .R in their driver path 2. Duplicate bones into similar position (e.g. in a chain) 3. Duplicate constraints to bones with similar function for 2. and 3. usually there's no editing or renaming of the drivers, just straight forward copy paste. It would really save a lot of time if this copying happened automatically.

Added subscriber: @Cigitia

Added subscriber: @Cigitia
Added subscribers: @NahuelBelich, @dr.sybren, @mano-wii, @filedescriptor, @VLC
Philipp Oeser removed the
Interest
Animation & Rigging
label 2023-02-09 14:36:45 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
9 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#49182
No description provided.