【问题标题】:How to load gltf with svg texture如何加载带有svg纹理的gltf
【发布时间】:2022-12-01 02:50:39
【问题描述】:

我正在尝试加载 svg 并将其用作 react-three-fiber 中 3d 场景某些部分的纹理。我试图解决的问题是,即使我有大光栅图像,有些纹理还是很模糊。

我可以使用 react-three-drei 的组件加载 svg,它看起来非常清晰。

有没有办法可以加载 svg 作为网格的纹理?或者我应该在以某种方式将组件链接到网格并在动画期间模仿其大小和移动时进行处理吗?

不知道我该怎么做。

我已经尝试将 svg 文件直接添加到我的 gltf 文件中,作为具有 mimetype image/svg+xml 的纹理,但是 react three-fiber 给出了一个关于 enconding 的错误。

我也尝试过将 useTexture() 与确实有效的 svg 源一起使用,但是像光栅纹理一样模糊。

我想知道我是否有可能以某种方式实现这一目标。或者是否有其他方法可以让我的场景渲染得更清晰。

【问题讨论】:

    标签: three.js react-three-fiber react-three-drei


    【解决方案1】:

    嗨,可悲的是,纹理只是光栅图像…… 有一种称为 SDF 2d 的技术,但这也涉及将 svg 转换为图像……

    你可以在这里查看https://github.com/dy/svg-path-sdf

    它的工作方式,它在引擎盖下将 svg 转换为光栅,对你来说,也许有一些选项,但我建议手动将你的 svg 处理为 png 或 jpg ...

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 2021-11-12
      • 2021-03-21
      • 2017-06-19
      • 2020-11-30
      • 2020-07-05
      • 2015-05-17
      • 2018-10-06
      • 1970-01-01
      相关资源
      最近更新 更多