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

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 в поток.