金沢unity勉強会04 unity開発tips

24
Unity開発Tips 金沢Unity勉強会 第4回 金沢Unity勉強会 第41

Upload: yusuke-shima

Post on 15-Jul-2015

349 views

Category:

Education


2 download

TRANSCRIPT

Page 1: 金沢Unity勉強会04 Unity開発Tips

Unity開発Tips

金沢Unity勉強会 第4回

金沢Unity勉強会第4回 1

Page 2: 金沢Unity勉強会04 Unity開発Tips

その前に…

• ライトニングトーク(英: Lightning

Talks)とはカンファレンスやフォーラムなどで行われる短いプレゼンテーションのこと。

• 様々な形式があるが、持ち時間が5分という制約が広く共有されている。

出典:Wikipediaより

2金沢Unity勉強会第4回

Page 3: 金沢Unity勉強会04 Unity開発Tips

自己紹介

• 島悠介

• @clear10_foo

• 金沢大学ゲーム制作サークル

• ゲーム作りたいマン

• Unity歴は2年程度

• (ゲーム会社アルバイター)

金沢Unity勉強会 第4回 3

Page 4: 金沢Unity勉強会04 Unity開発Tips

今日話すこと

• UnityEngine.EventSystemsのすゝめ

• uGUIを使うときのテクニック

• 短い

金沢Unity勉強会 第4回 4

Page 5: 金沢Unity勉強会04 Unity開発Tips

Unity

金沢Unity勉強会 第4回 5

Page 6: 金沢Unity勉強会04 Unity開発Tips

Unityのいいところ

• Asset Store

• 「それっぽく」見えるものがすぐ出来る

• 物理エンジン

• 資料が豊富

• マルチプラットフォーム!

金沢Unity勉強会 第4回 6

Page 7: 金沢Unity勉強会04 Unity開発Tips

便利すぎか

金沢Unity勉強会 第4回 7

Page 8: 金沢Unity勉強会04 Unity開発Tips

気をつけたいところ

• Unityはあくまで「ツール」

• Unityにだって苦手なことはある

Unityの勉強ゲームプログラミングの勉強

金沢Unity勉強会 第4回 8

Page 9: 金沢Unity勉強会04 Unity開発Tips

本題

金沢Unity勉強会 第4回 9

Page 10: 金沢Unity勉強会04 Unity開発Tips

UnityEngine.EventSystems

すゝめ

金沢Unity勉強会第4回 10

Page 11: 金沢Unity勉強会04 Unity開発Tips

UnityEngine.EventSystems

• UIとかを作ると勝手に作られる(厳密に言うと全然違う)

金沢Unity勉強会 第4回 11

Page 12: 金沢Unity勉強会04 Unity開発Tips

UnityEngine.EventSystems

• イベントを取り扱う名前空間

• マウスの入力やタッチイベントを判別

• インターフェイスがいくつも定義されている

• 基本的な挙動がイベントで受け取れる

金沢Unity勉強会 第4回 12

Page 13: 金沢Unity勉強会04 Unity開発Tips

例えばクリック

• こんな感じ

金沢Unity勉強会 第4回 13

Page 14: 金沢Unity勉強会04 Unity開発Tips

いっぱいある

• IBeginDragHandler

• ICancelHandler

• IDeselectHandler

• IDragHandler

• IDropHandler

• IEndDragHandler

• IEventSystemHandler

• IInitializePotentialDragHandler

• IMoveHandler

• IPointerClickHandler

• IPointerDownHandler

• IPointerEnterHandler

• IPointerExitHandler

• IPointerUpHandler

• IScrollHandler

• ISelectHandler

• ISubmitHandler

• IUpdateSelectedHandler

金沢Unity勉強会 第4回 14

Page 15: 金沢Unity勉強会04 Unity開発Tips

UI以外もいける

• MainCameraにPhysicsRaycasterをアタッチ

• スクリプトをアタッチするオブジェクトにコライダーを設定

• RayCastを自分で行う必要がなくなった!

金沢Unity勉強会第4回 15

Page 16: 金沢Unity勉強会04 Unity開発Tips

PointerEventData

• マウスイベント/タッチイベントに必要そうな情報がまとめられている

• 自分で変数を用意することがまずない

• 詳細はリファレンス参照のことhttp://docs.unity3d.com/460/Documentation/ScriptRefere

nce/EventSystems.PointerEventData.html

金沢Unity勉強会第4回 16

Page 17: 金沢Unity勉強会04 Unity開発Tips

便利なので使いましょう

金沢Unity勉強会 第4回 17

Page 18: 金沢Unity勉強会04 Unity開発Tips

uGUIを使うときのテクニック

金沢Unity勉強会 第4回 18

Page 19: 金沢Unity勉強会04 Unity開発Tips

1.uGUIのアス比問題

デモ

金沢Unity勉強会 第4回 19

Page 20: 金沢Unity勉強会04 Unity開発Tips

1.UIを作ってみる

• まずはたたき台を作る

• 作った

→ダメだこりゃ

金沢Unity勉強会第4回 20

Page 21: 金沢Unity勉強会04 Unity開発Tips

2.何がいけなかったのか

• Canvasの設定を見直す

• Canvas ScalerのScale Modeが原因

• Constant Pixel Size->変更

→実はまだ十分ではない(場合によります)

金沢Unity勉強会第4回 21

Page 22: 金沢Unity勉強会04 Unity開発Tips

3.Letter Boxの適用

• 縦横に引き伸ばしたときはUIのアス比を固定してほしい

• Canvasの子にGameObjectを置く

• GameObjectのRectTransformを設定

• 更にその子に作ったUIを配置

• テレビに使われる手法(Letter Box)

→元のアス比が固定された!

金沢Unity勉強会第4回 22

Page 23: 金沢Unity勉強会04 Unity開発Tips

オサレUI3分クッキング

デモ

金沢Unity勉強会 第4回 23

Page 24: 金沢Unity勉強会04 Unity開発Tips

こんな感じのものを作ります

金沢Unity勉強会第4回 24