Vasara Posted October 3, 2020 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
Vasara Posted October 3, 2020 Author 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. Учебные материалы надо бы обновить.
fox Posted October 5, 2020 Posted October 5, 2020 Здравствуйте, Vasara! Примеры кода, к сожалению, не успели обновить вовремя, но описание класса ParticleModifier есть в API Migration. Приносим извинения за неудобства, материалы находятся в очереди на обновление. к ближайшему релизу должны поправить. Спасибо!
Recommended Posts