Emscripten을 사용하여 라이브러리를 컴파일하고 Unity에서 라이브러리를 사용할 수 있습니다. 플러그인 디렉토리에서 직접 C++ 코드를 호출하지 않고 C++ 코드를 캡슐화하는 라이브러리에서 함수를 호출하는 것이 더 유용할 수 있습니다. 이렇게 하면 다음과 같은 장점이 있습니다.
Unity 플러그인으로 사용할 수 있는 정적 라이브러리를 컴파일하려면 다음 단계를 따르십시오.
사용 중인 Unity 버전과 일치하는 Emscripten SDK를 다운로드해야 합니다.
사용 중인 Unity 버전에 적합한 Emscripten 버전을 찾으려면 Emscripten용 웹 네이티브 플러그인을 참조하십시오.
다운로드 링크와 Emscripten SDK를 설치하는 방법에 대한 자세한 내용은 다운로드 및 설치(Emscripten)를 참조하십시오.
Emscripten은 gcc 또는 clang 컴파일러를 대체하는 역할을 합니다. 기존 C/C++ 코드가 있는 경우 C++ 프로젝트를 다음과 같이 변경해야 합니다.
자세한 내용은 Emscripten의 프로젝트 컴파일 및 실행 기술 자료를 참조하십시오.
Unity 프로젝트의 Player 설정(메뉴: Edit > Project Settings > Player)이 다음과 같이 설정되어 있는 경우 C/C++ 프로젝트에 일부 컴파일러 옵션을 추가해야 할 수 있습니다.
| 프로퍼티 | 설명 |
|---|---|
| Enable Exceptions | 이 프로퍼티가 None으로 설정되어 있는 경우 컴파일러 옵션 “-fno-exceptions”를 추가합니다. |
| Enable Native C/C++ Multithreading | 이 프로퍼티가 활성화되어 있는 경우 컴파일러 옵션 “-pthread”를 포함합니다. |
| Enable WebAssembly 2023 | 이 프로퍼티가 활성화되어 있는 경우 다음 컴파일러 옵션을 포함합니다.
|
정적 라이브러리 파일을 컴파일한 후 Assets/Plugins 폴더의 Unity 프로젝트로 파일을 임포트합니다.
참고: Plugins 폴더가 없다면 자체 폴더를 만들어야 합니다.
Unity C# 스크립트에서 정적 라이브러리 함수를 호출할 수 있습니다. 함수를 호출하는 방법은 C# 스크립트에서 C 또는 C++ 함수를 호출하는 방법과 동일합니다. 예시는 Unity C# 스크립트에서 C/C++/C# 함수 호출을 참조하십시오.