Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit) (+1)

Я звуки делаю так: создаю пустой GameObject закидываю на него Audio Source с нужным Audio Clip и выключаю на сцене (из редактора - на галочку в инспекторе; из скрипта - name.SetActive(false)), далее, в нужный момент, просто включаю его через скрипт (name.SetActive(true)) и звук воспроизводится автоматически (главное, чтобы на Audio Source стояла галочка в PlayOnAwake). Не знаю, насколько это правильно, но это работает.

(+1)

Мне кажется, что включать звук с помощью GameObject.SetActive() - плохая идея. Лучше делать это с помощью AudioSource.Play()

(+1)

Что ж, учту. Просто, помнится, я когда-то пытался делать через Play, но у меня не получалось. Надо будет разобраться.

(+1)

Я делаю через Instantiate объекта, на котором лежит этот source

(+1)

А вот это уже я не рекомендую. Instantiate - очень затратная по ресурсам функция. А если звуков много, то тем более.

Зто это можно объеденить с партиклами, и тогда ты очень быстро сможешь это сделать. Намного дольше писать код и игру оптимизированее. НО, по сравнению с временем, затратами ресурсов можно и пренебречь. К примеру тут много игр, которые мой пк вообще не тянет.... Вот к ним огромные претензии на оптимизацию