🌍 Unity/유니티 프로그래밍
유니티 안드로이드 스크린샷 / 스크린캡쳐 (Unity Android screenCapture)
맨텀
2019. 11. 14. 14:34
유니티에서 스크린 캡쳐를 하고, 이걸 스크린샷 폴더에 저장하고 싶다.
뭐, 유니티에서 잘 지원해주겠지 하고 막상 시도해보니까 생각보다 막히는 부분이 많았다.
문제점 1. 유니티에서 지원해주는 ScreenCapture.CaptureScreenshot()이 제대로 동작하지 않음.
- https://docs.unity3d.com/ScriptReference/ScreenCapture.CaptureScreenshot.html
- 유니티 자체적으로 지원하는 스크린캡쳐는 ScreenCapture.CaptureScreenshot() 라고 하는데,
이게 문제가 많은지 커뮤니티 개발자들은 텍스쳐를 저장하는 식의 방법으로 대체 활용하고 있다.
문제점 2. 저장소 권한 문제.
- 파일을 만들어서 경로에 넣는 것이기 때문에 저장소 권한이 없으면 오류가 난다.
- 매니페스트를 추가하고 저장소 권한을 획득하자.
문제점 3. 저장은 되나 갤러리에 나타나지 않음.
- 저장까지는 잘 되고 파일이 생성되기 까지 하는데, 갤러리에 뜨지는 않는다. 이 또한 별도의 처리를 해줘야 한다.
- https://answers.unity.com/questions/200173/android-how-to-refresh-the-gallery-.html
이러한 문제들을 반영해서 최종적으로 만든 코드는 아래와 같다.