查看: 3580|回复: 7

osgSnow

[复制链接]

该用户从未签到

发表于 2008-5-15 21:53:38 | 显示全部楼层 |阅读模式
不知道哪位对osg的雨、雪那个例子熟悉。现在有个问题:
例子运行后,雨或雪都是直接穿透地形的,不知道如何实现不穿透,而且实现雪的堆积(一段时间后,地上就是白色的)。

该用户从未签到

发表于 2008-5-16 00:39:09 | 显示全部楼层
原帖由 yingzi_zxp 于 2008-5-15 21:53 发表
不知道哪位对osg的雨、雪那个例子熟悉。现在有个问题:
例子运行后,雨或雪都是直接穿透地形的,不知道如何实现不穿透,而且实现雪的堆积(一段时间后,地上就是白色的)。


要让雨雪恰好落地后不见的话,可以修改粒子的生命周期。至于堆积的效果,恐怕需要自己进行处理,例如随着时间推移改变地面纹理或者改变厚度等等。

该用户从未签到

 楼主| 发表于 2008-5-16 12:34:53 | 显示全部楼层
王老大 ,修改生命周期好像不太理想吧?因为地形是不平的,感觉这样解决不是很合理。堆积效果我的想法是粒子自动和地形进行碰撞检测,这样不让他们穿透地形,然后调整合适的生命周期,这样粒子就会在地面上存在一段时间后再消失。由于自己接触osg不久,所以不知道具体怎么有osg来实现,希望老大能抽空弄一个,让我们学习学习。

[ 本帖最后由 yingzi_zxp 于 2008-5-16 12:36 编辑 ]

该用户从未签到

发表于 2008-5-16 12:59:09 | 显示全部楼层
原帖由 yingzi_zxp 于 2008-5-16 12:34 发表
王老大 ,修改生命周期好像不太理想吧?因为地形是不平的,感觉这样解决不是很合理。堆积效果我的想法是粒子自动和地形进行碰撞检测,这样不让他们穿透地形,然后调整合适的生命周期,这样粒子就会在地面上存在一段时 ...


呵呵,我觉得碰撞检测不太可行吧?对每个Particle分别做运算的话,对系统的消耗太大了。除非粒子数很有限。
粒子系统在实时仿真中其实很少用的,因为太影响系统的速度。OpenGL的“点精灵”扩展可以让粒子效果更加真实一些,但是无法做到实际的物理仿真,所以您所述的实现方案:自动和地形碰撞,然后让它们存在一段时间再消失。我个人觉得可能无法做到,计算机会承受不住~~

有关OSG粒子系统的实现可以参考NPS的教程。

该用户从未签到

发表于 2008-5-16 21:16:38 | 显示全部楼层
楼主很幽默

该用户从未签到

 楼主| 发表于 2008-5-16 22:41:52 | 显示全部楼层
受教了,记得以前有人用vega实现了的,所以才想到osg如何实现的问题。谢谢老王。再摸索摸索,呵呵。有进展再来汇报。

该用户从未签到

发表于 2008-5-18 17:22:01 | 显示全部楼层
你可以尝试自己来控制你的下雪的粒子,然后纹理贴图,而不用OSG中的粒子系统~~~~~当数据不是特别大的时候,应该是可以的~~~~~~~~~~~~~~~

该用户从未签到

发表于 2008-5-22 09:29:07 | 显示全部楼层
碰撞检测倒是可以考虑的,比如现在的PhysX引擎就支持物理卡加速,处理那东西应该没问题的。只不过感觉那么弄必要性不是太强。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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