Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Grenge, Inc.
PPTX, PDF
10,209 views
UnityでUI開発を高速化した件
Gotanda.unity #13 in CyberAgent@渋谷 https://gotanda-unity.connpass.com/event/134867/ 登壇者:御厨
Mobile
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 38
2
/ 38
3
/ 38
4
/ 38
5
/ 38
6
/ 38
7
/ 38
8
/ 38
9
/ 38
10
/ 38
11
/ 38
12
/ 38
13
/ 38
Most read
14
/ 38
15
/ 38
16
/ 38
17
/ 38
18
/ 38
19
/ 38
20
/ 38
21
/ 38
22
/ 38
23
/ 38
24
/ 38
Most read
25
/ 38
26
/ 38
Most read
27
/ 38
28
/ 38
29
/ 38
30
/ 38
31
/ 38
32
/ 38
33
/ 38
34
/ 38
35
/ 38
36
/ 38
37
/ 38
38
/ 38
More Related Content
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
by
Unity Technologies Japan K.K.
PPTX
UniRxでMV(R)Pパターンをやってみた
by
torisoup
PDF
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4で作成するUIと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4とUnrealC++について
by
Masahiko Nakamura
PDF
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4における大規模レベル実装ワークフローとブループリント活用事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
by
Unity Technologies Japan K.K.
UniRxでMV(R)Pパターンをやってみた
by
torisoup
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4とUnrealC++について
by
Masahiko Nakamura
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4における大規模レベル実装ワークフローとブループリント活用事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
PDF
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unityアニメーションシステムの 今と未来の話
by
Unity Technologies Japan K.K.
PDF
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
MMORPGで考えるレベルデザイン
by
Katsumi Mizushima
PDF
わからないまま使っている?UE4 の AI の基本的なこと
by
rarihoma
PDF
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UniTask入門
by
torisoup
PDF
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
なぜなにリアルタイムレンダリング
by
Satoshi Kodaira
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4の色について v1.1
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UnrealBuildTool勉強会まとめ
by
Shun Sasaki
PDF
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityアニメーションシステムの 今と未来の話
by
Unity Technologies Japan K.K.
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
by
エピック・ゲームズ・ジャパン Epic Games Japan
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
MMORPGで考えるレベルデザイン
by
Katsumi Mizushima
わからないまま使っている?UE4 の AI の基本的なこと
by
rarihoma
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
UniTask入門
by
torisoup
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
by
エピック・ゲームズ・ジャパン Epic Games Japan
なぜなにリアルタイムレンダリング
by
Satoshi Kodaira
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4の色について v1.1
by
エピック・ゲームズ・ジャパン Epic Games Japan
UnrealBuildTool勉強会まとめ
by
Shun Sasaki
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4のポストプロセスを使った演出・絵作り
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
UnityでUI開発を高速化した件
1.
UnityでUI開発を高速化した件 御厨 雄輝 2019/07/24 Gotanda.unity
#13
2.
話すこと • 自己紹介 • Kick-Flight •
UI開発高速化のために行ったこと(3点)
3.
自己紹介 御厨 雄輝(みくりや ゆうき) 株式会社サイバーエージェント 2013年度入社 エンジニア ▼趣味 地下アイドル ボルダリング ポケモンカード
5.
Kick-Flight
6.
UI開発高速化のために行ったこと Q. なぜ高速化した?
7.
UI開発高速化のために行ったこと TGS 2018 闘会議 2019 CBT 2018/09 2019/01 2019/05
8.
UI開発高速化のために行ったこと TGS 2018 闘会議 2019 CBT 2018/09 2019/01 2019/05 インゲーム
新キャラ サーバ
9.
UI開発高速化のために行ったこと A. 高速化しないと間に合わない (ゲームの面白さを伝える部分の開発に比重をおいていた)
10.
UI開発高速化のために行ったこと Q. 何をした?
11.
UI開発高速化のために行ったこと A1. UI基盤機能を作る
12.
UI開発高速化のために行ったこと Unityのデフォルト機能で補えないもの
13.
UI基盤機能を作る ▼要件が不明でも必須なもの • 画面遷移 • 画面 •
ダイアログ • ボタン ▼要件によって必要なもの • ドラッグアンドドロップ • グリッドスクローラー(列、行) • スナップスクローラー(iOSホーム画面) • etc
14.
UI基盤機能を作る ▼画面設計方針 • 画面用ライフサイクルを作る • 画面遷移マネージャで各処理を呼ぶ ▼移動前画面 OnDisableStart OnDisableCoroutine OnDisableEnd ▼移動後画面 OnEnableStart OnEnableCoroutine OnEnableEnd 遷移
15.
UI基盤機能を作る ▼ダイアログ設計方針 • ダイアログ用ライフサイクルを作る • ダイアログマネージャで各処理を呼ぶ ▼ダイアログ OnCreate OnOpen OnClose 開く 閉じる
16.
UI基盤機能を作る ▼ボタン設計方針 • イベント用のインターフェースを実装 • タッチ、リリース、クリック、長押しを実装 •
外から処理を設定し使用する • アニメーション、SEは継承クラスで実装 ▼ボタン IPointerClickHandler IPointerDownHandler IPointerUpHandler Update(LongPress)
17.
UI基盤機能を作る ▼意識すべきこと • プロジェクト固有化しない • サードパーティ製のアセットありきにしない →
別案件でも展開できるくらいの深さ(余計なものを作らない) → それより先は継承して作る
18.
UI開発高速化のために行ったこと A2. デザインのレギュレーション を決める
19.
デザインのレギュレーションを決める 有象無象なUIデザインが生まれると 有象無象なUI実装が生まれる
20.
デザインのレギュレーションを決める
21.
デザインのレギュレーションを決める ▼デザイナに伝えたUnityのあれこれ • 9Slice • Color(乗算) •
SpriteAtlas • Mask
22.
デザインのレギュレーションを決める ▼9Slice • ImageのSlice機能を用いて余計な画像を作ってしま うロスを減らす • エンジニアがどの素材を使えばいいか悩むロスを減 らす
23.
デザインのレギュレーションを決める ▼Color(乗算) • 白色画像に色をのせてUIをつくり余計な画像を作っ てしまうロスを減らす • プログラムで色を定義することで素材作成でのミス を減らす
24.
デザインのレギュレーションを決める ▼SpriteAtlas • パフォーマンス観点で無限に画像素材を増やしたくない理由 の説明(ドローコール、メモリ) • レギュレーションの指標にする →
まとめることができるところをまとめる
25.
デザインのレギュレーションを決める ▼Mask • パフォーマンス観点で修正される可能性のある多用した くない表現の説明 • Maskを使わない素材の作り方 はじめからMaskされた素材を使う
フレームをのせてMaskを使用しないデザインにする
26.
UI開発高速化のために行ったこと A3. レギュレーションをもとに Prefab化
27.
レギュレーションをもとにPrefab化 ▼本件に必要だったもの • ダイアログ • ボタン •
サムネイル
28.
レギュレーションをもとにPrefab化 レイアウトさせる箇所を減らす (エンジニア、デザイナ問わず)
29.
レギュレーションをもとにPrefab化 Nested Prefabでやりやすくなった
30.
レギュレーションをもとにPrefab化
31.
レギュレーションをもとにPrefab化 AnchorでPrefabを置いた親に合わせて 適切なレイアウトになるように設定する
32.
レギュレーションをもとにPrefab化 AnchorでPrefabを置いた親に合わせて 適切なレイアウトになるように設定する
33.
レギュレーションをもとにPrefab化 AnchorでPrefabを置いた親に合わせて 適切なレイアウトになるように設定する
34.
レギュレーションをもとにPrefab化
35.
UI開発高速化のために行ったこと ▼まとめ • UI基盤機能を作る • デザインのレギュレーションを決める •
レギュレーションをもとにPrefab化
36.
UI開発高速化のために行ったこと ▼まとめ • UI基盤機能を作る • デザインのレギュレーションを決める •
レギュレーションをもとにPrefab化 → レイアウトするオブジェクトも 共通化することが重要
37.
UI開発高速化のために行ったこと ▼まとめ • UI基盤機能を作る • デザインのレギュレーションを決める •
レギュレーションをもとにPrefab化 → UIのレギュレーション整備は UXに好影響
38.
ありがとうございました!
Editor's Notes
#3
アジェンダ
#4
入社時からUnityをさわりはじめ現在3本目のUnity製スマホゲームを製作中 LT初登壇なのでおてやわらかに…
#5
株式会社グレンジで開発中のアクションタイトル 先日CBTを行いリリースに向け絶賛開発中 現在事前登録中なので是非公式サイトをのぞいてみてください
#6
3Dのキャラを操作し360度飛行しながら4対4で対戦を行うアクションゲーム 様々なキャラクターや多彩なスキルを使用しマルチプレイの対戦を行う 本日は本ゲームのUI開発についてお話させていただきます
#7
そもそもなぜ高速化が必要だったのかという点について説明
#8
直近のキックフライトのイベント 先日開催したCBTに加えトーキョーゲームショウやニコニコ闘会議への出展など短期のスパンで大きいイベントが立て続けにあった
#9
ユーザにお披露目したTGSまではゲームの本質的な部分(ゲームルールやバトルまわり)の改修に力を入れており闘会議までは新キャラの追加、CBTまでにはAPIやデータの疎通実装など短期間で重要な機能の実装が必要だった 闘会議までは出展ということもありバトルができるところまでで大丈夫だったがCBTではゲームを通しての一連の機能が必要になった
#10
出展でゲームの本質部分であるインゲームでダイレクトに面白さを感じてもらうためそちらに力をさきたい状況だった UIの実装に手間取らない環境整備をしておかないと間に合わないというスケジュール感
#11
ただUI実装は得意とするところであったので任せてくださいという感じで進めた 何をしたかについて3つのポイントを伝える
#13
Unityのデフォルト機能で補えないコンポーネントのスクリプト作成を行う
#14
大抵のゲームでは要件が不明でも必要な機能が想像できる 仕様展開が行われる前に先回りして実装することができる これらの機能は資産化するので会社として作っておくことが望まれる 先回りで浮いた時間を使って要件によって必要なものを作る
#18
アニメーションやSEなどプロジェクト固有となりそうな処理は基盤的な機能に含めると別の箇所で使用するにも汎用性がなくなる 余計な機能を増やして作る側も使う側も時間をとらないように必要最低限のものをつくり継承先で機能を増やす Androidのバックキー対応などでもこのような基底機能の存在は開発速度を上げるために重要
#20
デザインの数だけ実装が必要
#21
左がフォントのレギュレーション、右がカラーのレギュレーション 他にも多々あるがわかりやすい例としてこの2つを載せた デザイナに数を絞り整えていってもらう作業 決まってしまえばプログラムで定義できることが多いので実装もある程度安心できる
#22
デザイナに伝えて理解しておいてもらったほうが良いUnityの機能 実際に使用する素材の書き出し方に関わるのでデザイナにオリエンして理解してもらった
#28
本件で必要になった共通化できるオブジェクト ゲームを作っていれば同じような感じになると思う
#29
考慮すべきなのはレイアウトさせる箇所を減らすという点 プロジェクトによってエンジニアがレイアウトしたりデザイナがレイアウトしたりフローは様々だと思うが職種の違いは関係なく人の違いによってレイアウトの精度のブレは出てしまう ここをPrefabでカバーできる設計を目指していくと良い
#30
以前はレイアウトさせる箇所を減らす設計を目指すためにプログラムでひと手間必要だったがUnity 2018.3から追加されたNested Prefabでやりやすくなったと感じる
#31
シンプルなダイアログを作成する場合の例です
#32
これはダイアログの背景 親に配置するだけでタイトル位置と白い部分のレイアウトが担保される
#33
閉じるボタン ダイアログ下部からの距離を指定している
#34
ダイアログ内ボタン ダイアログ下部からの距離を指定している
#35
AnchorがつけられたPrefabを配置していき数値をいじることなくレイアウトを完成させる例 レギュレーションを決めたうえで部品を作っておくと配置するだけでレイアウトできる 以前は調整を反映させるためにprefabの参照をもって生成するプログラムを書いたりしていたが Nested Prefabがあることで細かな調整も一斉に反映できるようになった これも高速化につながった
#36
以上3点がUI開発を高速化させるために行った3つのこと 主にレギュレーションの整備、共通化をキーワードに実装コストを下げていく方針で高速化を行った エンジニアだけで完結しないので骨が折れる作業だが これらの項目はUI実装のクオリティアップのために高速化にかかわらずやったほうがいいこと
#37
エンジニアがプログラムで意識することがある共通化のようなデザインパターンはUI実装でも同じだと思っている 同じものを使い回すことでバグのリスクを減らせるし実装コストも減らせる またレイアウトはデザイナ視点からでしか評価しづらいところなので狙い通りに行かないことがあるのも吸収でき UXの向上につなげることができる
#38
レギュレーションの整備はUXにも繋がる 学習コストやインタラクションのブレがなくなることでユーザー体験の最適化を行うことができる 近年はどの企業さんもゲームのクオリティが高いのでUXの最適化は市場でいっぽぬきんでるためにも捨てがたいところだと思う 以上でまとめとさせていただきます
Download