Unity 볼 롤링 튜토리얼 2-1. 카메라 이동

이 기사의 대상자


  • Unity 입문하고 싶은 사람
  • 첫걸음을 밟을 수 없는 사람

  • OS나 환경이라든가


  • Windows 10 Pro
  • macOS Mojave
  • Unity 2019.2.8f1
  • Rider 2019.2.2

  • 보충


  • 공식 동영상에서 이용하고 있는 것은 Mac이므로, Windows 유저는 어느 정도 뇌내 변환해 보는 일
  • 필자는 Windows, Mac의 두 환경에서 확인. 우분투 등에서는 검증하지 않았다.
  • 기본 Unity는 영어 메뉴에서 사용
  • 실수가 있으면 츳코미 환영

  • 공식



    카메라 이동



    현재 상태이면 카메라가 고정되어 플레이어 오브젝트가 매우 보기 힘들다
    →카메라와 플레이어 오브젝트를 연결하면 만사 해결이 아닌가?

    아래 준비로 카메라 위치 조정

    Position의 Y를 10,Z를 -10
    로테이션 X 45
    로 조정하여 조금 위에서 내려다 보는 형태로



    Player의 자식으로 MainCamera 설정



    이 상태로 설정하면 플레이어 오브젝트가 움직일 때 (이동 또는 회전) Main Camera도 함께 이동합니다.
    ※상기 설정 후 「아-여유다-」라고 Play하고 구슬을 움직이면 고속 라트 같은 시점이 되므로 침착합시다

    카메라와 플레이어의 관계



    어디까지나 「플레이어의 아이로서 카메라가 설정되었다」만으로, 상대적인 위치 관계는 변하지 않았다
    그래서
    · 부모의 Sphere 객체가 움직입니다.
    → 회전하여 이동
    ・아이의 Main Camera 오브젝트가 움직인다
    → 부모의 Sphere 객체와 연동하여 마찬가지로 "회전"

    그러므로 Main Camera가 Sphere의 자식 상태라면 시점이 라트가 된다
    카메라와 플레이어는 스크립트로 연결해야 합니다.

    카메라에 스크립트 추가



    CameraController라는 스크립트를 추가합니다.
    ※카메라와 스크립트의 연결은 하고 있는 일

    추가할 스크립트는 다음과 같습니다.

    CameraController.cs
    using System.Collections;
    using UnityEngine;
    
    public class CameraController : MonoBehaviour
    {
        public GameObject player;
        private Vector3 offset;
    
        void Start()
        {
            offset = transform.position - player.transform.position;
        }
    
        void LateUpdate()
        {
            transform.position = player.transform.position + offset;
        }
    }
    
    

    내용은 간단하기 때문에 할애

    포인트로서는, 매 프레임 처리할 때 Update를 사용하지 않고 LateUpdate를 이용하는 것

    라이프 사이클이면 Game Logic에 해당하는 부분



    소개 불리는 것이 Update
    마지막으로 불리는 것이 LateUpdate
    된다

    진정한 카메라와 플레이어의 연결



    스크립트를 저장하고 Unity 편집기에서 CameraController의 Player 부분을 보면 "None"이므로 연결



    연결하는 방법은 동영상에서는 Player 객체를 드래그하고 있지만 필드 오른쪽에 있는 작은 ○를 클릭하여
    나오는 대화 상자에서 선택해도 OK

    이제 Play를하면 볼의 움직임을 추종하는 카메라가 완성됩니다.

    좋은 웹페이지 즐겨찾기