본문 바로가기
게임 엔진 - 유니티/[루키스] 유니티

[유니티 Note] 섹션 6-1

by 묻공러 2025. 7. 2.

# CameraComponent 옵션

- Clipping Planes의 Near, Far

절두체 Near, Far 수정

 

- FOV

시야각

 

- Culling Mask

Layer에 따라 컬링

 

- Target Texture

카메라라 렌더링 한 화면을 실시간(매 프레임마다)으로

RenderTexture로 저장 및 변환하는 기능

ex. CCTV, 미니맵, 후방/측면 카메라,…

 

# QuarterView 구현

1번 방식)

캐릭터에 MainCamera를 아래로 포함시키는 방식으로

해당 방식은 회전할 때도 따라가는 상황이 발생한다

게임에 따라 다르겠지만 일단 현재 실습에서는 원치 않기에 해당 방식을 사용하지 않는다

 

2번 방식)

MainCamera에 붙일 CameraController에서 관리하는 방식으로

Position, Rotation(LookAt 함수를 통해 회전 강제로 고정)을 연산하여 실행하면 된다

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour
{
    [SerializeField]
    Define.CameraMode _mode = Define.CameraMode.QuarterView;
    [SerializeField]
    Vector3 _delta = new Vector3(0.0f, 6.0f, -5.0f);
    [SerializeField]
    GameObject _player = null;

    void Start()
    {
        
    }

    void Update()
    {
        if(_mode == Define.CameraMode.QuarterView)
        {
            transform.position = _player.transform.position + _delta;
            transform.LookAt(_player.transform);
        }
    }

    public void SetCameraMode(Define.CameraMode mode, Vector3 delta)
    {
        _mode = mode;
        _delta = delta;
    }
}

 

 

# Update 순서

위의 코드에서 화면이 떨리는 문제가 발생한다

그 이유는 

PlayerController Update vs CameraController Update가

Random 순서이기 때문이다

따라서 CameraController LateUpdate를 활용하면 된다

private void LateUpdate()
{
    if(_mode == Define.CameraMode.QuarterView)
    {
        transform.position = _player.transform.position + _delta;
        transform.LookAt(_player.transform);
    }
}

 

참고로 Unity Order of Execution은 아래와 같다

 

# CameraController에서 플레이어를 참조하는 방법

CameraController에서 플레이어를 들고 와야하는 경우에

Tag를 이용해 찾거나 다른 매니저클래스에서 static으로 관리하는 것을 가져올 수도 있다

이번 실습에서는 추천되지는 않지만 단순하게 그냥

CameraController에서 캐릭터를 담고 유니티툴에서 드래그드랍으로 캐릭터 설정하는 방식을 사용한다

'게임 엔진 - 유니티 > [루키스] 유니티' 카테고리의 다른 글

[유니티 Note] 섹션 6-3  (0) 2025.07.02
[유니티 Note] 섹션 6-2  (0) 2025.07.02
[유니티 Note] 섹션 5-6  (0) 2025.07.02
[유니티 Note] 섹션 5-5  (0) 2025.07.02
[유니티 Note] 섹션 5-4  (0) 2025.07.02