I’m testing some things using the basic 3rd person character.
I want to add another capsule component to the character that will collide with the world and stop player movement.
However the second capsule component doesn’t appear to collide with all objects. It passes right through stationary static meshes. It only seems to collide with objects that have physics enabled. I have tried many different collision settings but none keep the second capsule from overlapping static world geometry.
I’ve exaggerated the position of the second capsule to show behavior.
The character movement component interferes with collision on some components. If you try the same thing with an actor, it will work just fine. In order to use it with a character, you could attach a different actor to the character and then attach a new capsule component to that and move the capsule into whatever position you would like. That should allow you to get the result that you’re looking for.
Have a great day,
Thanks for your reply. I’m attempting to try your suggestion. I’ve created a separate actor that just has the collision capsule in it and added it as a child actor component to the character. However this doesn’t appear to work. The behavior is the same as before.
When you say “attach” do you mean literally using an attach node? If so, could I do this in the construction script of the character, or would the two objects need to exist independently in level first, then be attached by some event?
After some additional testing, it seems to be that there’s something in the character class that prevents additional collisions from working how you’d expect. So while you won’t be able to add additional collision to a character class, a workaround would be to create a pawn class and give it the same behavior you’d like your character to have. Adding a collision to this pawn should work just fine, as I have just set it up and gotten it to work flawlessly.
Hopefully that helps. Have a great day.
Thanks Sean, I’ll go that route.
add a component called “Child Actor” to the character, then in the unreal editor create a new actor blueprint and add a collision such as box collision in it. Then select the “Child Actor” component of our character, in its Details, find the part “Child Actor Component” and add our newly created actor blueprint to the option “Child Actor Class”. Then we could use this newly created actor blueprint to detect the second collision, and then use “Get Parent Actor” to cast to its parent, namely our character. Finally, we could set as many collisions as we want by adding different child actor components and create different actors.
Ever found a solution for this?