私のゲームは Unity 4.6 と NGUI で開発されており、フォントはアジア文字をサポートするダイナミック フォントですが、一部のAndroid デバイスではフォントが正しく表示されず、文字が塗りつぶされたブロックになってしまいました。
フォント テクスチャをレンダリングしようとしましたが、UIFont.texture は次のように定義されています。
public Texture2D texture
{
get
{
if (mReplacement != null) return mReplacement.texture;
Material mat = material;
return (mat != null) ? mat.mainTexture as Texture2D : null;
}
}
プロパティmaterial
がmDynamicFont.material
の場合、レンダリング結果は真っ黒な四角形になります。
フォント テクスチャのサイズは 512x1024 で、CharacterInfo の uv は有効なので、フォント テクスチャがワイヤリングされた理由と修正方法がわかりません。
PS: フォントは最初のシーンでは完璧に動作し、いくつかの新しいシーンが読み込まれると動作を停止します。おそらく、いくつかのリソース リリース API が呼び出されます。