I’m using UE 4.7.6. I encounter a problem with simple collision. The steps that I did are as follow:
I create an [FONT=courier new]**Actor **blueprint (let’s say Actor1).
I add a [FONT=courier new]Scene Component inside Actor1.
I create another [FONT=courier new]**Actor **blueprint (let’s say Actor2).
I add a [FONT=courier new]Static Mesh Component inside Actor2.
I enable the **BlockAll **collision preset on Actor2.
On the level editor, I created 2 instance of Actor2 (let’s say *Dummy1 *and Dummy2).
Then I create a new **[FONT=courier new]PlayerController **blueprint.
Inside that [FONT=courier new]**PlayerController **blueprint, I created a keyboard event listener. For example, I would do something if I press [FONT=courier new]K key.
From that node, I created another node called [FONT=courier new]Add World Offset so I can change the location of Dummy1 to get closer to Dummy2.
The collision works perfectly. Dummy1 will never get pass Dummy2.
Now, I attach a dynamically spawned instance of *Actor2 *to a dynamically spawned instance of *Actor1 *(*Actor1 *become parent of Actor2), by using [FONT=courier new]Attach Actor to Actor node. I repeat this step twice to get 2 instances of Actor1 (*Dummy3 *and Dummy4).
I revise my **[FONT=courier new]PlayerController **blueprint to alter the location of *Dummy3 *to get closer to Dummy4 by using **[FONT=courier new]Add World Offset **node.
The collision FAIL. *Dummy3 *can go through *Dummy4 *as if they never collided.
Is this an expected behavior?
If it’s a bug, is there a workaround for it?
If I understand your situation correctly, you want an attached actor (a child of some other parent actor) to generate collisions? This is not supported by the engine, as far as I know. The child actors do not perform a “sweep” when moving, so they do not detect collisions.
I have a very basic fix for this in C++, here:
Sorry that doesn’t help much if you’re working with blueprints. Epic is aware of the issue and has said in a few posts on the AnswerHub that they are “considering” a fix.
I’ve run into this problem as well. I’m using child attachments for a vehicle and the attached parts do not react to collisions. If child actors do not work for this can someone recommend an alternative method?
Child actor collisions work just fine.
the issue is how you set them up and IF you do the spawning via blueprint.
When you do it via code/BP, you also have to enable the correct collision via blueprint.
Usually, you create a custom channel within the settings, test it on manually placed objects so you are sure it works.
And you just apply the channel/turn on simulate physics or whatever else you need to do via BP.
Basically if you spawn something in BP the default setting for collision is not set. You need to tell it what it is.
I want to Attach a already in Editor spawned (Blueprint) Box to the Player Character so the Player can move the Box around.
Attaching, Moving etc works already. i also can jump on the box etc, but as soon i Attach the Box and move it to a wall it gets in wall
and the pawn Cabsule Collision is the thing where Collision is, Box seems not to colide. U know how i can set it up to Colide with my walls ?
Should be World Static, i already set this to the Mesh but it has no collision after Attaching Box Actor to my Character Actor.
This problem is also because we have no character pulling a cart? Because the moment you enable physics everything flies around. For attached meshes I usually keep them on NoCollision.
You can use the Set Collision profile Name node, or Set Collision Response to All Channels node, or Set Collision Response to Channel nodes to set collisions. So perhaps create a new Collision channel, set it after attaching, and have it only block StaticMesh?
I already tryed to set enable collision and set Channels to Block World Static and World Dynamic but nothing. it still gets trouth walls like a ghost.
But yeah. i dont want to enable Simulate Physics, then it flyes around like ■■■■, thats why i want to attach id to a Character.