SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
NGUI基礎
@masayuki5160

14年3月2日日曜日
はじめに

NGUIの基礎についてまとめます。
けっこう癖がありますが、UnityでUIを開発する
にはいまのところNGUIがらく。使いながら覚
えてください∼

14年3月2日日曜日
環境について
•
•
•

Mac OSX 10.9
Unity 4.3.4f1
NGUI 3.4.9
※資料内の手順等は上記環境で検証済みです。
もしうまくいかない場合はとくにNGUIのバージ
ョンを確認頂くといいかもしれません。

14年3月2日日曜日
アジェンダ
•

NGUIとは

•

ボタン作成

•

スクロールビュー作成

•

その他

14年3月2日日曜日
NGUIとは
•

Unity標準のGUIツールより優
れた有料アセット

•

Unityの中で働いている人も使
用を勧めたりする

•

現在uGUIというUnity標準ツー
ルを開発中。でもしばらくは
NGUIでのUI開発がお勧め。

14年3月2日日曜日
ボタン作成(準備)
•

準備
右図のようにベースとなるパー
ツを作成する。

14年3月2日日曜日
ボタン作成 (準備)
•

ヒエラルキービュー
右上図のとおりになる。

•

UI Rootのインスペクター
ポイントはUI Rootコンポーネン
トとUIPanelコンポーネントの2
つ。

14年3月2日日曜日
ボタン作成 (準備)
•

UIRootコンポーネント
各端末の画面サイズに対応する
ためにはこのパーツのパラメー
タを調整する。
端末サイズに応じて自動で画像
のサイズ調整をするよう設定が
可能。

14年3月2日日曜日
ボタン作成 (準備)
•

UIPanelコンポーネント
NGUIのパーツをグループ化した
いときなどに使用。子オブジェ
クトに対してまとめて各種設定
ができる。
よく使うのはDepth(レイヤー),
Anchors(パーツの配置)あたり。

14年3月2日日曜日
ボタン作成 (準備)
•

Cameraのインスペクター
ポイントはUI Cameraコンポーネン
ト。
Cameraにうつっているオブジェクト
のUIイベント(クリックとか)を取得し
ます。イベントを取得するには
Colliderが必要なので注意。
UI CameraでUIイベントを取得してい
る、ということだけ把握しておくこ
と。

14年3月2日日曜日
ボタン作成
•

ボタン作成
右上図よりボタンパーツ作成用
の画面を開く。
右下画面上で設定するの
は”Atlas”,
“Template”,”Background”あたり。
※今回は通常のボタンを説明する
のでTemplateはButtonとしてます

14年3月2日日曜日
ボタン作成
•

AtlasとBackgroundについて
Atlasは必要なテクスチャをまとめ
て管理できる機能、といった感
じ。今回はNGUIで用意されてい
るAtlasを使用していきます。
Atlasについてはこちらが参考にな
ります。Atlasの機能をうまく活用
しておくことでUIパーツの管理は
楽にすることができそうです。

14年3月2日日曜日
ボタン作成
•

ボタン作成
Widget ToolでAdd Toを押下で
Sceneへボタンが追加される。

14年3月2日日曜日
ボタン作成
•

ボタン内のパーツ説明(Button)
ボタン自体の主要なパーツ
は”BoxCollider”,
“UIButton(Script)”, “UI Play
Sound(Script)”あたり。
それぞれの役割はみたままなの
でいじってみるとすぐわかるは
ず。

14年3月2日日曜日
ボタン作成
•

ボタン内のパーツ説明
(Background)
Backgroud内のメインはUI
Sprite。
Atlasで指定したテクスチャをUI
Sprite内で指定している。

14年3月2日日曜日
ボタン作成
•

UIButton Messageについて
Target:ボタン押下時にメッセー
ジを送信するオブジェクト
Function Name:ボタン押下時に呼
び出すTargetで指定したオブジェ
クト内のメソッド名

14年3月2日日曜日
ボタン作成
•

ボタン押下時の処理実装例
UIButtonMessageを使用した実装を
します。下記の流れで説明します。
①ボタン押下時の処理管理用の
UIManager.csを作成
②空のGameObjectを作成し、
UIManager.csをアタッチ
③UIButtonMessageの設定変更

14年3月2日日曜日
ボタン作成
•

ボタン押下時の処理実装例 ①
ボタン押下時にログがでるよう
に実装。押されたオブジェクト
を識別するためGameObjectを引
数としてUIButtonMessageから受
け取っておく。

