




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
粒子系统粒子系统简介粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的 game physics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。 cocos2d实现粒子系统很简单,有两种实现方式,一种是使用代码设置参数;第二种是用导入属性列表文件的方式来配置所要添加的粒子系统。效果展示:粒子系统类结构 CCParticleSystem(所有粒子系统的父类) CCParticleSystemPoint、CCParticleSystemQuad (点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性)CCParticleExplosion (爆炸粒子效果)CCParticleFireworks (烟花粒子效果)CCParticleFire (火焰粒子效果)CCParticleFlower (花束粒子效果)CCParticleGalaxy (星系粒子效果)CCParticleMeteor (流星粒子效果)CCParticleSpiral (漩涡粒子效果)CCParticleSnow (雪粒子效果)CCParticleSmoke (烟粒子效果)CCParticleSun (太阳粒子效果)CCParticleRain (雨粒子效果)粒子系统使用CCParticleSystem来表示,又分为两大类,重力式粒子系统CCParticleSystemPoint和放射式粒子系统CCParticleSystemQuad,两者在功能上略有不同,CCParticleSystemQuad支持围绕轴线旋转,CCParticleSystemQuad支持更多粒子对象和缩放,重力式故名思义,系统中存在重力,重力大小可以自己定义,包括的参数有:重心,速度,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,角加速度,线加速度,半径,分组模式(是否随重心移动),放射性系统恰恰相反,不存在重力,包括的参数有:重心,方向,尺寸,存在时间,颜色,绕自己轴心旋转角度,绕重心为轴心旋转角度,半径,分组模式(是否随重心移动)。大部分粒子系统都会继承这两个系统之一,那到底去继承哪一个呢?我们来分析下:CCParticleSystemPoint 点粒子系统,消耗内存比较少,运行速度比较快,但这只是说在1、2代机器上,3代以后的性能就不高了。CCParticleSystemQuad 方形粒子系统,在3代以后的机器上运行的比较快, 他会消耗更多的内存和CPU。可谓各有利弊哈!那么我们可以在代码中根据不同的机器来选择最佳的粒子系统么?是可以的!使用预处理器ARCH_OPTIMAL_PARTICLE_SYSTEM来定义粒子系统,在代码编译过程中来判断使用哪一个粒子系统。会自动的根据机型选择合适的粒子系统例:interface CCParticleExplosion : ARCH_OPTIMAL_PARTICLE_SYSTEM系统默认的几中粒子效果:CCParticleFireworks效果:实现代码:CCParticleFire效果:实现代码:CCParticleSun效果:实现代码:CCParticleGalaxy效果:代码实现CCParticleFlower效果:代码实现:CCParticleMeteor效果:实现代码:CCParticleSpiral效果:实现代码:CCParticleExplosion效果:实现代码: CCParticleSmoke效果:实现代码:CCParticleSnow效果:实现代码:CCParticleRain效果:实现代码:粒子贴图粒子贴图要小于64x64的,越小越好。可以将贴图嵌入到Particle Designer中(缺点:修改贴图不方便),也可导入工程中self.texture = CCTextureCachesharedTextureCache addImage:particleFile。粒子编辑器ParticleDesigner1、 点击工具中SAVE,保存为.plist格式文件,然后将文件导入到项目中。2、 然后实例化粒子对象 (这里要用ARCH_OPTIMAL_PARTICLE_SYSTEM来初始化)CCParticleSystem * system;system = ARCH_OPTIMAL_PARTICLE_SYSTEM particleWithFile:my.plist;self addChild:system z:1 tag:1;3、接下来可以修改下在工具中不能修改的属性 system.positionType = kCCPositionTypeFree; system.autoRemoveOnFinish = YES;/发射完粒子消失后从父节点移除system.position = ccp(100, 100);/粒子发射器位置需要注意一点的是 positionType 这个属性,粒子会随精灵的位置变动而变动。这都取决于这个属性的设定。有三个值:kCCPositionTypeRelative 相对模式, 粒子整体会随精灵移动而移动,起始位置会随粒子的起始位置移动而移动,但已经发出的粒子不会随粒子的起始位置移动而移动kCCPositionTypeGrouped 分组模式,粒子整体会随精灵移动,整体粒子系统会随粒子起始位置移动而移动,kCCPositionTypeFree 自由模式,粒子起始位置会随精灵移动,起始位置会随粒子的起始位置移动而移动,但已经发出的粒子不会随粒子的起始位置移动而移动4、 解决加载粒子的时候卡的问题,这是粒子在加载贴图资源。首先,我们在游戏进入的场景的初始化init中加入self preloadParticleEffect;- (void)preloadParticleEffectARCH_OPTIMAL_PARTICLE_SYSTEM particleWithFile: my.plist;因为particleWithFile方法是以自动释放的方式初始化的粒子,因此不用关心他们的内存释放问题。当他们释放掉以后他们的贴图会保留再缓存(CCTextureCache)中,因此解决了粒子显示时及时加载贴图的问题。如果my.plist里面没有嵌贴图,那就用CCTextureCachesharedTextureCacheaddImage:fire.png;这个方式先把贴图加入缓存。粒子设计器的选项介绍:基本的设置Max Particles 粒子的数量Lifespan 生命周期, 周期越长屏幕上同事存在的粒子数量就越多Lifespan Variance 生命周期的变量值,例如生命周期为5,变量为1,那么生命周期就会在5-1和5+1之间随机一个数Start Size 开始的粒子大小Start Size Variance 开始粒子大小的变量值Finish Size 结束的粒子大小Finish Size Variance 结束粒子大小的变量值Particle Emit Angle 粒子发射的角度Particle Emit Angle Variance 粒子发射角度变量值Position Y 发射的Y坐标Position X 发射的X坐标Duration 持续时间,当为 -1时候是持久的发射模式设置Gracity 重力模式 Speed 粒子速度 Speed Variance 速度变量值 Gracity x 粒子重力下X轴上的加速度 Gravity y 粒子重力下Y轴上的加速度 Radial Acceleration 当是正数时,离发射器越远,加速就越大;否则相反 Radial Acceleration Variance 以上的浮动值 Tangential Acceleration 让粒子旋转围着发射器运动,越远加速越快。当为正时,逆时针旋转;否则相反 Radial 半径模式(让粒子沿着一个圆形旋转,可产生漩涡、螺旋效果) Max Radius 最大半径 Max Radius Variance 以上浮动值 Min Radius 最小半径 Deg.Per.Second影响粒子移动的方向和速度 Deg.Per.Second Var 以上浮动值颜色模式(ccColor4F)Red 红Blue 蓝Green 绿Alpha 透明度粒子混合模式 Blend Function来源Source和目标Destination 这个两个值都为以下几种情况: GL_ZERO GL_ONE GL_SRC_COLORGL_ONE_MINUS_SR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃交建中油能源有限责任公司加油(气)员招聘13人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025福建泉州市安溪县部分公办学校专项招聘编制内新任教师65人(三)模拟试卷及参考答案详解
- 2025人民日报数字传播(海南)有限公司招聘新媒体编辑岗1人笔试题库历年考点版附带答案详解
- 2025中国移动河北公司春季校园招聘笔试题库历年考点版附带答案详解
- 2025《国企管理》杂志多岗位公开招聘20人笔试题库历年考点版附带答案详解
- 2025-2026学年山东省菏泽市八年级(上)第一次月考历史试卷(含答案)
- 2025绿化植物迁移协议
- 协议书销售额
- 武汉协议书离婚时间
- 协议书快递员
- 黔菜菜名英译规范
- 神经病学诱发电位技术操作规范2023版
- 2023年高考地理真题 (浙江6月) 【备课精讲精研】 详细评讲
- 结婚函调报告表
- JJG 1036-2022电子天平
- FZ/T 64087-2022木棉纤维絮片
- GB/T 19812.6-2022塑料节水灌溉器材第6部分:输水用聚乙烯(PE)管材
- GB/T 7131-1986裂解气相色谱法鉴定聚合物
- GB/T 11379-2008金属覆盖层工程用铬电镀层
- CSCCP宫颈细胞病理学理论考试题
- 设计说明书玉米秸秆粉碎还田机
评论
0/150
提交评论