플래시로 AR(증강현실)을 구현해 봤습니다.

3D Engine은 Sandy3D, 마커인식은 FlarToolKit  을 사용했습니다.

증강현실 개발 지원킷인 ARToolKit을 AS용으로 포팅한것이 FlarToolKit인 데요

플래시도 AS3.0 들어와서 속도도 꽤빨라지고, 거의 못하는게 없는것 같습니다.

FlarToolKit 내에 예제용 3D모델까지 포함되어있으니 여러분도 한번 시도해 보시죠~

시중에 돌고있는 Simson 종이인형을 3D모델링하고 관절 몇개 만들어 왕복운동 시켜본 것 입니다.





체험 서버 종료

무료 호스팅 서비스를 이용하던중 해당 회사 서비스가 종료되어  현재 체험이 불가합니다.  죄송합니다!!

동영상에서 보셨듯이 별다른 기능은 없고요, 그냥 목과 팔을 흔드는 심슨 3D 로봇이랍니다. 

차후 서버에 재등록하게되면 링크를 수정하도록하겠습니다.


준비물:

  1. 웹캠 : 플래시에서 인식되는 웹캠이면 됩니다.

  2. 마커(인식용 이미지가 인쇄된 종이) : 첨부파일을 다운로드 하셔서 가능한 두꺼운 종이에 인쇄하세요.


사용 방법:

접속 후 웹캠 사용 허락하기를 선택하신 후,  인쇄된 마커용지를 카메라에 비춰줍니다. 이후 마커의 위치와 방향에 맞쳐서 3D 로봇이 오버레이 되는것을 보실 수 있습니다. 조명이 중요하니 적절히 주변광을 맞춰주시면 인식이 더 잘됩니다.


어떻게 작동하는가?

웹캡으로 실시간 캡쳐한 영상에서 마커(특정 이미지 패턴이 인쇄된 종이)를 찾고, 그 위치와 방향을 계산해 냅니다. 여기까지가 FlarTooKkit(ARToolkit)이 하는 일이고요, 마커의 위치와 방향에 해당되는 영상이미지 위에 3D로 가상의 영상을 오버레이시켜서 실제화면과 가상화면을 동기화 시키게됩니다. 이때 3D 형상을 보여주는데 사용되는것이 Flash 3D 엔진입니다.  본 예에선 Flash 액션스크립트 개발환경을 이용하여 Flash Player상에서 작동되게되므로 별도의 프로그램 설치없이 웹카메라와 웹브라우져만으로 작동되는 장점이 있습니다.  다만 속도가 조금(많이?) 느립니다.  때문에 매우 빠르고 고화질을 원하는경우는 C/C++기반의 개발환경을 이용하곤 합니다. 다만 이경우엔 별도의 실행파일을 설치하여야 한다는 단점이 있습니다.


[]첨부파일: 증강현실FlarToolkit용 마커이미지(pdf파일)

flarlogo-marker.pdf


[]참고자료

FlarToolKitSandy3D  , Away3D

심슨종이로봇: http://cubeecraft.com/  직접인쇄해서 종이로봇 만들어보시면 로봇 장난감이 뚝딱~.


+ Recent posts