Сделал простой скрипт
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StepSound : MonoBehaviour
{
public AudioClip[] FootstepsSound;
private AudioSource _AudioSource;
private void Start()
{
_AudioSource = GetComponent<AudioSource>();
}
void FootStep()
{
int step = Random.Range(0, FootstepsSound.Length);
_AudioSource.PlayOneShot(FootstepsSound[step]);
}
}
using System.Collections.Generic;
using UnityEngine;
public class StepSound : MonoBehaviour
{
public AudioClip[] FootstepsSound;
private AudioSource _AudioSource;
private void Start()
{
_AudioSource = GetComponent<AudioSource>();
}
void FootStep()
{
int step = Random.Range(0, FootstepsSound.Length);
_AudioSource.PlayOneShot(FootstepsSound[step]);
}
}
Добавил его на префаб персонажа. В анимации добавил ивент FootStep когда нога касается земли. С AudioSource убрал галочки "Play on Awake" и "Loop". Предполагается что на основе этого префаба персонажа на сцене создается 14 персонажей. 1 персонаж под управлением игрока и остальные 13 следуют за ним под управлением ИИ. Но в этом случае звук проигрываеться только 1 раз в начале сцены. Если добавить только 1 игрока и 2 ботов то звук проигрывается нормально. Если 1 игрок и 5 ботов, то звук проигрывается некоторое время нормально. Через некоторое время, если все встали и потом продолжили движение, тишина.... Не пойму как количество персонажей влияет на проигрывание звука? (