问题描述
我正在加载一个fbx模型,其中包含使用Cinema4D制作的多个对象。 加载模型后,我收到此警告控制台消息。
THREE.FBXLoader: layered textures are not supported in three.js. discarding all but first layer.
我知道此消息与正常图层,凹凸贴图或其他有关,但在fbx文件中加载了它自己的网址。有人知道是否有任何方法可以正确加载吗?还是将其导出为与C4D不同?
谢谢
解决方法
默认情况下,Three.js每个网格仅绘制一种纹理类型。例如,您只能将一个纹理分配给material.map
,而不能将它们一个放在另一个之上。听起来您的Cinema4D对象具有两个或多个纹理,一个或另一个叠加在上面。
要在一个纹理上叠加多个纹理,您需要为每个纹理创建一个网格。也许给它们一个很小的位置偏移,以正确的顺序对其进行分层。另外,您可以将分层纹理展平为单个图像。
,如何使用几个具有略微不同比例和不同纹理的网格?就像俄罗斯套娃木偶一样。 因此,如果纹理是透明的,您也可以看到下面的纹理。