Hi,
I am having issues with mixing BP and C++. I have created a static mesh in C++ as follows:
// static mesh component as root
ShipMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Ship Mesh"));
RootComponent = ShipMesh;
And I have my C++ pawn as the parent of the BP class. In my BP, I set the static mesh to use from my assets, and my static mesh does have a collider set up. But in the physics section almost all of the properties are missing:
Where are the settings for simulate physics, linear damping, angular damping, enable gravity, etc…??
I am confused as to what the issue is here. I recreated a pure BP without a C++ parent and I assigned the same static mesh and I can access the complete physics settings. I tried setting the physics properties in code like this:
// static mesh physics
ShipMesh->SetSimulatePhysics(true);
FBodyInstance* PhysicsBody = ShipMesh->GetBodyInstance();
PhysicsBody->bSimulatePhysics = true;
PhysicsBody->bOverrideMass = true;
PhysicsBody->SetMassOverride(300.0f);
PhysicsBody->bEnableGravity = false;
PhysicsBody->AngularDamping = 0.8f;
This still doesn’t work since I am using thrusters and nothing works, so the physics are not being set, but it compiles just fine. I have recreated the exact same components and functionality using a pure BP with no C++ parent and it works perfectly.