추가 스킬의 애니메이션 제작

8.11

일단 앨리스의 맞고 찌르기. 데미지상태로 볼 때 크게 이득인 것 같진 않다…

원안보다 많이 변형되어 별 것아니라고 생각했던 일이 커졌다. 일단 쳐올리기 데미지상태를 추가하면서 피격자의 애니메이션이 필요해서 4캐릭터 모두에게 추가했고, 기본 애니도 좀처럼 예쁜 모양이 나오지 않아 꽤 많은 수정을 거쳤다. 원래 구현은 처올리기 후 어류겐으로 추가타를 넣는 것이었지만, 체공시간이 짧아서 작은 기술밖에 들어가지 않는다. 원했던 방향이다.

이펙트 작업은 심호흡을 하고 한 번에 처리하는 편이 좋기 때문에 나중에 한 번에 처리하기로 하고, 닐리로 넘어가도록 하자.

8.12

닐리의 추가스킬 계획은 바닥에서 커다랗고 뜨거운 손이 나와 캐릭터를 때리는 것이다. 그리고 그것은 2연타이고 싶다.

사실 닐리의 추가 스킬은 그렇게 어렵게 생각하지 않았다. 근접기 하나 더 추가하는 것인데 뭐 그리 어려울까? 하지만 작업하며 깨닫고 말았다. 이것은 새로운 유형의 작업이었구나…근접기인듯 보이지만, 근접기는 아닌 게, 공격을 하는 이펙트가 제자리에 남는 것이다. 캐릭터와 다르게 그자리에 남아 확실한 타격을 준다. 하지만 발사체와는 다르게 타격은 또 일반 히트로 분류되어야 한다. 콤보 시 데미지 보정이 들어간단 이야기다.

타격을 2번 연속 때리는 것이므로 캐릭터에게 Attack이벤트를 2번 넣어도 된다. 실제로 앨리스가 땅을 밟는 스킬을 시전할 때 10프레임과 12프레임에 각각 Attack이벤트를 심었었다. 하지만 이제 와서 왜 타격을 캐릭터와 분리했냐면 대전 테스트를 할 때, 그 2프레임(=약 0.066초)사이에 앨리스가 얻어맞으면 모션이 캔슬되며 1타만 일어나는 현상이 있었다. 정말 짧은 시간인데, 프레임 사이를 다투는 격투게임에선 이런 일이 제법 자주 일어난다.

발사체는 생각보다 많은 정보가 필요하다. 공격자, 충돌을 검사할 적, 데미지, 발사체 속도, 원소타입, 공격타입, 데미지타입, 타격타이밍 등등. 때문에 이것들을 발사체클래스 내에 주루룩 변수로 만들었었는데, Bomb이 발사체를 상속받게 만들면서 정리를 할 필요가 생겼다. 하는 김에 코드를 리팩토링하자. 짧다고 좋은 코드는 아니지만, 좋은 코드는 짧다. 개발이 진행되면서 코드가 길어지는 것은 어쩔 수 없지만, 이렇게 틈나는대로 정리를 해주면 보기에도 좋고 무엇보다 나중에 편하다.

뿅뿅뿅. 윙샷도 구현완료. 데미지는 약한데, 많이 맞으니 이것도 아프다.

여기까지 구현된 걸 기록해 놓자.

오늘의 깨달음. 블렌더 애니메이션을 할 때 원하는 채널을 잠궈놓으면 해당 채널엔 애니메이션 키가 잡하지 않는다!

루트의 애니메이션은 모든 관절부 애니메이션을 통틀어 가장 중요한데, 때문에 채널별로 키를 다르게 줄 때가 많다. 개인적으로 많이 사용하는 기능이 블렌드 애니메이션(alt+e)기능인데, 이건 다 좋은데 모든 채널에 키를 만드는 것이 문제다. 이럴 때 Location을 잠궈놓으면 로테이션만 키를 줄 수 있다. 물론스케일 채널에도 키를 만들겠지만, 그건 버리는 키니까 상관이 없다.

8.13

러프한 구현완료. 손만 빠르면 점프킥부터 시작해서 초필까지 연계할 수 있다. 아무리 데미지 보정을 받아도 그렇게 되면 거의 절명기 수준인데, 문제는 내 손이 그걸 못한다…

애니메이션도 완료. 빙그르르- 이 짧은 씬을 구성하는데도 4개의 애니메이션이 필요하다. 잡기는 참 번거로운 기술이다.

8.14

그 번거로운 잡기를 또 해야 한다. 이번엔 오로라의 스킬이다.

구현과정을 녹화해 보았다. 사실 이건 스크립팅이라 구현이랄 것도 없다. 기존에 되어있던걸 추가했을 뿐인데, 그럼에도 새로운 트러블이 발생해서 한참 삽질을 했다. 그런데도 타임랩스로 보니 뭐 대단한 전문가가 아주 빠르게 코드를 쓰고 있는 것처럼 보인다. 사실은 ‘이게 맞나…’ 싶어서 코드를 썼다가, ‘아까 했던 게 맞네’하고 되돌리고 나니 ‘앗. 고친 게 맞네’싶어서 허둥대는 모습이다. 그걸 지우고 다시 쓰고하는 삽질도 삽질이지만, 오늘따라 유니티의 못보던 버그도 끼어들어 한층 더 삽질이 심했다. 그런데 이 모든 것이…! 타임랩스로 돌리니 마냥 일잘하는 직원같아 보인다!?! 약은 이렇게 파는 거구나.한 수 배웠다.

본디 이 스킬은 KOF블루 마리의 태클잡기에서 따온 것이다. 테스트할 때 지인이 아이디어를 줬는데, 이걸 그대로 차용한 것이다. “하단인데도 발동이 빠른 기술이예요”. 그걸 듣고 만든건데, 어제 구현하고도 뭔가 좀 이상했다. 잡기에 무슨 하단이 있어… 그래서 생각해보니 막히면 연계되지 않아야 한다. 즉 1타는 타격기다. 그래서 오늘 코드를 수정. 막히면 잡기는 발동되지 않는다. (그리고 얻어맞겠지)

슈웅-!여기서 추가타를 넣으면 잡는다. 닐리나 달래의 장풍 또한 피할 수 있기 때문에 헛점을 찌르는 용도로 사용할 수 있지 않을까

추가 스킬의 애니메이션 제작”의 9개의 생각

댓글 남기기