Unityでは、どうも1万5千字以上の文字を扱えない

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
ロリポップ! はコスパのよい初心者向けサーバーです~

目次

はじめに

Unityで、大容量のテキストファイルを一遍に扱いたかったが、どうも無理っぽかった。

エラーの出力

大量のテキストを扱うと、以下のようなエラーが表示されることがある。

おそらく、Inspector上でTextが1万5千文字を超えるとダメっぽい。

ArgumentException: Mesh can not have more than 65000 vertices

 

String too long for TextMeshGenerator. Cutting off characters.

私以外にもこの問題に悩まされている人がいる
外部サイト:
http://answers.unity3d.com/questions/1006003/string-too-long-for-textmeshgenerator-cutting-off.html

※私の使用しているUnityのバージョンは、5.5.1f1

色々やってみたが……

Inspector上で表示されるからだめなようなので、Inspector上に表示されないように、対象のTextに[HideInInspector]や[System.NonSerialized]の属性をつける。

→うまくいかず

そもそも、1万5千字以上のテキストファイルを書き込む以前に、読み込めるかどうか気になった。

外部サイト:http://halcyonsystemblog.blog.fc2.com/blog-entry-78.html

外部サイトのソースコードを参照しつつ、StreamingAssetsの下に1万5千文字を超えるテキストファイルを用意して、開こうとするものの失敗。

諦め……

色々考えたが、Unity初心者の私がこの問題を回避する名案は思い付かなかった。

妥協案として、千文字余裕を持たせた1万4千文字を超えた時点で文字列を打ち切るようにした。

扱っている文字列の長さを読み取るには、.Lengthを使えばよい。

以下のような感じのものを用意する(ここで、Textの名前はscrollと考えている)

int string_long = scroll.text.Length;

~ギャンブルに絶対儲かる必勝法があるのだろうか?~

私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。

このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。

ギャンブルの必勝法が本当に儲かるかプログラミングで検証してみた

     

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)