有没有办法在 three.js 中的纹理之间进行自定义转换

Is there a way to make a custom transition between textures in three.js

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

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