如何将SketchUp模型导出到three.js?

qua*_*wer 0 three.js sketchup

我已经通过谷歌创建了一个模型SketchUp,我想将它导出three.js以节省一些时间.因为我认为使用SketchUp比使用更容易three.js.那么有人可以告诉我该怎么做吗?非常感谢你!

yak*_*aku 7

您可以从SketcUp导出collada(.DAE).然后使用Three.js ColladaLoader.我认为SketchUp的免费版本可能不允许collada导出,但无论如何你可以导出到Google Earth(.KMZ),将其重命名为.ZIP,在任何存档程序中打开它,你应该在那里找到.DAE.

它不是防弹的,但主要是有效的.一些技巧:

  • 在导出设置中,将Triangulate面朝上.双面通常是最好的,但有时您可能想要将其关闭.

  • 您可能需要之后将纹理文件的大小调整为两个维度的非幂(例如256x512)

  • 建议对所有组件和组进行爆炸/取消组合以避免ColladaLoader问题.选择全部(Ctrl + A),从上下文菜单中展开.重复,直到没有任何东西爆炸.或者使用插件,比如http://www.smustard.com/script/Bomb SketchUp本身确实很难爆炸非常复杂的模型,并且似乎可能会冻结.这是非常不幸的,除了从模型中删除更复杂的部分之外,您无能为力.或等待,它可能需要1秒到几天之间的任何时间.

  • 在Three.js方面,您可能想要遍历导入的对象,并将材质设置为DoubleSide.

  • SketchUp在导出时使用英制单位(即使UI或项目设置为公制比例),因此您可能需要相应地缩放导入的模型.Three.js没有这样的预定义比例,但是例如如果你认为1.0 Three.js单位是1.0米,你需要设置obj.scale.x = obj.scale.y = obj.scale.z = 0.02539999969303608;

  • @quanpower 我很高兴能提供帮助!如果这回答了您的问题,请继续并将答案标记为已接受 (2认同)
  • 免费版 SketchUp 支持 .DAE 导出。 (2认同)