Rev. 2.73


마우스 왼쪽 버튼을 클릭하면 작은 사각형 물체를 생성하며, 오른쪽 버튼을 클릭하면 화면을 초기화 합니다.

Robert Kieffer씨는 Box2D 물리엔진(Physics Engine) 라이브러리를 자바스크립트(Canvas 엘리먼트 사용)로 포팅한 Box2DJS를 공개하고 위와 같은 랜더링 결과물을 만들어 냈습니다. Box2D는 객체의 접촉과 마찰을 매우 사실적으로 표현하고, 프로그래머들이 애니메이션, 게임 등에 적용하여 보다 사실적인 화면을 연출할 수 있게하는 놀라운 시뮬레이션 라이브러리입니다. Box2DJS는 플래시 액션스크립트에서 사용되기 위해 만들어진 Box2DFlashAS3(1.4.3.1)를 변환한 것이라고 하네요. 따라서 API 문서역시 Box2DFlashAS3의 것과 동일한데요. 이 라이브러리를 써먹기 위해서는 world, shape, density, contact, friction, joint 등에 대한 용어 이해가 필요합니다. 약 60여개의 자바스크립트 파일들로 구성되어 있으며, PrototypeExplorerCanvas 라이브러리를 필요로 하는데, 그 이유는 Prototype이 상속 성능이 뛰어나기 때문이고 ExplorerCanvas는 IE에서도 Canvas 엘리먼트를 사용할 수 있게 해 주기 때문이랍디다.

표현의 수단으로 Canvas 엘리먼트가 사용된 것 뿐입니다. 굳이 Canvas 엘리먼트에만 Box2dJS를 사용할 수 있는 것은 아닙니다. CPU 부하로 인한 프레임 저하 현상은 시급히 해결해야 할 과제로 보이지만, 자바스크립트로 할 수 있는 재미있는 장난감이 또 하나 늘었네요. 물리법칙이 적용되는 게임도 쉽사리 만들어낼 수 있겠습니다.

CHANGELOG

  • 구글크롬 브라우저에서 더욱 원활한 렌더링 성능을 체험할 수 있습니다.
  • 프레임 처리 회수에 따라 드로잉 구간이 결정됩니다.(프레임 스킵)
  • 프레임이 낮은 경우 객체간 접촉을 감지하지 못하는 것을 보정합니다.
  • 객체 크기에 비례하는 밀도(무게)를 가집니다.
  • 프레임 처리 성능에 따라서 책정된 시간 간격으로 임의로 객체를 생성합니다.
  • 시간이 지날수록 FPS가 떨어지는 현상을 수정하였습니다.(객체 자동 제거)
  • 이 화면을 보고있지 않은 경우 작동을 일시 중지합니다.
  • 빈번한 호출이 발생하는 클래스에 네이티브 코드를 사용하여 엔진의 성능이 향상되었습니다.
  • IE계열 브라우저에서는 실버라잇가 설치된 경우 ExplorerCanvas 실버라잇 브릿지를 사용합니다.
  • IE8을 지원하는 ExplorerCanvas(r3 버전)를 사용합니다.

Comments

Got something to add? You can just leave a comment.

Your Reaction Time!

captcha

avatar