2010. 03. 06 작업현황
Game Project/TPS Style Prototype (3인칭 슈팅) / 2010/03/06 13:44
우선 최근까지 작업물의 결과 동영상입니다.
포스트가 올라오지 않은 날 동안 진행된 작업은..
높이맵이 아닌 오브젝트들의 높이도 참조하도록 하였습니다,
위치에 따라 여러개의 높이값들이 있을경우 (동일 위치에서 계단의 위/아래 등..)
현재 캐릭터의 높이에 따라 적절하게 높이를 선택하여 적용하도록 하였습니다. (계단 위로 올라갈 경우는 계단 위에 있게되지만, 아래로 지나갈경우의 높이는 지형높이를 참조)
여기는 별로 문제가 없는데 모서리부분에서 걸리적거리는 현상이 있습니다.
충돌판정시 오브젝트 끼임/뚫고지나감 현상 때문에 offset을 추가했더니 이렇게 걸리는 문제가 생기네요.
해결책은 있지만 처음부터 싹 갈아 엎어야 하는 상황이라...ㅠ.ㅠ;;
적의 충돌검사 판정 세밀화.
요곤 다음 포스트에 동영상과 함께 다시 올리겠습니다~
뼈대의 변환행렬 접근을 용이하도록 하여 뼈대에 다른 메쉬 부착 ( 여기선 손에 총 모델이 되겠지요 )
스키닝메쉬를 적용하면서 렌더링시 마다 변환행렬과 뼈대오프셋행렬 정보를 얻어오게 되는데, 다른 클래스에서 특정 뼈대정보를 참조하도록 검색용 메소드를 하나 더 만들어주었습니다.
현재는 부모노드에서부터 자식노드로 계층적으로 돌면서 뼈대이름이 맞나 확인하는 방식으로 되어있는데, GetBoneName() 같은 함수처럼 바로 뼈대정보를 얻어올 수 있는 방법은 없는지 더 고민을 해봐야겠습니다 ^^;
GetBoneID( boneName ) 과 같은게 미리 있으면 좋을텐데요
그리고 무기관리클래스를 추가하여 여러가지의 무기를 게임중에 수시로 바꾸며, 고유 속성을 갖도록 해주었습니다.
일단 지금 무기 고유 속성들을 보자면..
무기모델, 분당발사속도, 반동세기, 파워(데미지), 사운드파일, 연사가능여부(권총,저격총과 같은 경우 한 발 발사되면 마우스 왼쪽버튼을 Up시켜줘야 누르고 있을 때 계속 총이 나가는 현상이 없어지겠지요) 가 있네요.
간단한 파티클 시스템.
파티클 시스템을 만드는 것에는 문제가 없었지만 적의 충돌판정 확인 후 정확한 포지션을 얻어오는게 힘드네요..
지금도 완전하진 않습니다. 편법적인 계산으로 되어있는 상태지요..ㅠ.ㅠ
광선을 쏴준 지점에서(Originate Ray Position) 광선을 쏴준 방향으로 (Ray Direction) 주어진 길이를 이용하려 하였는데,
충돌판정은 잘 되는데 저 Originate Ray Position 값과 Ray Direction 이 그때그때 오차가 생기지 말입니다..
역행렬을 계속 곱하다 어디서 잘못된 것 같은데.. 여기도 좀 더 연구해봐야겠네요 ㅠ.ㅠ
쉐이더 기반 텍스쳐 스플래팅.
그전에 지형을 만들면서 스플래팅 효과를 내려고 했을땐 참 여러모로 낭비가 심했던 것 같습니다..
Multi Layered Terrain 말그대로 지형을 해당 텍스쳐마다 알파값을 적용시켜 여러개를 그려줬었습니다..
지형 하나에 2개의 레이어만 추가되어도 3번의 지형을 렌더링 해줘야 하는 낭비가.. ( Base + Layer1 + Layer2 )
그에 비해 쉐이더 기반의 텍스쳐 스플래팅은 구현도 쉽고 낭비도 없습니다.
여기서 낭비는 렌더링시 차지하는 시간도 시간이지만, 리소스 파일도 줄어듭니다..
알파텍스쳐를 알파값으로 이용하지 않고 rgb 값으로 이용을 해 주면 알파텍스쳐 한장에 적어도 3가지의 알파채널을 가질 수 있는 셈이지요.
Base에 2개의 Layer를 사용하는데, 알파값 대신 위처럼 RGB를 다 써서 알파맵을 절약하자는 것이지요.
여기에 초록색을 추가하면 3개의 Layer를 사용하게되고, png형식으로 저장하여 알파채널까지 쓸 경우엔 4개의 Layer을 한 텍스쳐로 처리 할 수 있겠지요. 쉐이더에서 float4는 .rgba 니깐 말이지요~
열심히 코딩하고 나면..
뿌듯함과 동시에 밀려오는 스트레스(열심히 한 것 같은데 결과물을 보면 어째.... 코딩할수록 버그가..)...
그래도 프로그래밍의 목적이 약간의 뿌듯함이 모여 큰 성취감을 느끼는 것 아니겠습니까...ㅎㅎ;
'Game Project > TPS Style Prototype (3인칭 슈팅)' 카테고리의 다른 글
| 좀 더 세밀한 충돌판정을 위해! (2) | 2010/03/06 |
|---|---|
| 2010. 03. 06 작업현황 (0) | 2010/03/06 |
| 2010. 02. 28 작업현황 (0) | 2010/02/28 |
| 2010. 02. 25 작업현황 (2) | 2010/02/25 |
| 2010. 02. 21 작업현황 (0) | 2010/02/21 |
| 3인칭 카메라 기능추가 (0) | 2010/02/10 |


댓글을 달아 주세요