查看: 1473|回复: 6

关于路径动画中模型所走路径问题

[复制链接]

该用户从未签到

发表于 2012-4-11 22:25:38 | 显示全部楼层 |阅读模式
在设置路径动画时,假设设置模型绕X轴顺时针旋转185度,则模型的路径自动选择了小于180度的另一半路径,做了逆时针175度的旋转。请问这是怎么回事?如何纠正这个问题?谢谢大家。

该用户从未签到

发表于 2012-4-12 10:12:07 | 显示全部楼层
听起来貌似是经典的角度计算问题,解决方法经常是用atan2而非acos或者atan。但是我不知道您的具体计算过程为何

该用户从未签到

 楼主| 发表于 2012-4-13 09:57:00 | 显示全部楼层
本帖最后由 knightlixiao 于 2012-4-13 09:58 编辑
array 发表于 2012-4-12 10:12
听起来貌似是经典的角度计算问题,解决方法经常是用atan2而非acos或者atan。但是我不知道您的具体计算过程为 ...


我是这么做的,
path1->insert(0,osg::AnimationPath::ControlPoint(osg::Vec3(0.0,0.0,0.0), osg::Quat(0.0,osg::X_AXIS)));
path1->insert(10,osg::AnimationPath::ControlPoint(osg::Vec3(0.0,0.0,0.0), osg::Quat(osg::inDegrees(185),osg::X_AXIS)));
然后再做回调。就是想让模型绕Z轴,按正方向回转185度,结果是模型绕另一个方向绕了175度。最终的位置是对的,但是默认选择了路径较短的方向。谢谢。

该用户从未签到

发表于 2012-4-13 10:20:13 | 显示全部楼层
最简单的方法是多加一个关键点让它按您的希望方向转动

该用户从未签到

 楼主| 发表于 2012-4-13 15:03:27 | 显示全部楼层
array 发表于 2012-4-13 10:20
最简单的方法是多加一个关键点让它按您的希望方向转动

谢谢您。由于关键点中的时间和别的程序存在结合的一些问题,所以使用多加一个关键的方法不是十分合适,请问是否有其他的方法,谢谢!

该用户从未签到

发表于 2012-4-17 09:54:13 | 显示全部楼层
这本来就是一个二义性的问题(优弧/劣弧),不多加一个条件的话,不太可能

该用户从未签到

 楼主| 发表于 2012-4-18 19:57:28 | 显示全部楼层
array 发表于 2012-4-17 09:54
这本来就是一个二义性的问题(优弧/劣弧),不多加一个条件的话,不太可能

哦,这样啊,我知道了。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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