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
350
Unityテスト活動のふりかえり
adarapata
1
490
Gather.townはいいぞ その後
adarapata
1
1.4k
どこのご家庭にもあるシーンマネージャーの話
adarapata
1
7k
Gather.townはいいぞ
adarapata
2
2.3k
宴はいいぞ
adarapata
0
1.2k
わかった気になるモブプログラミング
adarapata
1
76
モブワークっぽいのをやっている話/Trying mobwork
adarapata
2
1.2k
Zenjectを導入する前に
adarapata
0
3.7k
Other Decks in Technology
See All in Technology
SAVEPOINT α版
savepoint
0
600
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
41k
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
150
【Λ(らむだ)最近のアプデ情報 / RPALT20240904
lambda
0
180
AWS SAW を広めたい @四国クラウドお遍路
kazzpapa3
0
210
RAGHack: Kickoff and RAG 101
pamelafox
0
290
20分で分かるIAM全機能 (拡大版) / 20240903-jawsug-yokohama-iam
opelab
3
140
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
4
130
PDF Viewer作成の今までとこれから
hunachi
0
210
Segment Anything Model 2
tenten0727
2
450
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
210
Featured
See All Featured
Designing for Performance
lara
604
68k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
Infographics Made Easy
chrislema
239
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Side Projects
sachag
451
42k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
24
3.9k
Designing with Data
zakiwarfel
98
5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Being A Developer After 40
akosma
83
580k
Scaling GitHub
holman
458
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
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を扱う強みを活かそう • 競合を避けるためにレイヤーを意識しよう • レイヤーを理解するために各職種の仕事を理解しよう
質疑応答