Game Dev/WarSimulation

Landscape에 맞닿는 Line 만들기 (N/N)

AKer 2017. 4. 19. 08:24
반응형

Polygon과 만나는 점에 대해서도 vertex를 추가하였다. 


회색 : Landscape의 Polygon / 붉은색 : Grid Line
파란색 : Line이 지나는 Landscape Patch
하늘색 : Patch의 Min~Max까지의 직선


알고리즘은 다음과 같다.


  1. Landscape의 Polygon을 2개 모은 사각형을 Patch라고 한다. (위 그림의 파란색)

  2. Patch를 지나는 Grid Line의 교점 p1, p2를 구한다.

  3. Patch의 Min, Max Point인 q1, q2를 구한다.

  4. p1-p2 선분과 q1-q2 선분의 교점을 구한다.


참고로 두 선분의 교점을 구하는 것은 구현하고 봤더니 FMath::SegmentIntersection2D 함수로 제공을 하고 있다.



그치만 Grid가 넓어질 수록 계산량이 너무 많아진다. 코드 조금 더 가다듬어서 커밋하고... Landscape의 Material을 변경하는 방향으로 구현해야 할 것 같다. 여기서 너무 시간을 많이 끌어서... 빨리 게임처럼 보이는 부분을 만들어야 할지 고민 중.




반응형