如图所示,当我单击“播放”时,我的3D文本一直从场景中消失,然后当我放大时,这就是我所看到的。

当我退出Play场景时,它会一直保持这种状态,直到我Ctrl+S并保存在其中,然后返回到其正确的文本格式。

有我不知道的东西吗?即使我在设备上部署应用程序,也会发生这种情况。因此,这些词从未被看到。

使用方法:

Unity 5.0.3p1(32位)

但是我从Unity 4.x开始的所有版本都有这个问题





我的层次结构:

最佳答案

您的问题是在与MeshFilter相同的GameObject上有一个TextMesh

您所看到的是MeshRenderer绘制了错误的网格,但是使用了字体的材质。这些看似随机的字母是在立方体上纹理时的字体纹理图集的实际外观。选择哪种网格也可能是随机的,如果运气不好,这种情况在编辑器中可能未被发现,但会在构建中显示。

这种情况已作为问题提交,但标记为“按设计状态”。直接从issue tracker page引用:


  当同一个GameObject上存在MeshFilter时,TextMesh网格是错误的。
  
  这是预期的行为。
  
  MeshFilter和TextMesh都是依赖于
  MeshRenderer组件来渲染网格。当它们都存在时,
  他们在哪一个设置网格上存在冲突
  MeshRenderer应该使用。
  
  就是说,我们不应该在同一位置上允许MeshFilter和TextMesh
  GameObject,因为始终不支持它。我们将单独提交
  错误。

10-08 14:11