查看: 3217|回复: 14

OSG怎么确定坐标原点

[复制链接]

该用户从未签到

发表于 2012-8-7 16:21:49 | 显示全部楼层 |阅读模式
1. 当加载一个3D的模型,OSG怎么确定这个模型的原点?上次有个哥们说原点就是在画3D模型时候的原点,但是我觉得这个说法好像有点问题,因为画3D模型的时候,模型本身并没有原点这一说,因为用3D软件画模型的时候,有一个默认的参考原点,然后放置模型的位置的时候,只是偏移默认的参考原点多少距离,模型本身并没有原点这一说。请高手指点。
2. 如果加载多个3D模型,OSG好像是选择最大的那个模型上的某一个点作为原点,请问这是怎么确定这个原点的?

该用户从未签到

发表于 2012-8-9 10:34:08 | 显示全部楼层
什么叫 模型的原点?

该用户从未签到

 楼主| 发表于 2012-8-9 15:25:59 | 显示全部楼层
xuganggm 发表于 2012-8-9 10:34
什么叫 模型的原点?

比如你加载一个大模型和一个小模型,然后把小模型的位置设置为(0,0,0),然后把小模型放到(0,0,0),就找到了原点,但是这个原点OSG是怎么确定的?如果再加在其他的模型,设置位置,发现都是以这个(0,0,0)作为参考点的。
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2012-8-9 23:01:09 | 显示全部楼层
    osg不是以模型上的某一点为原点,而是000点是绝对原点。max里应该也有坐标系,也有000点,和Osg是对应的。比如你在max的1000 1000 1000画个球,那这个球在Osg里就显示在1000 1000 1000

    该用户从未签到

    发表于 2012-8-10 00:00:47 | 显示全部楼层
    freesouth正解~
    楼主 你不需要自己设置模型的(0,0,0)位置, 你在往场景加载3d模型时,就是模型的原点与osg的世界坐标原点重合,
    所谓模型的原点就是你在使用3d软件(如3dmax)制作模型时那个原点~

    该用户从未签到

     楼主| 发表于 2012-8-10 08:56:14 | 显示全部楼层
    FreeSouth 发表于 2012-8-9 23:01
    osg不是以模型上的某一点为原点,而是000点是绝对原点。max里应该也有坐标系,也有000点,和Osg是对应的。比 ...

    再请教一下:
        比如我加载多个模型,一个模型对应一个3D格式的文件,还有可能这些模型是用不同的3D建模工具画出来的,请问OSG是怎么统一这个世界坐标系的?

    该用户从未签到

    发表于 2012-8-10 10:40:21 | 显示全部楼层
    shininglwb 发表于 2012-8-10 08:56
    再请教一下:
        比如我加载多个模型,一个模型对应一个3D格式的文件,还有可能这些模型是用不同的3D建 ...

    当然是根据模型里面点的三维坐标啊。跟建立模型的工具无关。

    该用户从未签到

     楼主| 发表于 2012-8-10 10:44:00 | 显示全部楼层
    xuganggm 发表于 2012-8-10 10:40
    当然是根据模型里面点的三维坐标啊。跟建立模型的工具无关。

    比如我建立一个模型位置是(100,100,100),这是一个单独的文件,然后又建立一个模型位置也是(100,100,100),也是一个单独的,当加载这两个模型的时候,是不是他们的位置就会重叠?

    该用户从未签到

    发表于 2012-8-10 12:05:02 | 显示全部楼层
    会 重叠的,所以,这个就得要求你建模时把原点进行统一,比如模型中心点就在原点位置,然后之后出来的模型就可以进行统一处理了。。

    该用户从未签到

     楼主| 发表于 2012-8-11 12:34:22 | 显示全部楼层
    Gooogle 发表于 2012-8-10 12:05
    会 重叠的,所以,这个就得要求你建模时把原点进行统一,比如模型中心点就在原点位置,然后之后出来的模型就 ...

    哦,知道了,非常感谢。还有一个小问题请教一下,就是OSG如果只加载一个模型,好像默认都放在屏幕的中心位置,如果是加载两个或者多个模型就根据他们的坐标来放置他们的位置,是这样的吗?

    该用户从未签到

    发表于 2012-8-11 12:44:12 | 显示全部楼层

    该用户从未签到

    发表于 2012-8-11 21:28:11 | 显示全部楼层
    shininglwb 发表于 2012-8-11 12:34
    哦,知道了,非常感谢。还有一个小问题请教一下,就是OSG如果只加载一个模型,好像默认都放在屏幕的中心位 ...

    是的,默认的TrackballManipulator会计算出来一个合适的位置,来显示所有的场景节点~

    该用户从未签到

     楼主| 发表于 2012-8-12 16:19:58 | 显示全部楼层
    Gooogle 发表于 2012-8-11 21:28
    是的,默认的TrackballManipulator会计算出来一个合适的位置,来显示所有的场景节点~

    谢谢大侠指点
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

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

    联系我们

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