본문 바로가기

unity3d

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 생성 후 프로젝트 내 복사