Maniphest T66526

child's objects move if change their origin position
Closed, Resolved

Assigned To
Sergey Sharybin (sergey)
Authored By
Ivan Vostrikov (mrven)
Jul 7 2019, 2:07 PM
Tags
  • BF Blender
Subscribers
Ivan Vostrikov (mrven)
Philipp Oeser (lichtwerk)
Sergey Sharybin (sergey)

Description


System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce 920M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 416.81

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-05 16:36, hash: rB699193713fc0
Worked: 2.79b

Short description of error
If change origin position for object with parent, this object (and his childer) will be moved.

Exact steps for others to reproduce the error

  • Open "Set_Origin_Bug.blend"
  • Select All
  • RMB -> Set Origin -> Origin to 3D Cursor

Revisions and Commits

rB Blender
D5201

Related Objects

Mentioned Here
rBd6ebd04bb308: Fix T66525: Wrong apply scale for children chain
T66525: Applying Rotation or Scale change object position if parent-child relation has more two nesting levels
rB26d4a2a51694: Fix T55494: Apply transforms on parents and children Fix T63790: Crash when…

Event Timeline

Ivan Vostrikov (mrven) created this task.Jul 7 2019, 2:07 PM
Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 50.Jul 8 2019, 11:30 AM
Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).

Confirmed, checking...

Philipp Oeser (lichtwerk) assigned this task to Sergey Sharybin (sergey).Jul 8 2019, 12:24 PM
Philipp Oeser (lichtwerk) added a subscriber: Sergey Sharybin (sergey).

This is one of those cases where we are doing something to a hierarchy and it would be preferred to do this all in evaluated domain?
Seems like we need to do something similar to rB26d4a2a5169472369829905a960786390bc09c0e in object_origin_set_exec as well

Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
BKE_object_transform_copy(ob_eval, ob);

BKE_object_where_is_calc(depsgraph, scene, ob_eval);
if (ob->type == OB_ARMATURE) {
  /* needed for bone parents */
  BKE_pose_where_is(depsgraph, scene, ob_eval);
}

but since that seems to be failing for nested relationships (see T66525) I think it makes sense if @Sergey Sharybin (sergey) squashes this nastyness for this report as well?
(@Sergey Sharybin (sergey): feel free to bounce back -- I just think you will kill it faster....)

Philipp Oeser (lichtwerk) added a comment.Jul 8 2019, 12:34 PM

Can confirm doing the above works after rBd6ebd04bb308c7bea8414ed911bc3d7e0bb2d2ea was just in...

Sergey Sharybin (sergey) added a comment.Jul 8 2019, 12:44 PM

@Philipp Oeser (lichtwerk), i might solve each individual case faster, but when you take amount of stuff i'll then be going through..
Looking into the patch now.

Philipp Oeser (lichtwerk) changed the task status from Unknown Status to Resolved by committing rB4ca054617ba1: Fix T66526: child's objects move if change their origin position.Jul 8 2019, 2:08 PM
Philipp Oeser (lichtwerk) added a commit: rB4ca054617ba1: Fix T66526: child's objects move if change their origin position.