PropertySceneHandle
структура в UnityEngine.Animations
Выполнено в:UnityEngine.AnimationModule
Описание
Обработка для чтения свойства Component на объекте в Scene.
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 | Получает логическое значение свойства из объекта в Scene. |
| GetEntityId | Получает значение свойства EntityId из объекта в Scene. |
| GetFloat | Получает значение свойства float из объекта в Scene. |
| GetInt | Получает значение свойства integer из объекта в Scene. |
| IsResolved | Возвращает информацию о том, разрешен или нет обработчик. |
| IsValid | Возвращает информацию о том, допустим или нет идентификатор. |
| Resolve | Разрешает обработчик. |