멜라의 애니메이션 #3

8.30

멜라는 마법사이기 때문에 스킬도 마법의 비중이 높을 예정이다. 그리고 마법은 곧 이펙트이기 때문에 이펙트 작업의 양이 많을 것으로 생각된다. 수수한 옷차림 속에 숨긴 실력자라는 설정이므로 마법은 화려해야 한다.뜻대로 될지는 해봐야 알겠다. 기획부터 해보자

  • 네모난 장풍(Shot) : → A or B, 마법사니까 장풍은 쏴야겠고
  • 공중에서 장풍(ShotAir) : (공중에서) → A or B, 이걸 고우키처럼 공중에서도 쏜다.
  • 죽음의 키스(Kiss) : → K, 상대에게 독이 든 키스를 한다. 라운드가 끝날 때까지 지속데미지
  • 지뢰매설(Mine) : ↑ K, 시간차로 폭발하는 지뢰를 설치하고 상대의 뒤로 가서 발로 공격한다. 역가드
  • 돌격가르기(Slash): ← A or B, 흔한 3연타 돌격기
  • 빛 기둥(Beam) : ↓→B, 초필. 양쪽으로 퍼지는 파워게이저
  • 멜라의 영역(MelaArea) : ↓→K, 초필2. 데미지가 1.5배 되는 필드를 펼친다.
  • 공중대시(RushAir) : (공중에서) →→, 말그대로 공중대시

장풍은 기존의 스킬을 답습한다. 별로 어렵지 않다.

공중장풍은 손볼 게 조금 있긴 했지만 크게 어렵지 않게 구현할 수 있었다. 그런데 공중스킬이 있는 애들은 캔슬 때문에 여러가지 이지선다가 된다. 예상치도 못했던 강점이 생겼다.

공중대시는 크게 메리트가 있다기보단 멜라라는 캐릭터의 상징적인 기술에 가깝다. 어쨌거나 끝판왕이고 처음보는 자에게 위압감을 전달해 주기 위한 기술. 예외처리등이 어려울 줄 알았는데, 의외로 싱겁게 끝났다.

9.2

며칠간 감기때문에 골골거렸다. 다시 시작해 보자.

키스의 설정은 독을 주입하는 것이다. 이를 위해 피부 색이 변해야 한다. 이를 위해 해주어야 할 일이 꽤 있는데,

  • 피부 셰이더의 녹색표현
    • 그리고 셰이더 드라이버가 이를 인지하도록 설정
  • HP게이지 셰이더의 녹색표현
  • 독 애니메이션 이벤트
  • 실질적인 데미지 처리

하나하나 구현해보자.

먼저 피부가 녹색으로 변할 수 있도록 셰이더를 개조.

독 데미지. 녹색이 너무 강해서 조금 줄였다. 몇가지 예외상황을 처리하고… HP바가 녹색으로 변하는 처리는 취소하고… 의외로 쉽게 완료.

지뢰 깔기…는 실제로 해보니 역가드가 많이 헛갈린다. 공격 성공확률이 높으니 실패 리스크를 늘리자.

9.4

Slash공격은 콤보형이라 막히면 반격맞는다.

대신 성공하면 확정 2타

9.5

빛기둥을 구현하는 도중 문제가 생겼다. 그럴 확률은 적겠지만, 만약 빛기둥을 뚫고 무언가의 공격이 들어온다면 멜라의 스테이트가 데미지로 변하게 된다.

이렇게 되면 공격정보가 스테이트에 묶여있는 현재 구조에선 공격정보가 초기화되며 파워가 0으로 변하게 된다. 타격은 발사체가 일으키지만 정보는 본체에서 얻어오는 기형적인 구조. 이를 해결하기 위해선 발사체 코드 전체를 리팩토링하는 수밖에 없다. 지금까지는 히트 구조체와 이펙트용 구조체를 반반 섞어서 혼종으로 사용하고 있었는데, 이를 발사체 구조체로 일원화하고, 생성 시 모든 정보를 넘겨주는 쪽으로 변경했다. 생각해보면 당연한 일인데 왜 이렇게 하지 않았을까.(…라지만 여전히 스테이트는 구조체레벨이 아니라 개별변수기반으로 관리되고 있다. 다음엔 이렇게 하지 말아야지…)

어쨌거나 너무 늦지 않게 끝나서 다행이다. 힘든 작업이었지만 편히 잠들 수 있겠다!

9.6

