Maison >développement back-end >C++ >Comment puis-je accéder en toute sécurité à l'API Unity à partir de threads séparés?
Visitez l'API
Description de la question
Parce que la conception d'Unity vise à empêcher de telles opérations, l'accès à l'API Unity directement à partir de threads individuels provoquera des anomalies. Le script UnityThread résout ce problème en favorisant la communication entre les threads.Ce script fournit une méthode ou une méthode d'entreprise dans les fonctions de mise à jour, dedUpdate et FixedUpdate du thread principal.
L'initialisation:
Exécuter les opérations dans le thread principal:
Utilisation d'UnityThread.ExecuteInUpDate () pour effectuer des opérations dans Update (). Utilisation d'UnityThread.ExecuteInLeUpDate () pour effectuer des opérations dans LateUpdate ().
<code class="language-c#"> UnityThread.executeInUpdate(() => transform.Rotate(new Vector3(0f, 90f, 0f)));</code>
<code class="language-c#"> Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { transform.Rotate(new Vector3(0f, 90f, 0f)); }</code>
<code class="language-c#"> UnityThread.executeInLateUpdate(() => { /* 相机移动代码 */ });</code>
<code class="language-c#"> UnityThread.executeCoroutine(myCoroutine()); IEnumerator myCoroutine() { Debug.Log("Hello"); yield return new WaitForSeconds(2f); Debug.Log("Test"); }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!