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

TransformSceneHandle

структура в UnityEngine.Animations

Выполнено в:UnityEngine.AnimationModule

Описание

Ручка для чтения позиции, вращения и масштаба объекта в Scene.

Объекты TransformSceneHandle доступны только для чтения.

TransformSceneHandle представляет собой безопасный дескриптор объекта TransformAccess. Объект Animator, использованный для создания этого дескриптора, управляет его допустимостью.

using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Animations;

public struct TransformSceneHandleJob : IAnimationJob { public TransformSceneHandle handle;

public void ProcessRootMotion(AnimationStream stream) { // Log the local position. var position = handle.GetLocalPosition(stream); Debug.LogFormat("Position: {0}", position);

// Log the local rotation (converted from euler). var rotation = handle.GetLocalRotation(stream); Debug.LogFormat("Rotation: {0}", rotation.eulerAngles);

// Log the local scale. var scale = handle.GetLocalScale(stream); Debug.LogFormat("Scale: {0}", scale); }

public void ProcessAnimation(AnimationStream stream) { } }

[RequireComponent(typeof(Animator))] public class TransformSceneHandleExample : MonoBehaviour { public Transform sceneTransform;

PlayableGraph m_Graph; AnimationScriptPlayable m_AnimationScriptPlayable;

void Start() { if (sceneTransform == null) return;

var animator = GetComponent<Animator>();

m_Graph = PlayableGraph.Create("TransformSceneHandleExample"); var output = AnimationPlayableOutput.Create(m_Graph, "output", animator);

var animationJob = new TransformSceneHandleJob(); animationJob.handle = animator.BindSceneTransform(sceneTransform); m_AnimationScriptPlayable = AnimationScriptPlayable.Create(m_Graph, animationJob);

output.SetSourcePlayable(m_AnimationScriptPlayable); m_Graph.Play(); }

void OnDisable() { if (sceneTransform == null) return;

m_Graph.Destroy(); } }

Дополнительные ресурсы: ,AnimatorJobExtensions.BindSceneTransform,, ,PropertySceneHandle,, ,PropertyStreamHandle,и ,TransformStreamHandle,.

Открытые методы

Метод Описание
GetGlobalTRПолучает позицию и масштабированное вращение преобразования в мировом пространстве.
GetLocalPositionПолучает позицию преобразования относительно родительского.
GetLocalRotationПолучает поворот преобразования относительно родительского.
GetLocalScaleПолучает масштаб преобразования относительно родительского.
GetLocalToParentMatrixПолучает матрицу преобразования, локальную к родительской матрице.
GetLocalToWorldMatrixПолучает матрицу преобразования от локальной до мировой.
GetLocalTRSПолучает позицию, вращение и масштаб преобразования относительно родительского объекта.
GetPositionПолучает позицию преобразования в мировом пространстве.
GetRotationПолучает вращение преобразования в мировом пространстве.
IsValidВозвращает, является ли это действительным идентификатором.