Unreal Engine mediapipe 플러그인 만들기 도전 1. Windows 환경에서 Mediapipe Framework 환경 구축
안녕하세요, 김동원입니다.
Unreal Engine에서 Vtuber와 같은 pose detection을 이용한 3D 모델 조작에 대해 관심이 생겼습니다.
그래서 만들어보기로 했습니다.
1. Mediapipe Framework 환경 구축하기
솔루션을 그대로 쓰기엔, c++에서의 솔루션은 제공이 되지 않습니다. 따라서 Framework 를 이용해서 제작해주어야 합니다.
일단 https://developers.google.com/mediapipe/framework/getting_started/install 의 Windows를 한번 보면 됩니다.
그런데 이대로 따라하다간 다양한 에러가 날 수 있습니다.
그래서 요약해서 필수적으로 해야 하는 부분 + 추가해줘야 하는 부분 몇개에 대해서 알려드립니다.
1. Bazel 설치시 주의점
- Bazel은 구글에서 만든 빌드및 테스트 자동화를 가능하게 하는 오픈소스입니다.
- Mediapipe는 구글에서 Bazel를 사용해서 빌드할 것을 매우 강력하게 추천합니다. (애초에 다른거 쓴 사람도 있는 거 같은데 매우 비추하는 느낌이더군요)
- Bazel를 설치하기전에 Msys 에서 필요한 라이브러리 설치를 먼저 하시고 Bazel를 설치하세요.
- 다음과 같은 변수를 윈도우 환경변수 설정을 해주세요
- Path에 Bazel.exe 경로설정
- BAZEL_SH : 설정 사용하는 msys64의 bash.exe 경로
- BAZEL_VC : visual c++ 경로 설정 (비주얼 스튜디오 사용자라면, 버전\Community\VC)
- BAZEL_VC_FULL_VERSION : 버전 이름 기입
- BAZEL_VS : visual studio 경로 설정
- BAZEL_WINSDK_FULL_VERSION : 윈도우 sdk 버전
- BAZEL을 사용할 때는 visual studio 2019버전으로 하는것을 권장합니다.
(2022버전을 썼을때는 link 에러가 나더군요)
2. Window에서는 Python 경로를 빌드 할 때 알려주어야 합니다. (리눅스나 Mac os는 안해도 되지만 윈도우는 필수입니다.)
예시
--action_env PYTHON_BIN_PATH="C://Users//tuna8//AppData//Local//Programs//Python//Python310//python.exe"
3. 가끔 permission denied라는 에러가 빌드 할 때 뜨던데, 그럴때는 그냥 경로의 파일들의 읽기전용을 해제해주면 됩니다.
아마 이렇게 하면 hello world와 mediapipe hand tracking을 사용 하실 수 있을겁니다..
다음에는 미디어파이프 프레임워크의 구조와 사용법을 알려드리겠습니다.