Page MenuHome

Curve deform modifier affect tilt
Closed, ArchivedPublicKNOWN ISSUE

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GT 540M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 391.35

Blender Version
Broken: version: 2.91.2, branch: master, commit date: 2021-01-19 16:15, hash: rB5be9ef417703
Worked: (newest version of Blender that worked as expected, not identified)

Short description of error
Curve deform modifier on another curve objects change its tilt.

Exact steps for others to reproduce the error
Attached .blend file contains curve deform modifier used on another curve object with shape. Vertices of this deforming curve are hooked to emptys, that are parrented to Bones of an Armature.
If you will rotete with the selected bone among X-Axis, you will see, that some parts of deformed object are absurdly tilting.

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from User.Feb 19 2021, 11:05 AM

I think this has nothing to do with the additional rig you have here.
It is just a general problem with the type of tilt calculation for 3D curves.

This is your file stripped down to a curve with no additional rig on top, if you rotate all points enough, you'll get this tilt-rotate-sliding already:

Can you confirm?

I think this has nothing to do with the additional rig you have here.

Thats right. The rig and emptis were only for better manipulation.

if you rotate all points enough, you'll get this tilt-rotate-sliding already:

I dont know, wheter you understand right, what I mean.
In your file is missing the deformation curve. You have only a simple shape curveobject that shold be deformed by another deformation curve (and also tilted).
I hope, this file show you that problem better:


If you try to move with some of the vertices of the deformation curve (not all at once), you will see that tilt. However, this only happens with some vertices of deformation curve.
I want to achieve that one complex curve object (formed from several segments of curves - eg tail) is deformed by another simpler curve.

Lukáš Hörmann (Smallhander) changed the task status from Needs Information from User to Confirmed.Feb 19 2021, 12:45 PM

It is just a general problem with the type of tilt calculation for 3D curves.

But I think, i can confirm. It is probably related.

In your file is missing the deformation curve. You have only a simple shape curveobject that shold be deformed by another deformation curve (and also tilted).

All I am saying is that you dont even need the deformation curve to see that you get tilt-rotation on a 3D curve in specific cases (just rotate/transform points on the curve itself, this will also make the tilt slide around).
I think this is a problem that cannot be avoided.

For example, you could even use a mesh deform modifier (instead of the curve deform modifier) rigged to the armature from the first file with the same tilt-sliding results:

To avoid this whole thing, I would try to avoid large transforms/rotations on the curve points itself and instead isolate rotations (especially the "head" of your creature) to be object rotations if possible.
There might also be other other ways to rig this, but this is probably out of scope for this bugtracker

Philipp Oeser (lichtwerk) changed the task status from Confirmed to Needs Triage.Feb 19 2021, 1:03 PM

Please dont confirm yourself.

Ok, sorry. And thank you for advice.

Philipp Oeser (lichtwerk) closed this task as Archived.Feb 19 2021, 2:01 PM
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Known Issue".

So since the twist is not something that would be considered a bug (it already trys to minimize this via the Twist Method property), I think we have to close this.
Not saying that there might not be better algorithms to solve this, but this is working as indended for now.

Thx again reporting, will close.
(feel free to comment again if issues persist)