【问题标题】:Horizontally flip a image texture with MeshPhongMaterial in Three.js在 Three.js 中使用 MeshPhongMaterial 水平翻转图像纹理
【发布时间】:2015-07-01 04:01:40
【问题描述】:

我用 MeshBasicMaterial 尝试了以下方法:

texture.wrapS = THREE.RepeatWrapping;
texture.repeat.x = - 1;

它有效,但仅适用于这种特定材料。

我想知道如何在 MeshLambertMaterial 或 MeshPhongMaterial 上做同样的事情。

更新

我在这里创建了一个实时示例:http://jsbin.com/jecaqi/18/edit?js,output

在此示例中,我在左侧使用 MeshBasicMaterial(mesh_basic) 翻转了图像纹理。我的目的是用 MeshPhongMaterial(mesh_phong) 在右边做同样的事情。

【问题讨论】:

  • 你能提供一个活生生的例子来说明这个问题吗?
  • 我在这里创建了一个示例:jsbin.com/jecaqi/edit?js,output
  • (1) 您的 jsbin 没有实现您帖子中的代码。为什么不? (2) 你的纹理不是 2 的幂。始终查看调试控制台以获取错误/警告消息。
  • 正如我所说,如果您使小提琴中的代码与您帖子中的代码相匹配,它就会起作用。出于某种原因,您没有这样做。为什么不呢?
  • 你一直都知道怎么做——好吧,除了 POT 部分。 : - )

标签: three.js


【解决方案1】:

如果你想水平翻转一个纹理上的图像,你可以使用以下模式:

texture.wrapS = THREE.RepeatWrapping;
texture.repeat.x = - 1;

您还需要确保图像是二次方 (POT)。

three.js r.71

【讨论】:

    猜你喜欢
    • 2015-07-10
    • 2017-10-05
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多