미디어파이프의 핸드 랜드마크 모듈을 유니티에 이식하는 플러그인인 MediaPipeUnityPlugin을 빌드하는 과정을 기록하려고 한다.
팀원 모두 윈도우10 노트북에 빌드하므로 윈도우10 설치가이드를 따라서 빌드하였다.
MSYS2를 설치하고 시스템 환경 변수의 path에 C:\msys64를 추가하고
이후 실행된 MSYS2에 아래의 코드를 실행하여 필요한 패키지를 다운받는다.
pacman -S git patch unzip
Python을 설치하고 Add python.exe to PATH를 선택하여 시스템 환경 변수에 파이썬의 경로가 자동으로 등록되도록 한다.

Visual C++ Build Tools에서 Visual C++ Build Tools 2019 설치관리자를 다운로드하고 실행한 뒤 Desktop development with C++를 체크하고 설치를 시작한다 
PowerShell을 관리자 권한으로 실행한 뒤 아래 코드를 실행하여 chocolatey를 설치한다.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
그 후 cmd나 PowerShell에서 choco install bazelisk 를 실행하여 Bazelisk를 설치한다.
(이렇게 설치할 경우 bazel의 환경 변수 설정이 자동으로 된다.)
OpenCV에서 OpenCV – 3.4.16 windows 파일을 다운받아 경로를 C:\로 설정한 뒤 Extract를 눌러 설치한다. 
NuGet에서 nuget.exe를 다운받은 뒤 C:\NuGet의 폴더를 생성하여 nuget.exe파일을 통째로 옮기고 C:\NuGet를 시스템 환경 변수 path에 등록한다. (nuget.exe파일은 NuGet설치 파일이 아니라 파일 자체가 설치된 파일이므로 통째로 옮겨야 한다.)
cmd에서 pip install numpy --user를 실행하여 NumPy를 설치하면 기초적인 모든 프로그램의 설치가 끝난다.
cmd에서 git clone https://github.com/homuler/MediaPipeUnityPlugin.git를 실핼하여 깃허브 레포지토리를 컴퓨터에 복사한다.
cmd에서 아래의 코드를 입력하여 빌드를 실행한다.
cd MediaPipeUnityPlugin
python build.py build --desktop cpu --opencv=cmake -v
실행 후 INFO (build.py): Installed라는 코드가 뜨면 성공적으로 빌드가 끝난다.
Unity Hub를 다운로드 하여 설치한 뒤 personal licenses를 선택하고 현재 Official releases인 2022.3.14f1 버전을 설치한다.
C:\Users\Admin\MediaPipeUnityPlugin\Assets\MediaPipeUnity\Samples\Scenes\Tasks\Hand Landmark Detection\Hand Landmark Detection.unity
그 후 위 코드의 경로에 위치한 파일을 실행하면 Unity Hand Hand Landmark Detection Sample Scene이 열리게 된다.
사랑합니다 ㅠㅠㅠ