Child Actor Component not following parent

Hi!

I added a blueprint as a child actor component to another blueprint. Now I’m moving the parent Blueprint actor but the child actor component doesn’t follow the rotation from the parent.
Do you have an idea how to fix this?

Thanks already!

Show us what you doing! And also your component’s hierarchy.

That’s my component hierachy:

307523-unbenannt.png

When I move the Sphere (e.g. with force or “Add Torque in Degress”) the rotation of the ChildActorComponents does’t follow the Sphere. E.g. the “XXXPlayer” components contain a camera and when the Sphere moves, the camera stays in the same (absolute) rotation which means, that it doesn’t feel like “sitting in the sphere”. Note: Sphere is some kind of a vehicle.

Hope that explains my problem :slight_smile:

So, is it only rotation or also displacement?

Does this happens only with the chidlactorcomponents (all of them or only the pawns?), or does it happens with all other components, for example “StaticMesh” or the “Cube”?

Yes, only rotation.
And yes, it happens to the ChildActorComponents only. The Static meshes and the Widget are working fine. I already tried “AttachToComponent” in Begin play, but it doesn’t fix the problem.

Didn’t you by chance change Rotation to absolute here:

307539-rot.png

I once changed the child component location to World to copy it and didn’t change it back, and then spent an hour trying to figure out why the child didn’t move with the parent.

1 Like

No matter what I do, what options I select, I’m still unable to duplicate this issue. There’s must be something I’m missing.

Does the same happens if you create a new BP and add a few ChildActorComponents?

It seems I misinterpreted what the OP said. I assume “no following” as in static: no movement.

Thanks for your tip, but the rotation is set to “relative”… I tried “world” as well, but it behaves like “relative”

I tried it again with “normal” childactorcomponent, which actually works. But when I use a subclass of “Pawn” with a camera inside, the camera doesn’t follow the rotation of the actual vehicle rotation. Here’s the component hierachy of my Pawn:

307547-unbenannt.png

Yes I double checked every component now. Okay let me clearify this:
The Sphere (and actor) has a World Rotation of: 0,0,0
The “GondolaPlayer” (ChildActorComponent) has a World Rotation of: 0,0,0

Now I drive some time and rotate the vehicle. it now has a world rotation of: 0,0,20
But the world rotation of my Pawn camera still remains at: 0,0,0
But it should follow the rotation of the vehicle.

E.g. when you sit in a car and you dont move your head, but the car rotates, your head follows the rotation of the vehicle.

My problem is, that the camera of the player doesn’t follow the rotation of the vehicle. Location works fine.

So, they rotate, but they just keep their orientation? If so, then Tuerer is most likely right. Have you also checked the Scene Components?

Can you manually rotate the actor component in the BP?

I’ve encountered a weird bug with rotation a few times: I added a component and it rotated just fine, but the value of one of the axes was something like 0.0001. Then I changed the rotation to 0,0,0, and suddenly the component was locked. I couldn’t rotate it neither manually, nor procedurally.

My problem is, that the camera of the player doesn’t follow the rotation of the vehicle. Location works fine.

You must understand how confusing all this is. This sentence alone opens an entire new can of worms. How are you checking the rotations: through the camera, numerically or visually (eject and visually check its orientation)?

Is your camera attached to a springarm? Does the spring arm (if any) have “Inherit Yaw” checked?

I tried to set the relative rotation of the ChildActorComponent to 0,0,0 every Tick, but that doesn’t work either :frowning:

I printed the world rotation of the Sphere and the camera.

My camera has no spring arm (like you can see in the screenshot) and the camera movement is done by VR or - when playing without a HMD - by mouse input (like every first person game). When I comment out all the camera movement from the pawn, the camera rotation still remains wrong… So I guess the camera movement/player input isn’t the issue here.

Perhaps if you get the world rotation of the pawn, and add it to the camera.

Do you have an idea how? Because if I only set it every frame, it overrides the player input :frowning:

Important update! When the pawn isn’t possessed, the camera follows the rotation of the vehicle! Only when the pawn is possessed, the camera remains fixed

Your last comment - camera controlled by VR or mouse - if you have Pawn Control Rotation on the First Person Camera checked, it’ll “disable” rotation of the camera by anything other than VR head-rotation or mouse. Disable in quotes because technically the object is rotating (as you are confused by). For my game, I have it unchecked for VR to allow the camera to be affected by the parent rotation.

This is a partial answer to your question as it’s a VR half only. For non-VR, it appears to also disable mouse input on the camera altogether, so you’ll have to do a bit more in blueprints to add mouse input change back to the rotation - look into taking in the input axis and having that go to an Add Rotation node for the camera. You’ll need to do this for both horizontal (left/right) and vertical (lookup/down). I haven’t done this yet on my part so I can’t give you the exact code, but hopefully is enough for you to know what the problem is and start making progress towards a solution. If you come up with the non-VR half, would be great to know. Similarly I’ll update this post if I get around to it, but it’s not on my priority list at the moment.