아래와 같이 Target Group으로 전체 맵을 카메라에 담을 수 있다.
하지만 전체 맵, 지도를 회전시키거나 조금 다른 각도에서 보고 싶을 때도 있다.
이런 경우에 적합한 카메라는 FreeLook 카메라다.
프리룩 카메라에 타겟 그룹을 설정해보자.
TargetGroup을 만들고 Position을 설정하자.
FreeLook 카메라에 타겟을 설정하기 때문에 기존의 카메라는 지운다.
FreeLook에 Follow와 Look At에 TargetGroup을 설정한다.
그리고 Aim을 Group Composer로 설정한다.
여기서 Top, Bottom도 Group Composer로 설정해야 한다.
그렇지 않으면 카메라의 시야가 위, 아래일 때 Group Composer가 아니기 때문에 Target이 화면에 담기지 않는다.
화면이 아래와 같이 보이게 되는데, Rig의 위치와 반지름이 적절하지 않아서 나타나는 현상이다.
타겟 그룹이 설정되어있기 때문에 Rig의 Height와 Radius를 적당히 설정해도 타겟이 화면에 잘 들어가게 된다.
마우스 클릭 시에만 카메라가 움직이도록 FreeLook 카메라에 CMFreelookSetting.cs를 추가하자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;
public class CMFreelookSetting : MonoBehaviour
{
void Awake()
{
CinemachineCore.GetInputAxis = clickControl;
}
public float clickControl(string axis)
{
if(Input.GetMouseButton(0))
return UnityEngine.Input.GetAxis(axis);
return 0;
}
}
마우스를 드래그하면 TargetGroup이 설정된 상태에서 전체 맵을 둘러볼 수 있게 된다.
위, 아래로 카메라가 움직이는 것이 싫다면,
Top, Bottom의 Height와 Radius를 Middle과 동일하게 설정해서 경로를 제한하면 된다.
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
'개발 > Unity' 카테고리의 다른 글
유니티 - yield return null vs WaitForEndOfFrame 비교하기 (0) | 2022.10.03 |
---|---|
유니티 - StreamWriter로 로그를 텍스트 파일로 출력하기 (Output Log with StreamWriter) (0) | 2022.10.02 |
유니티 시네머신 - 현재 활성화된 가상 카메라 가져오기 (How to Get Active Virtual Camera) (0) | 2022.10.02 |
(16) Mixing Camera로 화면 혼합하기 - 유니티 시네머신 튜토리얼 (0) | 2022.09.26 |
(15) Target Group으로 지정한 타겟을 모두 촬영하기 - 유니티 시네머신 튜토리얼 (0) | 2022.09.25 |
댓글