Three.js 中的 LightMap 映射从 3ds max 烘焙

LightMap mapping in Three.js baked from 3ds max

我已经在 3ds max 中创建了一个逼真的场景。我想使用 WebGl 和 three.js 在网络上渲染场景。为了使用 mental ray 渲染器获得在 3ds max 中创建的逼真效果,我尝试将光照贴图从 3ds max 烘焙到 JPEG 文件,然后将 three.js 中的对象映射到纹理(导出的 JPEG)文件。但是 three.js 中的效果似乎被拉长了并且没有正确定位。我的方法首先正确吗?如果是,是否是 3ds Max 的 UV 映射有问题?如果可能的话,请提供一些链接,以便在烘焙时在 3ds max 中正确映射 UV,如果这是问题的话。

此外,我是否需要使用任何自定义着色器才能获得此类效果? (老实说,如果这个问题看起来很愚蠢,我对着色器一无所知)

提前致谢。

我强烈推荐使用 THREEjs 导出器: https://github.com/mrdoob/three.js/tree/dev/utils/exporters/max

我在使用任何内置导出选项的 Maya 和其他程序时遇到了很多麻烦。面部缠绕、UV 和其他东西看起来很漂亮 iffy.The 出口商帮助。

一旦你这样做了,还有一些事情要记住——THREEjs 只允许每个几何体有两组 UV。一个用于贴图、凹凸贴图、置换贴图等,另一个用于光照贴图。因此,如果这两个 UV 集最终彼此不同,您可能需要交换您指定的贴图和光照贴图。

Link a fiddle 您目前取得的成果,我们或许可以提供更多帮助。我唯一可以推荐的是使用 THREEjs 导出器而不看你正在使用什么代码。

3ds Max 的导出器已从官方 Three.js 存储库中删除,您应该改用 glTF 格式。请参阅此官方页面以获取 glTF-compatible Max 出口商列表: https://github.com/KhronosGroup/glTF