2
$\begingroup$

So I have a mesh (A hose) that has the Curve mod applied to it in order to make it follow a nurbs curve. The curve has a few vertex that are hooked to an armature. All of this works fine, BUT the problem is, the nurbs curve doesn't seem to update properly, unless I click the same frame twice.

So, for example, the armature bones is animated in order to make a hose move with a characters hand like it is being held. If I go to frame 5, when I first click frame 5 the Armature updates, but the nurbs curve is still in the old position even though the armature and bones have updated on screen. The hooks do not change the vertex location of the curve. But if I click on frame 5 again (in the timeline) it updates the hooks, and the hose follows the curve as it should.

Sadly, this also seems to affect my rendering, as once I start to render the hose is always in the previous spot.

I was using an older version of blender, but updated to the current release but still doesn't work properly.

$\endgroup$
  • $\begingroup$ Could you upload your blend file? $\endgroup$ – cegaton Oct 13 '14 at 1:22
  • $\begingroup$ filedropper.com/blenderproblem my project is pretty big so I re-created the problem. click back and forth between frame 0 and 1 and you well see my problem. $\endgroup$ – Brasou Oct 13 '14 at 3:16
3
$\begingroup$

There is a circular dependency. The curve is parent of the armature, and the armature deforms the curve. Since Blender walks through the hierachy only once per frame update, the deformation lags behind. Clicking the frame twice leads to Blender walking the hierachy twice. The bones of the armature are already in place and the deformation happens. A solution is to avoid direct parent child relationships between those two and use a parent for both (e.g. an Empty) instead or to swap the relationship, so the armature is the parent of curve.

Here is Blenders terminal/console output:

Dependency cycle detected:
  Hosearm depends on hose through Curve Parent.
  hose depends on Hosearm through Hook Modifier.
$\endgroup$

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.