본문 바로가기
코딩과 알고리즘

유니티3D 플레이어 조작 #3. 카메라 팔로우 미!

드라마나 영화를 보면 카메라가 주연이나 조연을 향해 카메라를 클로즈업할 때가 있습니다.
사실 그 이유는..
   :
   :
'시청률'을 올리기 위해서지요 :)
아무래도 필요한 순간에 필요한 인물에게 집중이 조명되어야 드라마나 영화가 살아나는 것이 아니겠습니까 :)

게임이나 가상 세계 컨텐츠도 그렇습니다.
카메라가 주인공에게 집중되어 자동으로 따라다닌다면 아무래도 확 분위기가 살아나겠지요

지난 플레이어 조작 점프 & 슬라이더 편에 이어 오늘은 간단한 카메라 예제를 살펴보도록 하겠습니다.

itadventure.tistory.com/396

 

유니티3D 플레이어 조작 #2.점프와 행글라이더

행글라이더를 타본 적이 있으신가요? 크레이는 타본 적이 없습니다. 위험해서 아무나 할건 못되고 체력도 받쳐주어야 가능한 일이지 않습니까? 도전해서 안될건 없지만 크레이는 그쪽은 적성이

itadventure.tistory.com


지난번 하던데서 그대로 이어서 해볼텐데요.
먼저 카메라를 제어할 스크립트를 하나 만들어야 합니다.

Project - Assets - Scripts 를 선택하신 다음에,

오른쪽 영역에서 빈 곳을 마우스 우클릭 - Create - C# Script 를 선택하여 새로운 스크립트를 하나 생성합니다.

스크립트 이름은 CamController 로 정해 주세요.

스크립트를 더블 클릭하여 비주얼 스튜디오를 연 다음에 아래 스크립트를 입력해 주세요.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CamController : MonoBehaviour
{
    public GameObject player;
    private Vector3 offset;
    // Start is called before the first frame update
    void Start()
    {
        offset = transform.position - player.transform.position;
    }
    // Update is called once per frame
    void LateUpdate()
    {
        transform.position = player.transform.position + offset;
    }
}

이제 유니티로 돌아와 Hierarchy 창에서 Main Camera 를 선택하신 다음,

Inspector 창을 맨 아래로 스크롤하고, 스크립트를 드래그해 넣습니다.

그리고 한가지 더, 카메라가 따라다닐 플레이어를 Player 항목 우측의 동그라미를 클릭 후, 선택해 줍니다.

됐습니다. 자, 이제 플레이를 시작해봅시다.

그리고 키보드로 플레이어를 움직여 볼까요?
그러면 플레이어 이동 경로에 따라 화면이 따라오기 때문에
플레이어가 항상 정 중앙에 위치하는 것을 보실 수 있습니다.

플레이를 중지하고 이번에는 카메라의 좌표와 각도를 바꿔 보도록 하지요.
Hierarchy 창에서 Main Camera 를 선택,

Inspector 창에 Position 값과 Rotation 값을 아래와 같이 바꾸어 줍니다.

그러면 Scerne 창은 이런 각도로 플레이어를 바라보게 됩니다.

그 상태에서 플레이를 해보시면, 
위에서 45 도 각도로 내려다 보는 일명 얼짱(?) 각도로 플레이어를 바라보게 됩니다. 
이제 플레이어를 움직여보면 이 각도 그대로 카메라가 플레이어를 따라다니게 되지요.

이 스크립트의 원리는 아주 간단합니다.
초기에 카메라가 위치한 대로 offset 이라는 벡터라는 저장공간(변수)에
카메라와 플레이어의 절대적인 상대거리를 보관하고,

offset = transform.position - player.transform.position;

LastUpdate() 함수에서 주기적으로 플레이어가 움직이는 대로 카메라는 똑같은 거리를 유지하도록 하는 것이지요.

transform.position = player.transform.position + offset;

카메라를 자유롭게 세팅해서 플레이 해보세요.
세팅하실 때는 Camera Preview ( 카메라 프리뷰 ) 창에서 플레이어가 벗어나지 않도록 해주셔야 합니다.

필요하신 분에게 도움이 되셨을지요?
오늘도 여기까지 읽어 주셔서 감사합니다. :)


이 세상은 어떻게 생겨났을까요? 성서에서는 그 사실을 말해주고 있지요.

태초에 말씀이 계시니라 
이 말씀이 하나님과 함께 계셨으니 이 말씀은 곧 하나님이시니라

말씀이 육신이 되어 우리 가운데 거하시매
우리가 그의 영광을 보니 아버지의 독생자의 영광이요
은혜와 진리가 충만하더라.
- 요한복음 1:1,14 -


다음 챕터. 3인칭 플레이어 뷰

itadventure.tistory.com/398

 

유니티3D 플레이어 조작 #4. 3인칭 플레이어 뷰!

지난 시간에서는 카메라가 플레이어를 따라다니는 예제를 살펴보았지요. itadventure.tistory.com/397 유니티3D 플레이어 조작 #3. 카메라 팔로우 미! 드라마나 영화를 보면 카메라가 주연이나 조연을 향

itadventure.tistory.com

 

반응형