JoltPhysics3D: Allow to construct components without using the system
This commit is contained in:
@@ -128,7 +128,7 @@ int main()
|
||||
Nz::JoltRigidBody3D::StaticSettings settings;
|
||||
settings.geom = boxCollider;
|
||||
|
||||
boxColliderEntity.emplace<Nz::JoltRigidBody3DComponent>(physSystem.CreateRigidBody(settings));
|
||||
boxColliderEntity.emplace<Nz::JoltRigidBody3DComponent>(settings);
|
||||
#else
|
||||
auto& boxBody = boxColliderEntity.emplace<Nz::BulletRigidBody3DComponent>(physSystem.CreateRigidBody(boxCollider));
|
||||
boxBody.SetMass(0.f);
|
||||
@@ -186,7 +186,7 @@ int main()
|
||||
settings.geom = sphereCollider;
|
||||
settings.mass = 4.f / 3.f * Nz::Pi<float> * Nz::IntegralPow(radius, 3);
|
||||
|
||||
ballEntity.emplace<Nz::JoltRigidBody3DComponent>(physSystem.CreateRigidBody(settings));
|
||||
ballEntity.emplace<Nz::JoltRigidBody3DComponent>(settings);
|
||||
#else
|
||||
ballEntity.emplace<Nz::BulletRigidBody3DComponent>(physSystem.CreateRigidBody(sphereCollider));
|
||||
#endif
|
||||
@@ -231,7 +231,7 @@ int main()
|
||||
settings.geom = boxCollider;
|
||||
settings.mass = width * height * depth;
|
||||
|
||||
boxEntity.emplace<Nz::JoltRigidBody3DComponent>(physSystem.CreateRigidBody(settings));
|
||||
boxEntity.emplace<Nz::JoltRigidBody3DComponent>(settings);
|
||||
#else
|
||||
boxEntity.emplace<Nz::BulletRigidBody3DComponent>(physSystem.CreateRigidBody(boxCollider));
|
||||
#endif
|
||||
@@ -309,7 +309,7 @@ int main()
|
||||
settings.geom = shipCollider;
|
||||
settings.mass = 100.f;
|
||||
|
||||
shipEntity.emplace<Nz::JoltRigidBody3DComponent>(physSystem.CreateRigidBody(settings));
|
||||
shipEntity.emplace<Nz::JoltRigidBody3DComponent>(settings);
|
||||
#else
|
||||
shipEntity.emplace<Nz::BulletRigidBody3DComponent>(physSystem.CreateRigidBody(shipCollider));
|
||||
#endif
|
||||
|
||||
@@ -66,7 +66,11 @@ int main()
|
||||
//auto& playerBody = playerEntity.emplace<Nz::JoltRigidBody3DComponent>(physSytem.CreateRigidBody(playerCollider));
|
||||
//playerBody.SetMass(42.f);
|
||||
|
||||
character.emplace(physSytem.GetPhysWorld(), playerCollider, Nz::Vector3f::Up() * 5.f);
|
||||
Nz::JoltCharacter::Settings characterSettings;
|
||||
characterSettings.collider = playerCollider;
|
||||
characterSettings.position = Nz::Vector3f::Up() * 5.f;
|
||||
|
||||
character.emplace(physSytem.GetPhysWorld(), characterSettings);
|
||||
|
||||
app.AddUpdaterFunc([&]
|
||||
{
|
||||
@@ -351,7 +355,7 @@ int main()
|
||||
Nz::JoltRigidBody3D::StaticSettings floorSettings;
|
||||
floorSettings.geom = translatedFloorCollider;
|
||||
|
||||
floorEntity.emplace<Nz::JoltRigidBody3DComponent>(physSytem.CreateRigidBody(floorSettings));
|
||||
floorEntity.emplace<Nz::JoltRigidBody3DComponent>(floorSettings);
|
||||
|
||||
std::shared_ptr<Nz::GraphicalMesh> boxMeshGfx = Nz::GraphicalMesh::Build(Nz::Primitive::Box(Nz::Vector3f(0.5f, 0.5f, 0.5f)), meshPrimitiveParams);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user