将Maya模型导入three.js场景的最佳方法是什么?

时间:2017-10-18 13:45:50

标签: javascript three.js maya

我有一个使用Maya制作的模型。我试图将模型导入WebGL。我在[DataType(DataType.Date)] public DateTime Date { get; set; } [DataType(DataType.DateTime)] public DateTime DateTime { get; set; } 中尝试了ColladaLoader,并且渐变纹理没有显示。 ColladaLoader显示了最准确的模型渲染。 JSON的three.js导出器不适用于我的Maya版本。我该怎么做才能在WebGL中显示渐变?

2 个答案:

答案 0 :(得分:0)

我认为没有什么可以做到正确地从COLLADA或任何其他交换格式导入纹理,或者从WebGL,Op​​enGL,Maya,Blender,XSI,3DsMAX等导入纹理。没有“好”简单的解决方案“为此。

纹理通常是对外部文件的引用,它们不会嵌入到导出的格式中(对于几乎所有3D格式都是如此,至少我所知道的都是如此)。有时,外部文件被复制到与导出的3D文件相同的位置,以帮助,在假设的情况下,导入器知道如何处理这些外部引用(这种情况很少发生)。

在adition中,在你的情况下,如果我很好理解,这是一个“渐变”,所以,一个程序纹理,所以甚至没有现有的外部文件要复制......所以,Maya应该采样程序纹理到一个位图文件,然后用DAE文件复制......据我所知,这远远超出了Maya接受为你做的本身。

所以,不幸的是,答案很好:你必须自己完成这项工作。导出文件,制作纹理,在正确的位置复制纹理,在WebGL上下文中重建材质,重新链接纹理等......

答案 1 :(得分:0)

不再受支持 Maya-to-Three.js导出器 。我也不建议使用COLLADA,因为它不是针对Web优化的。相反,您可以尝试使用某些第三方glTF 2.0插件将3D资源导出到WebGL,例如 Verge3D 等。