출처 : 【アーティストワークフロー編】Unity 2020 LTS で生産性を上げるための 70 のヒント +α 日本語訳 – Unity for Pro (unity3d.jp)
<이 페이지에서 배울 수 있는 내용>
Unity는 2020년 여름에, Unity 2020 LTS의 워크플로우를 가속화하기 위한 70개 이상의 시간 절약 힌트(Tips)를 모은 e북을 공개했습니다. https://create.unity3d.com/ebook-improve-workflow 이쪽의 e북은 영문판입니다만, Unity for Pro에서는 이것의 일본어 번역(한국어로 다시 번역)을 작성했습니다. 제2탄의 이 기사에서는, 아티스트 워크플로우에 관한 부분을 소개합니다. 본 기사의 일부 Tips는 이미 Unity Blog에서도 일본어로 공개하고 있으므로, 그쪽도 봐 주세요. https://blog.unity.com/ja/technology/speed-up-your-artist-workflows
스냅
그리드를 사용해 작업하는 것으로, 프리팹을 추측해서 맞추는 게 아닌 보다 일관성을 갖고 프리팹을 만들 수 있습니다. 레벨 디자인을 할 때, 조각을 그리드의 눈금에 맞추어 연결하도록 하면, 정렬이나 재구축이 용이합니다.
모듈식 에셋에서 씬을 구축하려면 그리드 면을 사용하여 게임 오브젝트의 위치를 조정하세요. 인스펙터에 반올림한 수치를 수동으로 입력하는 것보다도 그리드 스냅 툴에서 보다 빠르고 정확하게 트랜스폼을 설정하는 것이 좋습니다.
유니티에는 3가지 종류의 스냅이 준비되어 있어 씬을 빠르게 만들 수 있습니다.
- 월드 공간의 그리드 스냅 : 이동 툴의 핸들 방향이 Global로 설정되어 있는지 확인하십시오. Ctrl(Windows)키 또는 Cmd(macOS)키를 누른 상태로 두면 Edit > Grid and Snap Settings 에서 설정한 월드공간의 그리드 증가분만 움직여서 오브젝트를 스냅할 수 있습니다.
- 표면 스냅 : Shift 키와 Ctrl(Windows) 키 또는 Cmd(macOS) 키를 누른 채로 하면 오브젝트를 임의의 컬라이더와 만나는 장소에 스냅 할 수 있습니다.
- 정점 스냅 : 이동 툴을 활성화하고 V 키를 누른 상태로 둡니다. 이는 선택 중인 게임 오브젝트를 다른 메쉬의 꼭지점 위치로 이동시키는 것입니다. 이동하기 전에 활성화 게임 객체의 한 꼭지점 위에 마우스를 올려놓으면 그 꼭대기가 피벗 기능을 합니다. Shift+V키로 정점 스냅 모드의 온·오프를 바꿉니다.
꼭지점 스냅과 표면 스냅을 조합하면 빠르게 오브젝트를 배치할 수 있습니다.
- 꼭지점 스냅을 사용해 V키 또는 Shift + V키를 조합하고 게임 오브젝트를 이동합니다. 피벗이 되는 꼭지점 위에 커서를 놓습니다. 일반적으로, 다른 정점으로 스냅 합니다.
- Shift 키와 Ctrl(Windows) 키 또는 Cmd(mac OS) 키의 편성을 누른 채로, 대상이 되는 메쉬의 표면에 따라서 드래그 합니다.
- 객체가 원하는 위치에 오면 마우스 버튼과 V 키를 놓습니다.
Grid and Snap창은 Edit > Grid and Snap Settings 메뉴 또는 Grid Visibility 드롭다운 메뉴 중에서 열 수 있습니다.
아래의 그리드 스냅을 위한 단축키는 기본적으로 작성됩니다.
액션 | 기본 단축키 |
그리드 사이즈를 크게 한다 | Ctrl + ] (Windows) 또는 Cmd + ] (macOS) |
그리드 사이즈를 작세 한다 | Ctrl + [ (Windows) 또는 Cmd + [ (macOS) |
그리드를 조금 뒤로 움직인다 | Shift + [ |
그리드를 조금 앞으로 움직인다 | Shift + ] |
선택한 것을 그리드와 맞춘다 | Ctrl + \ (Windows) 또는 Cmd + \ (macOS) |
조금 더 세밀하게 제어할 필요가 있을 때는 ProGrids 패키지를 사용하면, 스냅 평면이나 그리드 평면을 더욱 세밀하게 제어 가능합니다.
애니메이션 워크플로우
애니메이션 창(Window > Animation > Animation)을 사용하면 코드를 한 줄도 쓰지 않고 Unity의 모든 속성을 애니메이션화할 수 있습니다. 움직임의 변경 뿐만이 아니라, 커스텀 스크립트에서 정의한 파라미터를 변경할 수도 있습니다.
이 창에서 애니메이션 클립을 만들 수도 있고 좋아하는 서드파티 DCC 패키지(Autodesk® Maya® 나 Blender 등)로 작업할 수도 있습니다. 하나의 클립을 하나의 움직임 단위로 봅니다.
윈도우내의 AnimationClip 애셋을 Dopesheet 또는 Curve 중 하나의 모드로 편집합니다. K 키 또는 C 키 단축키를 각각 사용하여 이 두 가지를 바꿉니다. 표준 단축키를 사용하고, 모든 키 프레임을 프레임화(A 키), 또는 선택한 키 프레임을 프레임화(F 키)할 수 있습니다.
게임 오브젝트들이 여러 개의 애니메이션 클립을 갖게 하면 Animator Controller는 스테이트 머신의 역할을 하고 애니메이션 클립 사이에 흐름도 같은 그래프를 만들 수 있습니다.
이를 통해 예술가는 프로그래머의 손을 빌리지 않고도 고도의 애니메이션을 제작할 수 있습니다. 2D 또는 3D의 리그를 사용하고 있는 경우, 그 바디 부품을 각각 다른 로직으로 애니메이션 시킬 수 있습니다. 레이어 기능이나 마스크 기능을 활용하면, 보다 제어하기 쉬워집니다. 비주얼 프로그래밍 툴로 모션을 시작하여 클립간의 트랜지션이나 인터랙션을 미세 조정합니다.
Animation Rigging 패키지를 사용하면 더욱 확장할 수 있습니다. 본 패키지는 프로시저 모션 작성에 사용할 수 있는 리그 및 인버스 키네매틱 제약의 라이브러리를 제공합니다. 애니메이션화된 스켈레톤은 실행 시 리깅을 통해 환경과 상호 작용할 수 있으며 또한 물리 기반 제약으로 인해 역동적인 세컨더리 모션을 추가할 수 있습니다.
최적화 팁
AnimatorController 는 편리하지만, 몇가지 주의점이 있습니다.
- 애니메이터를 특히 UI 요소와 조합하여 너무 많이 사용하지 않도록 해야 합니다. 애니메이터는 애니메이션이 재생되지 않더라도 프레임별로 UI Canvas를 재구축합니다. UI 및 심플한 애니메이션을 위해서는 가능한 기존 Animation 컴포넌트를 사용해 주십시오. 또한 트윈 함수를 작성하거나 서드파티제 라이브러리(예: DO Tween)를 사용하는 것도 검토하십시오.
- 기본적으로 유니티는 애니메이션화된 모델을 Generic 리그로 Import하지만 개발자가 캐릭터를 애니메이션화할 때는 Humanoid 리그로 전환하는 경우가 많습니다. 휴머노이드 리그는 사용하지 않을 때에도 프레임마다 인버스 키네머틱스와 애니메이션의 리타깃팅 계산을 실시합니다. 이들 특정 기능을 필요로 하지 않으면 Generic 리그를 사용해 CPU 시간을 절약하도록 합니다.
이러한 컴퍼넌트의 사용법에 대해서는, 애니메이션 클립, 애니메이터 컨트롤러의 메뉴얼 페이지를 참조해 주세요.애니메이션 컴퍼넌트의 최적화에 대해서는, Unity 의 베스트 연습을 읽어 주세요. 이쪽의 연습은 수시로 업데이트 되고 있습니다.
커스텀 기즈모와 아이콘
기즈모는 게임 오브젝트와 관련된 작은 오버레이 그래픽입니다. 뷰포트를 내비게이트하거나 특정 개체를 찾는데 사용합니다.
Select Icon 메뉴를 사용하여 게임 오브젝트의 아이콘을 변경합니다. Other 를 선택하면, 독자적인 아이콘을 정의할 수 있습니다.
또, 스크립트가 달린 가즈모를 만들어, 상호 작용하게 할 수도 있습니다. 예를 들어, 기즈모는 커스텀 컴포넌트가 영향을 주는 부피라던가 면적을 정의할 때 도움이 됩니다.
씬 컨트롤 바의 Gizmos 대화상자를 사용하여 특정 씬 컨트롤바의 온/오프를 바꾸거나 모든 씬 컨트롤바의 온/오프를 글로벌하게 전환할 수 있습니다.
사용 예시는 "Creating Custom Gizmos for Development" 튜토리얼을 참조하십시오. 또 Gizmos와 Handles의 API도 확인해주세요.
'Unity' 카테고리의 다른 글
[번역]【팀워크 워크플로우편】Unity 2020 LTS로 생산성을 올리기 위한 70가지 힌트 +α <1> (0) | 2022.01.16 |
---|---|
[번역]【아티스트 워크플로우편】Unity 2020 LTS로 생산성을 올리기 위한 70가지 힌트 +α <4> (0) | 2022.01.16 |
[번역]【아티스트 워크플로우편】Unity 2020 LTS로 생산성을 올리기 위한 70가지 힌트 +α <2> (0) | 2022.01.10 |
[번역]【아티스트 워크플로우편】Unity 2020 LTS로 생산성을 올리기 위한 70가지 힌트 +α <1> (0) | 2022.01.09 |
[번역]【에디터 워크플로우편】Unity 2020 LTS로 생산성을 올리기 위한 70가지 힌트 +α <4> (0) | 2022.01.07 |