搅拌机的Osgexport:导入网格冲击场景(可能是照明?)

osgexport for Blender: Imported meshes impact scene ( possibly the lighting? )

本文关键字:照明 Osgexport 导入 冲击 网格 搅拌机      更新时间:2023-10-16

Blender版本2.79

OSG版本:3.4.0-9

操作系统:Fedora

我一直在使用Blender的导出实用程序来导出OBJ文件,然后使用OSGCONV将其转换为OSG文件。然后将文件导入并渲染到看起来像以下情况的场景中:使用导出工具之前,工作场景的图像

今天,我由Cedric Pinson(Github页面:https://github.com/cedricpinson/osgexport)安装了Osgexport,直接从Blender到OSGT文件直接导出。当我导入这些文件并渲染它们时,我会得到以下结果。场景的图像,一切都变暗,照明均为wierd

其他详细信息:

  • 该代码设置为遵循人类角色。其余的现场是静态的。
  • 当我使用旧的人类模型时,我会得到工作效果,但是使用转换器的全部目的是能够导出它的动画。

有什么想法吗?我看到了效果,我甚至都不知道从哪里开始。唯一的区别是转换器的输出文件。其他一切都是一样的。另外,如果有一种更新/更好的方法将Blender文件导出到OSG可以读取的文件中,那么我对所有建议都开放。

预先感谢您,

对于它的价值,OSG论坛/邮寄列表通常很好地回答问题,我相信我经常在那里看到Cedric的名字,以及所有主要贡献者:HTTP://forum.openscenegraph.org/

新用户通常必须通过节制来减少垃圾邮件,因此请耐心等待。

在这个特定问题上,我有3个建议:

  1. 将两个文件转换为OSGT并运行差异。忽略任何数值差异,寻找节点布置,材料类型等

  2. 之类的东西
  3. 尝试在OSGViewer中打开导出的模型,只是为了查看默认设置如何显示它。在将其放入应用程序之前,您还可以轻松地使用诸如背面,照明设置,剪裁飞机之类的东西 - 按H查看所有运行时选项。

  4. 启用了所有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