【问题标题】:three.js: rendering 3d text with custom texturethree.js:使用自定义纹理渲染 3d 文本
【发布时间】:2013-05-24 07:37:26
【问题描述】:

我一直想知道是否可以使用加载的图像作为纹理对 3d 文本进行蒙皮?我知道你可以用立方体和其他东西来做,因为大多数示例都展示了如何做的教程。

我尝试的是用三个映射它。 ImageUtils.loadTexture 来自路径,但我得到的是一些透明度对象。我想知道如何使用相同的概念,例如:

 CubeGeometry(width, height, depth, widthSegments, heightSegments, depthSegments, listofmaterials) 

在 TextGeometry 自 TextGeometry( text, {parameters} ).

我们可能必须使用https://github.com/mrdoob/three.js/issues/1318 作为指导,为每一方做这件事。

【问题讨论】:

    标签: 3d three.js webgl mesh texture-mapping


    【解决方案1】:

    这是一个应用了纹理的 3D 文本示例:

    http://stemkoski.github.io/Three.js/Text3D-Textures.html

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      TextGeometry 不提供 UV 坐标,如果您稍微考虑一下,将很难抽象出该过程并将其序列化为任何文本几何图形。文本是另一种形式的自定义网格,因此,您必须手动提供 textureCoord 属性并使用 ShaderMaterial 对纹理进行采样。希望这会有所帮助。

      【讨论】:

      • 感谢您的回复。我仍然没有解决它的运气。我可以问一些简单的例子吗?或者任何 sn-ps 流量帮助都可能很好。我对此很陌生,很抱歉问了这么愚蠢的问题。
      • 创建 ShaderMaterial,为某些文本几何图形添加自定义属性 UV。您可以在此处查看 ShaderMaterial 的基本用法:blog.cjgammon.com/?p=392 因此,对于几何体的每个顶点,您将添加其纹理坐标并使用最简单的片段着色器,该着色器将根据纹理坐标对纹理进行采样。与其手动完成这项工作,我建议您制作一个模型,对其进行纹理化并加载它。无论哪种方式,它都不会是动态的和可变的,例如,除非您为每个字母制作模型,否则取决于文本内容。希望这会有所帮助。
      • 当然有另一种方法来解决它,当我遇到这个问题时,我一直在考虑你提到的 COLLADA 加载器。但我试图解决的问题可能更多是关于网络发布材料的优化,因为动画序列的负载非常重。无论如何,感谢您花费宝贵的时间向我解释它是如何工作的。
      猜你喜欢
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多