Download

Placing actor with parent, position of child actor components now separated

I had a blueprint working fine with a number of static meshes and colliders. Then I decided to create a base class that was of type Actor. When I now put the blueprint into the scene everything is separated by substantial distances. I expected the relative locations to be all of some value, but they are all zero. Should the parent be an Actor and if so what should I do to it to remove any offset or effect on location?

Can you explain a bit more? Did you do it originally with the level BP? Have you scaled the BP after putting it in the level?

Use these approaches to add actors as children of your main actor


My situation is a bit different but I think I found my problem. I had a scene component in the child class that everything was under. It had 0’s for relative position and the static meshes under it also had 0s. So I don’t know why it was an issue. When I reparented everything to the default scene root instead of this scene component they all stayed together. Guess I need to understand scene components a bit better, I thought it just provided a grouping mechanism and a transform.

Weird, it should work with a scene component…

Well the weirdness is still there. I put a scene object in the parent just to have something with a location on it. Then in the child class I put all the components on that inherited scene component. Now when I drop the class into the map there is distance between the DefaultSceneRoot and the Scene component (both in the parent class). The relative location value is 0,0,0 on the scene component so I don’t know why they are far apart in the actual scene. Additionally when I move the Object by grabbing it in the world outliner the scene component does not stay with the top level. I can move the scene component and everything follow it. So I guess I may lack a fundamental understanding of something here.

UPDATE 1: It appears the default scene root is wherever I place it, but the scene component right below it is always at 0,0,0 World Position . Still don’t know why the scene component doesn’t follow the default scene root (when dragging around, or when placed).

Hierarchy
image
Transform of the object in scene


Object in the map

Base Class:

Sorry, I really have no idea how you’ve managed this.

Is there anything in the construction script?

Also, watch out, from 4.26 onwards, if you double click the BP, you can move the components around independently…

There is nothing in the construction script. It seems to be something in the child class. If I create a basic child with one static mesh it gets created in the right place. I wonder if it has anything to do with reparenting after creation

I see in the child you have a picture of, that everything is coming from the parent class.

Can you isolate the problem by just using the parent, and one mesh, or something very simple.

If you can still generate the problem, I will take a look…