是否可以遮罩<Text>/<Text3D>或使用<Text>/<Text3D>遮罩另一对象就像这个image,它是一个文本屏蔽立方体。我看过pmndrs/drei上的例子,也试过一些替换其他对象的方法,但是我不能让它处理2d或3d文本。注:我是three.js和fiber的新手,但我知道您需要使用.json字体
<Text>/<Text3D>
z9ju0rcb1#
这应该是可能的,通过所谓的模板,你的参考是正确的。然而,模板技术不适用于2d文本,因为它使用了文本2d着色器不支持的特殊着色器指令。文本2d只是网格对象与字符作为纹理,使用特殊的着色器,这是不包括模板语义需要它的工作。(你可以得到相同的扩展着色器)你应该能够使用文本3D作为模板,这样:
<Mask id={1}> <Text3D/> <Mask/>
然后道:
const stencil = useMask(1) <Text3D> Text <meshStanadrtMaterial {…stencil}/> <Text3D/>
1条答案
按热度按时间z9ju0rcb1#
这应该是可能的,通过所谓的模板,你的参考是正确的。
然而,模板技术不适用于2d文本,因为它使用了文本2d着色器不支持的特殊着色器指令。
文本2d只是网格对象与字符作为纹理,使用特殊的着色器,这是不包括模板语义需要它的工作。(你可以得到相同的扩展着色器)
你应该能够使用文本3D作为模板,这样:
然后道: