【问题标题】:Map texture on 1x1 model threejs1x1 模型threejs 上的贴图纹理
【发布时间】: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


【解决方案1】:

原来我需要在导出之前对模型应用 smartUV 包装,现在它可以完美运行了。 我刚刚在搅拌机中进入编辑器模式并使用 U 键打开 UV 映射并选择智能展开。

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 2022-01-08
    • 2014-03-28
    • 2014-09-26
    • 2018-12-05
    • 2017-09-18
    • 2014-06-04
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多