查看: 2272|回复: 4

PagedLod点选问题

[复制链接]

该用户从未签到

发表于 2011-10-20 11:22:55 | 显示全部楼层 |阅读模式
本帖最后由 zhqcym 于 2011-10-20 16:12 编辑

场景中加载的Node是个PagedLod方式,每个PagedLod节点下有3个模型,
假设为 node A,B,C。相机慢慢接近PagedLod,怎么会A B C都在PagedLod节点下,
也就是说 在相机里PagedLod很近的时候有3个节点同时存在PagedLod节点下(自己设置了内存驻留的节点个数,少的时候节点并不从内存中移除)
此时点选,为什么选中的总是PagedLod节点下的最后一个模型,就算场景中显示的是B节点,但是选中的依然是C节点
这是怎么回事啊?
view->computeIntersections(x,y,intersections)
用的这个做的点选判断。
各位高手帮忙啊

就是 A B C 都加载过一遍了,但是到摸个距离该显示B 此时C在内存中 不现实出来。但是求交的时候 C仍旧参与了求交。
给怎么处理这样的情况啊

该用户从未签到

发表于 2011-10-21 17:03:07 | 显示全部楼层
LOD的子节点就是它的各个细节层次,它们的位置当然是重叠的。把不同意义的模型放在LOD之下的话,那么也就毫无意义了

该用户从未签到

发表于 2013-7-15 16:16:32 | 显示全部楼层
array 发表于 2011-10-21 17:03
LOD的子节点就是它的各个细节层次,它们的位置当然是重叠的。把不同意义的模型放在LOD之下的话,那么也就毫 ...

我想问一下,我在lod节点下放置了一个placeNode节点,用来显示一个图标,但是当我把placeNode节点的显示范围设置为min为0,max值大于min鼠标点选这个图标的时候,能返回这个placeNode节点,但是当我把min设置为大于0 的数值时,无论鼠标怎么点选图标(placeNode).射线求交返回的节点中都没有placeNode这个节点。请问这是什么原因,怎么解决这种情况。

该用户从未签到

发表于 2013-7-16 10:15:58 | 显示全部楼层
射线求交的时候并不考虑LOD的范围问题,而是直接遍历存在的节点(除非您设置了它的ReadCallback)。所以我只能猜测您改变范围后placeNode并没有被载入内存,因此也就无从对它进行求交测试了

该用户从未签到

发表于 2014-7-9 10:10:16 | 显示全部楼层
view->computeIntersections(x,y,intersections) 顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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