首先下载插件osgexp
Osgexp的下载地址:
http://sourceforge.net/projects/osgmaxexp/
安装上之后,如果3ds max导出里面已经可以选择导出ive或者osg,恭喜你,如果没有意外,你就可以导出你想要的osg格式了。不加.ive格式后缀名的话,默认是导出ive格式,就是osg的二进制内部数据格式
问题描述:
我用的max是2009英文版,osg是2.8.3,osgexp是0.9.8,因为在系统环境变量里面,我设置了自己的osg的dll路径,所以导出的时候报错,这个就是dll冲突导致。你在max的安装文件下,会发现在装了osgexp之后,多出一些osg相关的osg.dll,osgdb.dll等等,而在max导出时,会先读系统环境变量路径下的dll,也就是原先的osg2.8.3版本的dll而不是在max文件下的dll。而osgexp自带的osg版本跟本机的不一致,冲突发生,啰嗦了这么多,再不说解决方案,估计砖头马上来了。
解决方案:
i solved it by remove "myosgroot\bin\osgPlugins-2.8.3 " from the path environment variable, or you can add "yourOSGExproot\bin" to the path, make sure it is in front of "myosgroot\bin\osgPlugins-2.8.3", you can check these 2 folder, they have same name dlls, might be the reason cause conflict.
i thought the best way is to compile osgExp by ourselves.(osg bbs的答案)
为了避免有些兄弟不愿看英文,我再啰嗦下:你最好能自己重新编译个osgexp,问题是max sdk不好找。所以,你可以采取折中方法:在你系统环境变量的path里,你以前设置的osg路径前,加入你max下的dll路径,我的机子max装在D:\Program Files\Autodesk\3ds Max 2009,一切ok了。
附:
max安装好后,自动在环境路径下添加一个路径:C:\Program Files\Common Files\Autodesk Shared,这个路径是在非常靠前的,至少会在你设置的osg路径前,所以我采取的方法是,把D:\Program Files\Autodesk\3ds Max 2009下面的osg相关的dll剪切到C:\Program Files\Common Files\Autodesk Shared文件夹里,ok!