14年3月2日日曜日
ボタン作成
•

ボタン押下時の処理実装例 ②
空のGameObjectを作成し、
UIManager.csをアタッチしたらお
わり。

14年3月2日日曜日
ボタン作成
•

ボタン押下時の処理実装例 ③
右図の通りUIButtonMessageに設
定をする。
UIButtonManagerオブジェクト内
のPushedButtonメソッドを呼ぶ
ように設定。

14年3月2日日曜日
ボタン作成
•

ボタン完成
ボタンを押して想定していると
おりのログがでればおわり。
UIManagerをうまく拡張していく
ことでパーツが増えたときにも
対応しやすい。

14年3月2日日曜日
スクロールビュー作成(準備)
•

準備
右図のようにベースとなるパー
ツを作成する。これはボタンつ
くるときと一緒。
もちろんすでにあれば不要。

14年3月2日日曜日
スクロールビュー作成
•

スクロールビュー作成
右図の通り作成。

14年3月2日日曜日
スクロールビュー作成
•

スクロールビュー作成
作成後の画面は右の通り。
UIScrollViewコンポーネントでス
クロールの設定をもろもろす
る。スクロールを横にするか縦
にするかもここで設定可能。

14年3月2日日曜日
スクロールビュー作成
•

スクロールするパーツ作成
今回はボタンをスクロールす
る。ボタンを右図の通り配置す
る。
※手順はボタン作成の手順の通
りのため割愛。

14年3月2日日曜日
スクロールビュー作成
•

スクロールするパーツ作成
ボタンにUIDragScrollView(Script)
を追加。(右上図参照)
追加後は右下図のようになる。

14年3月2日日曜日
スクロールビュー作成
•

スクロールするパーツ作成
作成したボタンをDuplicateして
複製。(右上図参照)
複製してできたボタンのX座標
を調整。(右下図参照。座標は
どこでもいいですが、1つ目のボ
タンと重ならないようにしてお
いてください)

14年3月2日日曜日
スクロールビュー作成
•

スクロールビュー完成
横スクロールができることを確
認できれば完成。

14年3月2日日曜日
スクロールビュー作成
•

縦スクロールビューの作成
UIScrollViewのMovementをVertical
へ変更。
もちろん配置したボタン等の位
置も変更必要。

14年3月2日日曜日
スクロールビュー作成
•

スクロールビューのサイズ等
UIPanelの調整をすることで可
能。単純に表示範囲だけならSize
のX,Yの値調整で可能。

14年3月2日日曜日
その他
•

NGUIのバージョンアップ
2.xと3.xではけっこう違うことがあります。Webで調べるときはNGUIのバ
ージョンを確認しながら参考にするといいです。

•

Unity2DとNGUIの併用
Unity2DのSpriteはGUI用にはなっていません。UIのパーツはかならず
NGUIで作成するようにしてください。

•

uGUI
uGUIはUnity社で現在開発中です。しばらくはNGUIを使用していく、とい
うことで問題はないかと思います。が、uGUIのリリース後、使いやすそ
うであればNGUIからuGUIに乗り換えるのもありだと思います。そのあた
りはまた考えましょう。

14年3月2日日曜日

Weitere ähnliche Inhalte

Was ist angesagt?

【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術
【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術
【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術
Unity Technologies Japan K.K.
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 
漏れのある抽象化の法則
漏れのある抽象化の法則漏れのある抽象化の法則
漏れのある抽象化の法則
hayabusa333
 
凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public
bonjin6770 Kurosawa
 
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
Masahiro Nagano
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
 

Was ist angesagt? (20)

研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
アップルの特許に見るUI特許のポイント
アップルの特許に見るUI特許のポイントアップルの特許に見るUI特許のポイント
アップルの特許に見るUI特許のポイント
 
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015
 
非同期処理の基礎
非同期処理の基礎非同期処理の基礎
非同期処理の基礎
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術
【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術
【Unity道場スペシャル 2018仙台】お手軽クオリティアップ術
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
C++11とゲーム製作
C++11とゲーム製作C++11とゲーム製作
C++11とゲーム製作
 
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組みAtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
 
漏れのある抽象化の法則
漏れのある抽象化の法則漏れのある抽象化の法則
漏れのある抽象化の法則
 
凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public凡人の凡人による凡人のためのデザインパターン第一幕 Public
凡人の凡人による凡人のためのデザインパターン第一幕 Public
 
