【问题标题】:Wrong positions of exported objects when exporting from blender to three.js从blender导出到three.js时导出对象的位置错误
【发布时间】:2017-08-24 08:40:10
【问题描述】:

我正在将一个简单的场景从搅拌机导出到三个。除了没有显示纹理(我也在与之斗争)之外,我对物体的位置有一个奇怪的问题。这是它在搅拌机中的样子:

这就是它在三个中呈现的方式

如您所见,元素相互堆叠(并且缺少天空盒纹理,即使它在 json 中被正确引用,嵌入为 base64 图像)。我正在使用 Three.js exporter v 1.5.0、three.js v84 和 blender v 2.77

这是我的配置:

这是加载场景的代码:

  var loader = new THREE.ObjectLoader();

  loader.load(
      '../dist/landscape.json',
      function ( obj ) {
        scene.add(obj)
      }
  );

现在,我确实意识到这种方式是在向场景添加场景,但出于某种原因,如果我尝试像这样从中提取孩子:

loader.load(
  '../dist/landscape.json',
  function ( obj ) {
    obj.children.forEach(function(elem) {
       scene.add(elem)
    }
  }
)

我只得到了一半的物品。不知道为什么。此外,这些物体仍然相互堆叠。我检查了结果中的位置与搅拌机中的原始值,除了标准的 y/z 交换 x 值被反转(尽管这不是问题的原因),并且旋转从桥中移除,导致它渲染上下翻转。我完全迷路了

此外,还有 .blend 和 .json 文件:

http://www.filehosting.org/file/details/653174/landscape.blend http://www.filehosting.org/file/details/653175/landscape.json

编辑: 部分解决方案:在导出器中将比例设置为 10,导致对象看起来好像放错了位置。问题是,它们仍然是旋转的,与原来的相比仍然存在一些不匹配。图片在这里:

【问题讨论】:

  • 我遇到了类似的问题,正如您提到的,在 Blender three.js 导出器设置中将比例设置为 1 会有所帮助。这意味着它在 three.js 场景中几乎不可见,但我只是将其放大,一切都很好。
  • 是的,但是正如我最后写的那样,我确实设法解决了这部分问题。不过,旋转部分并没有固定。

标签: javascript three.js blender


【解决方案1】:

我自己又一次遇到了这个问题。将比例设置为 1 并不能解决此问题。问题是我在 Blender 中没有 applied object transformations

  1. 选择搅拌机文件中的所有有问题的对象(或使用 A 选择所有对象)
  2. CTRL+A
  3. 选择Rotation & Scale
  4. 如有必要,请重复 Location

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 2015-03-28
    • 2018-05-01
    • 2013-04-05
    • 2017-09-29
    • 2012-09-06
    • 2016-08-17
    • 2019-10-04
    • 2019-06-29
    相关资源
    最近更新 更多