리그레이의 애니메이션 #3

이제 스킬 애니메이션을 남겨두고있다. 늘 그렇듯 기획 먼저 해보자.

  • 내지르기(FistCannon) : → A or B, 주먹을 내질러 공격. 내지르는 동안 슈퍼아머, 앉으면 피할 수 있지만 맞으면 A or B로 잡기형 추가타. 원래 잡기1이었던 녀석으로 모션은 어느정도 되어 있으니 다듬기만 하면 된다.
  • 차원의 원(DimensionHole) : ←(모아서) A or B, 지면으로 차원의 원을 보낸다. 원이 지상의 적에게 맞으면 촉수가 튀어나와 상대방의 움직임을 1.5초정도 묶는다. 잡기 기술이므로 가드불가.
  • 플립킥(FlipKick) : ↑ K, 점프 후 한바퀴돌아 발뒤꿈치로 적을 친다. 공중 판정이므로 서서막아야 한다. A,B,K로 연계할 수 있다.
    • A : 주먹을 뻗어 직접 공격
    • B : 주먹을 뻗은 지 1초 후 딜레이 공격
    • K : 하단 발로 휩쓸기
  • 어류겐(UpperKick) : ↓(모아서) K, 대공기
  • 공중잡기(AirGrab) : 공중에서 → A or B, 말그대로 공중잡기
  • 정권찌르기(GrabFist) : ↓→ B, 바로 앞에 커다란 차원의 원을 만들어 촉수를 소환, 잡히면 불주먹으로 공격.

사실 기획이 생각보다 오래걸려서 세컨더리를 먼저 작업하던 중이었다. 일단 하던 것까진 작업하고… 하나하나 작업해 보자.

8.3

내지르기는 약손과 강손의 흐름이 다르다. 처음 기획과는 다소 차이가 있어서 생각을 다시 하느라 시간이 꽤 걸렸다. 약손은 슈퍼아머가 없고 딜레이가 짧다.

강손은 슈퍼아머가 있고 딜레이가 길다. 그리고 가드불가 공격이다. 여러가지 요소가 섞여있는 공격이다 보니 코드도 꽤 손을 봐야 했다. 배틀퀸은 사람의 동체시력이 일반적으로 반응할 수 있는 시간을 0.8초로 잡고 개발하고 있는데, 리그레이의 이 공격이 딱 0.83초 째에 공격이 나간다. 실제로 해봐야 알겠지만, 지금은 좀 짧은 것 같기도 하다.

그리고 어떤 공격이든 히트하면 잡을 수 있다.

8.5

차원의 원 기술은 촉수가 튀어나와야 한다. 총 5군데를 묶어야 하므로 5개를 준비한다. 팔2개 다리2개 목1개.

수정에 수정을 거듭한 시행착오. 본이 적더라도 세그먼트가 많으면 부드럽게 나올 줄 알았는데 그건 구부러져 있을 경우의 이야기고, 아예 팽팽한 촉수를 표현하려면 오히려 세그먼트가 없어야 한다. 즉 딱 본을 쓴만큼 부드럽다. 최근에 하이폴리곤 캐릭터를 제작하다 보면, 확실히 로우폴리곤 리소스를 제작하는 것과는 차이가 있다는 것을 느낀다. 영상용이라면 이 위에 서브디비전등의 스무싱과정을 거치기 때문에 또 제작방식이 다를 것이다.

이제 덫에 걸리는 애니메이션을 만들고 이와 싱크를 맞춘 애니메이션을 제작해야 한다. 이 부분이 좀 까다로운데, 먼저 Empty를 만들어 해당 부위를 따라가게 한 후에, 애니메이션을 베이킹 해준다. 그리고 이것들을 다시 촉수파일로 가져가서 IK가 이를 쫓게 할 것이다.

IK는 위치만을 맞춰주기 때문에 회전애니메이션은 별개의 문제가 된다. 이제 이 애니메이션을 베이킹해서 촉수 모델 파일로 가져온다.

그리고 촉수의 애니메이션.

와.. 그냥 애니메이션 자체가 빡시다.

8.7

