Описание
Дескриптор чтения свойства Component у объекта в сцене.
PropertySceneHandle доступны только для чтения.
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Animations;
public struct PropertySceneHandleJob : IAnimationJob
{
public PropertySceneHandle handleR;
public PropertySceneHandle handleG;
public PropertySceneHandle handleB;
public void ProcessRootMotion(AnimationStream stream)
{
}
public void ProcessAnimation(AnimationStream stream)
{
// Log the light color.
var r = handleR.GetFloat(stream);
var g = handleG.GetFloat(stream);
var b = handleB.GetFloat(stream);
Debug.LogFormat("Light color: (R: {0}, G: {1}, B: {2})", r, g, b);
}
}
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(Light))]
public class PropertySceneHandleExample : MonoBehaviour
{
public Light sceneLight;
PlayableGraph m_Graph;
AnimationScriptPlayable m_AnimationScriptPlayable;
void Start()
{
if (sceneLight == null)
return;
var animator = GetComponent<Animator>();
m_Graph = PlayableGraph.Create("PropertySceneHandleExample");
var output = AnimationPlayableOutput.Create(m_Graph, "output", animator);
var animationJob = new PropertySceneHandleJob();
animationJob.handleR = animator.BindSceneProperty(sceneLight.transform, typeof(Light), "m_Color.r");
animationJob.handleG = animator.BindSceneProperty(sceneLight.transform, typeof(Light), "m_Color.g");
animationJob.handleB = animator.BindSceneProperty(sceneLight.transform, typeof(Light), "m_Color.b");
m_AnimationScriptPlayable = AnimationScriptPlayable.Create(m_Graph, animationJob);
output.SetSourcePlayable(m_AnimationScriptPlayable);
m_Graph.Play();
}
void OnDisable()
{
if (sceneLight == null)
return;
m_Graph.Destroy();
}
}
Смотрите так же: AnimatorJobExtensions.BindSceneProperty, TransformSceneHandle, PropertyStreamHandle, и TransformStreamHandle.
Публичные Методы
GetBool | Получает логическое значение свойства из объекта в сцене. |
GetFloat | Получает значение свойства float из объекта в сцене. |
GetInt | Получает целочисленное значение свойства из объекта в сцене. |
IsResolved | Возвращает, разрешен ли дескриптор. |
IsValid | Возвращает значение дескриптора. |
Resolve | Разрешает дескриптор. |