• G#

PropertyStreamHandle

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 properti Component pada objek di AnimasiStream.

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

public struct PropertyStreamHandleJob : IAnimationJob { public PropertyStreamHandle handleR; public PropertyStreamHandle handleG; public PropertyStreamHandle handleB; public Color color;

public void ProcessRootMotion(AnimationStream stream) { }

public void ProcessAnimation(AnimationStream stream) { // Set the new light color. handleR.SetFloat(stream, color.r); handleG.SetFloat(stream, color.g); handleB.SetFloat(stream, color.b); } }

[RequireComponent(typeof(Animator))] [RequireComponent(typeof(Light))] public class PropertyStreamHandleExample : MonoBehaviour { public Color color = Color.white;

PlayableGraph m_Graph; AnimationScriptPlayable m_AnimationScriptPlayable;

void Start() { var animator = GetComponent<Animator>();

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

var animationJob = new PropertyStreamHandleJob(); animationJob.handleR = animator.BindStreamProperty(gameObject.transform, typeof(Light), "m_Color.r"); animationJob.handleG = animator.BindStreamProperty(gameObject.transform, typeof(Light), "m_Color.g"); animationJob.handleB = animator.BindStreamProperty(gameObject.transform, typeof(Light), "m_Color.b"); m_AnimationScriptPlayable = AnimationScriptPlayable.Create(m_Graph, animationJob);

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

void Update() { var animationJob = m_AnimationScriptPlayable.GetJobData<PropertyStreamHandleJob>(); animationJob.color = color; m_AnimationScriptPlayable.SetJobData(animationJob); }

void OnDisable() { m_Graph.Destroy(); } }

Metode publik

GetBool Dapatkan nilai properti boolean dari aliran.
GetFloat Dapatkan nilai properti float dari aliran.
GetInt Mendapatkan nilai properti integer dari aliran.
GetReadMask Dapat membaca masker properti.
IsResolved Kembali apakah atau tidak pegangan diselesaikan.
IsValid Mengembalikan apakah atau tidak ditangani.
Resolve Menyelesaikan pegangan.
SetBool Mengatur nilai properti boolean menjadi aliran.
SetFloat Mengatur nilai properti mengapung ke aliran.
SetInt Mengatur nilai properti integer menjadi aliran.