촉수는 별개의 .Blend파일로 제작되었고, 이에 따라 프레임 레이트가 기본값인 24fps로 설정되어 있었다. 뜻밖에도 이 프레임레이트는 익스포트 결과에 영향을 끼친다. 캐릭터가 30fps이고, 촉수가 24fps이므로 이것은 실제보다 느리게 재생된다. 따라서 이런 문제가 발생할 땐 30fps로 동일하게 맞춰주어야 한다.

중간 결과물. 아휴.. 아직 갈 길이 멀다.

일단 차원의 원셰이더를 제작. 이전에 도서관 레벨을 제작할 때 만들어둔 셰이더를 개량한다.

하지만 정작 게임을 해보니 지나치게 성능이 좋다. 방어가 소용없는 잡기라서 첫타를 막는다고 해도 콤보는 무조건 맞을 수밖에 없다. 때문에 딜레이를 주는 방식으로 변경하기로 하자.

8.9

촉수 기술에 관한 모든 게 어렵다. 촉수 리깅은 시간이 된다면 좀 더 심도깊게 파고들어야 할 주제같다. 흐물흐물 움직이기만 하면 상황이 좀 나을텐데, 캐릭터를 묶어야 한다는 부분에서 난이도가 매우 어려워진다. 이러면 IK를 사용해야 하고, Ik는 회전 애니메이션 처리가 영 깔끔하지 못하므로 FK와 IK를 나눠서 세팅을 해야 할까? 코드면에서 봐도 ‘장풍형 잡기’는 처음있는 유형이라 모두 예외처리를 하고 있다. 여러모로 까탈스러운 녀석이다.

잡기 딜레이와 원의 셰이더 처리도 끝내고

촉수의 셰이더를 개발하는데 Light가 제대로 들어오지 않는 현상이 있었다. 알고 보니 메뉴바에 Unlit, Shadow Draw Mode가 새로 추가된 것 같다. 원래 있었나…? 이게…

어쨌거나 셰이더도 완성. 차원과 그라데이션으로 연결이 되어야 하는 탓에 생각보다 꽤 복잡한 구조를 띈다.

이번엔 스테이지에 맞게 촉수의 명암색도 변해야 한다. 또한 촉수가 아래에 있다보니 메쉬가 컬링되는 현상이 있어 이도 보정해줘야 한다. 아휴… 뭐 이리 할 게 많아.

Skinned Mesh는 Update When Offscreen만 체크하면 컬링되지 않는다. 일반적인 스태틱 메쉬와 비교하면 쉬운 편.

이..이제 정말 끝난것 같아!

…는 장풍 충돌시 소멸처리를 빼먹었었음.

위치가 안맞아서 여름이가 이걸 쳐낼 수는 없다.

리그레이의 애니메이션 #2

7.27

이런 기술을 Argentine Backbreaker라고 한다.고 한다. 난 그냥 클라크 커맨드 잡기로 기억하고 있다. 아휴. 무릎나가겠다.

7.29

잡기 1완성. 생각보다 작업이 잘 풀리지 않아서 빡센 작업이었다. 확실히 한 번에 잘하는 것보다 기존의 작업을 수정하는 게 3배는 더 오래걸린다. 잘못된 데이터는 계속 그 자리에 남아 마치 조금만 더 하면 작업이 완성될 수 있을 것 같은 착각을 주지만 실제로는 기존의 오류를 수정하고 거기에 제대로 된 값을 넣는 이중작업이 된다.

잡기2의 구상은 원래 이거였다. 이 다음 쿄의 기술처럼 폭발이 일어날 예정이었는데, 특수효과가 들어가는 것이 너무 강하게 느껴졌기 때문에 이를 커맨드 잡기로 빼기로 했다.

그래서 변경된 내동댕이.

승리 포즈 – “거봐요, 결과는 정해져 있다고 했죠?”

7.31

기본 모션을 모두 완료. 이제 스킬을 만들어보자.

리그레이의 애니메이션 #1

7.21

가짜 끝판왕. 대기부터 시작.

까먹은 작업 : 여름 초필 1타를 콤보형으로 변경

7.22

까먹은 작업. 여름의 초필1타를 콤보형으로 변경. 여름이의 초필은 얼핏 보기엔 앨리스나 도레미같은 1타같지만 사실 2타로 구성된다. 띄우고-날리고. 때문에 1타가 막히면 더 이상 연결되지 않는다. 앨리스의 초필은 막아도 데미지가 큰 반면, 여름이의 초필은 막혀도 데미지가 별로 없다. 결과적으로 앨리스보다 안좋은 편.

