質問の説明
Unityの設計は、このような操作を防ぐことを目的としているため、個々のスレッドから直接Unity APIにアクセスすると異常が発生します。 UnityThreadスクリプトは、スレッド間の通信を促進することにより、この問題を解決します。このスクリプトは、メインスレッドのアップデート、LATEUPDATE、およびFixedUpDate関数のメソッドまたは企業方法を提供します。
初期化:
メインスレッドで操作を実行する:
unitythread.executeinLeupdate()を使用して、lateUpdate()で操作を実行します。
unitythread.executeinfixedupdate()を使用して、sixedupdate()で操作を実行します。例を使用
UnityThread.executeInUpdate(() => transform.Rotate(new Vector3(0f, 90f, 0f)));
Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { transform.Rotate(new Vector3(0f, 90f, 0f)); }
UnityThread.executeInLateUpdate(() => { /* 相机移动代码 */ });
以上が別々のスレッドからUnity APIに安全にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。