YouTube2Text

КАК ОПТИМИЗИРОВАТЬ ИГРУ НА UNITY - БЫСТРЫЙ ГАЙД ПО ОПТИМИЗАЦИИ (Запекание теней, LOD и т. д.) — Transcript

by Чувашов · 1,355 words · 242 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Здорово! Опять пылесосишь YouTube в
  2. 0:02поисках лучших инструментов оптимизации
  3. 0:04для своей кривой игры? Да, вот я и
  4. 0:06поймал тебя за руку. Но не спеши
  5. 0:08расстраиваться. Я тебя не осуждаю. Более
  6. 0:10того, я тебя прекрасно понимаю. Так что
  7. 0:13присаживайся поудобнее и оформляй
  8. 0:15подписку на канал. Сегодня ты нашёл
  9. 0:17золото. Причём не просто какой-то
  10. 0:18камень, а целый, мать его, золотой
  11. 0:20слиток. Сегодня я тебе на пальцах
  12. 0:22покажу, какие бывают способы оптимизации
  13. 0:24в играх, как достичь максимального FPS в
  14. 0:27Юни, при этом не потеряв графики. И
  15. 0:29почему крупные студии забили на
  16. 0:31оптимизацию? Погнали. Давай поговорим на
  17. 0:33чистоту. Ты наверняка 100 раз слышал,
  18. 0:35что проекты на Юнити плохо
  19. 0:37оптимизированы. А что, если я скажу
  20. 0:39обратное? Unнити располагает огромнейшим
  21. 0:41функционалом для оптимизации проектов.
  22. 0:43Только проблема в том, что в основном на
  23. 0:45этом движке клепают мемные игры
  24. 0:47однодневки, и никому даже в голову не
  25. 0:49приходит заняться оптимизацией. Не
  26. 0:51веришь? Давай по порядку. Весь процесс
  27. 0:53оптимизации мы будем делить на три
  28. 0:55этапа. Оптимизация графики, оптимизация
  29. 0:58физики и кода. Оптимизация графики, как
  30. 1:01ни странно, начинается с асетов. Если у
  31. 1:03тебя огромное количество асетов, то
  32. 1:05денёк другой тебе придётся применить на
  33. 1:07себе роль офицера гестапа и заняться
  34. 1:09зачисткой. Самые тупые советы, которые я
  35. 1:12могу тебе тут дать - это, во-первых,
  36. 1:14удали всё, что не используешь. [ __ ]
  37. 1:16да? А во-вторых, задумайся о форматах.
  38. 1:18Всякие картинки, аудиозвуки и видео
  39. 1:20весят неприлично много. Всё это можно
  40. 1:23заменить по следующей схеме. Для моделей
  41. 1:25мы используем по базе либо FBX, либо
  42. 1:27OBG. Для текстур лучше использовать
  43. 1:29адаптивное масштабируемое сжатие или
  44. 1:32сжатие Эриксона, а также такие, но ими я
  45. 1:35не пользовался. Для аудио вместо
  46. 1:36привычного MP3 лучше взять Warb. И,
  47. 1:39кстати, бонусом в своём ТГ-канале я
  48. 1:41расскажу о таких же подробных мелочах в
  49. 1:43оптимизации, которые можно реализовать
  50. 1:45всего за пару минут, и о том, как
  51. 1:47настроить графику в игре. Поэтому
  52. 1:48переходи по ссылке в описании и
  53. 1:50подписывайся. Второе. Далеко не отходя
  54. 1:53от асетов, обрати внимание на прифабы.
  55. 1:55Придерживайся следующего. Если тебя
  56. 1:57парит тот факт, что твоя игра много
  57. 1:59весит, то постарайся сделать как можно
  58. 2:01больше объектов прифабами. А если твоя
  59. 2:03игра слишком долго грузится или объекты
  60. 2:05прогружаются по ходу игры, то наоборот
  61. 2:07попрощайся с большинством из них.
  62. 2:09Третье, запеки статичные тени. При этом
  63. 2:12процессе твои тени не будут
  64. 2:13отрисовываться в реалтайме, а отрисуются
  65. 2:16заранее на текстурах. Если всё сделать
  66. 2:18правильно, то это даст огромный прирост
  67. 2:20FPS, потому что тени - это, не побоюсь
  68. 2:22сказать, процентов 30 твоей оптимизации.
  69. 2:25Да, процесс долгий, скорее всего,
  70. 2:27потребуется его переделать раза так три,
  71. 2:30но, поверь, оно того стоит. Для этого
  72. 2:32нужно сначала определить, какие объекты
  73. 2:34будут статичными, ибо только на них
  74. 2:36можно сделать статичные тени, что в
  75. 2:38целом логично. Чтобы это сделать,
  76. 2:40выделяем объект и в инспекторе свойств
  77. 2:42выбираем бачиing stating и staticusion.
  78. 2:44Он нам пригодится позже. и применяем к
  79. 2:46дочерним объектам, если таковые есть.
  80. 2:49Кстати, интересный факт по древо
  81. 2:51иерархии. Чем меньше вложенных объектов
  82. 2:53друг друга, тем лучше FPS. Влияет,
  83. 2:55конечно, процента на два-три, но тем не
  84. 2:57менее. Четвёртое. Теперь поговорим про
  85. 2:59сглаживание объектов. Есть такая штука,
  86. 3:02как полигоны. Простыми словами, это
  87. 3:04треугольники, из которых строится
  88. 3:053D-модель. Для сравнения, в этом
  89. 3:07Натанрейке 30.000 полигонов, а спустя
  90. 3:10несколько лет в нём уже более 90.
  91. 3:13Соответственно, чем больше полигонов,
  92. 3:15тем детализирование модель. Но отсюда
  93. 3:17вытекают другие проблемы. Нет смысла
  94. 3:19просто фигачить всю сцену из модели с
  95. 3:21убойным количеством полигонов, так как
  96. 3:23это негативно отразится на твоём FPS.
  97. 3:26Плюс, чем дальше камера от объекта, тем
  98. 3:28менее различима разница в сглаживании
  99. 3:30этого объекта. Поэтому для таких гениев,
  100. 3:32как ты, придумали лот группу. Очень
  101. 3:34круто, если ты Пикасса и сам рисуешь
  102. 3:37свои 3D-модели. Но если нет, то не беда,
  103. 3:39ведь ты можешь заранее позаботиться и с
  104. 3:41помощью различных плагинов, например, в
  105. 3:43Блендере или 3D-максе, создать
  106. 3:45низкополигональные вариации своих
  107. 3:47моделей и засунуть в Юнити. Работать это
  108. 3:49будет следующим образом. Чем дальше
  109. 3:51игрок от объекта, тем хуже у него
  110. 3:53детализация. Тут же можно настроить, на
  111. 3:55каком расстоянии от камеры модель будет
  112. 3:57заменяться на свою убогую версию. К тому
  113. 4:00же многие авторы вообще кидают на задний
  114. 4:02план обычные панели с картинками вместо
  115. 4:053D-моделей. Единственный минус, если на
  116. 4:07сцене у тебя слишком много объектов,
  117. 4:09данный способ может наоборот сожрать
  118. 4:11твой FPS, поэтому его нужно применять
  119. 4:13выборочно и не к каждому объекту.
  120. 4:15Кстати, интересный факт, в Анриле ребята
  121. 4:17пошли дальше и доработали данную
  122. 4:19систему, создав вот это. Она работает по
  123. 4:22такому же принципу и ещё лучше сейвит
  124. 4:24твой FPS, но Анрилу это вряд ли чем-то
  125. 4:27поможет. Пятое. Killing Mask. Рендеринг
  126. 4:30только тех объектов, которые попадают в
  127. 4:32кадр. В ЮНИТИ можно включить прорисовку
  128. 4:34только тех объектов, которые попадают в
  129. 4:36поле зрения игрока. Это позволит компу
  130. 4:38немного расслабиться и подзабить на
  131. 4:40ежесекундную отрисовку каждого объекта
  132. 4:42на сцене. Для этого нужно выбрать камеру
  133. 4:44и включить функцию occusion cooling.
  134. 4:46Затем перейти во вкладку Window
  135. 4:50Cooling. Настроить параметры, как на
  136. 4:52видео, и запечь. Шестое. Динамический
  137. 4:55батчинг. По умолчанию он включён в Unни,
  138. 4:57но чтобы убедиться, перейдите в Edit,
  139. 4:59Project Settings, Player и прочие
  140. 5:01настройки. Эта опция позволяет
  141. 5:03группировать объекты с одинаковыми
  142. 5:05материалами. Самый банальный способ
  143. 5:07улучшить FPS в игре - это поиграться с
  144. 5:09настройками и уменьшить дальность теней
  145. 5:11и прорисовки. Но про настройки мы
  146. 5:13поговорим как-нибудь в другой раз. Если
  147. 5:15хочешь разобрать URP или HDRP, то пиши в
  148. 5:18комментариях. Теперь поговорим про
  149. 5:20оптимизацию физики. Во-первых, разберись
  150. 5:22с коллайдерами. Коллайдеры занимают
  151. 5:24второе место после теней света по
  152. 5:26нагрузке на систему. Придерживайся
  153. 5:28основных правил. Чем меньше коллайдеров
  154. 5:30на сцене, и чем они проще, тем лучше. В
  155. 5:33местах, где игрок не дотягивается до
  156. 5:34объектов типа крыши, верхней части
  157. 5:37зданий или объектов за забором, лучше
  158. 5:39вообще не добавлять коллайдеры. Плюс
  159. 5:41старайся как можно меньше использовать
  160. 5:43шкалайдеer. Если у тебя не
  161. 5:44мультиплеерная игра, где важен ТТК, то
  162. 5:47лучше ставить на всех объектах
  163. 5:48примитивные коллайдеры типы бокса или
  164. 5:50цилиндра. Также по поводу коллайдеров.
  165. 5:52Обязательно расставь слои
  166. 5:53взаимодействия. Так компьютеру будет
  167. 5:55проще, и он не будет лишний раз
  168. 5:57просчитывать связи взаимодействия между
  169. 5:59объектами, которые не должны
  170. 6:00сталкиваться. Это можно сделать тут.
  171. 6:02Достаточно просто выбрать слои и в
  172. 6:04настройках отметить галочками то, что
  173. 6:06должно взаимодействовать между собой.
  174. 6:08Также можно снизить частоту Fixed Time
  175. 6:10Speed. По умолчанию в Юнити используется
  176. 6:12значение 0,2. Это частота 50 кадров в
  177. 6:15секунду. Но физика вполне спокойно будет
  178. 6:17работать и на 30 кадрах. Ну и в конце
  179. 6:20концов поговорим про оптимизацию кода.
  180. 6:22Первое, начнём с простого. Чем меньше
  181. 6:24хуйни в апдейте, тем лучше, потому что
  182. 6:26апдейт обновляется целиком, каждый
  183. 6:28фрейм, что ведёт к большей нагрузке.
  184. 6:30Вместо этого для обработки изменений
  185. 6:32лучше использовать события и делегаты.
  186. 6:34Второе. Учить программированию я тебя,
  187. 6:37конечно, не буду, но если у тебя есть
  188. 6:39проблемы с алгоритмами, то попробуй их
  189. 6:41оптимизировать с помощью чат GPT. Просто
  190. 6:43закинь ему скрипт и попроси ускорить
  191. 6:46код. Третье. Используй асинхронность.
  192. 6:48Этот способ позволяет выполнять задачи
  193. 6:50без блокировки основного потока. В
  194. 6:52качестве примера можно использовать
  195. 6:54карутины, и, возможно, они помогут
  196. 6:56разгрузить основной поток данных. В
  197. 6:58общем, оптимизация игры - это достаточно
  198. 7:00долгий и затратный процесс, в котором
  199. 7:02нужно учитывать огромное количество
  200. 7:04деталей. И порой именно оптимизация
  201. 7:07решает, останутся те или иные фишки в
  202. 7:09игре или их попросту снесут перед
  203. 7:11релизом. Но почему так происходит?
  204. 7:13Неужели всё дело в неопытности
  205. 7:15разработчиков? Нет. К большому
  206. 7:17сожалению, могу вас уверить, что любой
  207. 7:19более-менее состоявшийся разработчик
  208. 7:21знает о всех этих методах и старается
  209. 7:23следовать им в ходе разработки игры. Но
  210. 7:25зачастую есть множество сторонних
  211. 7:27факторов, которые мешают разрабам
  212. 7:29выпустить продукт в идеальном состоянии.
  213. 7:32Причин много. начиная давление
  214. 7:33инвесторов, которые не разбираются и
  215. 7:35даже не хотят вдаваться в эти процессы и
  216. 7:38давят на студии, боясь конкурентов или
  217. 7:40потери актуальности игры, заканчивая
  218. 7:43опенсорсными движками, такими как Unity
  219. 7:45и Unreal, потому что в них слишком много
  220. 7:47функций, которые сильно грузят проект, а
  221. 7:49по сути даже и не используются в той
  222. 7:51мере, чтобы оправдать затраты системы.
  223. 7:53Раньше у больших компаний были
  224. 7:55собственные движки, в которых они
  225. 7:56добавляли только то, что им необходимо.
  226. 7:58Но в погоне за уменьшением времени
  227. 8:00разработки и затрат на производство
  228. 8:03авторы чаще стали выбирать открытые
  229. 8:05движки. Примером здесь является
  230. 8:06четвёртый Ведьмак, который создаётся не
  231. 8:08на привычном для студии Red Engine, а на
  232. 8:11пятом Анриле, из-за чего уже идут
  233. 8:12новости о том, что внутри компании
  234. 8:14наступил производственный ад с
  235. 8:16оптимизацией. Как это скажется на
  236. 8:18Геймдеве в будущем и станут ли все игры
  237. 8:20похожи друг на друга, решать вам.
  238. 8:22Пишите, что думаете по этому поводу,
  239. 8:24оставляйте комментарии, а я с вами
  240. 8:26прощаюсь. Всем спасибо за просмотр.
  241. 8:28Пока.
  242. 8:32[музыка]

About this transcript

This page contains the full transcript of КАК ОПТИМИЗИРОВАТЬ ИГРУ НА UNITY - БЫСТРЫЙ ГАЙД ПО ОПТИМИЗАЦИИ (Запекание теней, LOD и т. д.) by Чувашов, generated from the public captions YouTube serves with the video. The transcript has 1,355 words across 242 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.