diff --git a/media/texture/particle1.png b/media/texture/particle1.png new file mode 100644 index 0000000..9d24e74 Binary files /dev/null and b/media/texture/particle1.png differ diff --git a/src/client/config_client.json b/src/client/config_client.json index 63e14f4..190b3b4 100644 --- a/src/client/config_client.json +++ b/src/client/config_client.json @@ -1,7 +1,7 @@ { "ip": "127.0.0.1", "port": "9000", - "totalObjects": 1031, + "totalObjects": 2, "controls": { "MoveUp": "W", "MoveDown": "S", diff --git a/src/engine/graphics/GraphicsEngine.cpp b/src/engine/graphics/GraphicsEngine.cpp index 0434f17..ce5639a 100644 --- a/src/engine/graphics/GraphicsEngine.cpp +++ b/src/engine/graphics/GraphicsEngine.cpp @@ -251,7 +251,7 @@ void GraphicsEngine::Initialize() { m_quad = new Quad(0.5f, glm::vec3(1)); m_cube = new Cube(glm::vec3(), glm::quat(), glm::vec3(1), 0.5f); m_particleTex = HUD::makeHUD("../../media/texture/particle0.png"); - m_kyle = HUD::makeHUD("../../media/texture/particle0.png"); + m_kyle = HUD::makeHUD("../../media/texture/particle1.png"); // CAMERA diff --git a/src/engine/graphics/Particle3D.h b/src/engine/graphics/Particle3D.h index 1c051f8..5d32df3 100644 --- a/src/engine/graphics/Particle3D.h +++ b/src/engine/graphics/Particle3D.h @@ -20,6 +20,7 @@ struct Particle3D { glm::vec3 position; glm::vec3 velocity; glm::vec3 acceleration; + glm::vec3 rotation; glm::vec3 color; float size; float life, totalLife; @@ -76,18 +77,28 @@ class ParticleSystem : public Node { glm::vec3(0.29f, 0.f, 0.51f), glm::vec3(0.56f, 0.f, 1.f), }; //glm::vec3(0.f, 0.f, 0.f) }; - + if (type == P_PLAYER){ + numParticles = 100; + } + glm::vec3 v = Random::ballRand(Random::linearRand(Config::settings["gas"]["velocity"][0].asFloat(), Config::settings["gas"]["velocity"][1].asFloat())); for (int i = 0; i < numParticles; ++i) { // random on unit circle for now Particle3D p; p.position = Random::ballRand(Random::linearRand(0.5f, 0.5f)); if (type == P_PLAYER){ - p.color = colors[2]; + /*p.color = colors[2]; p.velocity = Random::ballRand(Random::linearRand(Config::settings["gas"]["velocity"][0].asFloat(), Config::settings["gas"]["velocity"][1].asFloat())); p.acceleration = glm::vec3(0, 0, Random::linearRand(Config::settings["gas"]["acceleration"][0].asFloat(), Config::settings["gas"]["acceleration"][1].asFloat())); p.life = Random::linearRand(Config::settings["gas"]["life"][0].asFloat(), Config::settings["gas"]["life"][1].asFloat()); p.totalLife = p.life; p.size = Random::linearRand(Config::settings["gas"]["size"][0].asFloat(), Config::settings["gas"]["size"][1].asFloat()); + */ + p.color = colors[2]; + p.velocity = v; + p.acceleration = glm::vec3(0,0,1);// glm::vec3(0, 0, Random::linearRand(Config::settings["gas"]["acceleration"][0].asFloat(), Config::settings["gas"]["acceleration"][1].asFloat())); + p.life = Random::linearRand(Config::settings["gas"]["life"][0].asFloat(), Config::settings["gas"]["life"][1].asFloat()); + p.totalLife = p.life; + p.size = Random::linearRand(Config::settings["gas"]["size"][0].asFloat(), Config::settings["gas"]["size"][1].asFloat()); } else{//RES p.velocity = Random::ballRand(Random::linearRand(Config::settings["particles"]["velocity"][0].asFloat(), Config::settings["particles"]["velocity"][1].asFloat())); @@ -155,8 +166,13 @@ class ParticleSystem : public Node { p.life -= timeElapsed; if (p.life < 0) it = m_particles.erase(it); else { - p.velocity += p.acceleration * timeElapsed; - p.position += p.velocity * timeElapsed + 0.5f * p.acceleration * timeElapsed * timeElapsed; + if (type == PType::P_PLAYER){ + //p.position + } + else{ + p.velocity += p.acceleration * timeElapsed; + p.position += p.velocity * timeElapsed + 0.5f * p.acceleration * timeElapsed * timeElapsed; + } ++it; } } diff --git a/src/engine/graphics/Random.cpp b/src/engine/graphics/Random.cpp index 87f9c6b..7a78a11 100644 --- a/src/engine/graphics/Random.cpp +++ b/src/engine/graphics/Random.cpp @@ -14,4 +14,5 @@ glm::vec3 Random::ballRand(float radius) { float Random::linearRand(float min, float max) { static std::uniform_real_distribution line(0.f, 1.f); return line(gen) * (max - min) + min; -} \ No newline at end of file +} + diff --git a/src/server/config_server.json b/src/server/config_server.json index 5a26569..acb2d92 100644 --- a/src/server/config_server.json +++ b/src/server/config_server.json @@ -3,10 +3,10 @@ "fps": 60, "ip": "127.0.0.1", "port": "9000", - "num resources": 1000, - "num clouds": 10, - "num pills": 10, - "num npcs": 10, + "num resources": 1, + "num clouds": 0, + "num pills": 0, + "num npcs": 0, "physics engine": { "gravity": 100,