개발 · 컴퓨터공학 / / 2022. 10. 21. 19:33

three.js body 물리 테스트 최적화

728x90
반응형
// setting for performance
cannonWorld.allowSleep = true; 
cannonWorld.broadphase = new CANNON.SAPBroadphase(cannonWorld);
// SAPBroadphase
// NaiveBroadphase
// GridBoardphase

World의 allowSleep 설정은 body가 상당히 느려지는 경우 테스트하지 않는 설정이다.

 

broadphase라는 설정은 body의 충돌을 테스트할 때의 옵션이다.

이름 그대로 광대한 범위에서 여러 충돌들이 발생할 때, 어떤 방식으로 충돌 테스트를 진행할지를 결정한다.

기본적으로는 Naive로 설정되어있지만, Grid는 구역을 나누어서 테스트를 진행하고, SAP는 여러 임의의 축에서 테스트하는 SAP알고리즘을 이용한 방식이다.

가장 효율적인 방식은 SAP Broadphase라고 한다.

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유