• G#

AnimatorController.CreateStateMachineBehaviour

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

Declaration

publik static int CreateStateMachineBehaviour( MonoScript script);

Parameters

script MonoScript kelas untuk instaniate.

Returns

Sitemap Kembalikan contoh id dari menciptakan objek, kembali 0 jika sesuatu tidak valid.int Returns instance id of created object, returns 0 if something is not valid.

Description

Fungsi ini akan membuat instance StateMachineBehaviour berdasarkan kelas mendefinisikan dalam script ini.

Fungsi ini akan memvalidasi bahwa monoscript adalah perilaku statemachine yang valid, kelas harus menjadi sub kelas StateMachineBehaviour dan tidak boleh menjadi generik. Lihat Juga: StateMachineBehaviour.

using UnityEditor;
using UnityEditor.Animations;
using UnityEngine;

public class AddSMB { public void DoAddStateMachineBehaviour(UnityEditor.Animations.AnimatorState state, MonoScript monoScript) { if (state == null) return;

int instanceID = AnimatorController.CreateStateMachineBehaviour(monoScript); if (instanceID == 0) { Debug.LogError("Could not create state machine behaviour " + monoScript.name); return; }

state.AddStateMachineBehaviour(monoScript.GetClass());

var obj = EditorUtility.InstanceIDToObject(instanceID); if (obj == null) Debug.LogError("No object could be found with instance id: " + instanceID); else AssetDatabase.AddObjectToAsset(obj, state.ToString()); } }