问题的史前史:
链接到相关question on CG(关于某些编辑器中的UV展开,例如下面提到的模型的3dsmax)
我有一个单项模型。它从3DS Max导出(带纹理坐标)。
UVWs 和对象的屏幕截图。 UVWs 的无用部分分组在右上角。
我正在使用此纹理作为凹凸贴图(调整大小以减少问题中的位置,原始大小为512x512)。
此模型加载THREE.OBJMTLLoader
并在浏览器中使用 threejs 进行渲染。当然,如果我需要重用此映射来添加需要该对象的所有部分的另一个纹理,则此纹理和 UVWs 将变得无用。
现在不要走出3DS Max,因为这个问题不是在那里建立模型。
现在让我们设想一个存在于场景中某个位置的立方体(THREE.BoxGeometry
)(scene.add( cube );
)。
我想在多维数据集的左侧大小上绘制图像。在右侧,我需要放置凹凸贴图,在顶部将是light map
。另一方面,纹理贴图可以以某种方式组合或仅为空 - 我想这不是关键点。
像这样:
但在这种情况下,每张地图只占有用地的1/16。像这样:
当然,可以移动一些块,每个地图将获得高达1/9的可用空间,但我需要每个纹理的质量,所以使用整个阻止(1/1)为每个纹理这样。
例如,纹理可以是512x512,凹凸贴图可以平铺(参见史前史中的图像)。
问题是:
答案 0 :(得分:2)
是否可以为单个对象使用多个不同的UWV来添加不同的纹理?
Three.js材质基本上支持最多2个UVs通道,但不控制给定纹理使用哪个通道。第一个通道用于tilable纹理(漫反射,粗糙度等)。第二个用于非tilable(AO,光照贴图)
也就是说,使用自定义几何体和自定义材质,您可以根据需要使用尽可能多的uvs通道。唯一的限制是着色器中可用的最大属性(至少为8)
3DS Max对uvs频道的数量也没有限制。
主要问题是以支持多个UV通道的格式导出/导入模型。 OBJ没有。
是否可以仅将UWV用于部分模型以避免浪费空间?
您可以简单地为不需要纹理的部件使用不同的材料