Cinemachine 이란?
시네머신은 카메라 로직을 개발할 필요가 없이 손 쉽게 카메라를 조작가능한 유니티 내장 패키지이다.
https://unity.com/kr/unity/features/editor/art-and-design/cinemachine
시네머신
Unity의 시네머신으로 복잡한 카메라의 움직임을 만드는 방법을 알아보세요. 타겟 트래킹, 구성, 블렌딩 및 자르기까지 쉽고 직관적으로 작업할 수 있습니다.
unity.com
https://docs.unity3d.com/Packages/com.unity.cinemachine@2.2/manual/index.html
Cinemachine Documentation | Package Manager UI website
Cinemachine Documentation Cinemachine is a suite of modules for operating the Unity camera. Cinemachine solves the complex mathematics and logic of tracking targets, composing, blending, and cutting between shots. It is designed to significantly reduce the
docs.unity3d.com
기본적으로 시네머신은 카메라 오브젝트를 생성하지 않으며 Virtual Camera 를 생성한다.
비용측면에서도 시네머신이 기본카메라보다 프로세스를 적게 잡아 먹기 때문에 유용하게 활용할 수 있다.
시네머신의 기본
시네머신의 기능을 이해하기 앞서 Cinemachine Brain을 이해하고 넘어가야 한다.
Cinemachine Brain은 하이어라키에서 가상카메라 생성 시 자동으로 기본카메라에 부착되는 컴포넌트이다.
위 사진과 같이 다양한 종류의 카메라가 존재한다.
- 2D Camera: 2D처럼 사용되는 카메라
- Blend List Camera: 가상 카메라들의 정해진 방식대로 순차적으로 전환되는 카메라
- ClearShot Camera: 충돌상태에 따라 전환되는 카메라
- Dolly Camera: 트랙으로 움직이는 카메라
- FreeLook Camera: 타켓을 중심으로 원을 생성하여 해당 구간 찍는다.
- State-Driven Camera: 애니메이션의 상태별로 전혼되는 카메라
- Target Group Camera: 그룹으로 계산된 화면을 보여주는 카메라
- Virtual Camera: 말 그대로 가상 카메라 이며 자유롭게 배치할 수 있다.
- Virtual Camera
Solo | 가상 카메라를 일시적으로 라이브 상태로 만들지 여부를 토글합니다. 이 프로퍼티를 통해 게임 뷰에서 즉각적인 시각적 피드백을 얻어 가상 카메라를 조정하십시오. | |
Game Window Guides | 게임 뷰의 구도 가이드의 가시성을 토글합니다. 이 가이드는 Look At이 게임 오브젝트를 지정하고 Aim 섹션이 Composer 또는 Group Composer를 사용하거나, Follow가 타겟을 지정하고 Body 섹션이 Framing Composer를 사용하는 경우에 사용할 수 있습니다. 이 프로퍼티는 모든 가상 카메라에 적용됩니다. | |
Save During Play | 플레이 모드에 있는 동안 변경 사항을 적용합니다. 이 기능을 사용하면 복사하여 붙여 넣을 프로퍼티를 기억하지 않고도 가상 카메라를 미세 조정할 수 있습니다. 이 프로퍼티는 모든 가상 카메라에 적용됩니다. | |
Priority | 다음 샷을 선택하기 위한 이 가상 카메라의 중요도입니다. 값이 높을수록 우선 순위가 높습니다. 시네머신 브레인은 활성화되어 있고 현재 라이브 가상 카메라와 같거나 더 높은 우선 순위를 지닌 모든 가상 카메라에서 다음 라이브 가상 카메라를 선택합니다. 타임라인에서 가상 카메라를 사용할 때는 이 프로퍼티가 적용되지 않습니다. | |
Follow | 가상 카메라가 함께 따라서 이동하는 타겟 게임 오브젝트입니다. Body 프로퍼티는 이 타겟을 사용하여 Unity 카메라의 포지션을 업데이트합니다. Unity 카메라가 가상 카메라의 트랜스폼 포지션을 사용하도록 만들려면 이 프로퍼티를 비워 두십시오. 예를 들어 타임라인에서 가상 카메라를 애니메이션화하도록 선택할 수 있습니다. | |
Look At | Unity 카메라를 조준할 타겟 게임 오브젝트입니다. Aim 프로퍼티는 이 타겟을 사용하여 Unity 카메라의 회전을 업데이트합니다. Unity 카메라가 가상 카메라의 방향을 사용하도록 만들려면 이 프로퍼티를 비워 두십시오. | |
Position Blending | 이 가상 카메라와의 포지션을 블렌딩하기 위한 스타일입니다. | |
Linear | 표준 리니어 포지션 블렌딩입니다. | |
Spherical | Look At 타겟이 있는 경우 Look At 포지션에 대한 구형 블렌딩입니다. | |
Cylindrical | Look At 타겟이 있는 경우 Look At 포지션에 대한 원통형 블렌딩입니다. 수직 좌표가 선형적으로 보간됩니다. | |
Lens | 이 프로퍼티는 Unity 카메라의 상응 프로퍼티를 미러링합니다. | |
Field Of View | 수직 각도의 카메라 뷰입니다. 예를 들어 Super 35 센서에서 50mm 렌즈에 해당하도록 지정하려면 19.6도의 시야각을 입력하십시오. 이 프로퍼티는 Cinemachine Brain 컴포넌트가 포함된 Unity 카메라가 원근 투사를 사용할 때 이용할 수 있습니다. | |
Presets | 일반적으로 사용되는 렌즈의 설정에 대한 드롭다운 메뉴입니다. 기본 렌즈 리스트가 들어 있는 에셋을 추가하거나 편집하려면 Edit Presets를 선택하십시오. | |
Orthographic Size | 직교 카메라를 사용할 때 카메라 뷰의 절반 높이를 월드 좌표로 정의합니다. Cinemachine Brain 컴포넌트가 포함된 Unity 카메라가 직교 투사를 사용할 때 이용할 수 있습니다. | |
Near Clip Plane | 그리기가 발생하는 카메라와 상대적으로 가장 가까운 포인트입니다. | |
Far Clip Plane | 그리기가 발생하는 카메라와 상대적으로 가장 먼 포인트입니다. | |
Dutch | 사각입니다. z축에서 Unity 카메라를 각도 단위로 기울입니다. 이 프로퍼티는 가상 카메라에만 사용할 수 있으며, Unity 카메라에는 이러한 프로퍼티가 없습니다. | |
Extensions | 가상 카메라에 동작을 추가하는 컴포넌트입니다. | |
Add Extension | 가상 카메라에 추가할 새로운 확장을 선택합니다. |
- Body 프로퍼티
- Transposer: Follow 타겟과 고정된 관계로 움직입니다.
- Do Nothing: 가상 카메라를 움직이지 않습니다.
- Framing Transposer: Follow 타겟과 고정된 스크린 공간 관계로 움직입니다.
- Orbital Transposer: Follow 타겟과 가변 관계로 움직이며, 선택적으로 플레이어 입력을 허용합니다.
- Tracked Dolly: 사전 정의된 경로를 따라 움직입니다.
- Hard Lock to Target: Follow 타겟과 동일한 포지션을 사용합니다.
- Aim 프로퍼티
- Composer: 카메라 프레임에 Look At 타겟을 유지합니다.
- Group Composer: 카메라 프레임에 여러 개의 Look At 타겟을 유지합니다.
- Do Nothing: 가상 카메라를 절차적으로 회전하지 않습니다.
- POV: 사용자의 입력에 따라 가상 카메라를 회전합니다.
- Same As Follow Target: 카메라의 회전을 Follow 타겟의 회전으로 설정합니다.
- Hard Look At: 카메라 프레임의 중간에 Look At 타겟을 유지합니다.
- 시네머신과 타임라인
여러개의 가상 카메라를 배치한다음에 차례대로 화면에 등장하게 구성할 수 있다. 이 부분은 영상편집과도 유사한 방식인데 사용자 정의로 배치할 수 있어서 편하다.
- 시네머신 사용법
Follow Cam
가장 기본적이고 보편적인 기능이다.
코드로 따로 편집하지 않더라도 타겟을 지정해 가상카메라가 따라나니는 방식이다.
인스펙터에서 위에서 언급된 여러가지 설정값들을 참고해서 원하는 느낌을 만들 수 있다.
CameraMagnets
말 그대로 자석처럼 카메라를 끌어당기는듯한 방식이다.
Cinemachine Confinder
특징은 카메라가 지정된 맵사이즈 이상을 벗어나지 못한다는 것이다.
게임에서 카메라의 움직임으로 오브젝트의 내부가 보인다거나, 시야를 뚫고 나가 자연스럽지 못한 부분이 발생할 경우 게임의 몰입에 방해가 된다. 이를 막아주는 부분이다.
사용방법
1. CinemachineVirtualCamera컴포넌트의 Extensions에서 Cinemachine Confiner를 추가한다.
2. 바로 아래 Cinemachine Confiner가 생기게 되는데 Confiner2D로 설정하고 아래 해당 영역을 지정하는 Collider를 두면 된다.
3. confine screen Edges체크하고 실행하면 해당 Collider영역에서만 카메라가 이동한다.
#참조
https://docs.unity3d.com/kr/Packages/com.unity.cinemachine@2.3/manual/CinemachinePostProcessing.html
시네머신과 포스트 프로세싱 | Cinemachine | 2.3.5-preview.3
시네머신과 포스트 프로세싱 시네머신 포스트 프로세싱 확장을 사용하여 포스트 프로세싱 V2 프로파일을 가상 카메라에 연결하십시오. 참고: Unity는 포스트 프로세싱 V1이 아니라 포스트 프로세
docs.unity3d.com
[Unity] 시네머신 (Cinemachine) 기초
회사 업무로 사용하게 되면서 공부한 것을 정리한다. 시네머신이란? 시네머신은 영화 촬영을 하는 것처럼 씬을 촬영하여 게임 화면상에 비추어주는 유니티 패키지라고 생각하면 된다. 시네머신
nanijo.tistory.com
https://youtube.com/@today_coding?si=ijQxp_QuJo95So5W
오늘코딩
코딩과 게임 개발을 최대한 쉽게 소개하는 채널입니다.
www.youtube.com
https://www.youtube.com/watch?v=2oOIp22Y11U
'Unity' 카테고리의 다른 글
Unity) Zombie Runner Prototype (0) | 2023.11.28 |
---|---|
Unity) Progrids, Polybrush (0) | 2023.10.31 |
Unity) ProBuilder (0) | 2023.10.30 |
Unity) ML Agent (0) | 2023.10.27 |
Unity) Design Pattern (3) | 2023.10.25 |