4
$\begingroup$

Logically, to me, a Track To constraint affects and objects rotation to point it to a location. So if two objects are always trying to face each other, this shouldn't create a dependency cycle issue. Neither object really cares which way the other is pointing, only where the other is location. Alas, Blender warns me of a dependency cycle as I try to set this up a scenario where two objects have track to constraints to face each other. In a simple setup, it sort of works, but there are little glitches as you move the objects around at times, and if I add some other parenting and/or constraints to the equation, you start getting weird results indeed. Here is a link to a simple blend file showing the basic setup and the issue. enter image description here

So, since this constraint loop is causing issues, my question is if there is any way to make this scenario work. It seems like it should be an easy thing to do, but in practice, not so easy. Thanks!

$\endgroup$
9
$\begingroup$

Just parent one empties to each cone, and track each others empties instead of the cone directly.

enter image description here

$\endgroup$
1
  • $\begingroup$ Unfortunately this also creates a dependency cycle, according to Blender. Like the basic method above, it mostly works, but in your video, I believe that right before you grab the second cone and move it, you can see that it is not aligned. This is a symptom of the cycle, and in the console it warns you of the dependency cycle. I did, however find a similar solution to this that works, which I will post below. $\endgroup$
    – Blazer003
    Dec 12 '20 at 3:58
2
$\begingroup$

Use an empty controller or other non renderable object .. the two other objects can track to this empty controller. The can both be parented to the empty. That choice is yours.

enter image description here

You might also place the two objects on the ends of two separate 2-D non renderable spacer boxes(scaled plane) which can be scaled independently by distance if the two objects have some distance between them. Blender has a constraint for this. Copy Location and Copy Rotation Constraints. The two spacer objects can have a common parent. The two origins of the cones have been moved for convenience. The Two spacer cubes have a vertex group used in the constraints ... distant from the middle of the complex. The controlling empty can provide rotation. The spacers provide distance. The spacer can have different lengths. Please click on the image to see a larger image.

enter image description here

Loosely related How to rig a shirt with buttons so that the buttons follow the mesh of the shirt

$\endgroup$
1
$\begingroup$

So, thank you to @Duarte Farrajota, because it got me on the right track. I

  1. Created an empty for each cone, and
  2. parented the cones to their respective empties (I tried both a basic Blender parent and a "child of" constraint and both worked.)
  3. I added the "track to" constraint to each cone and targeted it toward the opposite empty.

This method resulted in no dependency cycle detected, no weird issues.

$\endgroup$
1
  • 1
    $\begingroup$ I'd recommend suggest an edit to Duartes post instead... Both answers are nearly identical. $\endgroup$
    – brockmann
    Dec 12 '20 at 8:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.