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.
- Enable Physics Simulation on Character:
- Select your
BP_ThirdPersonCharacter
. - In the
Details
panel, find theCapsule Component
(or the root component). - Check the
Simulate Physics
option.
- 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.
- 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.
- 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:
- Physics Debugging:
- Enable
Show Collision
to visualize collision boundaries. - Use the
Physics
tab in theShow
menu to visualize the physics state and interactions.
- 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
:
- Create a New Blueprint:
- Create a new
Actor
blueprint, e.g.,BP_PhysicsCharacter
.
- Add Components:
- Add a
Static Mesh
component (e.g., a cube or capsule). - Add a
PhysicsThruster
component. - Ensure
Simulate Physics
is enabled on theStatic Mesh
.
- Configure Thruster:
- Set the
PhysicsThruster
properties such asThrust Strength
,Auto Activate
, etc. - Ensure it is correctly positioned and aligned.
- 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.