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(); } }
Sitemap Juga: AnimatorJobExtensions.BindStreamTransform, PropertyStreamHandle, PropertySceneHandle, dan TransformSceneHandle.
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. |