캐릭터를 처음 등록하려면 할 일이 많다. 각종 컴포넌트를 설치하고, 머티리얼을 만들고, 다이나믹 본을 설정하고, 스크립트에 등록하고… 캐릭터가 좀 더 많았다면 자동화했을테지만, 그리 많지 않아 굳이 그럴 필요는 없었다. 대부분의 시간은 다이나믹 본 세팅에 소요된다.

대기자세에서 얼굴의 절반을 가리는 연출은 의도적인 것이었으나, 이것이 입부분만 회색으로 나타나는 그림이 돼서, 결과적으로 수염자국처럼 보이길래 그냥 괴물손을 치워서 얼굴 전체가 드러나도록 변경했다.

그나저나 얘는 노출때문에 노딱이 붙을 줄 알았는데… 의외로 그냥 통과됐군?!

7.24

하지만 다음날 다시 보니 눈을 가리는 이 대기자세가 역시 더 마음에 들어서 다시 롤백

강펀치는 가일에게서 배움.

발톱형 트레일은 사용된 적이 없기 때문에 새로 만들어야 한다. 리그레이의 손가락은 5개이고, 엄지를 뺀다면 할퀴기엔 4갈래 트레일이 사용되어야 이치가 맞지만, 어쩐지 3갈래가 예뻐보이니 그냥 3갈래로 하자.

기본 공격모션까지 적용 완료. 애니메이션은 구상이 반이다. 구체적인 계획만 있다면 키를 잡는 시간은 크게 단축될 수 있다.

7.27

현재까지의 진행상황. 스테이트 대부분은 데미지 애니메이션이다. Dodge스테이트를 기준으로 왼쪽이 데미지, 오른쪽이 공격 애니메이션이다. 격투게임인만큼 잘 맞는 것이 중요하기 때문. 예상했던 모양새이긴 하지만, 생각보다 훨씬 더 많아졌다.

어쨌거나 리그레이의 데미지 모션과 공격 애니메이션까지 완료. 이제 잡기 애니메이션으로 들어가자.

한여름 마무리 작업

7.17

천둥번개가 치는 새벽. 뒤늦은 장마비가 시원하게 쏟아져 내린다. 해가 뜨려면 아직 멀었지만 한 번 달아난 잠이 다시 돌아올 기미를 보이지 않아 컴퓨터를 켰다. 조금이라도 작업을 이어가는 것이 중요하다.

메인 애니메이션은 끝났지만, 아직 할 작업이 많다.

  • 세컨더리 애니메이션
  • 다이나믹 본 세부설정
  • 이펙트 붙이기
  • 2P컬러지정
  • 실루엣 제작
  • 가시 버텍스 컬러 지정

이 중 가장 지루한 작업은 세컨더리 애니메이션이다. 얘는 특히나 본도 많은데, 자켓과 치마가 꽤 겹치기 때문에 할 일이 많다.

AI는 뭐하니. 이런 것 좀 해주지… 하나하나 해보자.

7.19

세컨더리 애니메이션은 자켓-스커트-머리카락-표정 순으로 진행된다. 수십개에 달하는 본을 모든 애니메이션에 맞게 예쁘게 표현하는 것은 사실상 불가능하기고 노력에 비해 효과또한 적기 때문에 중요한 프레임에만 모양을 잡아준다.

모션이 매우 많기 때문에 이런 세컨더리 본을 제어하기 위해선 에셋 브라우저에 등록해 놓으면 좋다. 이 등록 과정이 다소 귀찮기 때문에 그냥 포즈 카피를 쓰는 경우도 많긴 하다.

7.20

데미지 시의 가시 이펙트를 작업하지 않은 게 꽤 된 것 같아서 비네트를 살펴봤더니, 안되어 있었다.

주거니 받거니

전부터 2P컬러의 규칙을 일관적으로 유지시키는 방안을 고민하고는 있었다. 색이 너무 달라지면 캐릭터가 변한다. 신체의 특징(머리카락)등은 유지하는 것이 어떨까.

적용해 보니 괜찮아 보인다. 모두 적용하기로 하자. 여름이의 2P컬러는 한화에디션(유튜브 댓글 중 어떤 한화팬의 요청이었다.)

이로서 여름이 완성! 긴 작업이었다.

