我在Three.js(FPS-like)中构建了一个相当复杂的3D环境。为了这个目的,我想以一种面向对象的方式构造纹理和材质的加载。例如; materials.wood.brownplank
是一种具有某种纹理和其他属性的可重复使用的材料。以下是模型使用材质和材质使用纹理的过程的简化可视化。在Three.js中修复了纹理尺寸
loadTextures();
loadMaterials();
loadModels();
//start doing stuff in the scene
我想在不同大小的物体上使用该材质。但是,在Three.js中,您不能(AFAIK)设置一定的纹理比例。您将不得不设置重复按比例缩放它以适应您的对象。但我不想为每个我使用的物体的每一架飞机做到这一点。
正如你所看到的,纹理大小不均匀。
有没有简单的方法来实现这一目标?因此,每次克隆纹理和/或材料并根据几何设置重复设置将不会执行:)
我希望有人能帮助我。
结论:
有没有真正简单的方法来做到这一点。我最终改变了我的加载方法,例如materials.wood.brownplank
现在例如getMaterial('wood', 'brownplank')
在函数中新对象被实例化
纠正我,如果我错了;但不是用于设置偏移量的UV坐标,而不是比例尺? –
@claarman。虽然我对UV不太好,但我确信你错了:)我只是为另一种几何格式写了一个Three.js导入程序,并且错误地转换了UV坐标导致了错误的比例。所以是的,它们会影响比例尺,偏移量和方向。 – yaku
好的,那么我会尝试你的方法;) –