Unity 6.3
0 онлайн 42 гостей 3 в системе
Вход

Создать PlayableGraph с различными выходами

В этом примере показано, как создать PlayableGraph с двумя различными типами воспроизводимых выходов: AudioPlayableOutput и AnimationPlayableOutput. В этом примере также показано, как воспроизводить AudioClip через AudioClipPlayable, подключенный к AudioPlayableOutput.

Предварительные условия

Перед тем, как использовать скрипт DifferentOutputs в вашем проекте, в нем должно быть следующее:

  • GameObject, например, куб или капсула. Вам не нужно вручную добавлять компонент Animator или компонент Audio Source к этому GameObject. Атрибут RequireComponent добавляет эти компоненты, если они не присутствуют.
  • Клип анимации, который анимирует свойства GameObject. Например, анимация, которая изменяет положение и вращение GameObject. Если в вашем проекте нет клипа анимации, вы не сможете выбрать клип и ничего не произойдет во время выполнения.
  • Аудиоклип. Если в вашем проекте нет аудиоклипа, вы не сможете воспроизводить аудио, пока GameObject анимирует.

Добавление и запуск скрипта

Чтобы использовать скрипт DifferentOutputs в вашем проекте, выполните следующие действия:

  1. Добавьте компонент скрипта в файл GameObject. Назовите файл скрипта DifferentOutputs.cs и используйте следующий код:

    using UnityEngine;
    using UnityEngine.Animations;
    using UnityEngine.Audio;
    using UnityEngine.Playables;
    
    [RequireComponent(typeof(Animator))]
    [RequireComponent(typeof(AudioSource))]
    public class DifferentOutputs : MonoBehaviour
    {
        public AnimationClip animationClip;
        public AudioClip audioClip;
        PlayableGraph graph;
    
        void Start()
        {
            // Create and name the graph.
            graph = PlayableGraph.Create("DifferentOutputs");
    
            // Create the outputs.
            var animationOutput = AnimationPlayableOutput.Create(graph, "Animation", GetComponent<Animator>());
            var audioOutput = AudioPlayableOutput.Create(graph, "Audio", GetComponent<AudioSource>());
    
            // Create the playables.
            var animationClipPlayable = AnimationClipPlayable.Create(graph, animationClip);
            var audioClipPlayable = AudioClipPlayable.Create(graph, audioClip, true);
    
            // Connect the playables to an output.
            animationOutput.SetSourcePlayable(animationClipPlayable);
            audioOutput.SetSourcePlayable(audioClipPlayable);
    
            // Play the Graph.
            graph.Play();
        }
    
        void OnDisable()
        {
            // Destroys all Playables and Outputs created by the graph.
            graph.Destroy();
        }
    }
    
  2. В компоненте Скрипт выберите Клип Animation и Аудиоклип, которые будут воспроизводиться PlayableGraph во время выполнения.

  3. Выберите Играть, чтобы переключить редактор в режим воспроизведения.

  4. Если установлен пакет визуализатора PlayableGraph, выберите MultiOutputSample для отображения PlayableGraph.

PlayableGraph, созданный скриптом DifferentOutputs.
PlayableGraph, созданный скриптом DifferentOutputs.

Дополнительные ресурсы