Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Animator.GetBehaviour

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function GetBehaviour(): T;
public T GetBehaviour();

説明

T に一致する、または型 T 派生の、最初の StateMachineBehaviour を返します。なかった場合は null を返します。


        
public class RunBehaviour : StateMachineBehaviour {
		
	// OnStateUpdate is called at each Update frame between OnStateEnter and OnStateExit callback
	override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) 
	{
		if (animator.GetComponent<Recorder>().enabled && !animator.GetComponent<Recorder>().isRecording) return;

Transform transform = animator.GetComponent<Transform>();

RaycastHit hitInfo; Vector3 dir = transform.TransformDirection(Vector3.forward); if (Physics.Raycast(transform.position + new Vector3(0, 1.5f, 0), dir, out hitInfo, 10)) { if (hitInfo.collider.tag == "Obstacle") { animator.GetBehaviour<SlideBehaviour>().target = transform.position + 1.25f * hitInfo.distance * dir; if(hitInfo.distance < 6) animator.SetTrigger("Slide"); } } } }

public class SlideBehaviour : StateMachineBehaviour {

public Vector3 target;

public float slideMatchTargetStart = 0.11f; public float slideMatchTargetStop = 0.40f;

// OnStateUpdate is called at each Update frame between OnStateEnter and OnStateExit callback override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.MatchTarget(target, new Quaternion(), AvatarTarget.Root, new MatchTargetWeightMask(new Vector3(1, 0, 1), 0), slideMatchTargetStart, slideMatchTargetStop); } }