Grapics debugging with RenderDoc
Grapics debugging with RenderDocGrapics debugging with RenderDoc
Grapics debugging with RenderDoc
 
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 

Andere mochten auch

Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについて
Keigo Ando
 
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
GMO GlobalSign Holdings K.K.
 

Andere mochten auch (20)

NGUIとUnity2Dをつかってみた
NGUIとUnity2DをつかってみたNGUIとUnity2Dをつかってみた
NGUIとUnity2Dをつかってみた
 
Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについて
 
刺激的で魅力的!スマホで増える、演出へのムービー活用
刺激的で魅力的!スマホで増える、演出へのムービー活用刺激的で魅力的!スマホで増える、演出へのムービー活用
刺激的で魅力的!スマホで増える、演出へのムービー活用
 
Fantastic Life
Fantastic  LifeFantastic  Life
Fantastic Life
 
NGUIでimage button
NGUIでimage buttonNGUIでimage button
NGUIでimage button
 
Unity2Dを使ったミニゲーム開発のすすめ
Unity2Dを使ったミニゲーム開発のすすめUnity2Dを使ったミニゲーム開発のすすめ
Unity2Dを使ったミニゲーム開発のすすめ
 
【名古屋】2014/2/8 Unity勉強会1
【名古屋】2014/2/8 Unity勉強会1【名古屋】2014/2/8 Unity勉強会1
【名古屋】2014/2/8 Unity勉強会1
 
CloudFormationを活用したリソース管理と環境構築の自動化
CloudFormationを活用したリソース管理と環境構築の自動化CloudFormationを活用したリソース管理と環境構築の自動化
CloudFormationを活用したリソース管理と環境構築の自動化
 
【名古屋】2014/2/8 Unity勉強会2
【名古屋】2014/2/8 Unity勉強会2【名古屋】2014/2/8 Unity勉強会2
【名古屋】2014/2/8 Unity勉強会2
 
ネットワーク基礎勉強会2回目
ネットワーク基礎勉強会2回目ネットワーク基礎勉強会2回目
ネットワーク基礎勉強会2回目
 
Unity初心者が2 d sprite使ってゲームを作ってみた【後半戦】
Unity初心者が2 d sprite使ってゲームを作ってみた【後半戦】Unity初心者が2 d sprite使ってゲームを作ってみた【後半戦】
Unity初心者が2 d sprite使ってゲームを作ってみた【後半戦】
 
NGUIでスクロールビュー
NGUIでスクロールビューNGUIでスクロールビュー
NGUIでスクロールビュー
 
【読書会】プロになるためなるためのWeb技術入門
【読書会】プロになるためなるためのWeb技術入門【読書会】プロになるためなるためのWeb技術入門
【読書会】プロになるためなるためのWeb技術入門
 
サーバ構築実践入門
サーバ構築実践入門サーバ構築実践入門
サーバ構築実践入門
 
Linux基礎2回目
Linux基礎2回目Linux基礎2回目
Linux基礎2回目
 
Linuxの基礎勉強会
Linuxの基礎勉強会Linuxの基礎勉強会
Linuxの基礎勉強会
 
自分をチューニングするために今年やってみたこと
自分をチューニングするために今年やってみたこと自分をチューニングするために今年やってみたこと
自分をチューニングするために今年やってみたこと
 
Unityの向こう側へ
Unityの向こう側へUnityの向こう側へ
Unityの向こう側へ
 
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
 

Ähnlich wie NGUI基礎 (6)

【Unity道場 名古屋SP】Unityは難しくない!Asset StoreとPackage Managerの活用術
【Unity道場 名古屋SP】Unityは難しくない!Asset StoreとPackage Managerの活用術【Unity道場 名古屋SP】Unityは難しくない!Asset StoreとPackage Managerの活用術
【Unity道場 名古屋SP】Unityは難しくない!Asset StoreとPackage Managerの活用術
 
イマドキのUbuntu活用法
イマドキのUbuntu活用法イマドキのUbuntu活用法
イマドキのUbuntu活用法
 
(たぶん)やさしいUnity
(たぶん)やさしいUnity(たぶん)やさしいUnity
(たぶん)やさしいUnity
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
 
Unity ugui
Unity uguiUnity ugui
Unity ugui
 
岡山Unity勉強会のご紹介
岡山Unity勉強会のご紹介岡山Unity勉強会のご紹介
岡山Unity勉強会のご紹介
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

NGUI基礎