Почему при добавлении звуковых шагов к персонажу с использованием анимационных событий звук воспроизводится только одной ногой? - PullRequest
0 голосов
/ 24 января 2019

Анимация в Аниматоре - HumanoidWalk В инспекторе анимации на вкладке «Анимация» внизу я щелкнул «События», щелкнул, чтобы добавить имена событий в функцию «Шаг», и переместил ползунок времени на 0,67, переместив ползунок в окне предварительного просмотра персонажа, так что правая нога ноги будет быть близко к земле и нажать применить:

Foot1

Затем я сделал то же самое, но изменил время чуть больше, почти на 0,7, и снова вызвал функцию Step, и теперь в окне предварительного просмотра она находится, а другая нога ближе к земле, и нажал «Применить»:

Foot2

Я добавил к символу в иерархии компонент Audio Source и имя сценария Foot Steps:

Foot3

И сам скрипт:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FootSteps : MonoBehaviour
{
    [SerializeField]
    private AudioClip[] clips;

    private AudioSource audioSource;
    private GameObject[] Foots;

    private void Awake()
    {
        audioSource = GetComponent<AudioSource>();
        Foots = GameObject.FindGameObjectsWithTag("Foot");
    }

    private void Step()
    {
        AudioClip clip = GetRandomClip();
        audioSource.PlayOneShot(clip);
    }

    private AudioClip GetRandomClip()
    {
        return clips[UnityEngine.Random.Range(0, clips.Length)];
    }
}

В иерархии в сценарии в клипах я добавил те же 8 аудиоклипов, только для тестирования я мог добавить только 1, это не имеет значения:

Foot4

При запуске игры я отмечал синим кружком, только эта нога воспроизводит звуки шагов / с. И если я изменю время на 0,67, он будет воспроизводить два одинаковых звука, поэтому он будет звучать как один, или, если время 0,67 и 0,7, он услышит два шага, но только на левой ноге.

Foot5

Вторая нога никогда не воспроизводит звук, независимо от того, сколько раз я менял ноги анимации предварительного просмотра.

Я пытался следовать инструкциям этого урока, но безуспешно:

Добавление звуков шагов в вашу игру Unity с анимационными событиями

Должно быть просто, но работает только одна нога. Я не могу понять, что мне не хватает.

1 Ответ

0 голосов
/ 25 января 2019

Вы добавляете свои события в неправильные метки времени.Взгляните на маленькую белую линию на временной шкале «События».На вашем первом скриншоте линия проходит сразу за 0:33, а на втором скриншоте - немного справа от 0:83.Вот где должны быть ваши события (не 0:67 и 0:70).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...