나는 Roguelike에서 일하고 있으며,이를 위해 Bresenham 선을 단색 원의 모든 지점으로 플로팅하는 광선 추적 / 캐스팅 FOV 알고리즘을 만들었습니다. 그것은 유물이 없으며 (합리적으로 효율적이지만) 내 중요한 요구 사항이 없습니다 : 대칭 (괴물을 볼 수 있다면 당신도 볼 수 있어야합니다).
다음은 내 코드의 비대칭 동작의 예입니다. 왼쪽 이미지에서 나는 모서리에 서 있습니다 (빨간색 'X'블록 = 벽). 오른쪽 상단 타일을 볼 수 있습니다. 그러나 해당 타일 중 하나 (오른쪽 이미지)로 이동하면 더 이상 내가 온 타일을 볼 수 없습니다.
나는 Permissive Field of View 의 형태를 띠고 있다고 생각 하지만 Roguebasin 기사가 대칭을 허용한다고 제안했기 때문입니다. 대칭을 얻는 대체 수단이 있습니까?
1
가시성을 테스트 할 때 시점이 광선을 투사하는 위치와 동일한 위치에 있는지 확인하십시오.
—
MichaelHouse