• G#

TransformStreamHandle

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

Posisi, rotasi dan skala objek di AnimasiStream.

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

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.
GetPositionReadMask Mendapatkan posisi membaca masker transformasi.
GetRotation Mendapat rotasi transformasi di ruang dunia.
GetRotationReadMask Dapatkah rotasi membaca masker transformasi.
GetScaleReadMask Dapat meningkatkan membaca masker transformasi.
IsResolved Kembali apakah pegangan ini diselesaikan.
IsValid Kembali apakah ini adalah pegangan yang valid.
Resolve Bind pegangan ini dengan nilai animasi dari AnimasiStream.
SetGlobalTR Mengatur posisi dan rotasi transformasi di ruang dunia.
SetLocalPosition Menetapkan posisi kerabat transformasi kepada orang tua.
SetLocalRotation Menetapkan rotasi kerabat transformasi ke orang tua.
SetLocalScale Menetapkan skala kerabat transformasi ke orang tua.
SetLocalTRS Menetapkan posisi, rotasi dan skala perubahan relatif terhadap orang tua.
SetPosition Mengatur posisi transformasi di ruang dunia.
SetRotation Mengatur rotasi transformasi di ruang dunia.