2013-07-12 4 views
0

영웅의 레이저 (그리고 앞으로의 다른 것들)에 레이캐스팅을 구현하기 위해 게임을 만들고 id를 사용하고 싶습니다. 스프라이트 시트에 스프라이트를 넣었습니다. 액세스 할 때 각 요소는 그 자체를 그리는 방법을 알고 있기 때문에 액세스 할 수 있지만 스프라이트 시트는 PNG이므로 일부 요소는 투명성을 보장하므로 OpenGL에서 제대로 작동합니다. 각 요소의 위치, 크기 등을 알고 있지만 일부 스프라이트에 투명도가있는 경우 "경계 상자"에만 닿기 때문에 광선 캐스팅이 완벽 해지는 위치와 크기가 충분하지 않습니다. 그래서 거기에 Bresenham 알고리즘을 사용하여 광선을 던질 수있는 방법입니다 (나는 그것이 가장 가벼운 방법입니다, 내가 잘못하면 날 올바른지) 및 픽셀을 완벽하게 OpenGL에서 픽셀 있도록 광선의 충돌 지점을 얻을 수있는 실제 아닌 첫 번째 스프라이트의 투명 영역?레이 LWJGL로 자바로 투명한 PNG를 캐스팅

+0

"어떻게 스프라이트의 투명한 부분을 통해 레이 캐스트합니까?" 게임 3D 또는 2D도 있습니까? – Chase

+0

예 저는 2D이고 – Xkynar

+0

그리고 그러한 목적을 위해 가장 가벼운 레이캐스터 기술에 대한 조언을 구할 수 있다면 이드는 감사 할 것입니다 – Xkynar

답변

1

쉬운 방법은 없습니다. 레이드 캐스트가 통과할지 또는 스프라이트의 일부와 충돌 하는지를 확인하기 위해 사용자 정의 충돌 검사기를 만들어야합니다.

그러나 더 작은 경계 상자를 사용하거나 더 큰 경계 상자를 사용하거나 더 나은 경계 상자를 사용하는 것이 좋습니다. 텍스처를 계산할 때 훨씬 쉽고 빠릅니다.

+0

나는 당신의 조언을 따를 것입니다, 감사합니다 :) – Xkynar

관련 문제