Capsule Collision makes Physics Actors fly away

Whenever I use SetActorLocation for my Player blueprint (that has a capsule collider) my physics actors starts to fly off as if a collision happened with the players capsule collider. This happens to physics actors that are very far away that doesnt collide at all with my player actor.

I use the SetActorLocation to simulate a respawn mechanic. This is done in the level blueprint with some actor references. In the level blueprint I can see the warnings “variable not in scope” on some of the referenced object’s variables. Is this what causes this issue?

I have video to show off my problem:

I’ll try to ask for help one more time, trying to go more intro detail. Im using UE 4.15.

Whenever I use SetActorLocation for my Player blueprint (that has a capsule collider) my physics actors starts to fly off as if a collision happened with the players capsule collider. This happens to physics actors that are very far away that doesnt collide at all with my player actor.

I use the SetActorLocation to simulate a respawn mechanic. This is done in the level blueprint with some actor references. In the level blueprint I can see the warnings “variable not in scope” on some of the referenced object’s variables. Is this what causes this issue?

I have video to show off my problem:

https://vid.me/6WN5

Please help! This worked in UE 4.11 and I didnt change anything!

Thanks

Please help! This worked in UE 4.11 and I didnt change anything!

Thanks

I solved it! I unchecked the “push force scaled to mass” in the CharacterMovement component of my player blueprint!

wow thanks ! i have the same confulse.

Still having this issue in 4.18, even when I uncheck “push force scaled to mass”

Any help please!

Same in 4.22, did you every solve this?

Basically you have a mesh inside of your character collider, for me it was my custom avatar, find whatever the static mesh is and set it to No Collisions and you should have no more errors, I also unchecked push force scaled to mass off.

I had just figured this out on looking at this question, so i thought i’d post this for anyone else who stumbles across this.

Generally, ACharacter’s RootComponet is CapsuleComponent.

Looking at UCharacterMovementComponent,
You can see the code that processes the Block component on the 4586 Line.

if ((Hit.Time > 0.f) && (Hit.Normal.Z > KINDA_SMALL_NUMBER) && IsWalkable(Hit))
		{
			// Another walkable ramp.
			const float InitialPercentRemaining = 1.f - PercentTimeApplied;
			RampVector = ComputeGroundMovementDelta(Delta * InitialPercentRemaining, Hit, false);
			LastMoveTimeSlice = InitialPercentRemaining * LastMoveTimeSlice;
			SafeMoveUpdatedComponent(RampVector, UpdatedComponent->GetComponentQuat(), true, Hit);

			const float SecondHitPercent = Hit.Time * InitialPercentRemaining;
			PercentTimeApplied = FMath::Clamp(PercentTimeApplied + SecondHitPercent, 0.f, 1.f);
		}

Since the Hit component is a CapsuleComponent, it is judged to be a terrain, and the slope calculation is executed.
(4498 Line ComputeGroundMovementDelta)

So the Delta is changed,
Inside the PrimitiveComponent’s MoveComponentImpl(), set a new location for the character.

Then, the Actor that has changed the z value is applied with a NormaVector in PhysFalling(), and it is flying abnormally. (This section should be checked a little more)

If you happen to be a non-Phsycis Character,
It’s may be a problem with the collisionion blocking configuration.
(In case of Character and Character Hit)

This can be solved by creating a CustomCharacterMovement ( c++)

In your CustomCharacterMovment
This can be overcome by overriding IsWalkable ().

bool UCustomMovementComponent::IsWalkable(const FHitResult& Hit) const
{
	if (Hit.GetActor() && Hit.GetActor()->IsA(ACharacter::StaticClass()))
	{
		return false;
	}

	return Super::IsWalkable(Hit);
}

I hope this helps you.

This can be solved by creating a CustomCharacterMovement ( c++)

In your CustomCharacterMovment override IsWalkable().

I’m working on ship physics and have had this problem when you run into any part of the ship it sends it flying. I figured out on the Character Movement component of my ThirdPersonCharacter > the Push Force Factor & Initial Push Force Factor should be very low. They were initially set to: (500 Initial Push Force Factor) & (750000 Push Force Factor)

The solution I found was to disable collision in BP Sky Sphere (credit Serdar Urkemez at Leartes Studios for this one)