비네트의 애니메이션 #3

5.15

원래대로라면 캐릭터의 선택/등장 애니메이션을 작업해야 할 시점이지만, 이를 처리하기 위해선 캐릭터 선택화면의 페이즈2를 만들어야 한다. 기존까지의 작업은 플레이를 처음 시작하면 나오는 페이즈1화면이고, 시나리오 모드를 한 번 이상 클리어하면 열리는 페이즈 2화면은 12캐릭터(+히든)를 모두 선택할 수 있다. 하지만 이것이 당장은 일이 크니까, 일단 스킬 애니메이션부터 제작을 해보자.

일의 시작은 구상으로부터

  • 우산돌리기(Rolling) : A or B 연타 – 본래 근접 강펀치였던 공격
  • 조심해요!(FallObject) : ← A or B – 화분, 공, 벽돌등이 화면 위에서 떨어진다.
  • 그네 타기(Swing) : ↑ K, 발을 주욱 뻗고 그네를 탄다.
  • 따르릉따르릉 비켜나세요(Bycycle), →K – 자전거를 타고 적이 있는 곳까지 돌격. 맞든 막든 부딪히면 비네트가 튕겨나가며 역가드 판정을 일으킨다.
  • 둥실둥실(Gliding) : ↑누르고 있기 – 우산을 펼쳐서 저속낙하.
  • 사뿐즈려밟고(StepAir) : 공중에서 ↓K – 적을 밟고 한 번 더 뛰어오른다.
  • 우박이 내릴 예정입니다.(Hail) : ↓→B – 우박이 내린다. 닐리의 메테오와 비슷하지만 그 수가 훨씬 더 많다.

우산돌리기

..는 전에 만들어둔 모션도 있어서 어렵지 않다. 쉽게 구현.

5.16

조심해요!

최근에 애니메이션의 작업방식이 조금 바뀌었는데, 이는 블렌더의 Relax Pose기능을 활용한 것이다. 기존에는 만들어질 애니메이션을 예측해 각 관절을 차례차례 잡는 방식이었는데, 최근의 작업방식은 좀 더 전통적인 애니메이션 방식(원화간 프레임을 동화로 보간)에 가깝다. 기존의 방식보다 결과물 예측도 쉽고 빠르다. 자신의 실력이 또 한단계 향상되었다는 것을 느끼는 것만큼 기쁜 일이 또 있을까!

이제 떨어질 물건들을 구할 차례. 하늘에서 물건이 떨어지는 것은 차원의 틈새로 이세계의 물건들이 떨어지는 것이다. 따라서 무엇이든 떨어질 수 있다.

그럼 사야지. 일단 그 후보.

https://superhivemarket.com/products/620-urban-trash-assets-complete-pack?search_id=39923671

5.17

물건이 떨어진 후엔 그 물체가 부셔져야 한다. 그리고 그 물체에서 부셔진 파편들이 땅에 떨어져야 한다. 파편은 곧 파티클인데, 파티클의 충돌이 되던가? 리소스를 만들기 전에, 이에 대한 조사가 선행되어야 한다.

유니티의 파티클은 구형 충돌만 지원한다. 게다가 구르지도 않는다. 완전한 물리 시뮬레이션이라기 보단 트랜스폼 기반의 단순조건식이다. 그 이상을 원한다면 파티클로 처리하면 안된다.

스펙은 알았으니 제작해보자.

아그엉릉ㄴㅁㄹ엄ㄴ 만들기 싫어…

마켓을 뒤지자.블렌더 마켓은 최근에 슈퍼하이브라는 이름으로 개편되었나 보다.

마침 식물이 할인 중이다!?

https://superhivemarket.com/products/the-plant-library

와. 정말 좋은 어셋이다! 자주 쓰게 될 것 같다.

하늘에서 떨어지는 오브젝트들은 조명의 영향을 받아야 하기 때문에 실시간 처리되어야 한다.

때문에 리스트를 뽑은 후, 리토폴로지 과정이 필요하다. 아휴 귀찮아..

5.18

생각보다 일이 간단하지 않다. 물건이 떨어지는 로직은 상당히 복잡하다.

  • 오브젝트가 캐릭터에게 맞았다면 그 물건이 부셔져야 한다. 이 때 부셔지는 요소를 단순 파티클로 처리할 것인가? 컴포넌트가 붙은 오브젝트로 처리할 것인가?
    • 만약 오브젝트로 처리할 경우, 쓰레기통처럼 2개로 분리되는 오브젝트에 대해선 어떻게 처리를 할까?
    • 파티클로는 원하는 움직임을 구현하지 못하는 것이 확실한데, 스킨드메쉬까지 사용해 가며 고비용으로 처리할 것인가?
  • 땅에 떨어졌을 때의 파편은 캐릭터에게 맞았을 때와 같은 이펙트를 사용할까? 공중에서 무언가에 맞았을 때와 땅에 떨어졌을 때의 파티클은 튕기는 정도나 궤적이 다를텐데 무엇이 더 나은 선택일까?
  • 고장난 요소를 어디까지 모델링해줄 것인가?
  • 발사체로 처리한다면 추후 추가될 한여름의 장풍반사에 반응할 것인가? 궤적이 좀 이상해지지만 게임적 요소로는 더 재미있긴 할터인데.
  • 오브젝트가 사라질 땐 어찌할 것인가? 디졸브? 스케일다운?
  • 파티클은 열외로 치더라도 본체를 위한 셰이더를 별도로 쓸 것인가? 비네트에 포함시킬 것인가?
  • 낙하궤적은 사인곡선을 사용해 가속을 줄 것인가? 등속으로 해줄 것인가?
  • 낙하 예고는 어찌해줄 것인가?
  • 기타등등

이것들을 쉽게 할 수도 있지만, 후회가 남을 것 같았다. 그래서 이 구현의 난이도를 상급으로 올리고 진지하게 임해보도록 하자.

일단 모델링 리토폴로지.

텍스처링

5.19

애니메이션

비네트 본체에 애니메이션을 끼워넣고

코드를 짜고

좀 작네..? 뭐 그건 중요한 게 아니고…

5.20

제작방침을 스킨드메시가 아니라 정적 메시로 변경했다. 기존 계획이 워낙 일이 크기도 하고, 예외처리가 많아서이다. 그보단 기존의 발사체에 대응하는 것이 제작이 편하다. 스킬을 제작할 땐 원래 코드작업이 좀 있는 편이었지만, 이번엔 꽤 크게 걸렸다. 덕분에 진전이 없다. 오늘은 끝장을 볼 수 있을 줄 알았는데, 코드 작업조차 끝내지 못했다.

낙하지점을 예측할 수 있는 그림자처리가 오늘의 유일한 성과

5.21

마참내! 기초 작업을 끝냈다.

기술명 : “조심해요!”, 사실 비네트가 그 대사를 외치지 않으면 일어나지 않을 일.

5.22

오늘은 기타를 부수는데 시간을 다 쓴 듯.

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

이즈님에게 덧글 달기 응답 취소