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) { // Set the new light color. 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<PropertyStreamHandleJob>(); animationJob.color = color; m_AnimationScriptPlayable.SetJobData(animationJob); }
void OnDisable() { m_Graph.Destroy(); } }
Дополнительные ресурсы: ,AnimatorJobExtensions.BindStreamProperty,, ,TransformStreamHandle,, ,PropertySceneHandle,и ,TransformSceneHandle,.
Открытые методы
| Метод | Описание |
|---|---|
| GetBool | Получает логическое значение свойства из потока. |
| GetEntityId | Получает значение свойства EntityId из потока. |
| GetFloat | Получает значение свойства float из потока. |
| GetInt | Получает значение свойства Integer из потока. |
| GetReadMask | Получает маску чтения свойства. |
| IsResolved | Возвращает информацию о том, разрешен или нет обработчик. |
| IsValid | Возвращает информацию о том, допустим или нет идентификатор. |
| Resolve | Разрешает обработчик. |
| SetBool | Устанавливает логическое значение свойства в поток. |
| SetEntityId | Устанавливает значение свойства EntityId в поток. |
| SetFloat | Устанавливает значение свойства float в поток. |
| SetInt | Устанавливает значение свойства Integer в поток. |