CustomUnityPlayerActivity 설정하기 (Unity3D Android Plugin 만들기)
Eclipse 안드로이드 프로젝트로 만든 Activity 를 Unity3D 에서 Main 으로 사용하기 위해서는 다음과 같은 작업을 필요로 합니다.
1. 새 프로젝트 생성 후 Activity 파일명 변경
- Eclipse 에서 File > New > Android Project 생성
- 생성 된 Activity.java 파일을 선택 후 Refactor > Rename (F2, Alt+Shite+R) CustomUnityPlayerActivity 로 변경
2. Unity3D 에서 제공하는 classes.jar 프로젝트에 추가
- 프로젝트 Properties 에서 Java Build Path 탭 선택 후 Add External JARs... 클릭, classes.jar 파일(Path : 유니티설치폴더\Editor\Data\PlaybackEngines\androidplayer\bin)을 선택.
3. CustomUnityPlayerActivity.java 파일 설정.
- UnityPlayerActivity.java 소스 파일(Path : 유니티설치폴더\Editor\Data\PlaybackEngines\androidplayer\src\com\unity3d\player) 의 내용을 CustomUnityPlayerActivity.java 에 그대로 복사 (onKeyDown, onKeyUp 등 Activity 메서드가 실행 될 때 UnityPlayer 객체에도 전달 되도록 코드 되 있다.)
- package명, Activity명 설정, import com.unity3d.player.UnityPlayer 추가.
4. CustomUnityPlayerActivity.java 파일 선택 후 JAR File 로 Export.
/** 이제 Unity tool 에서 작업 */
5. Unity에서 새 프로젝트 생성 후 Eclipse 에서 Export 된 JAR 파일 복사 (Path : Assets/Plugins/Android)
- New Unity Project 생성 후 Build Setting 에서 Android platform 으로 switch 후 패키지명 설정 (eclipse 와 동일하게)
- 4. 에서 Export 된 AndroidPlugin.jar 파일을 Assets/Plugins/Android 에 복사
6. AndroidManifest.xml 생성 후 프로젝트 내 복사
- 빌드 후 생성 되는 Temp 폴더 내 StagingArea 폴더에서 AndroidManifest.xml 추출하여 (Path : 유니티프로젝트 폴더\Temp\StagingArea) 다음과 같이 수정
- Assets/Plugins/Android 에 복사
위와 같은 작업을 해 준 뒤에는 Eclipse 에서 Activity 내용이 변경 될 때마다 java 파일을 Export 하여, Unity Project 내에서 jar 파일만 새로 Export 된 파일로 변경 해 주면 됩니다.
* 요약 *
[ Eclipse 내에서 작업 ]
1. 새 프로젝트 생성 후 Activity 파일명 변경
2. Unity3D 에서 제공하는 classes.jar 프로젝트에 추가
3. CustomUnityPlayerActivity.java 파일 설정.
4. CustomUnityPlayerActivity.java 파일 선택 후 JAR File 로 Export.
[ Unity3D 내에서 작업 ]
5. Unity에서 새 프로젝트 생성 후 Eclipse 에서 Export 된 JAR 파일 복사 (Path : Assets/Plugins/Android)
6. AndroidManifest.xml 생성 후 프로젝트 내 복사