【问题标题】:Text masking using react fiber/drei使用 react fiber/drei 进行文本遮罩
【发布时间】:2022-11-28 08:24:50
【问题描述】:

是否可以屏蔽 <Text>/<Text3D> 或使用 <Text>/<Text3D> 屏蔽另一个对象
像这样的image,这是一个掩盖立方体的文本。

我看过 pmndrs/drei 上的示例,并尝试了一些操作,例如替换其他一些对象,但我无法使其与 2d 或 3d 文本一起使用。
注意:我是 three.js 和 fiber 的新手,但我知道你需要使用 .json 字体

【问题讨论】:

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


    【解决方案1】:

    这应该可以通过所谓的模板实现,并且您的参考是正确的。

    然而,模板技术不适用于 2d 文本,因为它使用了文本 2d 着色器不支持的特殊着色器指令。

    文本只是以字符作为纹理的网格对象,这对于模版印刷来说是不够的。

    您应该能够像这样使用 3d 文本作为模板:

    <Mask id={1}>
      <Text3D/>
    <Mask/>
    

    然后:

    const stencil = useMask(1)
    
    <Text3D>
       Text
       <meshStanadrtMaterial {…stencil}/>
    <Text3D/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 2022-01-25
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 2021-07-02
      • 2013-04-05
      相关资源
      最近更新 更多