查看: 2009|回复: 9

粒子系统“火”的问题(急~)

[复制链接]

该用户从未签到

发表于 2011-1-19 15:06:45 | 显示全部楼层 |阅读模式
定义一个FireEffect对象节点pFireEffect;
定义了两个MatrixTranform转换矩阵对象pMatrixTranform1,pMatrixTranform2;
将“火”对象节点pFireEffect加入到pMatrixTranform1中(pMatrixTranform1-addChild(pFireEffect);)
然后再将pMatrixTranform1加入到pMatrixTranform2当中(pMatrixTranform2->addChild(pMatrixTranform1);)
然后再对pMatrixTranform2定义相应的移动、缩或火旋转操作,可是为什么“火”对象节点不随着pMatrixTranform2进行相应的操作呢?
谢谢~

该用户从未签到

发表于 2011-1-19 17:09:22 | 显示全部楼层
我没有专门研究过这个类,不过我想osgparticleeffects这个例子会对您很有帮助

该用户从未签到

 楼主| 发表于 2011-1-19 20:24:29 | 显示全部楼层
我就是想让火焰跟上卫星推力器,我的做法是把火对象节点作为推力器节点的一个子节点加入到推力器的matrixtransform变换矩阵,可是这把火焰并不跟着推力器一块走啊。。。 2# array

该用户从未签到

 楼主| 发表于 2011-1-19 20:47:55 | 显示全部楼层
ARRAY老师您说的那个例子我都看过了,FireEffect就是从他继承的,都是通过setPosition()函数来改变粒子(火焰)的位置,我现在是想用MatrixTransform节点来对其进行位置移动,可以么? 2# array

该用户从未签到

 楼主| 发表于 2011-1-19 21:07:38 | 显示全部楼层
不能用MatrixTransform节点来做粒子系统的父节点??? 2# array

该用户从未签到

发表于 2011-1-20 08:10:49 | 显示全部楼层
ParticleSystem本身是可以的,Emitter也是可以的;而且将两者各自放在MatrixTransform下的效果是不一样的。至于ParticleEffect。我个人不是很清楚它的内部结构,按照Robert的说法,后者是一个很不好的整合方案(对于ParticleSystem,Emitter等),以后会被慢慢抛弃掉;您完全可以自己把FireEffect拆分并且用MatrixTransform来控制其中的ParticleSystem或者Emitter。

该用户从未签到

发表于 2011-1-27 11:06:45 | 显示全部楼层
标题写的很不错

该用户从未签到

发表于 2013-6-4 10:12:34 | 显示全部楼层
请问,你有火燃烧的数学模型吗?希望效果尽量真实些的。麻烦您了

该用户从未签到

 楼主| 发表于 2013-6-6 22:57:29 | 显示全部楼层
王哲 发表于 2013-6-4 10:12
请问,你有火燃烧的数学模型吗?希望效果尽量真实些的。麻烦您了

火焰的数学模型没有,我一直就是使用粒子系统做。。。
只可能存在某一种物质燃烧的数学模型,火焰不可能有统一的数学模型!
涉及氧气 燃烧率等等应该比较复杂,不知道呵呵~

该用户从未签到

 楼主| 发表于 2013-6-6 22:59:32 | 显示全部楼层
王哲 发表于 2013-6-4 10:12
请问,你有火燃烧的数学模型吗?希望效果尽量真实些的。麻烦您了

当年发这个贴的主要原因是刚接触OSG,然后使用FireEffect做火焰效果,其实FireEffect本身就是有问题的,做粒子特效最好还是自己做,不要使用OSG自带的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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