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
610
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
August 04, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
140
成果発表資料.pdf
akatsukinewgrad
0
2.1k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
570
正規表現とReDoS.pdf
akatsukinewgrad
0
560
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
530
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
710
7分でわかるアカツキゲームス
akatsukinewgrad
0
570
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
920
齋田.pdf
akatsukinewgrad
0
1k
Featured
See All Featured
Scaling GitHub
holman
463
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A designer walks into a library…
pauljervisheath
207
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Making Projects Easy
brettharned
117
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Code Review Best Practice
trishagee
71
19k
Transcript
Unityで大量のオブジェクト を吹き飛ばしたい 光吉健汰
自己紹介 • 光吉健汰 • 22卒サーバーサイドエンジニア • 趣味:ゲーム ◦ FPS、格闘、パズル、ストラテジー、音ゲーなど
• そろそろ実家の猫に会いたい
研修で作成したゲーム「Flick It」の負荷改善のお話 • フリック入力で、物体を回転させ、 くっついているものを吹き飛ばすゲーム • いっぱいくっついていると、吹き飛ばす時の爽快感が 高まる • 大量のオブジェクト+物理演算なので、
負荷が大きい 今回のお話
方針 計測、改善を繰り返し、負荷改善を図る 計測を行い、原因を絞ってから改善をしよう →闇雲に改善を行っても、効果が少ない可能性がある
計測 • 実機で動作させながら、プロファイラで負荷を確認 Development Buildと Autoconnect Profilerを 有効にする
ゲームを起動すると、 Profilerウィンドウが 立ち上がる
原因特定 • プロファイラから、どの部分で負荷が大きいかを探る ◦ Rendering:描画に関する処理 ◦ Scripts:スクリプトの処理 ◦
Physics:物理演算の処理
改善:描画負荷 原因 • ポストエフェクト • オブジェクトが多い 解決策 • ポストエフェクトを切る •
くっついているオブジェクトの種類は少ない →GPUインスタンシングを使う
改善:物理演算負荷 原因 • Rigidbodyの使いすぎ 解決策 • Rigidbodyのついたオブジェクトを減らす ◦ 元々の趣旨に反しているが、配置を工夫することで気付きにくくする
• 処理のシンプルな物理演算を書く ◦ 今回の場合、くっついているオブジェクトは 遠心力の計算さえできれば良い
改善:スクリプト処理 原因の特定 プロファイラからどの関数が重いか特定する Updateが重い→Updateで不必要な処理をしていないか確認する
まとめ • 研修時に行なった負荷改善を紹介した • 負荷改善は、計測をしてから行う • モバイル端末では、思った以上にFPSが出ない。 →必ず、端末で負荷を確認する。