查看: 1312|回复: 8

火焰运动路径问题

[复制链接]

该用户从未签到

发表于 2011-6-6 17:43:18 | 显示全部楼层 |阅读模式
我做了一个弹的模型missile,节点结构是这样的,root->addChild(rotMissile);rotMissile->addChild(moveMissile);moveMissile->addChild(missile);
其中rotMissile是负责弹旋转的MatrixTransform节点,moveMissile是负责弹移动的MatrixTransform节点,效果就是弹边移动边旋转,现在我想某个时候在弹的喷管处
添加一个火焰的效果fire,而且火焰要跟随弹一块做旋转和移动,用rotMissile->addChild(fire)的话弹就只在那旋转不移动,用moveMissile->addChild(fire)
的话火焰会移动,但只是移动一会就不动了,而且也不旋转,请问各位怎样才能得到我要的效果呢?谢谢啦~

该用户从未签到

发表于 2011-6-7 08:35:18 | 显示全部楼层
您都实现了什么?您想要说明什么?

该用户从未签到

发表于 2011-6-7 08:39:15 | 显示全部楼层
用一个变换节点同时控制旋转移动就可以为什么还要分开用两个。用一个,直接把火焰挂在下面

该用户从未签到

发表于 2011-6-7 08:39:44 | 显示全部楼层
大道至简!记住

该用户从未签到

 楼主| 发表于 2011-6-7 09:07:44 | 显示全部楼层
回复 4# oman
我之前试过,用一个节点实现旋转和移动,实现不了,才分开用的两个,请问怎么用一个节点实现呢?谢谢

该用户从未签到

发表于 2011-6-7 10:37:26 | 显示全部楼层
回复 5# qqzj


    楼上已经回复了,只要一个matrixtransform,把所有需要操作的模型(移动或旋转)挂至其下就行了

该用户从未签到

发表于 2011-6-7 12:26:26 | 显示全部楼层
额。。。setMatrix就可以。。。但是,如果有缩放的话,貌似粒子系统会出问题。。

该用户从未签到

 楼主| 发表于 2011-6-7 20:51:31 | 显示全部楼层
回复 7# Gooogle


    是有缩放,旋转的时候火焰是出问题了,粒子都散了,请问有什么办法能解决这个问题呢?

该用户从未签到

发表于 2011-6-10 09:28:23 | 显示全部楼层
直接用setMatrix就可以了,把旋转和移动的操作连乘就可以了
如下:

setMatrix((osg::Matrix::rotate(a,0,0,1))*(osg::Matrix::translate(osg::Vec3(....))) )

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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