Plane turns off prematurely by using the curve modifier

Hello,

I want create a ships wake without using dynamic paint.

Therefore I create a plane (which will get a material with an animated texture later ) which is pulled by a parent object (the ship) which moves along a nurbs-curve (the path).

I want the plane to deform appropriate to the path. So I added a curve modifier to the plane and set the path as Curve Object and X as Deform Axis.

And now my problem:

The plane turns off prematurely because of an unknown reason.

wake_2

If I move the plane along the y-axis (world coordinate system) the plane reacts like it should be and moves and deforms along the path. But that is not a solution. As the ship’s wake the plane belongs to the ship and should be connected to it’s position.

It might not be the solution to your problem, but moving it in the appropriate axis is the solution to keeping it following the curve (although it should be motion in the X, not Y, for the axis you say you have in the modifier.)

Basically, if you want something to have a curve modifier, don’t parent it to anything that the curve isn’t also parented to.

Let me make sure I understand correctly: you want this plane to remain attached to the stern of your ship. How is your ship moving? (What constraints and modifiers?) Is there something wrong with just parenting it to your ship and leaving off the curve modifier? If your ship’s animation technique breaks that, is there something wrong with vertex parenting it to your ship instead?

1 Like

Yes,exactly.

I used the old object -> parent -> follow path method

path_curve
                 ->  ship (is child of path curve)
                                   -> wake_plane (is child of ship,has curve modifier where path_curve is set as Curve Object

Vertex parenting is new to me.

Then you can just parent the wake to the ship and skip the curve modifier.

Not needed here, but worth learning about. Select an object, shift select a mesh object, enter edit, select 1 or 3 vertices (no more or less) on the mesh object (to be the parent), ctrl p -> vertex or vertex (triangle).

Thank you very much for your help :grinning:.

I have now parented a new plane without curve modifier.


The problem is, that the wake plane rigid/inflexible and is not bend to the curve.
I wish that you can see based on the wake that ship’s direction has turned.

If you want it to follow the ship and bend with the curve, you’ve got a few options, but none of them are simple.

  1. Change how you’re animating the ship-- no follow path-- so that you can use a single object’s movement (along a particular axis) to define the motion of both the ship and the wake. An example: instancing it from a new plane with a curve modifier, parenting the wake to this new plane, and then animating the new plane instead of the ship (probably, only in its local X axis.)

  2. Instead of parenting the wake to anything, use a driver on its X location, driven by an offset used by the follow path constraint. This might be a subset of 2, depending on how you’re following the path-- doing it with ctrl-p->follow path won’t work (and personally, I never ever do that, because I think Blender’s implementation of that is confusing). This would be for doing it with a follow path object constraint, set to “fixed position”, with animated offset factor to control position along the path. This requires tuning the driver to eye-- it’s not going to be exact. And any time you edit the path, you have to retune the driver.

  3. Use animation nodes to determine the length of the curve, and move the plane in the deformation axis based on how the ship follows the path (like, offset factor from 2 above). This is probably the most complicated and requires addon use, but it’s how some people would do this.

Thank you very much :sunglasses:

Testing and experimenting with all this will take a while.