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
510
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
490
正規表現とReDoS.pdf
akatsukinewgrad
0
480
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
460
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
590
7分でわかるアカツキゲームス
akatsukinewgrad
0
500
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
770
齋田.pdf
akatsukinewgrad
0
880
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Typedesign – Prime Four
hannesfritz
40
2.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
YesSQL, Process and Tooling at Scale
rocio
170
14k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Designing Experiences People Love
moore
139
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
For a Future-Friendly Web
brad_frost
176
9.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Transcript
Unityで大量のオブジェクト を吹き飛ばしたい 光吉健汰
自己紹介 • 光吉健汰 • 22卒サーバーサイドエンジニア • 趣味:ゲーム ◦ FPS、格闘、パズル、ストラテジー、音ゲーなど
• そろそろ実家の猫に会いたい
研修で作成したゲーム「Flick It」の負荷改善のお話 • フリック入力で、物体を回転させ、 くっついているものを吹き飛ばすゲーム • いっぱいくっついていると、吹き飛ばす時の爽快感が 高まる • 大量のオブジェクト+物理演算なので、
負荷が大きい 今回のお話
方針 計測、改善を繰り返し、負荷改善を図る 計測を行い、原因を絞ってから改善をしよう →闇雲に改善を行っても、効果が少ない可能性がある
計測 • 実機で動作させながら、プロファイラで負荷を確認 Development Buildと Autoconnect Profilerを 有効にする
ゲームを起動すると、 Profilerウィンドウが 立ち上がる
原因特定 • プロファイラから、どの部分で負荷が大きいかを探る ◦ Rendering:描画に関する処理 ◦ Scripts:スクリプトの処理 ◦
Physics:物理演算の処理
改善:描画負荷 原因 • ポストエフェクト • オブジェクトが多い 解決策 • ポストエフェクトを切る •
くっついているオブジェクトの種類は少ない →GPUインスタンシングを使う
改善:物理演算負荷 原因 • Rigidbodyの使いすぎ 解決策 • Rigidbodyのついたオブジェクトを減らす ◦ 元々の趣旨に反しているが、配置を工夫することで気付きにくくする
• 処理のシンプルな物理演算を書く ◦ 今回の場合、くっついているオブジェクトは 遠心力の計算さえできれば良い
改善:スクリプト処理 原因の特定 プロファイラからどの関数が重いか特定する Updateが重い→Updateで不必要な処理をしていないか確認する
まとめ • 研修時に行なった負荷改善を紹介した • 負荷改善は、計測をしてから行う • モバイル端末では、思った以上にFPSが出ない。 →必ず、端末で負荷を確認する。