在运行时使用 Three.js 将文本/图像添加到 Canvas 中呈现的 3D 立方体/模型

Posted

技术标签:

【中文标题】在运行时使用 Three.js 将文本/图像添加到 Canvas 中呈现的 3D 立方体/模型【英文标题】:Add Text/Image to the 3D cube/model rendered in Canvas using Three.js at runtime 【发布时间】:2021-12-25 11:11:40 【问题描述】:

我希望允许用户将文本/图像添加到使用画布在 UI 上呈现的 3D 模型(他们想要的任何位置)。他们可以移动文本对象并更新其尺寸。它的交互性很小,因此用户可以对其进行自定义。

只是想了解我们是否可以使用 three.js 来实现,或者该功能将成为仅从搅拌机创建的模型图像的一部分。我尝试了它并且能够渲染图像并且可以访问它的所有网格对象。但我不知道如何开始在运行时将文本/图像添加到模型或three.js。

例如我们可以为其添加自定义文本/图像。并将其移动到任何地方: https://dsign4you.com/3d/

【问题讨论】:

【参考方案1】:

在 THREE.js 中有许多不同的方式来处理文本。这里解释了其中的一堆:

https://threejs.org/docs/?q=textgeometry#manual/en/introduction/Creating-text

列表中的选项 3 是将其构建到 3D 模型中,但还有其他几种方法可以做到这一点。

【讨论】:

嗨,是的,我们得到了 textGeometry。我们想了解的是,如何在运行时将文本添加到渲染的 3d 模型中?就像渲染模型(立方体等),然后我们允许用户添加一些文本并将其显示在渲染模型上,我们可以将该文本移动到浏览器中渲染 3d 模式的任何位置。它就像一个交互式 3d 模型,用户可以在其中向渲染模型添加文本/图像。例如dsign4you.com/3d 您可能会发现这很有帮助 - 它展示了如何将画布(可能包括文本)应用为纹理:threejs.org/examples/webgl_materials_texture_canvas 这可能也很有用 - 它涵盖了画布内容所在的特定情况文本。 discourse.threejs.org/t/…

以上是关于在运行时使用 Three.js 将文本/图像添加到 Canvas 中呈现的 3D 立方体/模型的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 three.js 向 Forge Viewer 添加文本?

Three.js:在将大多数图像加载到球体的背面时遇到问题

Three.js 运行时纹理/图像更新

WPF C# 在运行时将文本和图像添加到 ComboBox

渲染后将几何图形添加到 three.js 网格

如何将fbxloader加载的摄像头添加到three.js中的场景?