작년 이맘때쯤에 JAVA와 유니티3D를 연동하는 예제를 포스팅하였다.
짜증나는자바1편짜증나는자바2편

자바연동 2편에서 대충 Jar파일을 만들어서 Java에서 호출하는 부분을 만들었었지만, 1편에서 밝힌 바와 같이 Jar를 유니티3D로 끌고 와서 연동하는 예제는 다루지 않았다.

어쩌면... 짜증나는 자바시리즈 3편으로 봐도 될 정도로 오늘 다룰 주제는 자바로 만들어진 Jar파일을 유니티로 가져와서 연동하는 예제이다.

( 출처 밝히면 펌 자유이지만, 출처를 밝히지 않으신다면 고소크리 들어갑니다.)

1. 이클립스를 연다.
2. Android Application Project를 새로 만든다.
사용자 삽입 이미지
3. 이름과 프로젝트명을 지정하고 패키지이름을 지정한다.
사용자 삽입 이미지
4. 이제부터 다음, 다음, 다음, 다음 4연타.
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

5. 프로젝트 생성완료. (쉽죠?)
사용자 삽입 이미지
6. 디버그 설정을 Android Application으로 설정
사용자 삽입 이미지
7. 이제 만들어진 프로젝트명에서 마우스 우클릭후 속성을 클릭
사용자 삽입 이미지
8. "Is Library"체크하고 "Apply" 한번 눌러 준뒤 "OK"
사용자 삽입 이미지
9. 프로젝트 폴더 밑에 /bin 폴더에 보면 "Plugin.jar"파일이 생성되어 있다. (나중에 유니티에서 이녀석을 가져다 쓸거임)
사용자 삽입 이미지
10. /src/com.lingo.plugin을 클릭한 후 다시 우클릭하여 New, Class를 차례대로 클릭
사용자 삽입 이미지
11. 클래스명을 Test로 하고 Finish 클릭
사용자 삽입 이미지
12. 다음과 같이 정적(Static) 메소드와 인스턴스(Static이 안붙은) 메소드를 작성한다.
사용자 삽입 이미지

13. 다음과 같이 Build Automatically 선택되어 있으면 저장과 동시에 자동으로 Build 됨.
     * Console에서 에러가 발생하지 않았다면 문제없이 사용가능한 형태가 됨.
사용자 삽입 이미지

14. 저장하고 빌드가 완료되면 /bin 폴더의 속성을 클릭해서 실제 경로 확인
사용자 삽입 이미지
15. 이제 유니티로 와서 코딩부터...
     * 주의점은 Static은 "AndroidJavaClass"로, 인스턴스는 "AndroidJavaObject"로 선언되어야 함.
사용자 삽입 이미지
18. 다음과 같이 Main Camera와 GUI Text만 배치한다.
사용자 삽입 이미지
19. PluginTest 파일을 Main Camera에 Attach한후 GUI Text를 다시 Asign한다.
     - 물론 /Pluings/Android 밑에 "9"에서 언급한 plugin.jar 파일을 넣어두는걸 잊으면 골룸.
사용자 삽입 이미지
20. GUI Text Default
사용자 삽입 이미지

21. Editor 상에서는 이렇게 보임. (문구가 장난이지만... 진짜 작동하는거 맞다. ㅜㅜ)
사용자 삽입 이미지
이제 마지막으로 Build&Run하면, 안드로이드 폰에서 실행된 결과를 확인할 수 있다.

2014/04/10 18:16 2014/04/10 18:16
안녕하세요? 글뻥입니다.
어제에 이어서 오늘은  AC2 도반이신 이문상님 붙잡고... 야외카페에서 어떻게 Jar파일을 통합할지 같이 스타디한(라고 쓰고 지도 받았다고 읽습니다. ㅋ) 결과를 공유 드립니다.
아울러 출처를 밝히지 않은 불펌은 절대 불허합니다.
펌하실때 반드시 unitystudy.net 또는 wolfpack.pe.kr 을 밝혀주세요.
(링고게임즈의 지적 자산을 지켜주시길 부탁드립니다.)
어제 이클립스에 포팅한 녀석을 그대로 재활용할 예정입니다. =)
먼저 왼쪽 Navigator에서 New > Android Application Project를 클릭합니다.
사용자 삽입 이미지

