我在 Blender 中创建了一个非常简单的场景,其中包含一个平面、一个立方体、一个太阳(AKA 定向光)和一个相机:
渲染后,它看起来像这样:
我的问题是,当我将此场景导出为 .babylon 文件格式并将其加载到 Babylon 时,它看起来根本不像这样。似乎巴比伦为我的所有网格设置了一种高光闪亮的怪异材质:
我想要一个“哑光”(我的意思是,不透明和粗糙的)材质,就像在 Blender 的渲染中一样,在我的巴比伦场景中也是如此,或者至少抑制镜面反射的东西,使网格看起来像粗糙。不幸的是,我还没有在互联网上遇到像我这样的案例。
关于我正在使用的一些信息:
- 搅拌机 2.74
- Blender to Babylon exporter(前两天下载的,我觉得是最新的,还是不知道是什么版本)
- 巴比伦.js v2.1
- 适用于 MacOSX 的谷歌浏览器
我正在使用 python localhost 服务器,所以我无法提供一个工作示例,但至少这是我的 .babylon 场景和我的 html 代码:
<script>
if (BABYLON.Engine.isSupported()) {
var canvas = document.getElementById("renderCanvas");
var engine = new BABYLON.Engine(canvas, true);
BABYLON.SceneLoader.Load("", "Cube_and_plane.babylon", engine, function (newScene) {
// Wait for textures and shaders to be ready
newScene.executeWhenReady(function () {
// Attach camera to canvas inputs
newScene.activeCamera.attachControl(canvas);
// Add shadows
var shadowGenerator = new BABYLON.ShadowGenerator(2048, newScene.lights[0]);
for (var i = 0; i < newScene.meshes.length; ++i) {
shadowGenerator.getShadowMap().renderList.push(newScene.meshes[i]);
newScene.meshes[i].receiveShadows = true;
};
// Once the scene is loaded, just register a render loop to render it
engine.runRenderLoop(function() {
newScene.render();
});
});
}, function (progress) {
// To do: give progress feedback to user
});
}
</script>
提前致谢 !