From a1e62adb71beb17f1195721b417c01dfd910b49a Mon Sep 17 00:00:00 2001 From: SirLynix Date: Sun, 18 Dec 2022 15:04:10 +0100 Subject: [PATCH] Improve Physics2DDemo --- examples/Physics2DDemo/main.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/Physics2DDemo/main.cpp b/examples/Physics2DDemo/main.cpp index 4c9c18573..4c44cfcc0 100644 --- a/examples/Physics2DDemo/main.cpp +++ b/examples/Physics2DDemo/main.cpp @@ -66,14 +66,14 @@ int main() Nz::TextureParams texParams; texParams.renderDevice = device; - texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB; + texParams.loadFormat = Nz::PixelFormat::RGBA8; std::shared_ptr material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate(); - material->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "Spaceship/Texture/diffuse.png", texParams)); + material->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "box.png", texParams)); - for (std::size_t y = 0; y < 10; ++y) + for (std::size_t y = 0; y < 30; ++y) { - for (std::size_t x = 0; x < 10; ++x) + for (std::size_t x = 0; x < 30; ++x) { entt::entity spriteEntity = registry.create(); { @@ -81,11 +81,12 @@ int main() sprite->SetSize({ 32.f, 32.f }); sprite->SetOrigin({ 0.5f, 0.5f }); - registry.emplace(spriteEntity).SetPosition(1920 / 2 + x * 36.f, 1080 / 2 + y * 36.f); + registry.emplace(spriteEntity).SetPosition(windowSize.x * 0.5f + x * 48.f - 15.f * 48.f, windowSize.y / 2 + y * 48.f); registry.emplace(spriteEntity).AttachRenderable(sprite, 1); auto& rigidBody = registry.emplace(spriteEntity, physSytem.CreateRigidBody(50.f, std::make_shared(Nz::Vector2f(32.f, 32.f)))); - rigidBody.SetElasticity(0.99f); + rigidBody.SetFriction(0.9f); + //rigidBody.SetElasticity(0.99f); } } } @@ -94,7 +95,6 @@ int main() { std::shared_ptr tilemap = std::make_shared(Nz::Vector2ui(40, 20), Nz::Vector2f(64.f, 64.f), 18); tilemap->SetOrigin({ 0.5f, 0.5f }); - tilemap->EnableIsometricMode(true); for (std::size_t i = 0; i < 18; ++i) { std::shared_ptr material = Nz::Graphics::Instance()->GetDefaultMaterials().basicTransparent->Clone(); @@ -111,10 +111,10 @@ int main() } } - registry.emplace(groundEntity).SetPosition(1920.f / 2.f, 0.f); + registry.emplace(groundEntity).SetPosition(windowSize.x * 0.5f, -windowSize.y * 0.2f); registry.emplace(groundEntity).AttachRenderable(tilemap, 1); auto& rigidBody = registry.emplace(groundEntity, physSytem.CreateRigidBody(0.f, std::make_shared(tilemap->GetSize()))); - rigidBody.SetElasticity(0.99f); + rigidBody.SetFriction(0.9f); } Nz::EulerAnglesf camAngles(0.f, 0.f, 0.f);