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
220
Unityテスト活動のふりかえり
adarapata
1
470
Gather.townはいいぞ その後
adarapata
1
1.3k
どこのご家庭にもあるシーンマネージャーの話
adarapata
1
6.4k
Gather.townはいいぞ
adarapata
2
2.2k
宴はいいぞ
adarapata
0
1k
わかった気になるモブプログラミング
adarapata
1
60
モブワークっぽいのをやっている話/Trying mobwork
adarapata
2
1.1k
Zenjectを導入する前に
adarapata
0
3.6k
Other Decks in Technology
See All in Technology
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
240
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
150
Janus
bkuhlmann
1
490
入社後初めてのタスクでk8sアップグレードした話.pdf
kkato1
1
380
キャラクター制御のためのプロンプト術 for LINE Bot
uezo
0
530
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
100
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
170
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
14
35k
TransitGatewayの基礎
toru_kubota
0
230
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
10
2.2k
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
How to train your dragon (web standard)
notwaldorf
72
5.1k
Web development in the modern age
philhawksworth
202
10k
What's in a price? How to price your products and services
michaelherold
237
11k
Thoughts on Productivity
jonyablonski
57
3.8k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
The Invisible Customer
myddelton
114
12k
A better future with KSS
kneath
231
16k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
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を扱う強みを活かそう • 競合を避けるためにレイヤーを意識しよう • レイヤーを理解するために各職種の仕事を理解しよう
質疑応答