|
카테고리
링크
최근 등록된 덧글
...우앙... OTL 이런..
by 낭아 at 08/10 비행시뮬레이션 유저 사.. by shrike at 07/21 amurtare// 뒤늦은 답변 .. by 항해자D at 07/16 아이디가 '두껍'이라고 된.. by 백승동 at 05/15 정신차려보니 저도모르게.. by 공사장 at 04/27 잘 보았습니다. 게임쪽으.. by neojzs at 04/23 감삼다. 거의 빼끼는 수준.. by 이곽남 at 04/17 헛 곽남님 리플은 이제야.. by 항해자D at 04/08 와.... 대단하세요~!! by 하늘지기 at 03/26 와...멋지네요. by 쿠테 at 03/24 라이프 로그
최근 등록된 트랙백
[2007년 KAIST 특강] 멋..
by Eonsama™ [펌] [2007년 KAIST .. by ::: Digitzetre 4th - 마.. 대한민국에서 게임 개발자.. by 이면지인생. 아트D 님의 강의 by 위드의 블로그 게임기획에 필요한 능력 by 벼리군의 이야기~☆ [펌] 게임기획에 필요한.. by 해키스트 닷컴 손쉬운 소프트웨어 스케줄.. by 정원이의 공간 Zoran Popović by All That Entertainment.. Raid on Bungeling Bay by 하얀까마귀의 테스트베드 삼국지 10 PK 엔딩 by 이은석 항해일지 |
2004년 12월 10일
매운맛나리의 연구
나의 오늘 망상주제. 예전부터 해온 생각중의 하나는, 게임에 물리학 적용은 아직도 발전할 여지가 많이 있다는 것이다. 특히 액션게임에서의 격투쪽이 미개척분야인데, 지난 세월동안 스파, 버파 같은 위대한 격투게임들이 게임계에 이너베이션을 이끌었지만, 타격과 액션 판정에 있어서는 20여년간 아래와 같은 형식에서 달라진게 거의 없다. (1) 타격자와 피타격자는 pre-defined key 애니메이션을 재생한다. (2) 타격판정을 한다. if 중첩됐나(공격자의 hit bound box, 피타격자의 bound box) then 때렸다 = 참 대미지 = 때린자의 액션에 따라 정해짐 x 카운터시 가중치 else 때렸다 = 거짓 2D가 3D가 됐고 axis-aligned box가 oriented box가 되었을지언정 기본 구조는 변하지 않았다. 나의 망상은 이 부분을 이렇게 바꾸는건데 "보기에 딱 아플거같이 맞으면 진짜로 아픈 시스템"을 만드는 것이다. (전처리) (1) 디자이너가 키 애니메이션을 만든다 (2) 이 애니메이션을 분석하여 변환한다. 분석이라함은, 시간별로 각 관절의 토크(torque; 회전력)를 계산해놓는다는 것이다. 정교히 하자면 주요한 근육을 모델화하고 수축하는 힘을 계산해도 좋겠으나 관절단위 토크 정도로 단순화하는게 현재의 컴퓨팅파워에서 현실적이라 본다. (런타임) (3) 기본적으로 좋은 물리엔진이 작동중 (4) 플레이어의 조작에 반응하여 애니메이션을 재생할 때, 회전키대로 단순재생하는것이 아니고, 토크를 이용해 재현한다. 즉 아무런 방해환경이 없을때는 원본과 같은 모션이 나오겠지만, 도중에 어딘가에 걸린다든가 부딪힌다든가하면 그 상호작용을 반영하게 된다. (5) 대미지 역시 상호작용의 일종이다. 운동량은 상호교환되고 총합이 유지된다. delta(운동량) = m*delta(v) = 충격량 = f*delta(t) 무릎같이 단단한 부위가, 충분한 속도로 어떤 대상과 충돌했을때는 대미지가 매우 크겠지.. 단단하다 -> 변형이 적으므로 delta(t)가 짧다는 뜻 무릎 -> 다리가 딸려있으므로 질량(m)이 크다 즉 충격력 f 가 커짐. 게다가 맞는쪽 역시 정면으로 움직이고 있었다면 더 커짐. 운좋게 비껴맞을수도 있고. IK solver 처럼, 단지 정해진 목표를 향해 '이상적인 솔루션으로 무조건 연결'하는 것과는 차원이 다르다. rag doll 을 때리는 것은 타격감이 없다. 이것은 타격감을 높이기 위해 '현실적으로 보이는 힘'에 대한 계산이다. 타격판정은 정교해지고 눈에 보이는 것과 비슷하게 더 그럴싸해지며, 어떤 문제가 생겨서 그 관절의 토크한계가 감당하지 못할때 의도한 움직임과는 다른 결과가 나온다거나, 균형을 못 잡아 넘어지기도 하는등 리얼한 환경을 만들수 있을것이다. 그저께 레슬링게임을 하다보니 왠지 조작이 내 맘대로 안된단 생각이 들어서 (나에게 타임이 주어질때까지는 버튼 눌러도 무언가 움직일수가 없달까) 해묵은 아이디어를 다시 끄적여봤다. |