【问题标题】:Is there a way to make a custom transition between textures in three.js有没有办法在three.js中的纹理之间进行自定义转换
【发布时间】:2016-05-03 20:57:27
【问题描述】:

我正在尝试使用 opengl 在three.js 中制作模型查看器。 我想要做的功能之一是在运行时更改纹理。 我已经做到了。但这对我来说似乎有点残酷,我想要更酷的东西。喜欢这个video。 当然我知道这是一个高级的东西,但我没有找到任何关于它的例子。 一些提示?

【问题讨论】:

  • 我认为你需要一个自定义 ShaderMaterial

标签: javascript three.js webgl


【解决方案1】:

您需要在两个纹理之间进行 lerp(线性插值)。您的片段着色器需要同时保存两个纹理,然后在加载第二个纹理(即您要更改的纹理)后触发 lerping。比使用col = fromTex.rgb * (1.0-t) + toTex.rgb * t 之类的操作并在整个过程中更改混合/lerping 系数t,直到您完全混合到第二个纹理中。 t 可以作为制服发送,随着时间的推移,0.0->1.0 会慢慢改变。

【讨论】:

  • 就是这样!效果很好。
  • 或者您可以在片段着色器中使用mix 函数。更简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-17
  • 2010-12-22
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多