먼저 Package Manager에서 Cinemachine을 설치
씨네머신은 영화 촬영 현장과 비슷하다.
감독 - Playable Director (컴포넌트)
카메라 - Cinemachine Brain (컴포넌트)
시나리오, 필름 - TimeLine (에셋)
로케이션 - Scene
배우, 소품 - GameObject
Director 만들기
Timeline 만들어 Director에 포함
TimeLine에서 사용할 가상 카메라들을 만들어 배치하고,
페이드 인아웃할 이미지를 만들어 에니메이션으로 녹화한다.
사용 시간이 지나면 비활성화 되도록 처리해 메인카메라를 돌려놓도록 한다.
여러 개의 디렉터를 사용한 타임라인을 사용해야 할 때는 스크립트에서 조절하는 것이 편리할 수 있다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Playables; // PlayableDirector 를 제어하기 위한 네임스페이스
using Cinemachine; // CinemachineBrain 을 제어하기 위한 네임스페이스
// 씨네머신을 제어하고싶다.
public class DirectorAction : MonoBehaviour
{
// 감독 오브젝트
PlayableDirector pd;
public Camera targetCam;
// Start is called before the first frame update
void Start()
{
// Director 오브젝트가 가지고 있는 PlayableDirector 컴포넌트를 가지고 온다.
pd = GetComponent<PlayableDirector>();
// 타임라인을 실행한다.
pd.Play();
}
// Update is called once per frame
void Update()
{
// 현재 진행중인 시간이 전체 시간과 크거나 같으면 (재생시간이 다 되면)
if(pd.time >= pd.duration)
{
// 만약 메인카메라가 타겟카메라(씨네머신에 활용하는 카메라) 라면
if(Camera.main == targetCam)
{
// 제어를 위해서 씨네머신 브레인을 비활성화 한다.
targetCam.GetComponent<CinemachineBrain>().enabled = false;
}
// 씨네머신에 사용한 카메라도 비활성화 한다.
targetCam.gameObject.SetActive(false);
// Director 자신을 비활성화 한다.
gameObject.SetActive(false);
}
}
}
https://tv.kakao.com/channel/3992018/cliplink/429307818
'공부 > Unity 기초' 카테고리의 다른 글
3D 그래픽 - 9 / 설산 배경 (0) | 2022.06.07 |
---|---|
3D 그래픽 - 8 / 지형(터레인) (0) | 2022.06.06 |
3D 그래픽 - 6 / 포스트 프로세싱 (0) | 2022.06.04 |
3D 그래픽 - 5 / 저녁노을 조명 (0) | 2022.06.02 |
3D 그래픽 - 4 / 라이트프로브, 리플렉션프로브 (0) | 2022.06.02 |