비네트의 애니메이션 #2

5.9

이제 데미지 관련 모션들을 제작해 보자. 격투게임에서 잘 때리는 것만큼이나 중요한 것. 잘 맞는 것.

앉아서 방어

5.10

데미지 모션은 난이도가 쉬운 편이다. 컨셉이 정해져 있고, 모션이 짧다. 그저 차근차근 진행하면 된다.

스턴모션은 뭔가 할머니 같다…

상체를 조금 들어줬더니 좀 나은 것 같기도.

낫지 않아. 결국 수정

5.11

잡기모션 처리 중 생각지도 못했던 셰이더 이슈가 발생. 입에도 셰도우 패스를 곱해줘야 한다. 어라… 이거 전에 했던 것 같은데..

                // 메인 셰도우
                float3 frontL = normalize(L * float3(1, 0.5, 1));                                      
                float baseShading = dot(N, frontL) * light.shadowAttenuation;                                
                float toonShading = step(0.3, baseShading);    

역시 해주고 있잖아. light.shadowAttenuation은 셀프셰도우를 뜻한다.

추적 결과, 원인을 찾았다. 최근까지 입을 AlphaTest로 그리고 있었는데, 배틀퀸은 해상도를 꽤 높게 렌더링하고 있음에도 불구하고 실제 게임에서는 입이 생략되어 나오는 경우가 많았다. 알파값이 임계점을 못넘은 것인데, 이 때문에 닐리나 오로라처럼 대기자세에서 입이 크게 표현되는 경우가 아니라면 입 자체가 생략되어 버리는 경우가 많았던 것. 그러나 개발기간이 길어지며 이걸 까먹고 ‘이게 왜 반투명이 아니지?’싶어서 설정을 바꾸니 오류가 일어났던 것이다. 그럼 … 좀 이상한 방법이긴 한데, 큐를 3000번 이전에 그리면…?

되기..는 된다. 그런데 이것도 좀 이상하다. ZWrite를 켜놨는데… 그럼 Z엔 뭘 쓰게 되는거지…?

혼란스럽네?! 입은 얼굴로부터 일정 수준 떨어져 있다. 그러므로 Z엔 폴리곤 정보…아…

일반적인 경우라면 Z에는 Opaque나 Cutout처럼 확실하게 짤리는 마스킹만 쓰게 되어 있다. 하지만 반투명은 시스템 안티앨리어싱과는 다르다. 즉, 반투명도 Z에 써지기는 한다. 다만 이렇게 할 경우 다른 반투명과 뎁스 충돌을 일으키기 때문에 그리 하지 않을 뿐이다.

하지만 입의 경우 사용처가 매우 한정적이라 사용해도 될 것 같다. 원하는 결과다.

5.12

비네트의 잡기애니메이션은 이전에 비네트의 기본 이동 애니메이션을 업로드했을 때, 댓글로 달린 아잉-f2x님의 아이디어에서 착안했다. 우산 속에서 뭘하는 지는 나도 모르겠다.(…)

하지만 이를 위해 처리를 해야 할 거대한 작업이 하나 있는데, 그것은 얼굴 홍조의 처리.

사실 멜라의 잡기에 키스를 넣을 생각이었기 때문에 언젠가 필요한 작업이기는 했다. 당연한 이야기지만, 얼굴이란 생각보다 훨씬 더 다양한 감정을 표현한다. 이 게임을 처음 개발할 당시, 캐릭터를 이렇게까지 디테일하게 표현할 생각이 없었기 때문에 중요하지 않은 것들(+번거로운 것들)은 제외하고 작업을 했었는데, 결국 프로젝트를 매듭짓기 위해서는 모두 필요하다.

이 홍조를 표현해주기 위해서 각 캐릭터를 돌며 홍조메쉬를 추가하고, 컨트롤러를 설정하고, 드라이버를 설정하고, 모델을 다시 익스포트해준 후에, 유니티로 가서 셰이더를 추가하고, 셰이더 드라이버를 업데이트해주어야 비로소 게임에서 이것이 제대로 돌아가는걸 확인할 수 있다. 프로젝트는 첫단추를 잘 꿰야 한다. 흑흑.

컨트롤러 아이콘부터 제작

셰이더와 드라이버를 연결.

잠이 늘어 작업시간이 적다. 나머지는 내일 하자.

5.13

겨우겨우 유니티에 띄웠다.

