粒子系统模拟-计算机图形学 豆瓣,粒子系统

粒子系统

粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,能为我们实现一些真实自然而又带有随机性的效果(如爆炸、烟花、水流)提供了方便。Cocos2d-x引擎中就为我们提供了强大的粒子系统。

下面是使用粒子系统完成的两个粒子特效:

a31aa7e0cd8038a8f98a7eb0889a6f3d.png

b0c6f74184a656d5546040798d16cbd3.png

cc9f26d10241d565d6ec8e50ad4cd398.png

创建粒子特效的工具

尽管你能手动创建粒子特效,按照喜好确定每个属性,但是使用工具往往更方便高效。下面介绍几个第三方工具:

Particle Designer:Mac 上一款非常强大的粒子特效编辑器

Particle2dx:一款 Web 粒子特效编辑器,打开网页即可进行设计

使用这些工具完成粒子特效的设计,最终会导出一个 .plist 文件,Cocos2d-x 通过使用这种文件,就能把粒子特效添加到场景中,添加方法和操作一个普通的节点类型一样。

创建方法:

// create by plist file

auto particleSystem = ParticleSystem::create("SpinningPeas.plist");

内置粒子特效

准备好添加粒子特效到你的游戏中了吗?是否习惯创建自定义粒子特效?不习惯也没关系,我们内置了一些粒子特效,你可以直接使用。这个列表都是:

ParticleFire: Point particle system. Uses Gravity mode.

ParticleFireworks: Point particle system. Uses Gravity mode.

ParticleSun: Point particle system. Uses Gravity mode.

ParticleGalaxy: Point particle system. Uses Gravity mode.

ParticleFlower: Point particle system. Uses Gravity mode.

ParticleMeteor: Point particle system. Uses Gravity mode.

ParticleSpiral: Point particle system. Uses Gravity mode.

ParticleExplosion: Point particle system. Uses Gravity mode.

ParticleSmoke: Point particle system. Uses Gravity mode.

ParticleSnow: Point particle system. Uses Gravity mode.

ParticleRain: Point particle system. Uses Gravity mode.

比如使用内置的烟火特效 ParticleFireworks:

auto emitter = ParticleFireworks::create();

addChild(emitter, 10);

是这样的效果:

3434b927efa8f358ce35220a931de4b6.png

要是内置的粒子特效不是你想要的那样,也没关系,你可以直接手动设置参数!让我们拿上面的烟火特效示例,并通过手动改变属性进一步控制。

auto emitter = ParticleFireworks::create();

// set the duration

emitter->setDuration(ParticleSystem::DURATION_INFINITY);

// radius mode

emitter->setEmitterMode(ParticleSystem::Mode::RADIUS);

// radius mode: 100 pixels from center

emitter->setStartRadius(100);

emitter->setStartRadiusVar(0);

emitter->setEndRadius(ParticleSystem::START_RADIUS_EQUAL_TO_END_RADIUS);

emitter->setEndRadiusVar(0); // not used when start == end

addChild(emitter, 10);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值