Babylon.js - 用 Blender 创建的模型看起来圆润且形状怪异

Babylon.js - models created with Blender appear rounded and weirdly shaped

我正在做一个 Babylon.js 项目。因此,我使用 Blender 创建了一个测试模型 (.babylon)(导出完美无误)。

我的问题是:我浏览器中的模型 1 (Babylon.js) looks somewhat different than the model in Blender 2。

巴比伦模特

搅拌机中的模型

要将网格导入我的巴比伦场景,我使用 BABYLON.SceneLoader.ImportMesh

Babylon.js 似乎有点圆边,我真的不明白 - 有很多完美模型的例子!我知道我在做某事。非常错误,但我无法弄清楚它是什么......到目前为止,我尝试了一些事情,比如使用旧的 Blender 版本,重新安装 export-python-script 并像疯子一样谷歌搜索。有谁知道我做错了什么? (我没有在 Blender 中给网格添加任何修改器)

TL;DR:Babylon.js 中的模型看起来很奇怪(尖锐的边缘不知何故是圆的)- 使用用 Blender 创建的 .babylon 文件。

看起来表面法线正在平均化,因此着色器对各个多边形进行插值并使形状看起来更平滑。我不确定是 Blender 导出还是 Babylonjs material 导致的。如果比较轮廓,实际几何形状是相同的。请记住,通常需要具有这种效果,尤其是对于有机模型。 如果您不熟悉法线,请查看 http://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/shading-normals 可能会更好地解释它。

如果你想保留 blender 的平坦阴影外观,请尝试执行以下操作: monkey_shape.convertToFlatShadedMesh()

您还可以直接在 blender 中为整个场景(参见图片)或单个网格(blender 中网格的数据属性)设置平面着色。