[Unity] 카메라 전환하는 코드

2025. 3. 10. 20:50·Game Engine/Unity
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class CameraChange : MonoBehaviour
{

    public Transform firstPersonView;  // 1인칭 위치
    public Transform thirdPersonView;  // 3인칭 위치
    public Transform player;           // 플레이어 (카메라 부모)

    private bool isFirstPerson = true; // 현재 1인칭인지 여부

    private void Start()
    {
        if (firstPersonView == null || thirdPersonView == null || player == null)
        {
            Debug.LogError("CameraChange: 하나 이상의 Transform이 할당되지 않았습니다. 인스펙터에서 확인하세요!");
            return;
        }

        // 초기 카메라 위치 설정
        transform.position = firstPersonView.position;
        transform.rotation = firstPersonView.rotation;
        transform.SetParent(player); // 플레이어를 따라가도록 설정
    }

    public void OnCameraChange(InputAction.CallbackContext context)
    {
        if (!context.performed) return;
        if (firstPersonView == null || thirdPersonView == null || player == null) return;

        if (isFirstPerson)
        {
            // 3인칭으로 변경
            transform.position = thirdPersonView.position;
            transform.rotation = thirdPersonView.rotation;
            transform.SetParent(player); // 플레이어를 따라가도록 설정
        }
        else
        {
            // 1인칭으로 변경
            transform.position = firstPersonView.position;
            transform.rotation = firstPersonView.rotation;
            transform.SetParent(player); // 부모를 플레이어로 유지하여 따라가게 함
        }

        isFirstPerson = !isFirstPerson; // 상태 변경
    }
}

'Game Engine > Unity' 카테고리의 다른 글

[Unity] 트러블 슈팅  (0) 2025.04.02
[Unity] Coroutine과 Invoke 사용할 때 주의할점  (0) 2025.03.13
방어코드 생성  (0) 2025.03.06
Interaction  (0) 2025.03.05
[Unity] Tutorial code  (0) 2025.02.26
'Game Engine/Unity' 카테고리의 다른 글
  • [Unity] 트러블 슈팅
  • [Unity] Coroutine과 Invoke 사용할 때 주의할점
  • 방어코드 생성
  • Interaction
Xenawn
Xenawn
제넌 게임개발 블로그
  • Xenawn
    Xenawn
    Xenawn
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Language (24)
        • C++ (4)
        • C# (20)
      • Game Engine (32)
        • Unity (19)
        • Unity API (1)
        • Game Project (12)
      • Git (2)
      • Algorithm (9)
        • BOJ [C++] (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C++
    문자열 보간
    게임개발
    리스트
    알고리즘
    Unity
    카메라 움직임
    걸음fps
    CPP
    FPS
    스파르타내일배움캠프 #스파르타내일배움캠프til
    프로퍼티
    BOJ
    POTION
    배열
    1181
    프레임
    string format
    내일배움캠프
    fps cam
    유니티
    headbob
    백준
    블랙잭
    c#
    포션
    클래스
    FizzBuzz
    객체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Xenawn
[Unity] 카메라 전환하는 코드
상단으로

티스토리툴바