Пятница, 29 Марта 2024, 08:52

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » [Вроде решено] Проблема с AudioSource.PlayOneShot
[Вроде решено] Проблема с AudioSource.PlayOneShot
robertonoДата: Пятница, 29 Августа 2014, 22:17 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
У меня проблема с методом PlayOneShot.
Video
Мне нужно проигрывать звук при выстреле.
Если посмотреть видео, то слышно как при следующем вызове PlayOneShot предыдущий звук уничтожается (а а должен заканчиваться и одновременно начинаться новый).
Всё бы ничего, если бы такое случалось всегда!
То звук нормальный, то вот такая ерунда. И я так и не понял в чем прикол. Сначала я подумал что это когда я играю в оффлайн сцене, но потом я попробовал включить сервер, зайти на него и тогда уже было нормально. Но потом сделал билд и эта ерунда опять появилась. И здесь нету связи билд это или сам юнити.
Всё проигрывается на одном AudioSource, объект с ним никогда не отключается и не создается новый AudioSource. Просто куча вызовов PlayOneShot.

Как исправить?

Добавлено (29.08.2014, 22:17)
---------------------------------------------
Как решить то? Никто не знает? Есть идеи у кого нибудь?


Сообщение отредактировал robertono - Воскресенье, 31 Августа 2014, 14:41
romgermanДата: Пятница, 29 Августа 2014, 22:32 | Сообщение # 2
старожил
Сейчас нет на сайте
Цитата robertono ()
а а должен заканчиваться и одновременно начинаться новый

А-а, нет.
berilДата: Пятница, 29 Августа 2014, 22:40 | Сообщение # 3
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
А проверку не пробывал сделать? Если звук проигрывается, тогда не проигрывать новый звук



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
robertonoДата: Суббота, 30 Августа 2014, 00:00 | Сообщение # 4
Чокнутый Кот
Сейчас нет на сайте
romgerman, Должен! Почему тогда иногда работает и иногда не работает?

Добавлено (30.08.2014, 00:00)
---------------------------------------------
beril, нельзя. Этож, ужасно будет выглядеть. Где ты видел автомат у которого звук поступает намного реже его скорострельности? Не, так не пойдет.

berilДата: Суббота, 30 Августа 2014, 01:10 | Сообщение # 5
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Ну попробуй подобрать другой звук. Не звук выстрела, а звук автоматной очереди cool



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
nikДата: Суббота, 30 Августа 2014, 03:37 | Сообщение # 6
just nik
Сейчас нет на сайте
часть исходника хоть бы предоставьте..

BridgeGamingTeam
robertonoДата: Суббота, 30 Августа 2014, 17:35 | Сообщение # 7
Чокнутый Кот
Сейчас нет на сайте
beril, не уверен что именно так делают в современных шутерах...

nik, да тут всё просто, на основе скорострельности, я считаю таймером когда нужно стрелять (Timer.deltaTime). В общем куча выстрелов в секунду и куча вызовов PlayOneShot что бы проиграть один звук выстрела

Просто очень странно то, что сейчас я включил юнити и всё стало нормально. Но ведь я ничего не менял. Единственное что я сегодня сделал так это импортировал парочку новых моделей и создал скрипт, но это ведь не имеет никакого отношения к этому звуку.
video

Добавлено (30.08.2014, 17:35)
---------------------------------------------
Сегодня всё работает нормально. Но в какой то следующий день будет опять эта проблема и так и не будет понятно в чем прикол..

nikДата: Воскресенье, 31 Августа 2014, 09:00 | Сообщение # 8
just nik
Сейчас нет на сайте
robertono, возможно это зависит от фпс

BridgeGamingTeam
SnakeRДата: Воскресенье, 31 Августа 2014, 13:41 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
robertono, а просто проигрывать звук на каждый выстрел без всяких ваншот не вариант?

Unity3D Developer
Ваш лучший помощник при разработке в Unity3D
robertonoДата: Воскресенье, 31 Августа 2014, 14:40 | Сообщение # 10
Чокнутый Кот
Сейчас нет на сайте
nik, вот именно что нет. То 60 то 30, нет разницы. Как запуститься юнити так и будет..

SnakeR, это как? просто Play () ?

Добавлено (31.08.2014, 14:25)
---------------------------------------------
SnakeR, Не вариант, Вы ведь не проверяли этот вариант. Результат будет абсолютно такой же.

Добавлено (31.08.2014, 14:36)
---------------------------------------------
Я нашел что на это влияет, вообще эта тема называется "play sounds simultaneously" и по этой теме я нашел ответ:
http://answers.unity3d.com/questio....ff.html

В общем при импорте аудиофайла есть 3 типа загрузки файла:
Decompress on load
Compressed in memory
Stream from disc

В той теме сказано что при использовании стрима с диска всё будет работать. И это верно.
До этого у меня было выбрано Compressed in memory.

Отсюда вопрос:
Что лучше, Decompress on load ИЛИ Stream from disc ? Оба варианта работают.

Добавлено (31.08.2014, 14:40)
---------------------------------------------
В общем первое будет использовать в десять рад больше оперативной памяти, а второе отлично подходит для музыки или длинных треков. Но так как это всего лишь звук одного выстрела я выберу первый.

Если у вас такая же проблема - попробуйте сменить Load Type у вашего файла в настройках импорта!

RangerДата: Четверг, 11 Сентября 2014, 07:44 | Сообщение # 11
почти ветеран
Сейчас нет на сайте
мне не помогло.
У меня при звуке рождается специальный проигрыватель с установками на затухание звука от дистанции. после окончания звука он уничтожается.
Количество источников звука может достигать 10.
Иногда проигрываются щелчки вместо звуков.


SnakeRДата: Четверг, 11 Сентября 2014, 19:18 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
robertono, я всегда на стрельбу использую обычный play() и работает отлично без всяких глюков, экспериментов с импортом и т.д.

Unity3D Developer
Ваш лучший помощник при разработке в Unity3D
robertonoДата: Четверг, 11 Сентября 2014, 20:26 | Сообщение # 13
Чокнутый Кот
Сейчас нет на сайте
Ranger, ты имеешь ввиду ты каждый раз создаешь новый gameobject с audiosource ?

SnakeR, ничего не могу сказать.

Я решил конкретно мою проблему, решение остальных я не знаю.
RangerДата: Четверг, 11 Сентября 2014, 20:41 | Сообщение # 14
почти ветеран
Сейчас нет на сайте
Цитата robertono ()
ты имеешь ввиду ты каждый раз создаешь новый gameobject с audiosource ?

да.


Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » [Вроде решено] Проблема с AudioSource.PlayOneShot
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг