Руководство API скрипты

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) { // Устанавливаем новую локальную позицию. handle.SetLocalPosition(stream, position);

// Устанавливаем новое локальное вращение (преобразованное из эйлерова). handle.SetLocalRotation(stream, Quaternion.Euler(rotation));

// Устанавливаем новый локальный масштаб. 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(); animationJob.position = position; animationJob.rotation = rotation; animationJob.scale = scale; m_AnimationScriptPlayable.SetJobData(animationJob); }

void OnDisable() { m_Graph.Destroy(); } }

Смотрите так же: AnimatorJobExtensions.BindStreamTransform, PropertyStreamHandle, PropertySceneHandle, и TransformSceneHandle.

Публичные Методы

GetGlobalTR Получает положение и масштабированный поворот Transform в мировом пространстве.
GetLocalPosition Получает положение Transform относительно родителя.
GetLocalRotation Получает поворот Transform относительно родителя.
GetLocalScale Получает масштаб Transform относительно родителя.
GetLocalTRS Получает положение, поворот и масштаб Transform относительно родителя.
GetPosition Получает положение Transform в мировом пространстве.
GetPositionReadMask Получает маску чтения позиции Transform.
GetRotation Получает вращение Transformв мировом пространстве.
GetRotationReadMask Получает маску чтения поворота Transform.
GetScaleReadMask Получает маску чтения шкалы Transform.
IsResolved Возвращает, разрешен ли этот дескриптор.
IsValid Возвращает, является ли это допустимым дескриптором.
Resolve Свяжите этот дескриптор с анимированными значениями из AnimationStream.
SetGlobalTR Задает положение и поворот Transform в мировом пространстве.
SetLocalPosition Устанавливает положение Transform относительно родителя.
SetLocalRotation Устанавливает поворот Transform относительно родителя.
SetLocalScale Задает масштаб Transform относительно родителя .
SetLocalTRS Задает положение, поворот и масштаб Transform относительно родителя.
SetPosition Задает положение Transform в мировом пространстве.
SetRotation Задает вращение Transform в мировом пространстве.
Вы можете отблагодарить автора, за перевод документации на русский язык. Донат
API скрипты 2021.3