새로 추가된 셰이프키가 키를 지정하지 않았을 경우, 기존의 값이 쓰레기값으로 남아 이후의 모션에 영향을 끼치지 않을까? 하는 것이었는데 다행히 다른 모션에서 별다른 키가 지정되지 않았을 땐 기본값인 0으로 돌아간다.

원래 이 공격의 컨셉은 정신공격이었다. 귓속말로 “너 살찐 것 같은데?”같은 대사를 하는 것인데… 얼굴이 빨개지는 이유는 나도 모르겠다.(…)

5.14

잡기2번. 동전줍기. 이걸 작업하며 확실해진 컨셉. 비네트는 덜렁대며 여기저기 머리를 부딪힌 탓에 머리가 매우 단단하다!

애니메이션은 완료가 됐는데, 적용을 하려면 시간이 좀 더 필요하다. 하지만 오늘은 타임오버. 내일 적용해 보자.

5.15

데미지 애니메이션까지 완료. 이 다음은 캐릭터 선택 애니메이션인데, 이게 일이 크다.

스킬 애니메이션을 먼저 만들어 보자.

비네트의 애니메이션 #2”의 10개의 생각

  1. 캐릭터 하나하나에 쏟아부으신 엄청난 노력에 항상 감탄할 거예요. 긴 드레스를 애니메이션으로 만드는 데 이렇게 많은 디테일이 필요할 줄은 몰랐어요. 특히 작은 애니메이션들을 통해 드레스가 자연스럽게 흐르도록 하는 데는 더욱 그렇죠.

    궁금한 게 있는데요, 두 가지 어지러운 애니메이션 중 어떤 걸 쓰실 건가요? 첫 번째 애니메이션인가요, 아니면 두 번째 애니메이션인가요? 첫 번째 애니메이션에 좀 만족하지 못하신 것 같던데.

    1. 감사합니다. 스턴은 두번째 애니메이션을 쓸 거예요. 첫번째는 제작한 후에도 할머니 같았지만, 게임에 넣어봤을 땐 더욱 그래보였거든요.

      1. 하하하! 첫 번째 애니메이션에서 “할머니”라고 하신 게 무슨 뜻인지 알겠어요.

        이 여자애가 등에 손만 얹으면 전형적인 할머니가 될 거예요. 머리가 너무 튼튼해서 일어서는 것만으로도 상대를 쓰러뜨릴 수 있다는 게 놀랍네요. XD

      2. 이런 류의 치마는 다리를 약간 벌리는 것만으로도 느낌이 많이 달라진다는 걸 느꼈어요. 더불어 할머니와 소녀도 한끝차이라는 걸 깨달았습니다.

  2. 이미 게임 최고의 잡기 애니메이션 후보에 올라 있네요! 적어도 지금으로서는요!

    만드는 게 얼마나 어려울지는 모르겠지만, 잡기 후 얼굴에 키스 마크가 있는 여자를 보면 꽤 웃길 것 같아요.

    1. 아니면… 각 소녀가 서로 다른 당황한 포즈를 취하게 했는데, 이제 카메라를 확대하지 않으면 화면에서 빨간 점을 실제로 보는 게 어려울 거라는 걸 깨달았어요.

      1. 키스마크를 찍으면 컨셉이 확정되어버리기 때문에 피하고 싶어요. 뭘 했는지 상상에 맡겨두는 것이 딱 좋은 것 같습니다!

  3. (답글을 달 수 없어서 여기에 적어둡니다)

    아, 그렇군요. 우산 아래에서 일어나는 일에 대한 각자의 해석이 있잖아요. 저는 마음에 들어요.

    뒤로 던지는 기술에 대해 어떻게 생각하세요? 전에 “상대가 바람에 날아와서 자기 쪽으로 왔는데, 자기가 실수로 상대를 껴안았다”라고 제안했었는데, 댓글에 좋은 공격 기술들이 많이 소개되어 있더라고요. 이 프로젝트를 꾸준히 팔로우하는 사람들이 얼마나 많은지 놀랍네요.

    1. 아. 미안해요. 그 아이디어도 괜찮지만, 그 전에 생각해둔 컨셉이 있어서 그 쪽으로 진행하려고 해요!

      1. 방금 봤는데… 네, 당신이 더 많이 사용한 아이디어가 마음에 들어요.

Passerby2님에게 덧글 달기 응답 취소