使用Babylon.js渲染在Blender中创建的场景,而不使用Babylon.js默认的闪亮材质

时间:2015-06-17 09:57:22

标签: blender babylonjs

我在Blender中创建了一个非常简单的场景,包括一个平面,一个立方体,一个太阳(AKA定向光)和一个摄像头: Blender scene

呈现,它看起来像这样: Blender's scene rendered

我的问题是,当我将这个场景导出为.babylon文件格式,并将其加载到Babylon中时,它看起来根本就不是这样的。巴比伦似乎为我的所有网格设置了一个镜面闪亮奇怪的材料: Babylon's scene rendered

我想要一个" matte" (我的意思是,不透明和粗糙的)材料,就像在Blender的渲染中一样,在我的巴比伦场景中,或者至少压制镜面的东西,使网格看起来像粗糙。 不幸的是,我在互联网上遇到过像我这样的任何案件。

关于我使用的一些信息:

  • Blender 2.74
  • Blender to Babylon exporter(两天前下载,我认为它是最新版本,但仍然无法确定它是什么版本)
  • Babylon.js v2.1
  • Google Chrome for MacOSX

我正在使用python localhost服务器,因此我无法提供一个有效的示例,但至少here's my .babylon scene和我的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>

提前致谢!

3 个答案:

答案 0 :(得分:0)

您好,只需将您的镜面反射颜色设置为黑色。

答案 1 :(得分:0)

这个问题可能仍然与某人有关..

如果您使用Babylon Blender Exporter 4.6.1,则设置不会显示在&#34;导出页面&#34; (在左侧)和其他出口商的情况一样,但是出现在&#34;场景&#34; (在右侧):

enter image description here

你想检查&#34;平整阴影整个场景&#34;否则使用平滑着色。

答案 2 :(得分:0)

如果你想在babylonJS框架中加载blender工具场景。点击此链接(https://www.babylonjs-playground.com/#QWIJYE#24)。该项目需要至少返回一个空场景和默认的搅拌机和灯光。