Create custom launcher icon만 언체크하고 Next
사용자 삽입 이미지

그냥 막 넘어갑니다.
사용자 삽입 이미지

Finish 클릭!
사용자 삽입 이미지

새로 만든 프로젝트의 src 폴더를 타고 들어가 Class를 새로 만듭니다.
사용자 삽입 이미지
저는 ExtJarTest로 설정했어요.
사용자 삽입 이미지

사용할지 안할지는 모르겠지만... 하두 디인 "AndroidManifest.xml"라는 넘을 안전빵으로 새로만든 클래스명으로 수정했습니다.
사용자 삽입 이미지

어제 만든 AndroidTest 프로젝트에서 class.jar 파일을 복사하여 새로 만든 프로젝트에 넣어주세요.
사용자 삽입 이미지
Ctrl+c, Ctrl+v해도 됩니다. =)
사용자 삽입 이미지
그리고 새로 만든 프로젝트의 Properties를 클릭!
사용자 삽입 이미지
Java Build Path에서 Libraries 탭에 Add Jars를 클릭
사용자 삽입 이미지


방금 복사한 Class.Jar파일을 선택해 줍니다.
사용자 삽입 이미지

그리고 새로 만든 ExtJarTest 소스를 어제와 같이 수정해줍니다.
extJarCall이라는 메소드를 만들었고 거기에 String 데이터를 넣으면 " Called!"라는 메시지를 붙여서 반환하는 구조입니다.
사용자 삽입 이미지

소스가 있는 폴더에 우클릭하시고 Export합니다.
사용자 삽입 이미지


Java에 Jar file선택!
사용자 삽입 이미지

다음과 같이 소스 폴더만 선택하고 나머지는 다 무시.
Export할 경로는 어제 Export해둔 (지난강좌 참조) 프로젝트의 Lib 폴더로...
사용자 삽입 이미지
다음과 같이 Export되면 성공입니다. =)
사용자 삽입 이미지
이제 어제 (지난강좌)의 프로젝트를 선택하고 속성을 눌러 줍니다.
사용자 삽입 이미지
Add Jars하시고 방금 들어온 ExtJar.jar 파일을 선택!
사용자 삽입 이미지
이렇게 들어오면 성공입니다.
사용자 삽입 이미지
어제 소스를 약간 수정해서 ExtJarTest.extJarCall() 메소드를 호출해줍니다.
사용자 삽입 이미지
이제 이클립스에서 빌드하면~~~~
유니티에서 자바로 보낸 문자에 Called!라는 문자열이 잘붙어서 따라옵니다. =)
사용자 삽입 이미지


오늘도 고생많으셨습니다.
이 땅의 모든 개발자분들 기운내세여 =)
마지막으로 바쁘신내주셔서 친절히 답변해 주신 이득우님께도 감사드립니다. =)
2013/05/06 22:58 2013/05/06 22:58

드뎌 쓸만한 자바 툴 발견.
이클립스의 속터짐을 뒤로한체 자바쪽은 아에 손을 안대고 있었는데 Net Beans 6 릴 소식을 듣고 한번 깔아 봤는데 JSP를 개량한 JSF가 꽤나 맘에 든다.
나중에 한번 썰을 풀어 보도록 하고 다운로드 설치는 여기로~!
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter;pgid=yYdgaHqkkjVSR0EUPIQsoQ3D00002tPkOkcp;sid=0rL94smz0vn94o5DLAm15yYVipeZQgT2h1AyI9St2qjiHw==

2008/04/01 00:12 2008/04/01 00:12