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
520
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
August 04, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
110
成果発表資料.pdf
akatsukinewgrad
0
1.9k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
500
正規表現とReDoS.pdf
akatsukinewgrad
0
490
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
470
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
620
7分でわかるアカツキゲームス
akatsukinewgrad
0
510
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
790
齋田.pdf
akatsukinewgrad
0
900
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Cult of Friendly URLs
andyhume
78
6.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
GitHub's CSS Performance
jonrohan
1030
460k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Facilitating Awesome Meetings
lara
52
6.2k
Building an army of robots
kneath
303
45k
Transcript
Unityで大量のオブジェクト を吹き飛ばしたい 光吉健汰
自己紹介 • 光吉健汰 • 22卒サーバーサイドエンジニア • 趣味:ゲーム ◦ FPS、格闘、パズル、ストラテジー、音ゲーなど
• そろそろ実家の猫に会いたい
研修で作成したゲーム「Flick It」の負荷改善のお話 • フリック入力で、物体を回転させ、 くっついているものを吹き飛ばすゲーム • いっぱいくっついていると、吹き飛ばす時の爽快感が 高まる • 大量のオブジェクト+物理演算なので、
負荷が大きい 今回のお話
方針 計測、改善を繰り返し、負荷改善を図る 計測を行い、原因を絞ってから改善をしよう →闇雲に改善を行っても、効果が少ない可能性がある
計測 • 実機で動作させながら、プロファイラで負荷を確認 Development Buildと Autoconnect Profilerを 有効にする
ゲームを起動すると、 Profilerウィンドウが 立ち上がる
原因特定 • プロファイラから、どの部分で負荷が大きいかを探る ◦ Rendering:描画に関する処理 ◦ Scripts:スクリプトの処理 ◦
Physics:物理演算の処理
改善:描画負荷 原因 • ポストエフェクト • オブジェクトが多い 解決策 • ポストエフェクトを切る •
くっついているオブジェクトの種類は少ない →GPUインスタンシングを使う
改善:物理演算負荷 原因 • Rigidbodyの使いすぎ 解決策 • Rigidbodyのついたオブジェクトを減らす ◦ 元々の趣旨に反しているが、配置を工夫することで気付きにくくする
• 処理のシンプルな物理演算を書く ◦ 今回の場合、くっついているオブジェクトは 遠心力の計算さえできれば良い
改善:スクリプト処理 原因の特定 プロファイラからどの関数が重いか特定する Updateが重い→Updateで不必要な処理をしていないか確認する
まとめ • 研修時に行なった負荷改善を紹介した • 負荷改善は、計測をしてから行う • モバイル端末では、思った以上にFPSが出ない。 →必ず、端末で負荷を確認する。