【Unity】uGUIを自由にカスタマイズしてみよう!

Unity Advent Calendar 2014の1日目の記事

=====
先日Unity4.6がリリースされまして、
いよいよ新UIシステム通称uGUIが使用可能となりました!

今回他のシステムと違うところは
ソースが全てオープンソースとして公開されていて
自由に改造してもOK!!という太っ腹なところです。

そこで今回はこの改造方法についてご説明したいと思います。

スポンサーリンク

ソースを入手

ソースを入手するのに今回はSourceTreeというツールを使用します。

SourceTreeのインストール

  • http://sourcetreeapp.com/にアクセス
  • Download SourceTree Free ボタンをクリックし、ダウンロードする
  • ダウンロードしてきたファイルを実行しインストールする

ソースをクローン(入手)する

  • https://bitbucket.org/Unity-Technologies/uiにアクセス
  • 右上のHTTPSのURLをコピー。おそらく→ https://bitbucket.org/Unity-Technologies/ui
  • SourceTreeを起動
  • 左上の「新規/クローンを作成する」をクリック
  • リポジトリをクローン/追加/作成 というポップアップが表示される
  • 先ほどのURLを 元のパス/URL に貼り付け
  • 保存先のパスを任意に指定し、「クローン」をクリック

これで保存先のパスにソースコード等が保存されました。

ソースを改造

保存先の「UnityEngine.UI」フォルダ内にソースファイルcsが入っていますので
これらを適当に改造してください。
とりあえず、動作確認だけであればText.cs内の150行目を、
m_Text = “abcdefg”;
と変えるとわかりやすいです。

DLL作成

改造したものを使用する場合はDLL化しないといけません。

  • MonoDevelopを起動
  • MSBuild/XBuildにチェックをいれる
    • Windowsの場合
      • Tools -> Options… -> Projects -> Build を選択
      • Compile projects using MSBuild / XBuild のチェックボックスにチェック
    • Macの場合
      • MonoDevelop-Unity -> Preferences… -> プロジェクト -> ビルド を選択
      • MSBuild/XBuildを使用してプロジェクトをコンパイルのチェックボックスにチェック
  • 「OK」ボタンをクリック
  • MonoDevelopを再起動
  • 「UISystem.sln」を開く
    • File -> Open を選択
    • UISystem.sln を選択( 落としてきたファイル内の1番親にあるはずです)
    • 「Open」ボタンをクリック
  • Build -> Build All を選択
  • UISystem.slnと同じフォルダ内に「Output」というフォルダが出来ます

これでDLLの作成は完了です

反映させる

作成したDLLをアプリケーション内のDLLに上書きすることで、
実際に行った改造が反映されます。

  • 「Output」のフォルダ内を全部コピー
  • アプリケーション内に貼り付け
    • Windowsの場合(標準インストールした場合)
      • C:Program Files (x86)UnityEditorDataUnityExtensionsUnityGUISystem4.6.0
        • ※最後の「4.6.0」はインストールされているバージョン毎に変わります
    • Macの場合
      • アプリケーション/Unity.app/Contents/UnityExtensions/Unity/GUISystem/4.6.0
        • ※最後の「4.6.0」はインストールされているバージョン毎に変わります
        • Unity.app内はUnity.appを右クリック「パッケージの内容を表示」で表示されます

これで反映が完了です

動作確認

Unityを起動し、実際の挙動を確認してください。
先ほどの例(Text.cs)の場合は、Textオブジェクトを新規に作成すると
テキストエリア内に「abcdefg」と入力されています。

以上がカスタマイズの方法になります!
がんがんカスタマイズして自分だけの便利なUIシステムを構築しちゃいましょう!

========

冒頭でも書きましたが、
Unity Advent Calendar 2014の1日目の記事としてかかせていただきました。
こういったイベントに参加するのは初めてなのですが思い切りが大事ということで思い切って参加してみてさらにぽっかり空いていた1日目に立候補させていただきました。
トップバッターとしてうまくスタートをきれたかわかりませんが、明日からの皆さんの投稿が楽しみです!!

スポンサーリンク

フォローする

コメント

  1. xe より:

    > 右上のHTTPSのURLをコピー。おそらく→ https://bitbucket.org/Unity-Technologies/ui

    の入力後ですが、
    Mercurialが入っていないor有効化されていないと
    リポジトリが見つからないというエラーが出てクローン出来ず解決まで少々悩んでしまいましたので一応のメモとして追記致します。
    (そもそもsshの方のアドレスよく見たらhgと書いてあったので当然と言えば当然なのですが…w)