【发布时间】:2019-03-16 10:47:53
【问题描述】:
所以我有一个非常简单的盒子模型,我想在上面放置一个纹理(大约 300x300)。
目前我有这个代码来加载材料:
new THREE.MeshBasicMaterial( { map: new THREE.TextureLoader().load( 'materials/orange.jpg' ), shininess: 50, shading: THREE.SmoothShading })
问题在于材质只是显示左上角的像素,因为它是 1x1 模型。我想要一种方法来拉伸纹理,使其在模型上显示为 300x300。
感谢您的帮助,埃德。
【问题讨论】:
-
检查模型的 UV。你使用什么版本的框架?
THREE.ImageUtils.loadTexture()已弃用。请改用THREE.TextureLoader().load()。 -
哦,干杯,我已经用新的语法更新了 q。我将如何检查模型的紫外线? (我有最新版本的threejs)。
-
我是否理解正确,您加载了盒子的模型而不是通过
THREE.BoxBufferGeometry()创建它? -
是的,我在搅拌机中制作了一个模型并加载了它。我打算稍后使用更复杂的模型,所以想为此做好准备。非常感谢您的帮助!
-
我不是从 Blender 导出的专家。但是应该有一个选项可以在模型中包含 UV 坐标。顺便说一句,你们在 Blender 中将相同的纹理应用到盒子上,它是否正确地覆盖了盒子?
标签: javascript three.js textures