파일, 장면을로드하고 스레드에서 애니메이션을 재생해야합니다. Android에서 www를 통해 파일로드를 시도했습니다 ... 스레드를 통해 다른 작업을 수행하는 방법은 무엇입니까? 그러나 게임 엔진으로 어떻게 쓰레드를 만들 수 없습니까? 또는 내 이해가 잘못 되었습니까? 어떻게 UNITY3D에서 스레드를 만들 수 있습니까?안드로이드 플랫폼을위한 unity3d에서 C# 스레드를 사용하는 방법은 무엇입니까?
답변
당신은 유니티에서 스레드를 사용할 수 있지만 엔진이 스레드로부터 안전하지 않습니다. 보통 당신은 오래 실행중인 프로세스를 수행하고 결과를 확인하기 위해 분리 된 스레드 (Unity UI에서)를 실행합니다 (작업중인 스레드에서 Unity와 상호 작용할 수 없습니다). 일반적인 접근법은 Unity 메인 스레드에 의해 초기화 될 스레딩 작업을 나타내는 클래스를 사용하는 것입니다. 그런 다음 해당 클래스의 함수에 대한 작업자 스레드를 시작하여 작업을 수행하게하십시오 (Coroutines는 Unity 스레드에서 실행되므로 실제 스레드가 아닙니다.) Coroutines에 대한 최고의 기사는 here입니다.
설명 된 접근법의 예는 다음과 같습니다 위의 (허용 대답 참조)
http://answers.unity3d.com/questions/357033/unity3d-and-c-coroutines-vs-threading.html
당신은 또한 같은 효과를 얻을 수 있지만 편의를 (예 : 클로저 지원 등) 제공하는 UnityGems 패키지를 시도 할 수도 있습니다. this page
HTH를 참조하십시오. 최고!
내 개인적인 경험으로 유니티의 API를 사용하지 않는 한 별도의 스레드를 만들거나 실행할 수 없습니다. 그래서 게임 오브젝트 나 비슷한 성격의 물건이 없다는 것을 의미합니다. 내 길 찾기가 성공적으로 끝났으므로 가능하다는 것을 알았습니다. 행운을 빕니다! 이게 도움이 되길 바란다.
이것은 맞습니다. 클래스가 MonoBehaviour로부터 상속받지 않는 한 Unity에서 스레딩을 할 수 있습니다. – Esa
Unity3D에서 일반적으로 사용되는 접근 방법은 Coroutines입니다.
IEnumerator DoSth()
{
...
yield retrun ... ;
}
는 전화/코 루틴을 소비하려면
StartCoroutine(DoSth()); // OK
StartCoroutine("DoSth"); // Also fine
StopCoroutine("DoSth"); // You can stop it as well
코 루틴은 실제 스레드가 아닙니다. 예를 들어, 단지 WWW- 기능성 만이 진정으로 스레드된다. – Esa
코 루틴은 스레드가 아니며 병렬 프로그래밍을 수행하지 않습니다. –
- 1. Unity3D에서 항아리를 사용하는 방법은 무엇입니까?
- 2. Unity3D에서 C++ dll을 사용하는 방법은 무엇입니까?
- 3. Unity3d에서 스레드를 사용할 방법이 있습니까?
- 4. Unity3d에서 C#을 사용하여 스레드를 중지합니다.
- 5. 안드로이드 플랫폼을위한 전문가 시스템
- 6. 스레드를 완료하여 스레드를 다시 사용하는 방법은 무엇입니까?
- 7. Unity3D에서 Kamcord를 사용하는 안드로이드 비디오 레코딩
- 8. Unity3d에서 안드로이드 자이로 스코프 사용
- 9. unity3d에서,이 클래스에서 클래스의 아버지의 귀중품을 사용하는 방법은 무엇입니까?
- 10. 안드로이드 프로세스에서 실행중인 스레드를 얻는 방법은 무엇입니까?
- 11. Unity3d에서 MiniJson을 사용하는 방법?
- 12. Unity3D에서 자산을 동적으로로드하는 방법은 무엇입니까?
- 13. Unity3d에서 iPhone UIViewController를로드하는 방법은 무엇입니까?
- 14. Unity3d에서 지형의 선을 제거하는 방법은 무엇입니까?
- 15. 서버에서 이미지를로드하기 위해 스레드를 사용하는 방법은 무엇입니까?
- 16. Perl에서 동시 스레드를 사용하는 간단한 방법은 무엇입니까?
- 17. MVC 아키텍처에서 스레드를 사용하는 방법은 무엇입니까?
- 18. 새 스레드를 시작하고 사용하는 안전한 방법은 무엇입니까?
- 19. 파일 읽기/쓰기 스레드를 사용하는 방법은 무엇입니까?
- 20. C++ 클래스의 스레드를 사용하는 segfault
- 21. C# UNITY3D에서 마우스 끌기?
- 22. 다른 모바일 플랫폼을위한 개발자 노력
- 23. 안드로이드/ios 용 unity3d에서 프로필 사진 선택
- 24. 스레드를 종료하는 가장 좋은 방법은 무엇입니까? C#
- 25. C#에서 스레드를 즉시 죽이는 방법은 무엇입니까?
- 26. C++ 11에서 스레드를 예약하는 방법은 무엇입니까?
- 27. 대기중인 C++ 0x 스레드를 인터럽트하는 방법은 무엇입니까?
- 28. C# AppDomain에서 관리되는 스레드를 계산하는 방법은 무엇입니까?
- 29. C process.h에서 특정 스레드를 중지하는 방법은 무엇입니까?
- 30. unity3d에서 Trail Renderer를 사용하는 방법?
꽤 오래된 질문이지만, 여기에 모험을하고, 위의 링크 중 어떤 것이 나에게 도움이되지 않았기 때문에, 여기 내가 도움이된다고 말한 것이 있습니다. 1. [좋은 기사] (http://www.albahari.com/threading/); 2. Unity Wiki의 [job queue example] (http://wiki.unity3d.com/index.php/JobQueue) – FullStackForger
끊어진 링크가 수정되었습니다. 베스트 – German