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

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Устанавливает вращение преобразования в мировом пространстве.