MRTK2 模板效果不适用于 TextMeshPro 文本

MRTK2 stencil effect not working on TextMeshPro Text

我目前正在使用 MRTK2 示例场景为 material 提供的资产开发 HoloLens 2 应用程序。准确地说,我正在使用带有门户和框架的模板 material。

将 MRTK 标准着色器应用于游戏对象并启用“模板测试”时,一切正常,Text Mesh Pro 对象除外。其他人的门户之类的效果不适用于文本,它们将照常显示。

Text Mesh Pro 对象使用特定的 MRTK 着色器,可以将其更改为 MRTK 标准着色器,使门户效果在它们上起作用,但因此使文本不可读并将颜色更改为黑色。

我的问题是是否有办法在利用模板效果的同时保持文本的可读性。

谢谢!

MRTK 版本:2.1.0 文本网格专业版:1.4.1 Unity版本:2018.4.15

Heres a picture of the text, with the MRTK Text Mesh Pro Shader and the MRTK Standards Shader:

MixedRealityToolkitStandards不是专门为TextMesh开发的着色器,所以不能保证它适合文本。不过,我们相信mrtk的MixedRealityTextMeshPro shader不会让TextMeshPro变成黑块,大家可以尝试使用。但是这样的话,需要在这个shader中添加一些代码来实现stencil效果。

此外,您还可以查看Clipping Primitive是否满足您的业务需求,这个功能在不修改shader的情况下更容易使用。

解决方案是在使用 MRTK 时将用于文本(而不是其他对象)的 material 的渲染模式更改为“Cutout” TextMeshPro 组件的标准着色器。

渲染模式:抠图

并且不要忘记使用以下设置在 material 的按钮上激活“启用模板测试”:

模板参考:1

模板比较:相等

模板操作:保持

它应该是什么样子:https://i.stack.imgur.com/yRnK4.png