babylon.js网格获得相同的材料

yan*_*ann 5 javascript blender babylonjs

我正在使用BabylonJS V3和Blender 2.79来创建产品可视化.很多时候,有必要在JS代码中定义更复杂的着色器.我正在使用像

scene.meshes[1].material.emissiveColor = new BABYLON.Color3(1, 0, 0);
Run Code Online (Sandbox Code Playgroud)

导出后定义着色器.通常,每个网格都可以通过这种方式获得自己的着色器.不幸的是,在一种情况下,多个网格的着色器被覆盖.有人有类似的问题吗?所有网格都是单独命名的,它们都有一个来自blender的基本(单个)着色器.他们不共享任何数据块,没有进行实例化或重复.我很感激每一个提示.

编辑

看起来,新版本(3.0)出现错误,更新到3.1修复了问题,但是引入了弧旋转相机的错误.单击画布后,要旋转视图,就不能再释放鼠标了.最新的稳定版本是否有问题?

编辑2

经过一些深入的故障排除我们得出结论,3.0和3.1版本和/或他们的导出插件是错误的.即使在最简单的测试中,也会发生此错误.除了其他问题,如破碎的相机和移位的几何形状.

小智 1

请注意,默认情况下,出于性能原因共享材料。所以这可能不是一个错误,而是一个功能。如果您想更改单个网格的材质,您首先需要克隆它