Blender parenting to (bezier) vertex when I want it to parent to origin, please help!

Hi!

I’m having trouble parenting objects to bezier curves. I am in object mode, shift selecting all the children-to-be and then the intended parent (all of these are bezier curves) and 'ctrl+p’ing to set parent to object. What I want to happen is for my child objects to ‘follow’ the parent’s origin, but they are actually ‘following’ one of the parent’s vertices; this is causing massive problems as I am using shape keys on many objects throughout the hierarchy. I have older (but recent) project files in which objects follow origins as expected, so I’m quite lost as to why this is no longer the case…

I’ve been trying for hours to fix this so if anyone can tell me what I’m doing wrong or how to solve this I’d be extremely grateful, especially as I’m on a very tight schedule with this project.

Many thanks for reading,
Dan

Use the ‘Add Object Constraint’ for the object and choose ‘child of’. Then choose the bezier as the target.

Hi FloridaJo, thanks for getting back to me. :slight_smile:

The add object constraint seems to work but I can only seem to set up one relationship at a time with it (rather than shift selecting everything I want to make a child and setting all at once as I do with parenting) and I have hundreds of objects that need parenting, also for some reason it moves the child object when I set the relationship. Is there any way around these two points? :s

Not sure about doing multiple objects at the moment, but on the second issue, hit ‘set inverse’ in the constraint panel.

Hi, sorry it took so long to get back and again, and thanks for helping me out.

I’m not marking as solved yet because parenting still isn’t working properly for me and I’d like to be able to use it (any ideas, anyone? :s) but the set inverse works wonders, thanks!
I’ve been playing around and found a solution to the multiple objects problem too (in case anyone else has the same problem) - after constraining the first one and setting inverse on it you can circle/shift select any objects that share the same parent and then shift select the already constrained object and there’s a “copy constraints to selected” command in the objects -> constraints menu that applies the parenting to all of them. It’s two extra steps compared to parenting but this way works and as parenting isn’t at the moment that certainly gives it a leg up :wink:

But yes, you’ve got me on track again, FloridaJo, so thank you very much. :slight_smile:

Okay, good deal.
Not sure why parenting does differently than the constraint tool (I would think it’s coding).
By the way, I see that option to apply to all when I search, but I don’t see that option in the constraints menu?

Just a quick note:
We’ve got an entry for this in the bugtracker already (https://projects.blender.org/tracker/?func=detail&aid=36045&group_id=9&atid=498)

I’m somewhat surprised that it’s taken so many years for a bug like this to start getting noticed by people. Then again, there are numerous examples in the bug tracker of similar issues which have started getting picked up/reported now. Is it any wonder then that the tracker is now nearly always ~200 open items long… :slight_smile:

Anyways, I’ll try to take a fresh look at this.

An update on the situation: I took a second look in the code, and actually there is an easy way to disable this behaviour built into Blender right now.

Simply go to the Curve Properties, and disable the “Path Animation” checkbox. By doing this, child objects will stop trying to follow the “path” of the curve - with the position of the children relative to this path being defined by the “Evaluation Time” property.

1 Like

I’m not sure what you mean, FloridaJo? I just shift selected all the things I wanted to apply it to and then applied it?

Thanks for looking into it Aligorith! I’d finished the rigging for this project by the time I saw your post but I’m much happier now I know what was happening (and I’m sure it will be useful knowledge for my next project). Seems strange to me that default behavior is to use all curves as paths, even ‘solid’ ones, but then I’m animating in 2D so I guess I have different priorities to most Blender users. :stuck_out_tongue:

Thanks a lot both of you, really helped me out. :slight_smile: