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
540
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
August 04, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
120
成果発表資料.pdf
akatsukinewgrad
0
1.9k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
520
正規表現とReDoS.pdf
akatsukinewgrad
0
510
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
480
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
640
7分でわかるアカツキゲームス
akatsukinewgrad
0
520
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
820
齋田.pdf
akatsukinewgrad
0
920
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
A Tale of Four Properties
chriscoyier
158
23k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Unsuck your backbone
ammeep
670
57k
How STYLIGHT went responsive
nonsquared
99
5.4k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
A Modern Web Designer's Workflow
chriscoyier
693
190k
RailsConf 2023
tenderlove
29
1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
470
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
Unityで大量のオブジェクト を吹き飛ばしたい 光吉健汰
自己紹介 • 光吉健汰 • 22卒サーバーサイドエンジニア • 趣味:ゲーム ◦ FPS、格闘、パズル、ストラテジー、音ゲーなど
• そろそろ実家の猫に会いたい
研修で作成したゲーム「Flick It」の負荷改善のお話 • フリック入力で、物体を回転させ、 くっついているものを吹き飛ばすゲーム • いっぱいくっついていると、吹き飛ばす時の爽快感が 高まる • 大量のオブジェクト+物理演算なので、
負荷が大きい 今回のお話
方針 計測、改善を繰り返し、負荷改善を図る 計測を行い、原因を絞ってから改善をしよう →闇雲に改善を行っても、効果が少ない可能性がある
計測 • 実機で動作させながら、プロファイラで負荷を確認 Development Buildと Autoconnect Profilerを 有効にする
ゲームを起動すると、 Profilerウィンドウが 立ち上がる
原因特定 • プロファイラから、どの部分で負荷が大きいかを探る ◦ Rendering:描画に関する処理 ◦ Scripts:スクリプトの処理 ◦
Physics:物理演算の処理
改善:描画負荷 原因 • ポストエフェクト • オブジェクトが多い 解決策 • ポストエフェクトを切る •
くっついているオブジェクトの種類は少ない →GPUインスタンシングを使う
改善:物理演算負荷 原因 • Rigidbodyの使いすぎ 解決策 • Rigidbodyのついたオブジェクトを減らす ◦ 元々の趣旨に反しているが、配置を工夫することで気付きにくくする
• 処理のシンプルな物理演算を書く ◦ 今回の場合、くっついているオブジェクトは 遠心力の計算さえできれば良い
改善:スクリプト処理 原因の特定 プロファイラからどの関数が重いか特定する Updateが重い→Updateで不必要な処理をしていないか確認する
まとめ • 研修時に行なった負荷改善を紹介した • 負荷改善は、計測をしてから行う • モバイル端末では、思った以上にFPSが出ない。 →必ず、端末で負荷を確認する。