한여름의 애니메이션 #3

7.3

여름의 스킬은 배트를 강하게 휘두르는 것 외엔 정해놓은 것이 없었다. 심적으로나 물적으로나 여유가 없었고, 그 때문에 벌써 스킬 구현을 해야 할 때가 됐다는 걸 모르고 있었다. 일단 여름이를 처음만들 때부터 생각해 놓은 휘두르기부터 구현하고, 그 이후의 스킬은 출퇴근 시간에 구상해보도록 하자.

휘두르기(Swing) : →A or B. 발동도 빠르고 장풍도 반사할 수 있지만, 짧다.

7.5

건강 이슈로 작업을 쉬었다. 몸이 예전 같지 않다는 생각이야 늘 느끼고 살지만 최근 부쩍 안좋아진 느낌이다. 잠이 보약이다. 잘 자자.

딱!

비네트의 물건도 받아칠 수 있다.

하지만 쉰 덕분에 며칠간 스킬에 대해 좀 더 고민할 수 있었다. 그리고 기획을 확정.

  • 휘두르기(Swing) : →A or B. 발동도 빠르고 장풍도 반사할 수 있지만, 짧다.
  • 돌격(Charge) : ← A or B, 팔로 얼굴을 가리고 돌격한다. 도착해서 적에게 닿으면 1타를 추가. 돌격 시 슈퍼아머
  • 점프내려치기(JumpingSmash) : ↑ K, 테리의 파워덩크. 상승 시 데미지 판정
  • 밟고 차기(StepKick) : → K, 하단. K로 연계 시 추가타.
  • 홈런(HomeRun) : ↓→ B, 초필. 1타로 상대를 위로 띄우고 2타째 강한 휘두르기

홈런은 화면에서 이리저리 튕기는 연출을 하고 싶다. 때문에 다소 난이도가 있어보이고, 나머지는 기존 스킬 코드의 응용이라 쉽게 구현할 수 있어 보인다. 작업을 해보자.

돌격기도 완료.

7.9

밟고 발리킥. 첫타는 하단이다.

점핑 스매시. 두번째 타격은 점프공격이기 때문에 앉아서 막지 못한다. 밟기공격과 함께 이지선다를 노려 상대를 혼란스럽게 하는 용도.

7.12

한여름의 모든 스킬 완료. 이제 세컨더리 애니메이션의 시작

한여름의 애니메이션 #2

6.25

잡히기 애니메이션이 점점 늘어나서 이것만으로도 하루일과가 날아가는 지경에 이르렀다. 그래도 한 번만 하면 되는 일이니까… 꼼꼼히 해두자.

6.26

잡기1.

6.28

잡기2. 앨리스를 그렇게 차다간 사실 네 무릎이 더 아플 것 같지만…

6.29

모션 자체도 꽤 어려웠지만, 끝의 날아가는 모션을 위해 데미지 모션이 하나 더 추가됐다. 더 이상의 추가는 없을 줄 알았는데…!

6.30

순전히 승리포즈를 위해 넣어두었던 소품들.

7.2

피로가 누적되어 하루 쉬었다. 최근은 회사에서 야근 중이라 좀처럼 시간이 안난다. 하이고, 되다.

이로서 여름의 기본 애니메이션도 완료. 스킬로 넘어가자.


to AnAccount :
I try to blow a bubble when she walk. You can find the early part of the clip.

한여름 애니메이션 #1

6.15

주말동안은 완전히 늦잠을 잤다. 적어도 10시간은 넘게 잤는데 이마저도 모자랐는지 낮잠까지 잤다. 최근엔 시간이 날 때 작업을 해야 한다는 강박관념이 생겨서 의도적으로 쉬었다. 그래봐야 개인적인 취미생활인데, 팬도 생기고 유명세를 조금 타니 조급증이 도지나 보다. 고약한 병이다. 아직 갈 길이 멀다. 쉬어야 한다.

캐릭터의 이름에 맞게 때마침 여름이다. 이젠 과잠이 더워보이는 계절이 됐다.

6.16

다이나믹본은 예상보다 더 많이 뚫린다. 디자인상 겹쳐 있는 파츠가 많다 보니 별 수가 없다. 세컨더리 애니메이션에서 최대한 맞춰보는 수밖엔.

6.19

