HYNGNG | 알곡사료

플레이어를 따라가는 카메라 만들기 본문

유니티/유니티 기초

플레이어를 따라가는 카메라 만들기

hyngng 2022. 6. 20. 16:35
728x90
반응형

🙂블로그 이전했습니다!🙂

 

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

public class CameraMoving : MonoBehaviour
{
    Transform playerTransform;
    Vector3 Offset;

    void Awake()
    {
        playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
        Offset = transform.position - playerTransform.position;
    }

    void LateUpdate()
    {
        transform.position = playerTransform.position + Offset;
    }
}

이 스크립트는 카메라에 적용하며, 간단한 벡터좌표를 이용한다.

 

이 코드에서는 playerTransform과 Offset, 두 변수를 사용하며 이에 대한 간단한 설명을 덧붙인다.

 

Awake함수에서,

playerTransform 변수는 GameObject.FindGameObjectWithTag("Player").transform 정보를 담는데

GameObject는 클래스, FindGameObjectWithTag는 오브젝트마다 특정 태그가 붙여진 오브젝트를 식별하는 함수, transform은 오브젝트의 위치 정보를 담고 있는 컴포넌트로

이 코드에서 playerTransform은 "Player" 태그가 붙은 오브젝트의 위치 정보를 담는다.

 

Offset 변수는 transform.position - playerTransform.position 정보를 담는데

transform.position은 이 스크립트가 적용되는 오브젝트의 좌표정보이고

playerTransform이 이미 transform값이므로 뒤에 .poisition이 붙어 완성된 좌표정보로, 이 둘의 격차는 카메라의 위치와 카메라가 따라갈 오브젝트의 위치를 의미한다.

 

LateUpdate함수에서,

카메라의 위치정보인 transform.position값은 카메라가 따라갈 오브젝트의 위치정보인 playerTransform.position에서 이 둘의 격차인 Offset만큼 계속 떨어진 상태가 유지되도록 매 프레임마다 조정된다.

라는 의미가 되겠다.

 

728x90
반응형