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で大量のオブジェクト_を吹き飛ばしたい.pdf
Search
akatsukinewgrad
August 04, 2022
0
450
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
August 04, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
100
成果発表資料.pdf
akatsukinewgrad
0
1.8k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
430
正規表現とReDoS.pdf
akatsukinewgrad
0
430
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
410
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
500
7分でわかるアカツキゲームス
akatsukinewgrad
0
440
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
690
齋田.pdf
akatsukinewgrad
0
800
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Six Lessons from altMBA
skipperchong
26
3.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
42
2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
400
65k
Navigating Team Friction
lara
183
13k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
Building Flexible Design Systems
yeseniaperezcruz
324
37k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
Debugging Ruby Performance
tmm1
72
12k
A Modern Web Designer's Workflow
chriscoyier
690
190k
Practical Orchestrator
shlominoach
185
10k
Transcript
Unityで大量のオブジェクト を吹き飛ばしたい 光吉健汰
自己紹介 • 光吉健汰 • 22卒サーバーサイドエンジニア • 趣味:ゲーム ◦ FPS、格闘、パズル、ストラテジー、音ゲーなど
• そろそろ実家の猫に会いたい
研修で作成したゲーム「Flick It」の負荷改善のお話 • フリック入力で、物体を回転させ、 くっついているものを吹き飛ばすゲーム • いっぱいくっついていると、吹き飛ばす時の爽快感が 高まる • 大量のオブジェクト+物理演算なので、
負荷が大きい 今回のお話
方針 計測、改善を繰り返し、負荷改善を図る 計測を行い、原因を絞ってから改善をしよう →闇雲に改善を行っても、効果が少ない可能性がある
計測 • 実機で動作させながら、プロファイラで負荷を確認 Development Buildと Autoconnect Profilerを 有効にする
ゲームを起動すると、 Profilerウィンドウが 立ち上がる
原因特定 • プロファイラから、どの部分で負荷が大きいかを探る ◦ Rendering:描画に関する処理 ◦ Scripts:スクリプトの処理 ◦
Physics:物理演算の処理
改善:描画負荷 原因 • ポストエフェクト • オブジェクトが多い 解決策 • ポストエフェクトを切る •
くっついているオブジェクトの種類は少ない →GPUインスタンシングを使う
改善:物理演算負荷 原因 • Rigidbodyの使いすぎ 解決策 • Rigidbodyのついたオブジェクトを減らす ◦ 元々の趣旨に反しているが、配置を工夫することで気付きにくくする
• 処理のシンプルな物理演算を書く ◦ 今回の場合、くっついているオブジェクトは 遠心力の計算さえできれば良い
改善:スクリプト処理 原因の特定 プロファイラからどの関数が重いか特定する Updateが重い→Updateで不必要な処理をしていないか確認する
まとめ • 研修時に行なった負荷改善を紹介した • 負荷改善は、計測をしてから行う • モバイル端末では、思った以上にFPSが出ない。 →必ず、端末で負荷を確認する。