Parenting objects to bones causes offset #60623

Closed
opened 2019-01-18 14:48:20 +01:00 by William Reynish · 27 comments

System Information
Operating system: MacOS 10.14.2
Graphics card: AMD Radeon R9 M395X 4096 MB

Blender Version
Broken: Blender 2.80 beta Jan 18
Worked: Blender 2.79

Short description of error
When parenting an object to a bone, the object is wrongly offset from it's previous position. This was not the case in 2.79.

Exact steps for others to reproduce the error
This scene is nothing special, just a normal bone and a normal cube. No special settings or anything out of the ordinary. In any case, it serves as a very simple test case for this issue.

Open this Blend:
Object_parent_bone_bug.blend

  • Select the cube, then the bone
  • enter pose mode and make sure the bone is selected

Press Ctrl-P and select 'Bone'

You'll see the cube fly away to a different position. It should stay put and just become a child without moving. This worked correctly in 2.79.

2.8 beta:

Before Parenting:
Screenshot 2019-01-18 at 14.48.46.png

After Parenting:
Screenshot 2019-01-18 at 14.48.53.png

This offset should not happen.

2.79:

Before Parenting:
Screenshot 2019-01-18 at 14.56.43.png

After Parenting:
Screenshot 2019-01-18 at 14.56.49.png

Here the object stays correctly put.

