• G#

TransformSceneHandle

struct di UnityEngine. Login

/

Diterapkan dalam:UnityEngine.AnimationModule

Sarankan perubahan

Success!

Terima kasih untuk membantu kami meningkatkan kualitas Dokumentasi Unity. Meskipun kami tidak dapat menerima semua pengajuan, kami membaca setiap perubahan yang disarankan dari pengguna kami dan akan melakukan pembaruan di mana berlaku.

Close

Penjelasan gagal

Untuk beberapa alasan perubahan yang disarankan Anda tidak dapat diajukan. Silahkan <a>try lagi</a> dalam beberapa menit. Dan terima kasih untuk mengambil waktu untuk membantu kami meningkatkan kualitas Dokumentasi Unity.

Close

Cancel

Description

Menangani untuk membaca posisi, rotasi dan skala objek di Adegan.

TransformSceneHandle adalah read-only.

A TransformSceneHandle adalah pegangan yang aman pada TransformAccess. Animator digunakan untuk membuat pegangan ini mengelola validitas pegangan ini.

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(); } }

Metode publik

GetGlobalTR Mendapat posisi dan rotasi berskala transformasi di ruang dunia.
GetLocalPosition Mendapat posisi kerabat transformasi kepada orang tua.
GetLocalRotation Mendapatkan rotasi dari perubahan relatif terhadap orang tua.
GetLocalScale Mendapat skala kerabat transformasi ke orang tua.
GetLocalTRS Mendapatkan posisi, rotasi dan skala perubahan relatif terhadap orang tua.
GetPosition Mendapat posisi transformasi di ruang dunia.
GetRotation Mendapat rotasi transformasi di ruang dunia.
IsValid Kembali apakah ini adalah pegangan yang valid.