Page MenuHome

Motion of rigid body is incorrect
Closed, ArchivedPublic

Description

Operating system: Windows10 64Bit
Graphics card: Nvidia GTX 1080

Broken: blender-2.80.0-git.12da679fa094-windows64

Animate the rigid body and make it follow the bone. When you switch to physics on the way, the bone movement is reset.

The attached file's object is moving correctly, but it does not move correctly when adding a rigid body.

The second file is the first file with one rigid body added.

Details

Type
Bug

Event Timeline

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.

Sometimes it works for me and sometimes is doesn't.

The reason for this is that there are two dependency cycles in the file:

Dependency cycle detected:
  OBアーマチュア/Bone/BONE_CONSTRAINTS() depends on
  OBエンプティ.001/Transform Component/TRANSFORM_FINAL() via 'Copy Transforms'
  OBエンプティ.001/Transform Component/TRANSFORM_SIMULATION_INIT() via 'Simulation -> Final Transform'
  OBエンプティ.001/Transform Component/TRANSFORM_EVAL() via 'Transform Eval -> Simulation Init'
  OBエンプティ.001/Transform Component/TRANSFORM_PARENT() via 'Eval'
  OBエンプティ.001/Transform Component/TRANSFORM_LOCAL() via 'ObLocal -> ObParent'
  OBエンプティ.001/Transform Component/TRANSFORM_INIT() via 'Transform Init'
  OB円柱/Transform Component/TRANSFORM_FINAL() via 'Parent'
  OB円柱/Transform Component/TRANSFORM_SIMULATION_INIT() via 'Simulation -> Final Transform'
  OB円柱/Transform Component/TRANSFORM_EVAL() via 'Transform Eval -> Simulation Init'
  OB円柱/Transform Component/TRANSFORM_PARENT() via 'Eval'
  OB円柱/Transform Component/TRANSFORM_LOCAL() via 'ObLocal -> ObParent'
  OB円柱/Transform Component/TRANSFORM_INIT() via 'Transform Init'
  OBエンプティ/Transform Component/TRANSFORM_FINAL() via 'Parent'
  OBエンプティ/Transform Component/TRANSFORM_CONSTRAINTS() via 'ObConstraints -> Done'
  OBアーマチュア/Bone/BONE_DONE() via 'Copy Transforms'
  OBアーマチュア/Bone/BONE_READY() via 'Ready -> Done'
  OBアーマチュア/Bone/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Dependency cycle detected:
  OBアーマチュア/Bone/BONE_CONSTRAINTS() depends on
  OBエンプティ.001/Transform Component/TRANSFORM_FINAL() via 'Copy Transforms'
  OBエンプティ.001/Transform Component/TRANSFORM_SIMULATION_INIT() via 'Simulation -> Final Transform'
  OBエンプティ.001/Transform Component/TRANSFORM_EVAL() via 'Transform Eval -> Simulation Init'
  OBエンプティ.001/Transform Component/TRANSFORM_PARENT() via 'Eval'
  OBエンプティ.001/Transform Component/TRANSFORM_LOCAL() via 'ObLocal -> ObParent'
  OBエンプティ.001/Transform Component/TRANSFORM_INIT() via 'Transform Init'
  OB円柱/Transform Component/TRANSFORM_FINAL() via 'Parent'
  OB円柱/Transform Component/TRANSFORM_SIMULATION_INIT() via 'Simulation -> Final Transform'
  OB円柱/Transform Component/TRANSFORM_EVAL() via 'Transform Eval -> Simulation Init'
  OB円柱/Transform Component/TRANSFORM_PARENT() via 'Eval'
  OB円柱/Transform Component/TRANSFORM_LOCAL() via 'ObLocal -> ObParent'
  OB円柱/Transform Component/TRANSFORM_INIT() via 'Transform Init'
  OBエンプティ/Transform Component/TRANSFORM_FINAL() via 'Parent'
  OBエンプティ/Transform Component/TRANSFORM_CONSTRAINTS() via 'ObConstraints -> Done'
  OBアーマチュア/Bone/BONE_DONE() via 'Copy Transforms'
  OBアーマチュア/Bone/BONE_READY() via 'Ready -> Done'
  OBアーマチュア/Bone/BONE_CONSTRAINTS() via 'Constraints -> Ready'
Detected 2 dependency cycles

@Sergey Sharybin (sergey) would this be possible to solve after we have reworked the physics system?

Sergey Sharybin (sergey) closed this task as Archived.Jun 21 2019, 12:46 PM

This has nothing to do with physics:

  • Empty.001 is parented to Cylinder
  • Cylinder is parented to Empty
  • Empty is copying transform from the Bone
  • Bone is copying transform from Empty.001

This is a real dependency cycle, which can never behave expected way.

Thanks for the report, but this isn't a bug. You'd need to find a way to set up your scene without dependency cycles involved.