Blender 的 osgexport:导入的网格影响场景(可能是照明?)
osgexport for Blender: Imported meshes impact scene ( possibly the lighting? )
Blender 版本 2.79
OSG 版本:3.4.0-9
操作系统:Fedora
我一直在使用 Blender 的导出实用程序导出 obj 文件,然后使用 osgconv 将它们转换为 osg 文件。然后将文件导入并渲染到如下所示的场景中:
Image of the working scene before using the export tool
今天我安装了 Cedric Pinson 的 osgexport(Github 页面:https://github.com/cedricpinson/osgexport)以直接从 Blender 导出到 osgt 文件。当我导入这些文件并渲染它们时,我得到以下结果。
Image of the scene where everything goes dark and the lighting is wierd
其他详细信息:
- 代码设置为跟随人字。剩下的场景
是静态的。
- 当我使用旧的人体模型时,我得到了工作效果,
但使用转换器的全部目的是能够导出
它的动画。
有什么想法吗?我看到了效果,但我什至不知道从哪里开始。唯一的区别是转换器的输出文件。其他一切都一样。此外,如果有 newer/better 方法可以将 Blender 文件导出为 OSG 可以读取的文件,那么我愿意接受所有建议。
提前谢谢你,
就其价值而言,OSG forum/mailing 列表通常非常适合回答问题,我相信我经常在那里看到 Cedric 的名字,以及所有主要贡献者:http://forum.openscenegraph.org/
新用户的问题通常需要经过审核,以减少垃圾邮件,所以请耐心等待。
针对这个具体问题,我有3条建议:
将两个文件都转换为 osgt 和 运行 差异。忽略任何数值差异,寻找节点排列、material 类型等内容
尝试在 osgviewer 中打开导出的模型,看看默认设置如何显示它。在将其放入您的应用程序之前,您还可以轻松地使用背面、照明设置、裁剪平面等内容 - 按 h 查看所有 运行-time 选项。
在启用所有 3 种类型的照明的情况下实例化您的灯光。特别是,我发现有些模型严重依赖镜面光照,但有些示例没有打开它。当然,如果你使用这里显示的全白值,你可能会过饱和,但这是为了举例:
osg::Light *light = new osg::Light;
light->setAmbient(osg::Vec4(1.0,1.0,1.0,1.0));
light->setDiffuse(osg::Vec4(1.0,1.0,1.0,1.0));
light->setSpecular(osg::Vec4(1.0,1.0,1.0,1.0)); // some examples don't have this one
Blender 版本 2.79
OSG 版本:3.4.0-9
操作系统:Fedora
我一直在使用 Blender 的导出实用程序导出 obj 文件,然后使用 osgconv 将它们转换为 osg 文件。然后将文件导入并渲染到如下所示的场景中: Image of the working scene before using the export tool
今天我安装了 Cedric Pinson 的 osgexport(Github 页面:https://github.com/cedricpinson/osgexport)以直接从 Blender 导出到 osgt 文件。当我导入这些文件并渲染它们时,我得到以下结果。 Image of the scene where everything goes dark and the lighting is wierd
其他详细信息:
- 代码设置为跟随人字。剩下的场景 是静态的。
- 当我使用旧的人体模型时,我得到了工作效果, 但使用转换器的全部目的是能够导出 它的动画。
有什么想法吗?我看到了效果,但我什至不知道从哪里开始。唯一的区别是转换器的输出文件。其他一切都一样。此外,如果有 newer/better 方法可以将 Blender 文件导出为 OSG 可以读取的文件,那么我愿意接受所有建议。
提前谢谢你,
就其价值而言,OSG forum/mailing 列表通常非常适合回答问题,我相信我经常在那里看到 Cedric 的名字,以及所有主要贡献者:http://forum.openscenegraph.org/
新用户的问题通常需要经过审核,以减少垃圾邮件,所以请耐心等待。
针对这个具体问题,我有3条建议:
将两个文件都转换为 osgt 和 运行 差异。忽略任何数值差异,寻找节点排列、material 类型等内容
尝试在 osgviewer 中打开导出的模型,看看默认设置如何显示它。在将其放入您的应用程序之前,您还可以轻松地使用背面、照明设置、裁剪平面等内容 - 按 h 查看所有 运行-time 选项。
在启用所有 3 种类型的照明的情况下实例化您的灯光。特别是,我发现有些模型严重依赖镜面光照,但有些示例没有打开它。当然,如果你使用这里显示的全白值,你可能会过饱和,但这是为了举例:
osg::Light *light = new osg::Light; light->setAmbient(osg::Vec4(1.0,1.0,1.0,1.0)); light->setDiffuse(osg::Vec4(1.0,1.0,1.0,1.0)); light->setSpecular(osg::Vec4(1.0,1.0,1.0,1.0)); // some examples don't have this one