我通过谷歌创建了一个模型SketchUp
,我想将其导出到three.js
节省一些时间。因为我想使用SketchUp
比three.js
.那么有人可以告诉我该怎么做吗?非常感谢!
您可以从 SketcUp 导出 collada (.DAE)。然后使用 Three.js ColladaLoader。我认为 SketchUp 的免费版本可能不允许 collada 导出,但无论如何您可以导出到 Google Earth (.KMZ),将其重命名为 .ZIP,在任何存档程序中打开它,您应该在那里找到 .DAE。
它不是防弹的,但大多数情况下都有效。一些技巧:
在导出设置中,保留三角测量面。双面脸通常是最好的,但有时您可能不想这样做。
之后您可能需要将纹理文件的大小调整为非二维幂(例如 256x512)
建议分解/取消分组所有组件和组以避免 ColladaLoader 问题。选择全部 (Ctrl+A),从上下文菜单中分解。重复直到没有任何东西可以爆炸。或者使用插件来实现,例如http://www.smustard.com/script/Bomb http://www.smustard.com/script/BombSketchUp 本身在分解非常复杂的模型时确实遇到困难,并且可能会出现冻结现象。这是非常不幸的,除了从模型中删除更复杂的部分之外,您无能为力。或者等等,这可能需要 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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)