회사일이 바빠지다 보니 작업할 시간이 좀처럼 나질 않는다. 끊기지 않는 것에 의의를 두고 작업하고 있지만, 사실 어제는 쉬었다(도저히 못일어나겠더라!)

자켓과 치마의 대환장 콜라보레이션. 닐리 시즌2.

6.20

약손 모션이 좀 수정됐으면 좋겠다는 의견이 많아서 주먹으로 수정했다.그리고 근접 킥

6.21

앉아서 킥은 장풍을 피할 수 있다. 달심형 공격

6.23

데미지 모션 제작 기간.

6.24

타격데미지까지 완료. 이제 잡기 데미지 작업에 들어가자.

배틀퀸 팬 서버 디스코드(Discord)

해외의 어느 팬 분이 만들어준 팬 서버입니다.

https://discord.gg/guqDRtQ4MJ

이럴 수가..! 초대만료가 되지 않는 주소를 설정할 수 있었다니… 지금까지 뭔 삽질을 한거야!

P.S. 미안해요. 아주 잠깐 초대주소가 잘못돼 있었습니다! 지금은 정상입니다.

Oops, sorry! If you were trying to join the Battle Queen channel, it looks like the link was wrong. Here’s the correct one

비네트의 세컨더리 애니메이션

6.8

장치마는 다리가 많이 뚫린다. 손이 참 많이간다…미니스커트도 어렵지만 얘도 어렵다. 귀찮기로 따지면 둘이 비슷할 것 같다.

어쩌겠는가. 게임제작이 그런 반복의 집합인 것을. 그저 꾸준히 하는 수밖엔…

6.10

잠이 부족해서 하루를 건너뛰었다. 모자란 잠은 반드시 수일내로 청구서를 보내기 마련이다. 건강이 우선.

해서 여전히 세컨더리 작업 중. 지루한 작업이다.

6.11

협업을 위한 Git설정으로 하루가 갔다. 언젠가 이 괴상한 시스템을 만날 거라는 각오는 하고 있었다…

6.12

원래는 작업을 하루 쉬려고 했었는데, 뜻하지 않게 시간이 나서 비네트 마무리.

그런데 .. 우산…! 그림자 색이 다르다. 게다가 늘 펴져있는 상태이다.

이것은 작업할 때 그림자는 방해가 되므로 숨겨놓은 채 작업을 하는데, 익스포트할 때는 다시 켜주어야 정보가 들어간다. 그런데 이를 까먹은 것이다. 다시 익스포트를 해 주어야 한다.

아. 2P컬러도 까먹었구낭…아직 끝나지 않았다…

6.13

2P컬러지정. 다른 캐릭터였다면 별 거 아니었을 이 작업이, 우산하나 때문에 일이 많았다. 비네트는 앨리스 다음으로 애를 먹었던 캐릭터 같다.

캐릭터 선택 화면 페이즈2

6.7

비네트의 선택을 처리하기 위해서는 먼저 캐릭터 선택화면의 개량이 필요하다. 기존의 8캐릭터만 선택가능한 화면은 페이즈1화면으로, 스토리 모드를 한 번이라도 클리어하기 이전의 화면이다. 스토리 모드를 한 번이라도 클리어하게 되면 페이즈 2화면이 되는데, 이 때부터 12캐릭터 + 히든 아이시의 선택이 가능해진다.

선택화면 레이아웃은 페이즈1을 디자인할 때부터 구상해 두었던 것이다. 히든인 아이시는 멜라에 커서를 둔 상태에서 아래로 3번 내리면 선택되게 할 예정이다.

이제 이미지를 줄일 시간인데, 프리뷰와 품질차이가 있다…오른쪽 경계선 옆쪽이 깔끔하게 떨어지지 않고 1픽셀의 이격이 발생한다. 이유가 뭘까 고민해봤는데 원본의 가로길이가 홀수라 그런 게 아닐까 싶다. 포토샵은 0.5픽셀을 표현하지 못하니까, 양 옆 픽셀을 섞어서 중간색을 취할 것이다…1픽셀을 지우던가 늘리던가 해보자.

좀 낫다.

하지만 완벽하진 않다. 어쩔 수 없지.

페이즈 완료. 휴일의 힘을 빌려 일찍 끝냈다. 영상을 올리고 나니 보이는 버그. 수정하자.