diff --git a/Engine/src/Physics/Physics.cpp b/Engine/src/Physics/Physics.cpp index 90cfa4cc..dcc0478f 100644 --- a/Engine/src/Physics/Physics.cpp +++ b/Engine/src/Physics/Physics.cpp @@ -54,7 +54,7 @@ void Prisma::Physics::update(float delta) { prismaMatrix = prismaMatrix * glm::scale(glm::mat4(1.0f), scaling); - mesh->finalMatrix(prismaMatrix); + mesh->parent()->finalMatrix(prismaMatrix); } } diff --git a/UserEngine/src/UserEngine.cpp b/UserEngine/src/UserEngine.cpp index b5b181ec..1a93b67c 100644 --- a/UserEngine/src/UserEngine.cpp +++ b/UserEngine/src/UserEngine.cpp @@ -25,6 +25,15 @@ UserEngine::UserEngine() : Prisma::Engine{} Prisma::NodeHelper nodeHelper; + nodeHelper.nodeIterator(m_sceneNode->root, [](auto mesh, auto parent) { + auto currentMesh = std::dynamic_pointer_cast(mesh); + if (currentMesh) { + auto physicsComponent = std::make_shared(); + physicsComponent->collisionData({ Prisma::Physics::Collider::BOX_COLLIDER,0.0,btVector3(0.0,0.0,0.0),true }); + currentMesh->addComponent(physicsComponent); + } + }); + Prisma::Physics::getInstance().physicsWorld()->dynamicsWorld->setGravity(btVector3(0.0,-10.0,0.0)); }