포스트 프로세싱
게임에서 렌더링이 완료된 화면에 추가적인 그래픽 효과를 적용


1. Bloom (블룸)
- 밝은 영역에서 빛이 번지는 효과를 추가하여 더 화려하고 빛나는 느낌을 연출


2. Color Grading (색 보정)
- 화면 전체의 색상, 채도, 명도를 조정하여 특정 분위기를 연출


3. Depth of Field (초점 효과)
- 특정 영역에만 초점을 맞추고 나머지 영역은 흐릿하게 처리


4. Motion Blur (모션 블러)
- 빠르게 움직이는 물체 주변에 잔상을 남겨 더 자연스럽고 역동적인 연출


5. Ambient Occlusion (환경 광 차폐)
- 표면 간의 좁은 공간에서 빛이 닿지 않는 어두운 영역을 추가하여 더 사실적인 그림자 표현


6. Vignette (비네트)
- 화면 가장자리를 어둡게 하여 중앙에 집중도를 높이는 효과


7. Chromatic Aberration (색수차)
- 렌즈의 왜곡 효과를 추가하여 화면 가장자리에 색 번짐을 연출


8. Lens Distortion (렌즈 왜곡)
- 화면을 렌즈로 보는 것처럼 굴곡을 추가하여 독특한 시각적 효과를 만듦


베이스 유아이를 잡고

유아이 메니저를 만듬

public enum UIState
{
    Home,
    Game,
    Score,
}
public class UiManager : MonoBehaviour
{
    static UiManager instance;

    public static UiManager Instance
    {
        get { return instance; }
    }

    UIState currentState = UIState.Home;
    HomeUI homeUI = null;
    GameUI gameUI = null;
    ScoreUI scoreUI = null;

    TheStack theStack = null;

    private void Awake()
    {
        instance = this;

        theStack = FindObjectOfType<TheStack>();

        homeUI = GetComponentInChildren<HomeUI>(true);
        homeUI?.Init(this);

        gameUI = GetComponentInChildren<GameUI>(true);
        gameUI?.Init(this);

        scoreUI = GetComponentInChildren<ScoreUI>(true);
        scoreUI?.Init(this);

        ChangeState(UIState.Home);
    }

    public void ChangeState(UIState state)
    {
        currentState = state;
        homeUI?.SetActive(currentState);
        gameUI?.SetActive(currentState);
        scoreUI?.SetActive(currentState);
    }

    public void OnClickStart()
    {
        ChangeState(UIState.Game);
    }

    public void OnClickExit()
    {
#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
#else
        Application.Quit();
#endif
    }
}

이넘에 만들었던 각각의 유아이 스크립트를 작성

AddListener를 사용해 코드로 직접 버튼의 조건을 부여

[SerializeField] 를 사용해서 Handler 만드는 강의를 봤는데
확실히 잘 사용하면 되게 편하겠는데

float horizontal = Input.GetAxisRaw("Horizontal");
float vertical = Input.GetAxisRaw("Vertical");


유니티에서 기본적으로 프로젝트 셋팅에 저장되어있는 값
float horizontal = Input.GetAxisRaw("Horizontal"); = ← a / → d 입력받는 값
float vertical = Input.GetAxisRaw("Vertical"); = ⇡ w / ⇣ s 입력받는 값

0개의 댓글