void ParticleEffect::Initialize(Ogre::SceneManager *sceneManager, Ogre::SceneNode* parentNode, Ogre::String object_name, Ogre::String material_name, PhysicsEngine &physicsEngine, unsigned int parentID) { PhysicsEntity::Initialize(sceneManager, parentNode, physicsEngine, parentID); bodyType = ENTITY_BODY_METAPHYSICAL; Ogre::Entity* entity = sceneManager->createEntity(object_name); /* Apply a material to the entity */ materialName = material_name + std::to_string(objectID); Ogre::MaterialPtr origMat = Ogre::MaterialManager::getSingleton().getByName(material_name); Ogre::Material* mat = origMat.get(); mat->clone(materialName); entity->setMaterialName(materialName); sceneNode->attachObject(entity); sceneNode->translate(0,0,0); }