1

我的 webGL 代码需要一些帮助。我创建了一个 TextGeometry 并将其包含在网格中,对此我没有任何问题。但是,我想在不创建另一个 TextGeometry 的情况下更新此文本。

实际上,我的主要目标是翻译文本(从右到左)并在他到达左侧时使其消失,但只能逐个字符(如淡入淡出效果)。

我尝试了一些尝试:例如,根据文本位置,用 : 删除它 scene.remove(text) 并创建另一个与之前相同的文本减去第一个字符。我不知道我是否清楚......但是这个解决方案使我的应用程序非常慢:这就是为什么我不想每次都创建一个对象,而只是更新他的文本属性。

我在 three.js 文档中没有找到很多帮助,你能帮我看看吗?干杯

4

1 回答 1

1

你可以试试这个:

创建一个 PlaneGeometry 并使用包含您的文本的隐藏画布对象中的图像对其进行纹理化,然后将图像变换应用到画布本身(根据需要淡化)并在 Three.js 中随着它在场景中移动而不断更新纹理。

有关如何将画布对象用作(文本)图像的示例,我在以下位置发布了一个示例:http: //stemkoski.github.com/Three.js/Texture-From-Canvas.html

于 2013-03-12T21:48:58.637 回答