[Unity] 2D 모델에서 애니메이션 공유 스킨 편집

4543 단어 Unity
Unity에서는 3D 모델의 유형을 인도적으로 지정하여 모델 간에 애니메이션을 공유할 수 있습니다.그러나 2D의 경우 표준 기능에는 애니메이션과 관련된 설정이 없습니다.자산, 라이브 2D 등 외부 도구를 사용해 이전처럼 모든 동작을 그리는 작업은 필요하지 않지만, 그래도 개별 애니메이션을 만드는 데는 인내심이 필요하다.
따라서 패키지 관리자에서 가져올 수 있는 무료 자산을 사용하여 애니메이션을 공동으로 활용하는 방법을 소개합니다.여기서 생성할 수 있는 모델은 Canvas에서 이동하는 UI Image 대신 2DSprite 모델입니다.
환경: Unity 2019.4.13f
필요한 물건
자산: 2D Animation, 2D IK, 2D PSD Importer
기타: 모델용 PSB 파일

※ 제작 중인 게임을 샘플로 사용했기 때문에 애니메이션과 이곳은 일부만 변경됐지만, 개와 사자, 사람과 로봇 등 외관이 다른 것들도 애니메이션을 공유할 수 있습니다.
기업이 2D 애니메이션을 이용한 예
필요한 것을 준비하다
2D 애니메이션, 2D IK, 2D PSD 임포터로 2D sprite에 VON을 설정해 애니메이션을 만들 수 있다.UPM에서 가져옵니다.

포토샵에서 만든 psb 파일이 필요하기 때문에 (일정 이상의 사이즈라면 psd가 아닌 psb) 그림 그리기 도구 등으로 psd 파일을 출력하고 확장자를 psb로 바꿉니다.그리고 상기 자산이 존재하면 psb 도입을 통해 자동으로 대상화됩니다.
일반적인 경우 사용된 모델을 직접 사용하지만 애니메이션을 공유하기 위해 일반 모델(이하 뼈 모델)을 준비합니다.이곳은 매우 기개가 있게 그렸는데, 실제로는 훌륭한 사람이어도 된다.주의점은 scale 변경을 통해 각 부위의 길이를 변경할 수 있지만 각각 머리를 얻고 변경해야 하기 때문에 머리를 바꾸는 경우 작업량이 증가합니다.모든 캐릭터가 이용할 수 있는 골격 모형을 최대한 준비하는 것이 좋다.머리만 같으면 Object의 사이즈만 바꾸면 크기를 바꿀 수 있습니다.
위에 스킨케어 제품을 바르기 위해서는 미리 이미지(그림 속 회색 부분)를 그려두는 것이 좋다.피부에 숨겨져 있기 때문에 정확하게 층을 나눌 필요는 없지만 미리 층을 나누면 피부를 그릴 때 각 부분의 크기를 판단할 수 있고 첫 번째 모델을 만들 때 가볍다.뒷작업이 싫지 않다면 숨겨진 부분이기 때문에 층을 나눌 필요가 없다.

선 및 격자선 설정
psb 파일을 편집기에 가져오면 자동으로 각 층을 대상으로 분할할 수 있습니다.대상의 sprint edit에서 뼈대를 설정할 수 있습니다.Skinning Editor로 변경하고 Create Bone에서 bone을 설정합니다.이 bone를 바탕으로 애니메이션을 만들기 위해서는 골격을 구상해서 설정하는 것이 좋다.


bon을 만들고 형상을 설정합니다.Auto Geometery, Generate For All Vissible에서는 모델이 자동으로 분할됩니다.그물 모양의 물건이 화면에 나타나지 않기 때문에 대충 깎아도 된다.
자세한 설명은인용하다
피부의 준비
피부는 png 등으로 준비.뼈 모형이 화면에 표시되지 않기 때문에 층을 나누지 않아도 되지만 피부는 층을 나누어야 한다.경계선을 조금 넘어서 쓰면 애니메이션화할 때 자연스러워 보입니다.
[Unity] 애니메이션 2D 모델
용량을 아끼기 위해 다중 스프릿을 사용했지만, 슬라이스 시 각 부위가 같은 크기가 아니면 스킨을 변경할 때 구성을 조정해야 한다.날개가 돋고 싶다, 뿔이 돋고 싶다 등 분할된 테두리보다 큰 예상을 뛰어넘는 부위는 각각 png으로 준비해 위아래 좌우에 미리 공백을 두는 것이 좋다.공백을 남길 때는 몸과 머리의 중심점이 일치해야 한다.(얼굴의 경우 턱 위치가 많이 다르지 않으면 전혀 다른 윤곽으로 바꿔도 자연스러울 것 같다.)

피부 설정
다음은 애니메이션을 공유하는 방법의 주제입니다.피부의 화장법에 문제가 좀 있다.우선 가로로 설정된 대상을 등급제로 끌고 간다.그리고 하위 대상을 열고 뼈 모형이 저장된 sprint를 오른쪽 단추로 눌러bon이 아닌 하위 대상에게 2D sprint를 추가합니다.골격 모형을 추가하면 각 대상에 sprint를 추가하면 되고 층을 나누지 않으면 위치와 각도를 스스로 조정할 수 있다.

bon은 뼈 모형만 제어하기 때문에 이 상태에서 애니메이션은 피부에 반영되지 않는다.따라서 이 피부를 각 뼈대 대상에 배치해야 한다.모든 Sprite를 이동하면 2D 모델이 완성됩니다.이 완성된 대상은 원시적인 Plefab일 수 있습니다.

피부를 바꾼 상태에서 본 아래 피부 대상의 스프릿을 다른 피부로 바꾼다.각 Sprite Renderer를 가져와 스크립트에서 대체할 수도 있습니다.캐릭터 수가 적은 액션 게임이라면 피부를 바꿔 각각 플레파브화할 수 있다.
※ 피부 변경의 예

UI Image를 통해 모델을 재생성하여 변경되었습니다.스크립트부터 시작하면 기본적으로 이렇게 피부를 바꿀 수 있다.
총결산
하나의 메커니즘으로서 애니메이션은 하나의 뼈대 모델과 뼈대 모델을 이용하여 등록했다.피부가 bon의 대상인 아이가 애니메이션을 하기 때문에 피부를 바꿔도 bon과 골격 모형만 결합된 애니메이션에 영향을 주지 않기 때문에 공유할 수 있다.
좀 힘들지만 최초의 모형을 만들고 그 다음에 같은 사이즈의 png에 피부의 그림을 그려주면 스prite를 만들면 애니메이션의 공유와 피부 기능을 실현할 수 있다.애니메이션을 완전히 무료로 공유할 수 있기 때문에 2D 게임을 만들려면 꼭 해 보세요.

좋은 웹페이지 즐겨찾기