读取.obj时,用Nodevisitor发现有几千个Geode,但是在3dsmax里面打开,发现只有700多个,将obj导出到.osg格式后,发现确实有几千个geode,很多都重名的,只是顶点数组不同,可以把这些同名的geode当作该名称Geode的多个drawable,再组合在一起。
即假设每个geode只有一个drawable
drawable1 =geode1->getDrawable(0);
......
drawableN =geodeN->getDrawable(0);
geode->addDrawable(drawable1);
.....
geode->addDrawable(drawableN);
总结下, 遇到问题还是要导出.osg,这样更能够一目了然,层次清楚,可以用记事本打开。
我个人感觉,同名的好处在于扩展,比如, 这个geode有一架飞机,再想添加一架,同名即可。因为有时在生产时,希望模型个数少一些。极端的情况是同一个geode多个drawable,在3dsmax里替换模型不容易,咋办?同名即可。