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 | Возвращает, является ли это действительным идентификатором. |