最方便的思路大概就是用GUISkin了。
先在windows的Font文件夾下弄來一個中文字體比如宋體.ttf,把這個字體文件放在unity3d的Assets目錄下。這樣unity3d就會自動加載這個字體。要使用這個字體還需要建立一個GUISink。Assets->Creat->GUI Sink。建立好GUISink后點開屬性,最上面Font項的字體改為新加入的中文字體。
這邊我發現依然不能顯示中文,得把Font中的Character變為unicode才可以。。

using UnityEngine;
using System.Collections;
public class Font : MonoBehaviour {
public GUISkin mySkin;
void OnGUI(){
if(mySkin){
GUI.skin = mySkin;
}
GUI.Button(new Rect(10,10,50,50),"字體顯示測試");
}
}
這樣就可以顯示中文了。。
接下來要做的是從文本文件中讀取中文並顯示。
可以用到TextAsset這個東西,然后用C#的IO來一行行讀取。
void LoadDataFromTxt(string filename)
{
TextAsset txtAsset = (TextAsset)Resources.Load("Config/"+filename.Split('.')[0]);
StringReader reader = new StringReader(txtAsset.text);
string line;
string[] lineData;
line = reader.ReadLine();
while (line != null)
{
lineData = line.Split('');
line = reader.ReadLine();
}
}
文本須存為unicode的格式。
另一種方法是,把要用的文字做成圖片來顯示。bitmap方式
http://www.angelcode.com/products/bmfont/
上面是一個文字生成工具,很不錯。
和UIToolkit配合着來用,很方便。
