i was following the UE4 Tutorial for the 3rd Person Game blueprints.
It was really nice (thanks Zack!) but i have a problem with the character collision since i am using a non-human character.
I know i can change the capsule in the Blueprint itself but the only way it would work, would be a very spherical capsule that adds too much collision left and right to the character (marked Red):
So, what i would like to know is, where am i going wrong? What did i miss?
Oh btw, the added collision sphere do work on Actors that have physics enabled though.
I did read that it is somewhat possible to use a Pawn as the parent class but that would kinda make the character blueprint obsolete and that couldn’t be right, i guess …
You still have old capsule component on, disable “Auto Activate” on it so engine will ignore it or disable any collision in it, you won’t be able to deleted because capsule component is hard coded in to ACharacter class. Did you also tried to move it actully?
The only “Auto Activate” options i have inside the Character Blueprint is “Mesh (inherited)” and “CharacterMovement (inherited)”.
Untick either of them does not help, When i untick on the Character Movement i can’t move the character anymore.
Disabling the Collision on the Capsule lets me clip through the level (even when an other collision capsule is inside the Blueprint)
Well you can’t move the inherited capsule inside a Character Blueprint, the only thing movable is the Mesh.
I lookup the Character code and defult capsule component is refrenced a lot including setting it in updated component inside movment component (not usre if you can even do that in Blueprints). I think character can’t hold up without that component. Thats why i proposed Pawn as Pawn don’t have default physics (aka Capsule Component).
So i got diffrent idea, leave capsule component, change it hight or scale it so it’s enouth to make character walk yet overlap with things. Then place 2nd capsule component and set up chanells in both in the way that other stuff in your game will interact with new component not the old one
Well i guess it would be unwise to use a pawn instead of a character. From the documentation it says:
The CharacterMovementComponent allows avatars not using rigid body physics to move by walking, running, jumping, flying, falling, and swimming. It is specific to Characters, and cannot be implemented by any other class. Properties that can be set in the CharacterMovementComponent include values for falling and walking friction, speeds for travel through air and water and across land, buoyancy, gravity scale, and the physics forces the Character can exert on Physics objects. The CharacterMovementComponent also includes root motion parameters that come from the animation and are already transformed in world space, ready for use by physics.
So i would like to keep sticking to the CharacterBlueprint.
Then place 2nd capsule component and set up chanells in both in the way that other stuff in your game will interact with new component not the old one.
Made a new Object Channel and set it to Block. Set the type on the WorldStatic mesh to that Channel and changed the collision behavior on the 2nd capsule to block that channel. Does not work.
It not unwise and aspecially not impossible but it would simply require more work, but ok And what i said the original capsule make so it very little yet enouth for walking to work then make 2nd capsule to work. Hmm you really can’t editor original capsule?
Hmmm maybe check if movment component dont have some settings, it seems it kind of tied to it and ïn codeCharacter class sets capsule component as “UpdatedComponent”, if there nothing then i guess this can be solved only via C++, which won’t be that hard actually i can even give you code (if we asume that this ÜpdatedComponent has something to do with this)
Yeah i am sure i would be able to get a Pawn Blueprint working to behave like a Character Blueprint but i usually don’t wanna mess so much with wired in relations.
You are free to create a simple 3rd person project in your editor and mess around with the capsule yourself. I didn’t see anything interesting but maybe you have more experience and find something that actually works.
Yeah sure i can edit the C++ classes and are also capable of doing so but maybe there is an editor-based way of solving this without messing with the engine.
For example, maybe code afterwards relies on the main collision object to be a capsule, changing it into a box might break things.
I guess you wanted me to set this in the Construction Script Panel from the CharacterBlueprintClass, the only target that this node accepts is though a “Movement Component Reference” so you can’t update the Collision Capsule Component with it.
You don’t know what Target pin is for? That pin is to point on what object function will be called, this is case “Character Movement Component” because obviously we setting Updated Component there, you should connect Capsule to other pin.
Construction build should be the best, but if it’s not working try also Begin Play event