我有一个使用 Maya 制作的模型。我正在尝试将模型导入到 WebGL 中。我在 two.js
中尝试了 ColladaLoader,但没有显示渐变纹理。
ColladaLoader 显示了最准确的模型渲染。 JSON 的 two.js
导出器不适用于我的 Maya 版本。我该怎么做才能在WebGL中显示渐变?
最佳答案
我认为您无法正确地将纹理“像这样”从 COLLADA 或任何其他交换格式导入到 WebGL、OpenGL、Maya、Blender、XSI、3DsMAX 等。没有“好的”方法简单的解决方案”。
纹理通常是对外部文件的引用,它们没有嵌入到导出的格式中(对于几乎所有 3D 格式都是如此,至少是我所知道的所有 3D 格式)。有时,外部文件会被复制到与导出的 3D 文件相同的位置,以帮助导入者在假设的情况下知道如何处理这些外部引用(这种情况很少见)。
此外,在你的情况下,如果我很好理解,这是一个“渐变”,所以,一个程序纹理,所以甚至没有现有的外部文件可以复制......所以,Maya 应该对你的程序纹理进行采样到位图文件中,然后将其与 DAE 文件一起复制...据我所知,这远远超出了 Maya 本身接受的范围。
所以,不幸的是,好的答案是:你必须自己完成这项工作。导出文件、制作纹理、将纹理复制到正确的位置、在 WebGL 上下文中重建 Material 、重新链接纹理等...
关于javascript - 将 Maya 模型导入到 Three.js 场景的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46811708/