**System Information** Operating system: MacOS 10.14.2 Graphics card: AMD Radeon R9 M395X 4096 MB **Blender Version** Broken: Blender 2.80 beta Jan 18 Worked: Blender 2.79 **Short description of error** When parenting an object to a bone, the object is wrongly offset from it's previous position. This was not the case in 2.79. **Exact steps for others to reproduce the error** This scene is nothing special, just a normal bone and a normal cube. No special settings or anything out of the ordinary. In any case, it serves as a very simple test case for this issue. Open this Blend: [Object_parent_bone_bug.blend](https://archive.blender.org/developer/F6327961/Object_parent_bone_bug.blend) - Select the cube, then the bone - enter pose mode and make sure the bone is selected # Press Ctrl-P and select 'Bone' You'll see the cube fly away to a different position. It should stay put and just become a child without moving. This worked correctly in 2.79. **2.8 beta:** Before Parenting: ![Screenshot 2019-01-18 at 14.48.46.png](https://archive.blender.org/developer/F6327983/Screenshot_2019-01-18_at_14.48.46.png) After Parenting: ![Screenshot 2019-01-18 at 14.48.53.png](https://archive.blender.org/developer/F6327989/Screenshot_2019-01-18_at_14.48.53.png) This offset should not happen. **2.79:** Before Parenting: ![Screenshot 2019-01-18 at 14.56.43.png](https://archive.blender.org/developer/F6328050/Screenshot_2019-01-18_at_14.56.43.png) After Parenting: ![Screenshot 2019-01-18 at 14.56.49.png](https://archive.blender.org/developer/F6328051/Screenshot_2019-01-18_at_14.56.49.png) Here the object stays correctly put.

Added subscriber: @WilliamReynish

Added subscriber: @WilliamReynish

#61990 was marked as duplicate of this issue

#61990 was marked as duplicate of this issue

#61795 was marked as duplicate of this issue

#61795 was marked as duplicate of this issue

#61542 was marked as duplicate of this issue

#61542 was marked as duplicate of this issue

#61112 was marked as duplicate of this issue

#61112 was marked as duplicate of this issue

#60526 was marked as duplicate of this issue

#60526 was marked as duplicate of this issue

Added subscriber: @sozap

Added subscriber: @sozap

Added subscriber: @ideasman42

Added subscriber: @ideasman42

I've narrowed down the bug.

It appears to be related to the redo option Keep Transform.

However, even if you enable it, you have to toggle it off and on again for it to work. Eventually it does do the right thing. But in 2.7x, you did not need to enable this option for the parent/child relationship to have the correct offset. Very strange.

Screenshot 2019-01-23 at 09.32.30.png

@ideasman42 Might you have an idea of why this option is acting strange? All I can deduce is that there's something wonky to do with Keep Transform when parenting to a bone.

I've narrowed down the bug. It appears to be related to the redo option Keep Transform. However, even if you enable it, you have to toggle it off and on again for it to work. Eventually it does do the right thing. But in 2.7x, you did not need to enable this option for the parent/child relationship to have the correct offset. Very strange. ![Screenshot 2019-01-23 at 09.32.30.png](https://archive.blender.org/developer/F6376931/Screenshot_2019-01-23_at_09.32.30.png) @ideasman42 Might you have an idea of why this option is acting strange? All I can deduce is that there's something wonky to do with Keep Transform when parenting to a bone.

Hmm, even if you just change the redo from Bone to something else and back to Bone, it does the right thing. So it seems like something is not being set correctly initially with this operator?

Hmm, even if you just change the redo from Bone to something else and back to Bone, it does the right thing. So it seems like something is not being set correctly initially with this operator?
Campbell Barton was assigned by William Reynish 2019-01-24 09:35:11 +01:00
Member
Added subscribers: @Matthewv1998, @lichtwerk, @EvilPictureBook, @JacquesLucke
Member

Added subscriber: @moisessalvador

Added subscriber: @moisessalvador

Added subscriber: @LevelPixelLevel

Added subscriber: @LevelPixelLevel
Campbell Barton was unassigned by Philipp Oeser 2019-02-05 15:36:36 +01:00
Philipp Oeser self-assigned this 2019-02-05 15:36:36 +01:00
Member

Got a fix for this, will upload shortly

Got a fix for this, will upload shortly

This issue was referenced by 2894e75121

This issue was referenced by 2894e75121d78956f23dfd0f78855fa1c1a8d615
Philipp Oeser removed their assignment 2019-02-12 11:49:10 +01:00
Sergey Sharybin was assigned by Philipp Oeser 2019-02-12 11:49:10 +01:00
Member

Added subscriber: @Sergey

Added subscriber: @Sergey
Member

Since D4309 doesnt seem to be the desired solution, I'll step down from this and put on @Sergey 's desk, sorry...

Since [D4309](https://archive.blender.org/developer/D4309) doesnt seem to be the desired solution, I'll step down from this and put on @Sergey 's desk, sorry...

Added subscribers: @wevon-2, @ZedDB

Added subscribers: @wevon-2, @ZedDB
Member

Added subscriber: @BassamKurdali

Added subscriber: @BassamKurdali
Member

Just confirming the bug here so you know it affects other users. (Currently toggling the option in operator redo as a workaround)

Just confirming the bug here so you know it affects other users. (Currently toggling the option in operator redo as a workaround)

Added subscriber: @JulienDuroure

Added subscriber: @JulienDuroure

Added subscriber: @AlexanderOtto

Added subscriber: @AlexanderOtto

@lichtwerk, is not an undesired solution, but there is something confusing in there which needs some clarification.
Will reply in the patch review.

@lichtwerk, is not an undesired solution, but there is something confusing in there which needs some clarification. Will reply in the patch review.
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Added subscriber: @kw_lxxi

Added subscriber: @kw_lxxi

Hi!
Sorry to bring this back to life, but seems the problem remains somehow. Parenting a mesh to the bone doesn't result in a visual offset in Blender, but once you export to .FBX, and you import that .FBX the offset is there.

I have tried in 2.83 and 2.80, with the same result.

To reproduce the issue:
1.- create an armature with 3 bones, and parent/bone relative a mesh to each bone in pose mode, selecting in some of them "keep transform" (some times have effect in the .fbx file).
2.- Export to .fbx file (uncheck "add leaf nodes").
3.- Import that .fbx to a new scene. You'll notice the offset in some or all of the meshes (that don't happen on 2.79)

Hi! Sorry to bring this back to life, but seems the problem remains somehow. Parenting a mesh to the bone doesn't result in a visual offset in Blender, but once you export to .FBX, and you import that .FBX the offset is there. I have tried in 2.83 and 2.80, with the same result. To reproduce the issue: 1.- create an armature with 3 bones, and parent/bone relative a mesh to each bone in pose mode, selecting in some of them "keep transform" (some times have effect in the .fbx file). 2.- Export to .fbx file (uncheck "add leaf nodes"). 3.- Import that .fbx to a new scene. You'll notice the offset in some or all of the meshes (that don't happen on 2.79)
Member

A new report for the above was reported in blender/blender-addons#77815 (Meshes parented to bones have an offset in the exported .fbx files.)

A new report for the above was reported in blender/blender-addons#77815 (Meshes parented to bones have an offset in the exported .fbx files.)
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
10 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#60623
No description provided.