TransformStreamHandle
структура в UnityEngine.Animations
Выполнено в:UnityEngine.AnimationModule
Описание
Положение, вращение и масштаб объекта в AnimationStream.
using UnityEngine; using UnityEngine.Playables; using UnityEngine.Animations;
public struct TransformStreamHandleJob : IAnimationJob { public TransformStreamHandle handle; public Vector3 position; public Vector3 rotation; public Vector3 scale;
public void ProcessRootMotion(AnimationStream stream) { // Set the new local position. handle.SetLocalPosition(stream, position);
// Set the new local rotation (converted from euler). handle.SetLocalRotation(stream, Quaternion.Euler(rotation));
// Set the new local scale. handle.SetLocalScale(stream, scale); }
public void ProcessAnimation(AnimationStream stream) { } }
[RequireComponent(typeof(Animator))] public class TransformStreamHandleExample : MonoBehaviour { public Vector3 position; public Vector3 rotation; public Vector3 scale = Vector3.one;
PlayableGraph m_Graph; AnimationScriptPlayable m_AnimationScriptPlayable;
void Start() { var animator = GetComponent<Animator>();
m_Graph = PlayableGraph.Create("TransformStreamHandleExample"); var output = AnimationPlayableOutput.Create(m_Graph, "output", animator);
var animationJob = new TransformStreamHandleJob(); animationJob.handle = animator.BindStreamTransform(gameObject.transform); m_AnimationScriptPlayable = AnimationScriptPlayable.Create(m_Graph, animationJob);
output.SetSourcePlayable(m_AnimationScriptPlayable); m_Graph.Play(); }
void Update() { var animationJob = m_AnimationScriptPlayable.GetJobData<TransformStreamHandleJob>(); animationJob.position = position; animationJob.rotation = rotation; animationJob.scale = scale; m_AnimationScriptPlayable.SetJobData(animationJob); }
void OnDisable() { m_Graph.Destroy(); } }
Дополнительные ресурсы: ,AnimatorJobExtensions.BindStreamTransform,, ,PropertyStreamHandle,, ,PropertySceneHandle,и ,TransformSceneHandle,.
Открытые методы
| Метод | Описание |
|---|---|
| GetGlobalTR | Получает позицию и масштабированное вращение преобразования в мировом пространстве. |
| GetLocalPosition | Получает позицию преобразования относительно родительского. |
| GetLocalRotation | Получает поворот преобразования относительно родительского. |
| GetLocalScale | Получает масштаб преобразования относительно родительского. |
| GetLocalToParentMatrix | Получает матрицу преобразования, локальную к родительской матрице. |
| GetLocalToWorldMatrix | Получает матрицу преобразования от локальной до мировой. |
| GetLocalTRS | Получает позицию, вращение и масштаб преобразования относительно родительского объекта. |
| GetPosition | Получает позицию преобразования в мировом пространстве. |
| GetPositionReadMask | Получает маску чтения позиции преобразования. |
| GetRotation | Получает вращение преобразования в мировом пространстве. |
| GetRotationReadMask | Получает маску чтения вращения преобразования. |
| GetScaleReadMask | Получает маску масштаба чтения преобразования. |
| IsResolved | Возвращает информацию о том, разрешен ли данный манипулятор. |
| IsValid | Возвращает, является ли это действительным идентификатором. |
| Resolve | Привязать этот handle к анимации значений из AnimationStream. |
| SetGlobalTR | Задает положение и вращение преобразования в мировом пространстве. |
| SetLocalPosition | Задает положение преобразования относительно родительского объекта. |
| SetLocalRotation | Задает вращение преобразования относительно родительского объекта. |
| SetLocalScale | Устанавливает масштаб преобразования относительно родительского объекта. |
| SetLocalTRS | Задает положение, вращение и масштаб преобразования относительно родительского объекта. |
| SetPosition | Задает позицию преобразования в мировом пространстве. |
| SetRotation | Устанавливает вращение преобразования в мировом пространстве. |