Vasara Posted October 3, 2020 Share Posted October 3, 2020 (edited) Добрый день. С обновлением 2.12 поменялись методы в классе частиц. Пример из документации остался для старой версии. Не могли бы вы объяснить, как реализовать эту часть кода из примера, в 2.12 версии: particles->setRadius(0.2f, 0.1f); particles->setGrowth(0.1f, 0.1f); particles->setVelocity(3.0f, 2.0f); particles->setGravity(vec3(0.0f, 0.0f, 4.0f)); С Уважением Константин. Edited October 3, 2020 by Vasara Link to comment
Vasara Posted October 3, 2020 Author Share Posted October 3, 2020 Нашёл, сломал ногу пока искал, но нашёл. Так заработало: particleWater = ObjectParticles::create(); // set world transform to the particle system, specify its material and material diffuse parameter particleWater->setWorldTransform(Math::Mat4(Math::quat(0.0f, 0.0f, 0.0f, 0.0f))); particleWater->setMaterial("particles_base", "*"); particleWater->setMaterialParameterFloat4("diffuse_color", Math::vec4(0.5f, 0.1f, 0.0f, 1.0f), 0); // enable the emitter and specify its settings particleWater->setEmitterEnabled(1); particleWater->setSpawnRate(2000.0f); particleWater->setLife(5.0f, 0.5f); modifierRadius = particleWater->getRadiusOverTimeModifier(); switch (modifierRadius->getMode()) { case ParticleModifier::MODE_CONSTANT: { modifierRadius->setConstant(1.0f); } case ParticleModifier::MODE_RANDOM_BETWEEN_TWO_CONSTANTS: { modifierRadius->setConstantMin(1.0f); modifierRadius->setConstantMax(2.0f); } } modifierGrowth = particleWater->getGrowthOverTimeModifier(); switch (modifierGrowth->getMode()) { case ParticleModifier::MODE_CONSTANT: { modifierGrowth->setConstant(1.0f); } case ParticleModifier::MODE_RANDOM_BETWEEN_TWO_CONSTANTS: { modifierGrowth->setConstantMin(1.0f); modifierGrowth->setConstantMax(2.0f); } } modifierGrowth = particleWater->getVelocityOverTimeModifier(); switch (modifierGrowth->getMode()) { case ParticleModifier::MODE_CONSTANT: { modifierGrowth->setConstant(1.0f); } case ParticleModifier::MODE_RANDOM_BETWEEN_TWO_CONSTANTS: { modifierGrowth->setConstantMin(1.0f); modifierGrowth->setConstantMax(2.0f); } } modifierGravity = particleWater->getGravityOverTimeModifier(); switch (modifierGravity->getMode()) { case ParticleModifier::MODE_CONSTANT: { modifierGravity->setConstant(Math::vec3(0.0f, 0.0f, 4.0f)); } } P.S. Учебные материалы надо бы обновить. Link to comment
fox Posted October 5, 2020 Share Posted October 5, 2020 Здравствуйте, Vasara! Примеры кода, к сожалению, не успели обновить вовремя, но описание класса ParticleModifier есть в API Migration. Приносим извинения за неудобства, материалы находятся в очереди на обновление. к ближайшему релизу должны поправить. Спасибо! Link to comment
Recommended Posts