* 기본적으로는 비트맵을 읽어서 텍스쳐르 변환할것이므로, 기본적인 Object는 사각형이다. * 하지만 십자가 모양의 몹(예)과 충돌처리를 하자니, 십자가 모양의 몹의 사각형 영역에는 맞았지만 십자가 부분에는 안 맞았는데도, 충돌이 된다. * 좀 생각해 보자 * 지금 생각해 보는것 * 일단 두 오브젝트의 사각형이 충돌이 났을때, 그 충돌된 부분의 사각형 영역을 얻어와서, 각각의 오브젝트에 그 사각형 영역이 1이면 충돌, 아니면 안충돌 * 그러자니 오브젝트마다 그림 크기에 맞는 2차원 배열을 가져야 한다. 어쩌면 비트맵을 읽어오면서, 그 비트맵이 메모리에 있을테니, 그걸 참조하는 방법도 있을듯 하다. 안된다 하더라도, 요즘 컴퓨터 메모리 남아도니까 별로 문제가 되지는 않을듯 싶다. * 속도가 제대로 나올까? * 저의(상욱) 생각입니다. 일단 히트 판정이 날려면 주인공이 공격을 하게 됩니다. 그 때 발생하는 무기의 범위는 부채꼴이 되겠죠? 그렇게 때문에 오브젝트가 주인공의 위치와 무기의 거리사이에(각도는 제한된 상태) 들어온다면 히트 판정이 나게 되겠죠? 그러므로 정교한 히트 판정이 나기 위해서는 사각형 영역보다 부채꼴 형태가 더 적합하다고 생각합니다. 그리고 적의 충돌을 판정하기 위해서는 적은 최대한 둥근 모습으로 만든다면 해결이 어느정도 가능하다고 생각합니다. 둥그스름한 물체가 땅에 닿는 곳은 원형이 되겠죠? 그 원형을 판단하면 되지 않을까요? 어짜피 그려지는 곳의 머리가 주인공의 무기와 겹치는 동시에 친다면 더 부자연스러울꺼 같네요... * 그런데 왜 부채꼴이야? 창이라면 푹 찌르니까 사각형 + 사각형이 될테고.. 검도 찌르면 사각형 + 사각형. 베면 사각형 + 부채꼴이 되겠구나. 생각외로 복잡하군. * 완성. 일단 오브젝트 사각형 + 무기 리치 사각형 이런식으로 했음 Upload:ARCollisionTest.zip * 잊고있었다 타일식으로 간다면... -_- 적도 나도 모두가 타일위에 서 있는 꼴이 된다. 결국 거리를 따질 필요 없이 나와 적 사이가 몇 타일인지를 계산할 수 있게 된다. -_- 굳이 충돌처리를 할 필요가 없다. 검의 리치(당연히 타일단위) 적과 나의 거리(타일단위)를 계산하여 이내면 히트 아니면 미스다. (현존하는 게임의 90%가 이 방식이다. 대전격투가 아닌이상 크리티컬한 충돌체크는 역시 무의미함을 깨달았다.) 추가로 의견 바람. --선호 ---- [ProjectAR]