查看: 1703|回复: 13

osgParticle功能改进的讨论帖

[复制链接]

该用户从未签到

发表于 2010-7-19 11:17:57 | 显示全部楼层 |阅读模式
osgParticle是一个历史很悠久的OSG核心库,它的最早作者是天才的Macro Jez;之后历经各种改进,目前已经趋于稳定和成熟,并保有强大的扩展接口。但是目前基于各种接口的效果实现还比较有限。

我最近准备开始整理和改善osgParticle库的功能,主要目标是添加一些新的功能接口(Shooter,Placer,Counter,Operator等),并在此基础上实现更多新颖实用的粒子特效。在这里发帖也是为了期望得到大家的意见:您在使用粒子库时,都遇到了哪些困难,有哪些建议和意见,以及有没有可以贡献的代码?欢迎在这里发帖讨论!

附件是一个简单的例子,它来自于一个成功的开源库ParticleSystem(http://www.particlesystems.org/)。我个人的初步构想是把这个库的一些功能移植到OSG当中,有兴趣的朋友也欢迎就此提供您的意见

ParticleSystem.rar

411.74 KB, 下载次数: 311, 下载积分: 威望 1

该用户从未签到

发表于 2010-7-20 13:56:59 | 显示全部楼层
支持下啊~~

我用的时候没发现可以设置自定义粒子形状的功能啊~~比如说,每个粒子用一个圆球表示,或者其他自定义的形状

该用户从未签到

发表于 2010-7-20 16:06:13 | 显示全部楼层
关于OSG的粒子,确实还有好多地方不灵活,关于新颖实用的粒子,每次都有好多想法,支持一下。
可以写一个想到的粒子的单子,有的可能会有点异想天开,不知道实现起来是否可能。

该用户从未签到

 楼主| 发表于 2010-7-20 16:13:07 | 显示全部楼层
OSG粒子系统的灵活性倒是非常之高,不知您说的不灵活是指什么地方?
您如果能列出一个单子的话,也许对我们的讨论会大有好处

此外tianxiao888使用自定义模型的设想很容易造成系统的崩溃,我想当初设计上也考虑了这种问题;不知道自定义模型作为粒子的意义有多大。我个人认为用点精灵+纹理来模拟应该是比较恰当的?

该用户从未签到

发表于 2010-7-20 16:37:10 | 显示全部楼层
嗯,也是。就是有些时候,不管你定义粒子用什么朝向旋转方式,从有些角度看的效果不太好

该用户从未签到

 楼主| 发表于 2010-7-20 16:56:05 | 显示全部楼层
我可以尝试提交自定义模型的代码,到时候我们不妨看一看osg-users的讨论

该用户从未签到

发表于 2010-7-21 09:17:24 | 显示全部楼层
在OGRE的Demo中看到过有一个Ribbon-绶带效果很炫   不知道能否集成到OSG中的粒子系统中来

该用户从未签到

发表于 2010-7-21 10:08:34 | 显示全部楼层
本帖最后由 qele 于 2010-7-21 10:39 编辑

运行了,很绚丽~~学习学习

该用户从未签到

发表于 2010-7-21 10:44:15 | 显示全部楼层
4# array
我也概括不出个条条框框来,比如:
粒子的形状就只有那几钟,其他完全靠透明度来控制,我能不能用自己读入的一个模型当作一个单位粒子呢?
再有粒子的发射方式,我理解为每个粒子都是各自沿着自己的轨迹发出,缺乏互相间的配合,我想发出一个连续的正弦波,或者一个扩大的“连月弯刀”都很难。
还有,粒子的关闭和开启控制,关闭只能关闭发射极,若要立即关掉已发出的粒子,我都是用的swith开关,但是出现关闭后马上开启,前面的粒子还在那慢慢划过。
还有好多,都是具体做的时候碰到的。

该用户从未签到

 楼主| 发表于 2010-7-21 12:06:33 | 显示全部楼层
用自己读入的一个模型当作一个单位粒子
这个我感觉会有很大的效率问题,并且有些问题不知道您是如何解决的:比如模型是否在运动过程中旋转?还是只朝向一个方向。我个人没有看到过实时系统中使用自定义模型来驱动粒子

我想发出一个连续的正弦波,或者一个扩大的“连月弯刀”都很难
这个其实是通过Operator类来解决的,我这次改进的一个重要目标就是增加更多实用的Operator,届时您的这些问题应该都可以解决

若要立即关掉已发出的粒子,我都是用的swith开关,但是出现关闭后马上开启
您的意思是停止发射,等前面的粒子消散了,再重新发射?这样的话其实应该是通过自己编写Counter类来实现,不过我们也可以考虑为现有的Counter添加这样的功能

欢迎您提出更多切合实际应用功能的问题,以为灵感之源泉

该用户从未签到

 楼主| 发表于 2010-7-21 12:42:09 | 显示全部楼层
在OGRE的Demo中看到过有一个Ribbon-绶带效果很炫
呃,我在1.7.1的例子里面没有看到?不知道您说的是哪个

该用户从未签到

发表于 2010-7-21 12:55:57 | 显示全部楼层
希望有类似OGRE的脚本系统,通过粒子系统编辑器所见即所得的编辑效果,保存到脚本中。

该用户从未签到

发表于 2010-7-21 14:03:47 | 显示全部楼层
这个我感觉会有很大的效率问题,并且有些问题不知道您是如何解决的:比如模型是否在运动过程中旋转?还是只朝向一个方向。我个人没有看到过实时系统中使用自定义模型来驱动粒子
array 发表于 2010-7-21 12:06


比如我把鱼的模型作为粒子,这样就会出来一群鱼游啊游。把箭头的作为粒子,就可以做一个动感传输的箭头。我也没见过实际应用,光想想,我的实现方式都是用CallBack实现的

该用户从未签到

 楼主| 发表于 2010-7-21 16:24:07 | 显示全部楼层
希望有类似OGRE的脚本系统,通过粒子系统编辑器所见即所得的编辑效果,保存到脚本中。
sunf71 发表于 2010-7-21 12:55


这个在核心库中实现不太现实,呵呵,您可以自己开发一款实用的编辑器工具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表