Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unityでの開発事例
Search
いも
May 10, 2021
Technology
3
22k
Unityでの開発事例
新卒エンジニア向け研修でお話しました。
利用したものから社外秘情報を抜いています。
いも
May 10, 2021
Tweet
Share
More Decks by いも
See All by いも
UnityプログラミングバイブルR6号宣伝&Unity Logging小話
adarapata
0
380
Unityテスト活動のふりかえり
adarapata
1
500
Gather.townはいいぞ その後
adarapata
1
1.5k
どこのご家庭にもあるシーンマネージャーの話
adarapata
1
7.3k
Gather.townはいいぞ
adarapata
2
2.3k
宴はいいぞ
adarapata
0
1.3k
わかった気になるモブプログラミング
adarapata
1
84
モブワークっぽいのをやっている話/Trying mobwork
adarapata
2
1.2k
Zenjectを導入する前に
adarapata
0
3.8k
Other Decks in Technology
See All in Technology
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
590
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.3k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Rails Girls Zürich Keynote
gr2m
94
13k
Six Lessons from altMBA
skipperchong
27
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Statistics for Hackers
jakevdp
796
220k
Happy Clients
brianwarren
98
6.7k
Transcript
Unityでの開発事例 2021/04/22 井本 大登
自己紹介 • 井本大登(imo) • https://adarapata.com • Unityクライアントエンジニア • テストとかDIとかの話をよくします •
ガルパン
アジェンダ • Unity開発事例 • Unityでの開発で考えること
開発事例 社外非公開情報なので見せられないよ!
チームメンバーは大体Unityを触る • エンジニアはもちろん • デザイナも企画もUnityを使う • 「リソースを作ったのでUnityに追加してください」というフローはない(多分) • 自分で作って自分で確認するのが一番早い
2D 3D C# Scripting Sound Timeline UI Unityの機能を使って各メンバーが開発を行う
エンジニアがやっていること • コンテンツを作る • コンテンツを作れるような仕組みを作る • 効率的に作業できるような自動化
2D 3D C# Scripting Sound Timeline UI プロダクトを作りやすいようにカスタマイズしていく ステージ エディタ
ファイル チェッカー 実機 デバッガ
ex.井本が主にやっていること • アウトゲーム全体の基盤システムの作成 ◦ 画面遷移の仕組みとか • エンジニアが高速に開発できるような整備 ◦ 開発ルールなどの策定 ◦
テストコードの導入でコード品質の担保及び向上 • 機能開発 ◦ ゲームとしてこんなのがほしいとか
Unityでの開発で考えるべきこと • 統合開発環境の強みを活かす • みんなでUnityを触るということを理解する
統合開発環境である強みを活かす • 複数の職能の人たちが共通言語で会話できるのは開発効率がよい ◦ Prefabを触ってください、Sceneを確認してくださいで伝わるのはよいこと ◦ 専門領域ごとのUnity知識が共有できるとチーム全体の糧になる ◦ エンジニアがUI組んだりバランス調整したってよい •
一緒にモノを作るという環境を作りやすい ◦ 目の前でUI作って目の前でコードを直して目の前でデータを修正する ◦ 一緒に作るのが一番認識の齟齬と手戻りを抑えられる ◦ 一体感を得られることはプロダクト開発で重要
みんなでUnityを触るということを理解する デザイナがUIレイアウトを編集し、プランナーがキャラクターのデータを調整することが常に 行われる世界。 PrefabやSceneに素朴にコンポーネントをアタッチしてコードを書いていくと、同一のファイル への変更差分が発生してコンフリクトが起きることもままある。
Player.prefab レイアウト修正 コード修正 バランス調整 無理無理無理無理 衝突
適切なレイヤリングを意識する 各職種が何をやりたいのか、そのためにはどの部分を扱えば良いのか理解し、コードを分解していく。 • データとロジックの分割、切り出し ◦ ScriptableObject、Excel、json、etc... • 巨大なMonoBehaviourからの脱却 ◦ デザイナの触りたい
UI機能の領域とゲームロジックを切り分ける ◦ MonoBehaviourを継承すべきかも考えるべき 最終的には責務を分けたコードの分割統治が大事
レイヤーを分けること ≠ 無関心でいること 「言われた通りにデータを調整できるようにしたから上手くいく」はほぼない。 相手がどのようなワークフローなのかを知らないとそもそも適切なレイヤーを切ることはできない。 • 相手がUnityをどう使おうとしているのか理解すること ◦ どの機能を使おうとしている?どんなミスが起こりうる? ◦
故にUnityの知識も大事 • プロダクトがどのような性質なのかドメインを理解すること ◦ 格闘ゲームと音楽ゲームでは設計が根本から異なる
まとめ • みんなでUnityを扱う強みを活かそう • 競合を避けるためにレイヤーを意識しよう • レイヤーを理解するために各職種の仕事を理解しよう
質疑応答