25/03/19 멋사 정리

YSB1026·2025년 3월 19일
0

연출 때 쓸 수있는 타임라인을 배웠다.

오버워치 사운드를 썼는데 gif밖에 안돼서 조금 슬프다.

1.타임라인, 연출 때 쓰는?
https://charotiti9.github.io/devlog/Timeline-01.html

window->sequencing -> time line

default playables설치,

이미지 추가후

screen fader track(페이더)

add screen fader clip 두개 추가 후
둘다 이미지 검정색, 뒤에껀 alpha 값 0
하면 fade out 되는 효과

애니메잇면 있는 gameObject 드래그하고
Animation Track

  1. cinemachine 카메라 흔들림

cinemachine impulse listener 추가.

수업시간 때는 이렇게 boss에 Cinemachine Impulse Source 붙여서 하긴했다.

강사님은 CameraShake 스크립트를 Boss에 붙여서 사용하긴 했지만,.
singleton 패턴을 적용해서, cinemachine camera에 스크립트 추가해서 썼다.

using Unity.Cinemachine;
using UnityEngine;

public class CameraShake : MonoBehaviour
{
    public static CameraShake instance;
    //Impulse Source 컴포넌트 참조
    private CinemachineImpulseSource impulseSource;

    void Start()
    {
        instance = this;
        //impulseSource = GetComponent<CinemachineImpulseSource>();
    }

    public void SetImpulseSource(CinemachineImpulseSource source)
    {
        impulseSource = source;
    }


    public void CameraShakeShow()
    {
        if (impulseSource != null)
        {
            impulseSource.GenerateImpulse();
        }
    }
}
//boss 스크립트 일부
IEnumerator BossCameraShake()
{
    CameraShake.instance.SetImpulseSource(gameObject.GetComponent<CinemachineImpulseSource>());
    int shakeCnt = 30;
    while (shakeCnt>0)
    {
        CameraShake.instance.CameraShakeShow();
        yield return new WaitForSeconds(0.1f);
        shakeCnt--;
    }
    CameraShake.instance.SetImpulseSource(null);
}

void Start()
{
    //CameraShake.instance.SetImpulseSource(gameObject.GetComponent<CinemachineImpulseSource>());
    StartCoroutine(BossCameraShake());
    StartCoroutine(BossMissile());
    StartCoroutine(CircleFire());
}

이런 식으로 30번정도 0.1초마다 카메라 흔들리게 했다.!

0개의 댓글