Руководство API скрипты

PropertyStreamHandle

структура в UnityEngine.Animations / Реализовано в: UnityEngine.AnimationModule

Описание

Дескриптор свойства Component объекта в AnimationStream.

using UnityEngine; using UnityEngine.Playables; using UnityEngine.Animations;

public struct PropertyStreamHandleJob : IAnimationJob { public PropertyStreamHandle handleR; public PropertyStreamHandle handleG; public PropertyStreamHandle handleB; public Color color;

public void ProcessRootMotion(AnimationStream stream) { }

public void ProcessAnimation(AnimationStream stream) { // Задаём новый цвет света. handleR.SetFloat(stream, color.r); handleG.SetFloat(stream, color.g); handleB.SetFloat(stream, color.b); } }

[RequireComponent(typeof(Animator))] [RequireComponent(typeof(Light))] public class PropertyStreamHandleExample : MonoBehaviour { public Color color = Color.white;

PlayableGraph m_Graph; AnimationScriptPlayable m_AnimationScriptPlayable;

void Start() { var animator = GetComponent<Animator>();

m_Graph = PlayableGraph.Create("PropertyStreamHandleExample"); var output = AnimationPlayableOutput.Create(m_Graph, "output", animator);

var animationJob = new PropertyStreamHandleJob(); animationJob.handleR = animator.BindStreamProperty(gameObject.transform, typeof(Light), "m_Color.r"); animationJob.handleG = animator.BindStreamProperty(gameObject.transform, typeof(Light), "m_Color.g"); animationJob.handleB = animator.BindStreamProperty(gameObject.transform, typeof(Light), "m_Color.b"); m_AnimationScriptPlayable = AnimationScriptPlayable.Create(m_Graph, animationJob);

output.SetSourcePlayable(m_AnimationScriptPlayable); m_Graph.Play(); }

void Update() { var animationJob = m_AnimationScriptPlayable.GetJobData(); animationJob.color = color; m_AnimationScriptPlayable.SetJobData(animationJob); }

void OnDisable() { m_Graph.Destroy(); } }

Смотрите так же: AnimatorJobExtensions.BindStreamProperty, TransformStreamHandle, PropertySceneHandle, и TransformSceneHandle.

Публичные Методы

GetBool Получает логическое значение свойства из потока.
GetFloat Получает значение свойства float из потока.
GetInt Получает целочисленное значение свойства из потока.
GetReadMask Получает маску чтения свойства.
IsResolved Возвращает, разрешен ли дескриптор.
IsValid Возвращает значение дескриптора.
Resolve Разрешает дескриптор.
SetBool Задаёт логическое значение свойства в поток.
SetFloat Задаёт значение свойства float в поток.
SetInt Задаёт целочисленное значение свойства в поток.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3