Why Character behave like obstacle, not like "normal" physic cube?

White cubes are identical. Both use PhysicThruster to move up. Mass of red cube is 10kg, white sube is 500000kg. Why BP_ThirdPersonCharacter colide with white cube, instead to move up like red cube?

Hi there, so characters typically use a Character Movement Component which doesn’t interact with physics the same way a Static Mesh or Physics Actor does.

Here’s a few things you can check…

1. Ensure Correct Physics Settings on Character

Characters in Unreal Engine are usually controlled by a Character Movement Component, which doesn’t use physics simulation in the same way as a regular Static Mesh component. To get your character to behave more like a physics object, you may need to adjust its physics settings.

  1. Enable Physics Simulation on Character:
  • Select your BP_ThirdPersonCharacter.
  • In the Details panel, find the Capsule Component (or the root component).
  • Check the Simulate Physics option.
  1. Adjust Collision Settings:
  • Ensure the collision settings on your character and the plane are set up correctly to interact with each other.
  • Both the character and the plane should have their collision presets set to interact with physics objects.
  • Ensure they are not set to ignore each other or have blocking collisions that could prevent proper physics interaction.

2. Use a Physics-Based Actor for Character

If enabling physics simulation directly on the character doesn’t yield the desired results, you may consider using a physics-based actor to represent your character. This would involve creating a custom actor with physics properties similar to the red cube.

3. Add Force or Impulse

Ensure that the force applied by the PhysicsThruster is correctly influencing both objects. The difference in mass between the character and the plane could be significant here.

  1. Verify Physics Thruster Setup:
  • Ensure the PhysicsThruster component is set up correctly and is attached to both the plane and the red cube.
  • Verify that the thrust strength is sufficient to move objects with larger masses.
  1. Adjust Force Magnitude:
  • Increase the force applied by the PhysicsThruster to see if it can overcome the mass of the plane and the character.

4. Debugging Tools

Use Unreal Engine’s debugging tools to better understand the interactions:

  1. Physics Debugging:
  • Enable Show Collision to visualize collision boundaries.
  • Use the Physics tab in the Show menu to visualize the physics state and interactions.
  1. Check Constraints:
  • Ensure there are no unexpected constraints or joints applied to the character or the plane that could affect movement.

Video Analysis

From the video link provided, a few things to check:

  • Mass Settings: Ensure the mass settings are correctly applied and not overridden by other components.
  • Thrust Alignment: Verify that the PhysicsThruster is aligned correctly and applies force in the expected direction.
  • Collision Responses: Check the collision responses and ensure they are set to interact appropriately.

Example Blueprint Setup

Here’s a simplified example of how you might set up a physics-based actor with a PhysicsThruster:

  1. Create a New Blueprint:
  • Create a new Actor blueprint, e.g., BP_PhysicsCharacter.
  1. Add Components:
  • Add a Static Mesh component (e.g., a cube or capsule).
  • Add a PhysicsThruster component.
  • Ensure Simulate Physics is enabled on the Static Mesh.
  1. Configure Thruster:
  • Set the PhysicsThruster properties such as Thrust Strength, Auto Activate, etc.
  • Ensure it is correctly positioned and aligned.
  1. Collision Settings:
  • Ensure the collision settings allow for proper interaction with other physics objects.

Hope this helps.

Thank you for such an extensive answer. I tried most of these points before writing the post (I know, I should have written it in the question). I wouldn’t like to create the Physic-Base for character control from scratch. I implemented the following solution which works. I just don’t know if this is the right approach or if it will cause me many other problems in the future.

I created a new cube and set its Collision Presets to ignoreOnlyPawn. EventTick then updates the position of this Cube so that it is slightly higher than the Cube affected by PhysicThruster. Thanks to this solution, BP_ThirdPersonCharacter does not collide with the physics object, and at the same time can move around the flying object.
Is this approach ok?

After long tests, my solution does not work. The player passes through the additional cube. I have to implement Physic-Based movement.