我有一个使用Maya制作的模型。我正在尝试将模型导入WebGL。我在three.js
中尝试了ColladaLoader,但渐变纹理没有显示。ColladaLoader显示了最准确的模型渲染。JSON的three.js
导出器不适用于我的Maya版本。如何在WebGL中显示渐变?
我认为您无法将纹理从COLLADA或任何其他交换格式正确导入WebGL、OpenGL、Maya、Blender、XSI、3DsMAX等。对此没有"简单的解决方案"。
纹理通常是对外部文件的引用,它们没有嵌入到导出的格式中(几乎所有的3D格式都是如此,至少我知道的所有格式都是这样)。有时,外部文件会复制到与导出的三维文件相同的位置,以帮助导入器知道如何处理这些外部参照(这种情况很少发生)。
在adition中,在你的情况下,如果我很理解的话,这是一个"渐变",所以,一个程序纹理,所以甚至没有现有的外部文件可以复制。。。因此,Maya应该将程序纹理采样到位图文件中,然后将其与DAE文件一起复制。。。据我所知,这远远超出了Maya接受为你做的事情。
所以,不幸的是,好的答案是:你必须自己做这项工作。导出文件、制作纹理、在正确的位置复制纹理、在WebGL上下文中重建材质、重新链接纹理等。
不再支持Maya-to-Three.js导出程序。我也不建议使用COLLADA,因为它没有针对网络进行优化。相反,您可以尝试一些第三方glTF 2.0插件将您的3D资产导出到WebGL,例如Verge3D等。