ゾンビとUnityとUE4

ゾンビネタとUnity/UE4でのゲーム制作についてつづるブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Unityで引っかかったところを書いてく2

※Unity 5以上では未検証。

GUIText

・カメラがないと表示されない
・ライトは不要
・SceneじゃなくてGame画面で位置合わせする
・デフォルトのFontSizeが0だけど表示はされる
・デフォルトだと画面の真ん中に配置される

Unity GUIText 02

ActionScript入門Wiki Unity - GUI Textでテキストを表示する
http://www40.atwiki.jp/spellbound/pages/1336.html

※追記

ゲームオブジェクトのコンポーネントとして GUIText 追加すると、表示位置をどう調整すればいいのか分からなくなる。
例えば、Cubeにコンポーネントとして GUIText を追加することで、その Cube のスクリプトから guiText にアクセス可能になる。
guiText.text とすることで、Cube のスクリプト内で簡単にテキストを取得・変更できる。
でも、GUIText の表示位置の調整方法が分からない。色々いじっても GUIText が画面内に出てこない。
仕方なく、コンポーネントから GUIText を外し、ただのゲームオブジェクトとして GUIText を Hierarchy に追加する。
そうした場合、その Cube のスクリプトから GUIText にアクセスするのが少し面倒。

GameObject g = GameObject.Find("GUI Textの名前");
if (g) {
GUIText t = g.GetComponent<GUIText>();
if (t) {
//GUI Text の Text を変更する
t.text = "てすと";
}
}



ゲーム画面にデバッグ用のログを表示させる

DebugConsole - unify community
http://wiki.unity3d.com/index.php?title=DebugConsole

1.Project - Assets - Create - C# Script ファイル名は DebugConsole
2.DebugConsole の編集画面を開く(ダブルクリックでMono起動とかテキストエディタで開くとか)
3.デフォルトで挿入されているソースコードを全て消す
4.上記のページにあるソースコードをコピペ
5.GUIText 追加(Hierarchy - Create - GUIText もしくは メニュー - GameObject - CreateOther - GUIText)
6.空の GameObject 追加(メニュー - GameObject - Create Empty)
7.Hierarchy - GameObject 選択 Inspector - Add Component - Scripts - DebugConsole
8.Inspector - Debug Console (Script) - Debug Gui に GUIText をドラッグ&ドロップ

Unity DebugConsole 02

Debug.Log の代わりに DebugConsole.Log を書くだけ

DebugConsole.Log("test");
DebugConsole.Log("test", "error");
DebugConsole.Log("test", "warning");
DebugConsole.Log("test", "normal");

使い分けはこう
error なら赤、warning なら黄色、normal なら緑で表示される

ログをクリアしたいなら DebugConsole.Clear()

とりあえず動作確認をしたい場合、空のGameObjectにスクリプトを追加して、そのStart()内にDebugConsole.Logを書く。
行間を調整したい場合は、GameObject - Debug Console (Script) - Line Spacing の値をいじる。

実行画面
Unity DebugConsole 04

ついでに Debug.Log() も実行してくれるよう DebugConsole の Log() に手を加えた。

//+++++++++ INTERFACE FUNCTIONS ++++++++++++++++++++++++++++++++
public static void Log(string message, string color)
{
  DebugConsole.instance.AddMessage(message, color);
  if (color == "error") Debug.LogError(message);
  else if (color == "warning") Debug.LogWarning(message);
  else Debug.Log(message);
}
//++++ OVERLOAD ++++
public static void Log(string message)
{
  DebugConsole.instance.AddMessage(message);
  Debug.Log(message);
}

こうしておけば、テキストファイルに記録を残しておくこともできる。
スポンサーサイト

- 0 Comments

Add your comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。