【问题标题】:jMonkeyEngine OBJ file does not appear as expectedjMonkeyEngine OBJ 文件未按预期显示
【发布时间】:2013-07-13 17:15:37
【问题描述】:

我的艺术家在 3d studio Max 中创建了一个 3d 鞋模型作为 FBX。如下图所示。

我在我的程序中使用jMonkeyEngine,它不支持FBX文件,所以我将FBX导出到wavefront OBJ文件,3d studio max也给了我相应的mtl文件。

因此,当我将导出的 obj 模型加载到使用 jMonkeyEngine 作为库的程序中时,它看起来不像真正的鞋子,也没有任何纹理。

程序还显示一个警告

警告:OBJ 网格 style_7-geom-0 不包含法线!它可能不会 正确显示

我的 simpleInitApp 方法

Spatial myModel = assetManager.loadModel("/Textures/Shoes/style_7.obj");
    myModel.scale(0.09f);
    rootNode.attachChild(myModel);

OBJ 文件和素材文件都在同一个目录下。所以我认为根据文档 jMonkeyEngine 直接从 OBJ 所在的同一目录加载材料。

如果你愿意,我可以在这里上传 OBJ 文件和材料文件以及所有需要的图像。

我的绝对目标是在 JmonkeyEngine 中显示相同的模型,如屏幕截图 1 所示。

我错过了什么? 我做错了什么?

2013 年 7 月 16 日更新

OBJ Model Material File Resources

谢谢

【问题讨论】:

  • 让美工使用预先计算好的法线导出网格。
  • 嗨这是什么意思?请详细解释一下。
  • 你知道什么是法线吗?
  • 是的,它用于视觉位移。我的艺术家在导出对象时是否犯了一些错误。
  • 您的网格没有法线,这意味着您的着色器根本无法对其进行着色,除非您在运行时计算它们。使用法线导出模型会更容易

标签: java java-3d jmonkeyengine 3d-modelling 3d-model


【解决方案1】:

您的 3D 模型看起来不那么 3D 的原因是模型未使用法线导出。法线是允许 3D 引擎进行着色的原因(这使得它实际上看起来是 3D 的)。如果没有法线,引擎将无法计算进行着色所需的角度,您可以在运行时通过doing the math dynamically 或仅导出带有法线的模型(首选)来计算它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多