查看: 2174|回复: 8

如何将粒子系统保存成.osg文件?

[复制链接]

该用户从未签到

发表于 2011-11-1 09:17:50 | 显示全部楼层 |阅读模式
代码如下:
int main()
{
osgViewer::Viewer* viewer = new osgViewer ::Viewer();
osg::Group* root = new osg::Group();
//申请一个粒子系统
osgParticle:recipitationEffect *pe = new osgParticle::PrecipitationEffect();
//设置雪效的浓度为0.5f
pe->snow(0.5f);

osgDB::writeNodeFile(*pe,"snow.osg"); //这样为什么不能保存出来?

//设置背景色
viewer->getCamera()->setClearColor(pe->getFog()->getColor());
//读取模型
osg::Node* node = new osg::Node() ;
node = osgDB::readNodeFile("lz.osg");
//使用雾效
node->getOrCreateStateSet()->setAttributeAndModes(pe->getFog());
root->addChild(node);
root->addChild(pe);
//优化场景数据
osgUtil::Optimizer optimizer ;
optimizer.optimize(root) ;
viewer->setSceneData(root);
viewer->realize();
viewer->run();
return 0 ;
}

osgDB::writeNodeFile(*pe,"snow.osg"); //这样为什么不能保存出来?

如果我想将pe这个粒子系统保存成.osg文件应该怎么做?

请各位高手帮忙,我初接触osg,望大家指点!谢谢



该用户从未签到

发表于 2011-11-1 12:11:10 | 显示全部楼层
osgParticle:recipitationEffect ,osg插件不支持此种节点类型的保存,需要自己写代码保存

该用户从未签到

发表于 2011-11-1 20:21:30 | 显示全部楼层
保存成osgb或者osgt是可以的

该用户从未签到

 楼主| 发表于 2011-11-2 14:30:12 | 显示全部楼层
回复 3# array


    array,我试过了,不能保存成osgt或osgb格式,没有文件生成,不知怎么回事,请问还有什么办法将这个粒子系统保存出来呢?谢谢

该用户从未签到

发表于 2011-11-7 09:43:45 | 显示全部楼层
您的OSG是什么版本

该用户从未签到

 楼主| 发表于 2011-11-7 18:43:59 | 显示全部楼层
array 发表于 2011-11-7 09:43
您的OSG是什么版本

是3.0

该用户从未签到

发表于 2011-11-7 19:02:18 | 显示全部楼层
新格式可以~~~~~~~~~~~~~

该用户从未签到

 楼主| 发表于 2011-11-10 08:22:27 | 显示全部楼层
tianxiao888 发表于 2011-11-7 19:02
新格式可以~~~~~~~~~~~~~

请问哪种新格式

该用户从未签到

发表于 2011-11-11 10:29:30 | 显示全部楼层
3.0的osgb/t的格式,不是有序列化存储了么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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