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
23k
Unityでの開発事例
新卒エンジニア向け研修でお話しました。
利用したものから社外秘情報を抜いています。
いも
May 10, 2021
Tweet
Share
More Decks by いも
See All by いも
UnityプログラミングバイブルR6号宣伝&Unity Logging小話
adarapata
0
580
Unityテスト活動のふりかえり
adarapata
1
580
Gather.townはいいぞ その後
adarapata
1
1.6k
どこのご家庭にもあるシーンマネージャーの話
adarapata
1
8.3k
Gather.townはいいぞ
adarapata
2
2.4k
宴はいいぞ
adarapata
0
1.5k
わかった気になるモブプログラミング
adarapata
1
120
モブワークっぽいのをやっている話/Trying mobwork
adarapata
2
1.3k
Zenjectを導入する前に
adarapata
0
3.9k
Other Decks in Technology
See All in Technology
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.8k
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
160
Dify on AWS 環境構築手順
yosse95ai
0
160
様々なファイルシステム
sat
PRO
0
260
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
320
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
5
1.9k
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
5
1.3k
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
150
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
420
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
280
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
480
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
130
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Code Review Best Practice
trishagee
72
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Thoughts on Productivity
jonyablonski
71
4.9k
The Pragmatic Product Professional
lauravandoore
36
7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
650
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
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を扱う強みを活かそう • 競合を避けるためにレイヤーを意識しよう • レイヤーを理解するために各職種の仕事を理解しよう
質疑応答