이제 마지막 스킬만을 남겨두고 있다. 멜라의 영역은 돔형의 영역을 설정한다. 일단 보기 좋으려고 돔형을 택하긴 했는데, 제작하다 보니 고민이 많다. 일단 캐릭터가 영역내에 속해있는지 알기가 힘들다. 둘째, 셰이더를 만들기가 까다롭다. 뭐 셰이더야 시간을 들이면 완성은 된다지만, 첫번째 이유 때문에 만들어놓은 결과물이 그렇게 좋은 결과물일 것이라 단정짓기가 힘들다. 초안대로 배경셰이더를 개조해보기로 할까

초안은 배경 셰이더를 반전시켜 사용하는 것이었는데, 포토샵에서 대충 합성해봐도 이건 쓸만한 게 못될 것 같다.어두운 배경의 경우 너무 밝게 표현된다.

흑백은 어떨까…분위기가 괜찮기는 한데, 티가 잘 안난다. 고민이 좀 더 필요하다.

고민 끝에 다시 돔형으로… 그런데 예상치 못한 문제가… ZTest를 안하니 뒷배경이 뚫린다. 그렇다고 ZTest를 하자니 캐릭터가 짤린다.

이를 제어할 수는 있다… 있긴 한데, 영 내키지가 않는 작업. 이를 위해선 셰이더 드로우 순서를 정렬해주어야 하는데, 오파쿠 스러운 놈을 AlphaTest보다 나중에 그리는 것이 영 마음에 들지 않는다.

그래서 적용해 본 배경 선긋기. 이건 퀄리티가 영…

9.7

돔형의 영역은 또한 Transparent머티리얼과도 충돌을 일으킨다. 그렇다면 이걸 또 Transparent로 처리해야 하는데, 이렇게 되면 일이 너무 커진다. 차라리 큐제어를 제외하고 배경을 흑백처리 해보는 게 어떨까.

…? 뭐지 난 이런 처리를 한 적이 없는데…꽤 멋진 연출이 됐다. 아웃라인의 ZTest를 Always로 해놓았기 때문에 발생하는 버그이다. 언젠가 사용할 일이 있을지도.

이렇게 초안이 완성되었다. 구형의 마스크는 Distance보단 Dot으로 구하는 것이 성능상 잇점이 있다. 어차피 셰이더에서 정확한 거리를 잴 일이 많지 않으므로 정규화된 숫자로 계산을 하는 편이 빠르다.

구현을 하다보니 HP바와 또 충돌한다. 그러다보니 표현이 자유로운 건 바닥 뿐이다. 이 방법이 최선이려나.

멜라의 애니메이션 #3”의 15개의 생각

  1. 영구 독은 너무 강하지 않을까요? 라운드 내내 지속된다면, 플레이어는 독이 상대를 죽일 때까지 도망치거나, 상대가 체력을 잃을 때까지 안전하게 체력을 유지한 후, 시간이 다 되면 승리할 수 있습니다.

    1. 상대를 조급하게 만드는 것이 목표입니다. 실제 효용은 크지 않을 거라 예상해요. 멜라도 모든 캐릭터에겐 잡기가 있어서 계속 막기만 할 수는 없을 겁니다.

  2. 캐릭터 컬러변경시, 멜라의 경우에는 빤스 디자인이 바뀌길 바라는 작은 소망이 있습니다…

      1. 고양이에게도 특이점이 오고 있군요.
        참고로 빤스 디자인은 못바꿉니당… (컬러변환만 가능)

  3. 캐릭터 팰 때마다 동백전 1개씩 나오고 동백전10000개 모으면 돼지국밥 사먹을 수 있으면 좋겠네요.. 소상공인들과 상생을 위해!

  4. 그나저나 야구르트팔면서 알게된 건데 할머니들 모여서 야구르트마시는 곳에서 암묵적으로 온누리상품권깡을 하시더라구요… 왜 동백전은 안될까요!

    1. 부산시에 문의하세요..?! 되도록 큰소리로 말하셔야 합니다. 공무원 민원처리 순서는 목소리 크기 순이거든요.

      1. 야구르트아줌마를 일년전?에 했던 것 같네요,,, 살아계실런지,,,

  5. 안녕하세요~ 북마크 목록 정리하다 들어와봤어요. 엄청나게 많이 작업하셨네요!! (아마 첫 캐릭터 만드셨을 때 즐찾해둔거 같아요) 저도 3d 디자인을 배우다가 디제이가 됐답니다..ㅋㅋ 사실 선생님처럼 매력적인 캐릭터들을 만들 자신이 없었어요. 캐릭터 하나하나가 엄청난 돈처럼 보이네요! 나중에 게임 나오면 꼭 플레이해보겠습니다,.

    1. 감사합니다. 저같은 사람은 엄두도 못내는 직업을 갖게 되셨군요! 진로를 바꿔도 그게 즐거우면 되는 거 아니겠습니까. 좋은 결과 있으시길 바랍니다.

댓글 남기기