粒子引擎开发全解析
1. 粒子发射的实现:Emitter 类
在构建粒子系统时,需要一种有效的方式来发射粒子。直接调用粒子对象的 move() 方法虽然可行,但从长远来看,这种方式存在局限性且容易让人困惑。更好的做法是将粒子发射过程封装在 Emitter 类中,这样可以实现更高级别的控制,同时隐藏复杂的发射计算。
1.1 Emitter 类与粒子类的关系
在更新后的类图中, Emitter 类与 Particle 类之间通过实心菱形连接,这代表了一种组合关系。组合是面向对象编程(OOP)中用于创建类之间关系的技术,允许类协同工作。与继承不同,组合是将一个类的引用嵌入到另一个类中,即 Emitter 对象包含 Particle 对象,这是一种 “has a” 关系。
1.2 Emitter 类代码分析
class Emitter {
// Properties
// emitter position
PVector loc = new PVector(0, 0);
// rate particles are created
float birthRate;
// 3D path particles are projected
PVector birthPath;
// keep track of particle lifespan
float[] birthTime
粒子引擎开发详解与实践
超级会员免费看
订阅专栏 解锁全文
1266

被折叠的 条评论
为什么被折叠?



