저는 Kevin이고 Klei의 프로그래머 / 디자이너입니다. 나는 우리가 k 크 시리즈, 닌자 마크, 굶주림에 사용했던 많은 애니메이션을 썼습니다.
애니메이터들은 Flash에서 일합니다. 우리는 다중 뷰를 가진 일련의 본문 부분 심볼 인 캐릭터 '빌드'의 개념을 가지고 있습니다. 주어진 게임의 충실도에 따라, '조회'가 다소있는 신체 부위가 있습니다. 샹크는 각각 1-2 개의 뷰를 가진 30 개의 신체 부위를 가지고 있다고 생각하지만, Do n't Starve의 Wilson은 거의 동일한 뷰를 가진 12 개의 신체 부위를 가지고 있다고 생각합니다. 사용자 정의 JSFL 스크립트는 플래시 심볼 타임 라인을 분석 한 다음 관련 이미지를 일련의 고해상도 PNG 파일로 굽고 XML에 붙인 메타 데이터와 함께 구워냅니다.
캐릭터 빌드가 주어지면 애니메이터는 다른 파일에 새로운 루트 심볼을 만들어 해당 캐릭터에 대한 애니메이션 덩어리를 포함시킵니다. 이 타임 라인에서 캐릭터는 빌드 심볼에서 캐릭터를 생성하고 그 주위를 이동하거나 트위닝하는 등의 작업을 수행하여 개별 애니메이션 (프레임 레이블을 사용하여 구분)을 만듭니다. 익스포터 스크립트는 이러한 타임 라인을 모든 빌드 피스의 2D 변환과 표시되는 뷰를 기록하여 XML로 내 보냅니다.
이 모든 정보를 XML 및 PNG로 내 보낸 후 일련의 Python 스크립트를 실행하여 런타임 데이터로 변환합니다. 하나의 스크립트는 모든 텍스처의 크기를 줄이고, 아틀라스를 만들고, 모방하여 압축 된 플랫폼 별 형식으로 변환합니다. 다른 스크립트는 XML 애니메이션 데이터를 이진 형식을로드하기에보다 효율적으로 처리합니다.
런타임시에는 올바른 변환 및보기로 올바른 빌드 기호를 표시하는 것입니다.
이 시스템은 구축하는 데 오랜 시간이 걸렸으며 게임에서 게임으로 이동함에 따라 개선되었습니다. 레이어링 및 런타임 의상 스와핑을 처리하는 방법과 같이 많은 세부 사항이 있지만 일반적인 개요입니다.
물론 우리가 사용하는 기술은 아마도 'Klei Look'의 가장 중요한 측면 일 것입니다. 가장 중요한 부분은 정말 훌륭한 애니메이터가 있다는 것입니다. :)
어쨌든, 이것이 도움이되기를 바랍니다. Do n't Starve에 대해 더 궁금한 점이 있으면 포럼을 방문하면됩니다.